Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate new platform (core) server side into Kibana #18951

Merged
merged 182 commits into from
Jul 11, 2018
Merged
Show file tree
Hide file tree
Changes from 180 commits
Commits
Show all changes
182 commits
Select commit Hold shift + click to select a range
1cb9397
New platform initial setup (#11468)
kimjoar Jun 20, 2017
10516ec
Merge branch 'master' of github.com:elastic/kibana into new-platform
spalger Jun 28, 2017
4048c6a
Merge branch 'master' into new-platform
kimjoar Jul 4, 2017
cc374da
Make config types easier to read
kimjoar Jun 22, 2017
c62bda2
Add a branded types helper, use for PluginName
kimjoar Jun 22, 2017
51ca2a1
SavedObjectsFacade -> SavedObjectsService
kimjoar Jun 22, 2017
03130b7
Improve comments and code for topological sort
kimjoar Jun 26, 2017
e3e8593
Improve comments related to plugin system
kimjoar Jun 26, 2017
f93e80f
Make starting and stopping core services async
kimjoar Jun 28, 2017
c5d1770
Rename from 'kibana' to 'core' for clarity
kimjoar Jun 28, 2017
b7235ca
Transform argv to config overrides
kimjoar Jun 29, 2017
e9c43aa
Move process.exit to cli
kimjoar Jun 29, 2017
8a503fd
Define plugin as object instead of separate params
kimjoar Jun 29, 2017
1d67e06
Move configPath to top-level field on plugins
kimjoar Jun 30, 2017
455bd81
Only attempt to stop plugins that have been started
kimjoar Jun 30, 2017
3f1dd1d
Handle 'flat' config yaml
kimjoar Jul 2, 2017
d2a4257
Don't start disabled plugins
kimjoar Jul 3, 2017
93adf4b
Extract RawConfigService and inject config observable into ConfigService
kimjoar Jul 3, 2017
bc6cd7a
Change to specifying log level instead of quiet, silent, verbose
kimjoar Jul 4, 2017
89af7ba
Load config _before_ starting 'Root'
kimjoar Jul 5, 2017
7f0cfac
Correctly handle array config values and expand flat objects within t…
azasypkin Jul 5, 2017
2c50926
Add (and run) Prettier on the new platform code (#12667)
kimjoar Jul 6, 2017
c0abc41
Upgrade Typescript, RxJS and type definitions. Add augmentation for e…
azasypkin Jul 6, 2017
a2b15c3
Extract PidFile and clarify rxjs use in PidService
kimjoar Jul 6, 2017
465130b
Comment out and clean transitive dep example
kimjoar Jul 6, 2017
a7a1afb
Typo in PidService
kimjoar Jul 6, 2017
627674e
Better explanation of 'switchMap'
kimjoar Jul 6, 2017
243dcd7
Rename 'xpack_api_polling_frequency_millis' to 'api_polling_frequency…
kimjoar Jul 7, 2017
d287ca9
Cleaner Pid observable code (#12702)
kimjoar Jul 7, 2017
57951f6
Implement mapOf setting type (#12703)
kimjoar Jul 7, 2017
a7878ff
node 8 + npm 5 in new platform (#12828)
kimjoar Jul 18, 2017
fe56c88
Upgrade supertest types (#12984)
kimjoar Jul 19, 2017
7559909
Typed plugins in new platform (#12857)
kimjoar Jul 19, 2017
8ca1591
Extract types from server/types (#12967)
kimjoar Jul 20, 2017
cbd32a4
Merge branch 'master' into new-platform
kimjoar Jul 24, 2017
da35694
Pass context when validating config schema (#13077)
kimjoar Jul 25, 2017
28ecd7e
Handle buggy ignore in Prettier (#12997)
kimjoar Jul 25, 2017
27f8088
Shutdown properly if configuring logger fails (#13094)
kimjoar Jul 26, 2017
2a98655
Upgrade to Node 8.2.1 (#13113)
kimjoar Jul 26, 2017
052982d
Introduce Appenders, Loggers and Layouts. (#12852)
azasypkin Jul 31, 2017
cb222d7
Introduce logging `JsonLayout`. (#13180)
azasypkin Aug 3, 2017
432e6c1
Print `error.stack` for pattern layout and `error.message`, `error.st…
azasypkin Aug 3, 2017
32b12c7
Update new-platform dependencies. (#13338)
azasypkin Aug 8, 2017
9dbd10d
Add support for `Router.post` method and `body` validation. (#13389)
azasypkin Aug 8, 2017
3aa1f08
Use `bodyParser.json()` and `bodyParser.urlencoded() instead of depre…
azasypkin Aug 10, 2017
6dfc7e0
Upgrade Node + TypeScript (#13609)
kimjoar Aug 22, 2017
7e7ff40
Merge branch 'master' into new-platform
kimjoar Aug 24, 2017
0ebaa8d
Fix dates in tests (#13744)
kimjoar Aug 29, 2017
ece05ce
Extract core plugins in new platform (#13218)
kimjoar Aug 31, 2017
97266fe
Upgrade to Prettier 1.6.1 (#13794)
kimjoar Aug 31, 2017
f97eae2
Initial core plugins readme (#13797)
kimjoar Sep 1, 2017
8540c2c
Use 'prepare' script to build, which runs when installing (#13814)
kimjoar Sep 4, 2017
b033a4c
Extract a better 'Plugin' type (#13831)
kimjoar Sep 5, 2017
645e0e7
Run Prettier on core plugins (#13843)
kimjoar Sep 5, 2017
c1b9421
Extract types into their own files (#13862)
kimjoar Sep 7, 2017
1217e10
Merge branch master into new-platform
azasypkin Sep 18, 2017
def0b8a
Several small simplifications and improvements to plugins (#14029)
kimjoar Sep 19, 2017
3e768c6
Update package.lock after merging with master
kimjoar Sep 22, 2017
14f9137
Use subscription instead of takeUntil (#14151)
kimjoar Sep 28, 2017
0faf9d8
[new-platform] upgrade to the node 8.6.0 (#14218)
spalger Sep 29, 2017
6599a7e
Upgrade to Prettier 1.7.3 (#14233)
kimjoar Oct 1, 2017
a1a56c9
Remove example plugins (#14288)
kimjoar Oct 4, 2017
50231b1
Proxy ExpressJS requests to HapiJS. (#13844)
azasypkin Oct 5, 2017
766d837
Merge branch 'master' into new-platform
kimjoar Oct 5, 2017
936daca
Fix babel-register for new platform
kimjoar Oct 5, 2017
01d0f31
Introduce `LegacyAppender` that forwards log records to the legacy pl…
azasypkin Oct 9, 2017
67e927d
Rename 'pluginsDir' to 'corePluginsDir'
kimjoar Oct 10, 2017
220b127
Scan plugin dirs specified in Kibana config
kimjoar Oct 11, 2017
2df646d
Add example plugins
kimjoar Oct 11, 2017
7a83048
Propagate new platform startup errors to the legacy platform. (#14401)
azasypkin Oct 11, 2017
a792ba5
Merge branch 'master' into new-platform
kimjoar Oct 13, 2017
f11ced9
Update lock file after merge
kimjoar Oct 13, 2017
b5a4ecf
Defer assertion, likely because of Node upgrade
kimjoar Oct 13, 2017
a6723f7
Merge branch 'master' into new-platform
kimjoar Nov 1, 2017
e21785c
Add libesvm
kimjoar Nov 1, 2017
68c12fa
Extract raw config files (#14695)
kimjoar Nov 1, 2017
c141429
Upgrade to TypeScript 2.6.1 (#14699)
kimjoar Nov 5, 2017
2eca101
Logger nitpicks (#14778)
kimjoar Nov 6, 2017
76268c3
Merge branch 'master' into new-platform
kimjoar Nov 8, 2017
abee56f
Update package-lock.json after merging master
kimjoar Nov 8, 2017
59114ff
Build Kibana observable lib based on "native" observables (#14209)
kimjoar Nov 9, 2017
8e5623a
[Install] Simplify installation of packages (#14913)
archanid Nov 13, 2017
66650d6
Merge branch 'master' into new-platform
Nov 13, 2017
4454d07
Run Prettier on all ts files (#14499)
kimjoar Nov 14, 2017
612e1fa
Rename KibanaPluginFeatures to KibanaPluginApi (#14490)
kimjoar Nov 14, 2017
d9560c2
Remove resultSelector from mergeMap (#14936)
kimjoar Nov 14, 2017
b872aed
Http verbs (#14916)
archanid Nov 14, 2017
7bb72ba
[http] really remove test plugin (#14950)
archanid Nov 14, 2017
ece504b
Re-run prettier
kimjoar Nov 20, 2017
1e11a71
Provide New Platform with its own flexible `__newPlatform` configurat…
azasypkin Nov 22, 2017
aefccef
Merge branch 'master' into new-platform
kimjoar Nov 23, 2017
9539be9
Alternative to request-scoped services (#14980)
archanid Dec 8, 2017
f65ab3b
Merge branch 'master' into new-platform
kimjoar Dec 11, 2017
1c0afae
Re-run Prettier
kimjoar Dec 13, 2017
a55ba1f
Run TypeScript on tests (#15576)
kimjoar Dec 13, 2017
308aaa0
Implement Kibana wrappers of Elasticsearch clients (AdminClient and S…
archanid Dec 20, 2017
8da12ab
[docs] Remove fragment
Dec 21, 2017
895a7e7
Move to yarn
kimjoar Jan 13, 2018
50b3852
Merge branch 'master' into new-platform
kimjoar Jan 13, 2018
93ff506
Get rid of kbn-types/example folder
kimjoar Jan 13, 2018
4fc29f6
Remove crypto declaration file override
kimjoar Jan 13, 2018
b19b8c1
Skip Babel when running TypeScript Jest tests
kimjoar Jan 13, 2018
1bf6f85
Clarify target in Jest tsconfig
kimjoar Jan 13, 2018
0d90a6b
Describe the main compiler options used
kimjoar Jan 13, 2018
eb46188
Review fix
kimjoar Jan 15, 2018
b107074
Merge branch 'chore/ts-cleanups' into new-platform
kimjoar Jan 15, 2018
6114500
Simplify `schema` handling (#16036)
kimjoar Jan 15, 2018
a2fa590
Fix Yarn order in readme (#16151)
kimjoar Jan 19, 2018
09da35d
Router cleanups (#16050)
kimjoar Jan 23, 2018
39bc167
Rename Setting -> Type (#16059)
kimjoar Jan 24, 2018
242d221
Merge branch 'master' into new-platform
kimjoar Feb 2, 2018
c9e0f0f
Fix for stricter moment types
kimjoar Feb 2, 2018
77f1e24
Merge branch 'master' into new-platform
kimjoar Feb 3, 2018
a31b545
Merge branch 'master' into new-platform
kimjoar Feb 5, 2018
69df4c4
Update missing snapshot
kimjoar Feb 5, 2018
7b29973
Update snapshots after pulling master
kimjoar Feb 5, 2018
2e3e940
Merge branch 'master' into new-platform
kimjoar Feb 8, 2018
e812e74
Re-run with new Prettier settings
kimjoar Feb 8, 2018
92ca4ef
Use kbn-build for new platform
kimjoar Feb 3, 2018
3378e99
Rename '@elastic/kbn-' to '@kbn/'
kimjoar Feb 3, 2018
c6c3e76
Add license and 'private: true' to packages
kimjoar Feb 3, 2018
64cf8ea
Upgrade to TypeScript 2.7.1
kimjoar Feb 4, 2018
b6a2088
Use 'kbn:bootstrap' script
kimjoar Feb 8, 2018
bc9144b
Merge branch 'master' into new-platform
kimjoar Feb 15, 2018
4b825f6
Extract own platform package (#16647)
kimjoar Feb 15, 2018
b741caa
Rename files
kimjoar Feb 15, 2018
4162ee5
Create unique name
kimjoar Feb 17, 2018
0d3473d
Rename back to actual names
kimjoar Feb 17, 2018
7f8c797
Fix requires
kimjoar Feb 16, 2018
a9e3c76
Fix snapshot tests
kimjoar Feb 16, 2018
900f5d7
Merge branch 'platform/snake-case' into new-platform
kimjoar Feb 19, 2018
5acf8a7
Merge branch 'master' into new-platform
kimjoar Feb 22, 2018
60867ce
Use @types/type-detect instead of local declaration files (#16111)
kimjoar Feb 23, 2018
b5af9b8
Update new platform readme
Mar 12, 2018
a7c5738
Merge branch 'master' into new-platform
kimjoar Mar 14, 2018
1d9657b
New platform Node 8 changes (#17146)
kimjoar Mar 14, 2018
32734c3
Additional fixes after Node 8 upgrade
kimjoar Apr 6, 2018
54c04f3
Merge branch 'master' into new-platform
kimjoar Apr 17, 2018
8ba2580
Merge branch 'master' into new-platform
kimjoar Apr 18, 2018
d91d1c7
Merge branch 'master' into new-platform
Apr 25, 2018
bec5940
Merge branch 'master' into new-platform
azasypkin May 2, 2018
32420f0
Merge branch 'master' into new-platform
May 2, 2018
50ebeb9
Merge branch 'master' into new-platform
May 11, 2018
7f86c07
Merge branch 'master' into new-platform
azasypkin May 15, 2018
f3925be
Merge branch 'master' into new-platform
azasypkin May 16, 2018
795608c
Merge branch 'master' into new-platform
azasypkin May 16, 2018
0705c16
Merge branch 'master' into new-platform
azasypkin May 17, 2018
f511c7c
Merge branch 'master' into new-platform
azasypkin May 17, 2018
b935dbd
[New Platform] Replace Express with Hapi 17. (#18562)
azasypkin May 28, 2018
56e4594
Merge branch 'master' into new-platform
azasypkin May 28, 2018
68dcfc4
Migrate `new-platform` to `kbn-core`.
azasypkin May 15, 2018
e4874b4
TSLint: apply autofixes.
azasypkin May 28, 2018
70357d0
TSLint: fix `radix` rule warnings.
azasypkin May 29, 2018
b56e1a0
TSLint: fix `class-name` rule warnings.
azasypkin May 29, 2018
57e91ea
TSLint: fix `unified-signatures` rule warnings.
azasypkin May 29, 2018
5f5f28b
TSLint: fix `no-console` rule warnings.
azasypkin May 29, 2018
6853759
TSLint: fix `jsdoc-format` rule warnings.
azasypkin May 29, 2018
7e945df
TSLint: fix `no-bitwise` rule warnings.
azasypkin May 29, 2018
93e5ec1
TSLint: fix `no-unused-expression` rule warnings.
azasypkin May 29, 2018
05f3321
TSLint: fix `forin` rule warnings.
azasypkin May 29, 2018
6c9bdb5
TSLint: fix `no-shadowed-variable` rule warnings.
azasypkin May 29, 2018
34947f1
TSLint: fix `only-arrow-functions` rule warnings.
azasypkin May 29, 2018
811c194
TSLint: fix `ban-types` rule warnings.
azasypkin May 29, 2018
20aa0f4
TSLint: fix `no-empty` rule warnings.
azasypkin May 29, 2018
ce3b711
TSLint: fix `max-classes-per-file` rule warnings.
azasypkin May 29, 2018
d225775
TSLint: fix `object-literal-sort-keys` rule warnings.
azasypkin May 29, 2018
99e0ddd
TSLint: fix `member-ordering` rule warnings.
azasypkin May 29, 2018
8e92ce4
TSLint: fix `variable-name` rule warnings.
azasypkin May 29, 2018
21463d9
Actualize dependencies.
azasypkin May 29, 2018
e0cb39b
Merge branch 'master' into kbn-core
azasypkin May 29, 2018
db0324b
Remove `tsconfig-package.json`.
azasypkin May 29, 2018
1487fc9
Add Apache 2.0 license headers to `src/core`.
azasypkin May 29, 2018
f211410
Update `src/core/README.md` and revert unnecessary changes in `exec` …
azasypkin May 29, 2018
c473e78
Merge branch 'master' into kbn-core
azasypkin Jun 13, 2018
f9c6e08
Merge branch 'master' into kbn-core
azasypkin Jun 20, 2018
9fd5e43
Move `BasePathProxy` to the new platform (#19424)
azasypkin Jun 25, 2018
ec64210
Merge branch 'master' into kbn-core
azasypkin Jun 25, 2018
5adcddf
Merge branch 'master' into kbn-core
azasypkin Jun 25, 2018
067882c
Use `Joi` for the config schema validation (#19556)
azasypkin Jun 29, 2018
29033b6
Merge branch 'master' into kbn-core
azasypkin Jun 29, 2018
e341c55
Merge branch 'master' into kbn-core
azasypkin Jul 11, 2018
49d6338
Prettier: apply latest `printWidth` rule.
azasypkin Jul 11, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ bower_components
/src/core_plugins/console/public/tests/webpackShims
/src/ui/public/utils/decode_geo_hash.js
/src/core_plugins/timelion/public/webpackShims/jquery.flot.*
/src/core/lib/kbn_internal_native_observable
/packages/*/target
/packages/eslint-config-kibana
/packages/eslint-plugin-kibana-custom
Expand Down
15 changes: 15 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,10 @@
"glob-all": "3.0.1",
"good-squeeze": "2.1.0",
"h2o2": "5.1.1",
"h2o2-latest": "npm:h2o2@8.1.2",
"handlebars": "4.0.5",
"hapi": "14.2.0",
"hapi-latest": "npm:hapi@17.5.0",
"hjson": "3.1.0",
"http-proxy-agent": "^2.1.0",
"https-proxy-agent": "^2.2.1",
Expand Down Expand Up @@ -194,12 +196,14 @@
"script-loader": "0.7.2",
"semver": "^5.5.0",
"style-loader": "0.19.0",
"symbol-observable": "^1.2.0",
"tar": "2.2.0",
"tinygradient": "0.3.0",
"tinymath": "0.2.1",
"topojson-client": "3.0.0",
"trunc-html": "1.0.2",
"trunc-text": "1.0.2",
"type-detect": "^4.0.8",
"uglifyjs-webpack-plugin": "0.4.6",
"ui-select": "0.19.6",
"url-loader": "0.5.9",
Expand Down Expand Up @@ -229,20 +233,30 @@
"@types/angular": "^1.6.45",
"@types/babel-core": "^6.25.5",
"@types/bluebird": "^3.1.1",
"@types/chance": "^1.0.0",
"@types/classnames": "^2.2.3",
"@types/eslint": "^4.16.2",
"@types/execa": "^0.9.0",
"@types/getopts": "^2.0.0",
"@types/glob": "^5.0.35",
"@types/hapi-latest": "npm:@types/hapi@17.0.12",
"@types/has-ansi": "^3.0.0",
"@types/jest": "^22.2.3",
"@types/joi": "^10.4.4",
"@types/js-yaml": "^3.11.1",
"@types/listr": "^0.13.0",
"@types/lodash": "^3.10.1",
"@types/minimatch": "^2.0.29",
"@types/node": "^8.10.20",
"@types/prop-types": "^15.5.3",
"@types/react": "^16.3.14",
"@types/react-dom": "^16.0.5",
"@types/redux": "^3.6.31",
"@types/redux-actions": "^2.2.1",
"@types/sinon": "^5.0.0",
"@types/strip-ansi": "^3.0.0",
"@types/supertest": "^2.0.4",
"@types/type-detect": "^4.0.1",
"angular-mocks": "1.4.7",
"babel-eslint": "8.1.2",
"babel-jest": "^22.4.3",
Expand Down Expand Up @@ -282,6 +296,7 @@
"grunt-run": "0.7.0",
"gulp-babel": "^7.0.1",
"gulp-sourcemaps": "1.7.3",
"has-ansi": "^3.0.0",
"husky": "0.8.1",
"image-diff": "1.6.0",
"istanbul-instrumenter-loader": "3.0.0",
Expand Down
140 changes: 0 additions & 140 deletions src/cli/cluster/base_path_proxy.js

This file was deleted.

28 changes: 19 additions & 9 deletions src/cli/cluster/cluster_manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ import { debounce, invoke, bindAll, once, uniq } from 'lodash';

import Log from '../log';
import Worker from './worker';
import BasePathProxy from './base_path_proxy';
import { Config } from '../../server/config/config';
import { transformDeprecations } from '../../server/config/transform_deprecations';
import { configureBasePathProxy } from './configure_base_path_proxy';

process.env.kbnWorkerType = 'managr';

Expand All @@ -33,10 +33,14 @@ export default class ClusterManager {
const transformedSettings = transformDeprecations(settings);
const config = await Config.withDefaultSchema(transformedSettings);

return new ClusterManager(opts, config);
const basePathProxy = opts.basePath
? await configureBasePathProxy(config)
: undefined;

return new ClusterManager(opts, config, basePathProxy);
}

constructor(opts, config) {
constructor(opts, config, basePathProxy) {
this.log = new Log(opts.quiet, opts.silent);
this.addedCount = 0;
this.inReplMode = !!opts.repl;
Expand All @@ -47,17 +51,17 @@ export default class ClusterManager {
'--server.autoListen=false',
];

if (opts.basePath) {
this.basePathProxy = new BasePathProxy(this, config);
if (basePathProxy) {
this.basePathProxy = basePathProxy;

optimizerArgv.push(
`--server.basePath=${this.basePathProxy.basePath}`,
`--server.basePath=${this.basePathProxy.getBasePath()}`,
'--server.rewriteBasePath=true',
);

serverArgv.push(
`--server.port=${this.basePathProxy.targetPort}`,
`--server.basePath=${this.basePathProxy.basePath}`,
`--server.port=${this.basePathProxy.getTargetPort()}`,
`--server.basePath=${this.basePathProxy.getBasePath()}`,
'--server.rewriteBasePath=true',
);
}
Expand All @@ -78,6 +82,12 @@ export default class ClusterManager {
})
];

if (basePathProxy) {
// Pass server worker to the basepath proxy so that it can hold off the
// proxying until server worker is ready.
this.basePathProxy.serverWorker = this.server;
}

// broker messages between workers
this.workers.forEach((worker) => {
worker.on('broadcast', (msg) => {
Expand Down Expand Up @@ -120,7 +130,7 @@ export default class ClusterManager {
this.setupManualRestart();
invoke(this.workers, 'start');
if (this.basePathProxy) {
this.basePathProxy.listen();
this.basePathProxy.start();
}
}

Expand Down
64 changes: 64 additions & 0 deletions src/cli/cluster/configure_base_path_proxy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

import { Server } from 'hapi';
import { createBasePathProxy } from '../../core';
import { setupLogging } from '../../server/logging';

export async function configureBasePathProxy(config) {
// New platform forwards all logs to the legacy platform so we need HapiJS server
// here just for logging purposes and nothing else.
const server = new Server();
setupLogging(server, config);

const basePathProxy = createBasePathProxy({ server, config });

await basePathProxy.configure({
shouldRedirectFromOldBasePath: path => {
const isApp = path.startsWith('app/');
const isKnownShortPath = ['login', 'logout', 'status'].includes(path);

return isApp || isKnownShortPath;
},

blockUntil: () => {
// Wait until `serverWorker either crashes or starts to listen.
// The `serverWorker` property should be set by the ClusterManager
// once it creates the worker.
const serverWorker = basePathProxy.serverWorker;
if (serverWorker.listening || serverWorker.crashed) {
return Promise.resolve();
}

return new Promise(resolve => {
const done = () => {
serverWorker.removeListener('listening', done);
serverWorker.removeListener('crashed', done);

resolve();
};

serverWorker.on('listening', done);
serverWorker.on('crashed', done);
});
},
});

return basePathProxy;
}
Loading