mirror of
https://github.com/OutlineFoundation/outline-server.git
synced 2026-08-04 14:37:34 +00:00
Finish infrastructure directory
This commit is contained in:
parent
775d8d2f75
commit
7b21d25601
6 changed files with 164 additions and 10 deletions
|
|
@ -8,6 +8,7 @@
|
|||
"@bazel/jasmine": "^0.35.0",
|
||||
"@bazel/typescript": "latest",
|
||||
"@types/jasmine": "^2.5.53",
|
||||
"@types/mkdirp": "^0.5.2",
|
||||
"@types/node": "^12.6.9",
|
||||
"clang-format": "^1.2.2",
|
||||
"husky": "^1.3.1",
|
||||
|
|
@ -28,5 +29,10 @@
|
|||
"hooks": {
|
||||
"pre-commit": "yarn tslint --fix 'src/**/*.ts' -e '**/bower_components/**' -e '**/node_modules/**' && yarn git-clang-format"
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"js-yaml": "^3.13.1",
|
||||
"mkdirp": "^0.5.1",
|
||||
"request-lite": "^2.40.1"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,13 +2,46 @@ package(default_visibility=["//visibility:public"])
|
|||
load("@npm_bazel_typescript//:index.bzl", "ts_library")
|
||||
load("@npm_bazel_jasmine//:index.bzl", "jasmine_node_test")
|
||||
|
||||
ts_library(
|
||||
name = "clock",
|
||||
srcs = ["clock.ts"],
|
||||
deps = [
|
||||
"@npm//@types/node",
|
||||
],
|
||||
)
|
||||
|
||||
ts_library(
|
||||
name = "filesystem_text_file",
|
||||
srcs = ["filesystem_text_file.ts"],
|
||||
deps = [
|
||||
":text_file",
|
||||
"@npm//@types/node",
|
||||
],
|
||||
)
|
||||
|
||||
ts_library(
|
||||
name = "file_read",
|
||||
srcs = ["file_read.ts"],
|
||||
deps = [
|
||||
"@npm//@types/node",
|
||||
],
|
||||
)
|
||||
|
||||
ts_library(
|
||||
name = "follow_redirects",
|
||||
srcs = ["follow_redirects.ts"],
|
||||
deps = [
|
||||
"@npm//request-lite",
|
||||
"@npm//@types/node",
|
||||
],
|
||||
)
|
||||
|
||||
ts_library(
|
||||
name = "get_port",
|
||||
srcs = ["get_port.ts"],
|
||||
deps = [
|
||||
"@npm//@types/node",
|
||||
],
|
||||
tsconfig = "//:tsconfig.nodejs.json",
|
||||
)
|
||||
|
||||
ts_library(
|
||||
|
|
@ -19,7 +52,6 @@ ts_library(
|
|||
"@npm//@types/jasmine",
|
||||
"@npm//@types/node",
|
||||
],
|
||||
tsconfig = "//:tsconfig.nodejs.json",
|
||||
)
|
||||
|
||||
jasmine_node_test(
|
||||
|
|
@ -29,3 +61,63 @@ jasmine_node_test(
|
|||
],
|
||||
size = "small",
|
||||
)
|
||||
|
||||
ts_library(
|
||||
name = "json_config",
|
||||
srcs = ["json_config.ts"],
|
||||
deps = [
|
||||
":file_read",
|
||||
":logging",
|
||||
"@npm//@types/node",
|
||||
],
|
||||
)
|
||||
|
||||
ts_library(
|
||||
name = "logging",
|
||||
srcs = ["logging.ts"],
|
||||
deps = [
|
||||
"@npm//@types/node",
|
||||
],
|
||||
)
|
||||
|
||||
ts_library(
|
||||
name = "prometheus_scraper",
|
||||
srcs = ["prometheus_scraper.ts"],
|
||||
deps = [
|
||||
":logging",
|
||||
"@npm//@types/mkdirp",
|
||||
"@npm//@types/node",
|
||||
"@npm//mkdirp",
|
||||
"@npm//js-yaml",
|
||||
],
|
||||
)
|
||||
|
||||
ts_library(
|
||||
name = "rollout",
|
||||
srcs = ["rollout.ts"],
|
||||
deps = [
|
||||
"@npm//@types/node",
|
||||
],
|
||||
)
|
||||
|
||||
ts_library(
|
||||
name = "rollout_test_lib",
|
||||
srcs = ["rollout.spec.ts"],
|
||||
deps = [
|
||||
":rollout",
|
||||
"@npm//@types/jasmine",
|
||||
],
|
||||
)
|
||||
|
||||
jasmine_node_test(
|
||||
name = "rollout_test",
|
||||
deps = [
|
||||
":rollout_test_lib",
|
||||
],
|
||||
size = "small",
|
||||
)
|
||||
|
||||
ts_library(
|
||||
name = "text_file",
|
||||
srcs = ["text_file.ts"],
|
||||
)
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
// limitations under the License.
|
||||
|
||||
import * as fs from 'fs';
|
||||
import {TextFile} from '../model/text_file';
|
||||
import {TextFile} from './text_file';
|
||||
|
||||
// Reads a text file if it exists, or null if the file is not found.
|
||||
// Throws any other error except file not found.
|
||||
|
|
|
|||
|
|
@ -13,9 +13,8 @@
|
|||
// limitations under the License.
|
||||
|
||||
import {PrometheusClient, QueryResultData} from '../../infrastructure/prometheus_scraper';
|
||||
import {DataUsageByUser} from '../../model/metrics';
|
||||
import {TextFile} from '../../infrastructure/text_file';
|
||||
import {ShadowsocksAccessKey, ShadowsocksServer} from '../../model/shadowsocks_server';
|
||||
import {TextFile} from '../../model/text_file';
|
||||
|
||||
export class InMemoryFile implements TextFile {
|
||||
private savedText: string;
|
||||
|
|
|
|||
67
yarn.lock
67
yarn.lock
|
|
@ -143,16 +143,23 @@
|
|||
resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.0.tgz#719551d2352d301ac8b81db732acb6bdc28dbdef"
|
||||
integrity sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==
|
||||
|
||||
"@types/mkdirp@^0.5.2":
|
||||
version "0.5.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.5.2.tgz#503aacfe5cc2703d5484326b1b27efa67a339c1f"
|
||||
integrity sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/node@*", "@types/node@^12.6.9":
|
||||
version "12.6.9"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.9.tgz#ffeee23afdc19ab16e979338e7b536fdebbbaeaf"
|
||||
integrity sha512-+YB9FtyxXGyD54p8rXwWaN1EWEyar5L58GlGWgtH2I9rGmLGBQcw63+0jw+ujqVavNuO47S1ByAjm9zdHMnskw==
|
||||
|
||||
"@types/node@^10.1.0":
|
||||
version "10.14.14"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.14.tgz#a47955df2acf76ba7f0ac3b205d325da193dc9ad"
|
||||
integrity sha512-xXD08vZsvpv4xptQXj1+ky22f7ZoKu5ZNI/4l+/BXG3X+XaeZsmaFbbTKuhSE3NjjvRuZFxFf9sQBMXIcZNFMQ==
|
||||
|
||||
"@types/node@^12.6.9":
|
||||
version "12.6.9"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.9.tgz#ffeee23afdc19ab16e979338e7b536fdebbbaeaf"
|
||||
integrity sha512-+YB9FtyxXGyD54p8rXwWaN1EWEyar5L58GlGWgtH2I9rGmLGBQcw63+0jw+ujqVavNuO47S1ByAjm9zdHMnskw==
|
||||
|
||||
ansi-regex@^2.0.0:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
|
||||
|
|
@ -231,6 +238,11 @@ camelcase@^4.1.0:
|
|||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
|
||||
|
||||
caseless@~0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.6.0.tgz#8167c1ab8397fb5bb95f96d28e5a81c50f247ac4"
|
||||
integrity sha1-gWfBq4OX+1u5X5bSjlqBxQ8kesQ=
|
||||
|
||||
chalk@^1.1.0:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
|
||||
|
|
@ -423,6 +435,11 @@ foreground-child@^1.5.6:
|
|||
cross-spawn "^4"
|
||||
signal-exit "^3.0.0"
|
||||
|
||||
forever-agent@~0.5.0:
|
||||
version "0.5.2"
|
||||
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.5.2.tgz#6d0e09c4921f94a27f63d3b49c5feff1ea4c5130"
|
||||
integrity sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=
|
||||
|
||||
fs.realpath@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
||||
|
|
@ -634,6 +651,14 @@ js-tokens@^3.0.0:
|
|||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
|
||||
|
||||
js-yaml@^3.13.1:
|
||||
version "3.13.1"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
|
||||
integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
|
||||
dependencies:
|
||||
argparse "^1.0.7"
|
||||
esprima "^4.0.0"
|
||||
|
||||
js-yaml@^3.7.0:
|
||||
version "3.10.0"
|
||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc"
|
||||
|
|
@ -654,6 +679,11 @@ json-parse-better-errors@^1.0.1:
|
|||
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
|
||||
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
|
||||
|
||||
json-stringify-safe@~5.0.0:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
|
||||
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
|
||||
|
||||
lcid@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
|
||||
|
|
@ -704,6 +734,11 @@ mem@^1.1.0:
|
|||
dependencies:
|
||||
mimic-fn "^1.0.0"
|
||||
|
||||
mime-types@~1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-1.0.2.tgz#995ae1392ab8affcbfcb2641dd054e943c0d5dce"
|
||||
integrity sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=
|
||||
|
||||
mimic-fn@^1.0.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
|
||||
|
|
@ -743,6 +778,11 @@ nice-try@^1.0.4:
|
|||
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
|
||||
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
|
||||
|
||||
node-uuid@~1.4.0:
|
||||
version "1.4.8"
|
||||
resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907"
|
||||
integrity sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=
|
||||
|
||||
normalize-package-data@^2.3.2:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
|
||||
|
|
@ -909,6 +949,11 @@ pump@^3.0.0:
|
|||
end-of-stream "^1.1.0"
|
||||
once "^1.3.1"
|
||||
|
||||
qs@~1.2.0:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-1.2.2.tgz#19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88"
|
||||
integrity sha1-GbV/8k3CqZzh+L32r82ln472H4g=
|
||||
|
||||
read-pkg-up@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978"
|
||||
|
|
@ -935,6 +980,18 @@ read-pkg@^4.0.1:
|
|||
parse-json "^4.0.0"
|
||||
pify "^3.0.0"
|
||||
|
||||
request-lite@^2.40.1:
|
||||
version "2.40.1"
|
||||
resolved "https://registry.yarnpkg.com/request-lite/-/request-lite-2.40.1.tgz#08a8a151eaa84117e01d3e14fe765e8529b3f3df"
|
||||
integrity sha1-CKihUeqoQRfgHT4U/nZehSmz898=
|
||||
dependencies:
|
||||
caseless "~0.6.0"
|
||||
forever-agent "~0.5.0"
|
||||
json-stringify-safe "~5.0.0"
|
||||
mime-types "~1.0.1"
|
||||
node-uuid "~1.4.0"
|
||||
qs "~1.2.0"
|
||||
|
||||
require-directory@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue