@anansi/core 0.16.7 → 0.16.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/dist/{src_spouts_restHooks_provider_tsx.chunk.js → 2.chunk.js} +4 -4
- package/dist/client.js +13 -2784
- package/dist/server.js +64 -2911
- package/lib/scripts/getProxyMiddlewares.js +5 -10
- package/lib/scripts/getWebpackConfig.d.ts +1 -1
- package/lib/scripts/getWebpackConfig.d.ts.map +1 -1
- package/lib/scripts/getWebpackConfig.js +5 -11
- package/lib/scripts/index.js +3 -10
- package/lib/scripts/serve.d.ts +2 -2
- package/lib/scripts/serve.d.ts.map +1 -1
- package/lib/scripts/serve.js +37 -33
- package/lib/scripts/startDevserver.d.ts +2 -2
- package/lib/scripts/startDevserver.d.ts.map +1 -1
- package/lib/scripts/startDevserver.js +63 -54
- package/lib/scripts/types.js +1 -3
- package/lib/spouts/DocumentComponent.d.ts.map +1 -1
- package/lib/spouts/DocumentComponent.js +2 -4
- package/lib/spouts/document.server.d.ts.map +1 -1
- package/lib/spouts/document.server.js +6 -3
- package/package.json +5 -5
- package/src/scripts/getWebpackConfig.ts +7 -9
- package/src/scripts/serve.ts +19 -12
- package/src/scripts/startDevserver.ts +28 -7
- package/src/scripts/webpack-logging.d.ts +4 -0
- package/src/spouts/DocumentComponent.tsx +1 -5
- package/src/spouts/document.server.tsx +9 -1
- package/lib/scripts/package.json +0 -1
- package/src/scripts/package.json +0 -1
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.default = getProxyMiddlewares;
|
|
5
1
|
// Essentially taken from https://github.com/webpack/webpack-dev-server/blob/b5e5b67398f97c7a2934e12ebe34fb03cc06c473/lib/Server.js#L2123
|
|
6
|
-
function getProxyMiddlewares(proxyConfig) {
|
|
2
|
+
export default function getProxyMiddlewares(proxyConfig) {
|
|
7
3
|
const middlewares = [];
|
|
8
4
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
9
5
|
const {
|
|
10
6
|
createProxyMiddleware
|
|
11
7
|
} = require('http-proxy-middleware');
|
|
12
|
-
const proxy = !Array.isArray(proxyConfig) && typeof proxyConfig === 'object' ? Object.keys(proxyConfig).length && Object.keys(proxyConfig)[0].startsWith('/') ? Object.entries(proxyConfig).map(([path, v]) => ({
|
|
13
|
-
path
|
|
14
|
-
|
|
15
|
-
})) : [proxyConfig] : proxyConfig;
|
|
8
|
+
const proxy = !Array.isArray(proxyConfig) && typeof proxyConfig === 'object' ? Object.keys(proxyConfig).length && Object.keys(proxyConfig)[0].startsWith('/') ? Object.entries(proxyConfig).map(([path, v]) => Object.assign({
|
|
9
|
+
path
|
|
10
|
+
}, v)) : [proxyConfig] : proxyConfig;
|
|
16
11
|
const getProxyMiddleware = proxyConfig => {
|
|
17
12
|
// It is possible to use the `bypass` method without a `target` or `router`.
|
|
18
13
|
// However, the proxy middleware has no use in this case, and will fail to instantiate.
|
|
@@ -94,4 +89,4 @@ function getProxyMiddlewares(proxyConfig) {
|
|
|
94
89
|
});
|
|
95
90
|
return middlewares;
|
|
96
91
|
}
|
|
97
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRQcm94eU1pZGRsZXdhcmVzIiwicHJveHlDb25maWciLCJtaWRkbGV3YXJlcyIsImNyZWF0ZVByb3h5TWlkZGxld2FyZSIsInJlcXVpcmUiLCJwcm94eSIsIkFycmF5IiwiaXNBcnJheSIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJzdGFydHNXaXRoIiwiZW50cmllcyIsIm1hcCIsInBhdGgiLCJ2IiwiYXNzaWduIiwiZ2V0UHJveHlNaWRkbGV3YXJlIiwidGFyZ2V0IiwiY29udGV4dCIsInJvdXRlciIsImZvckVhY2giLCJwcm94eUNvbmZpZ09yQ2FsbGJhY2siLCJwcm94eU1pZGRsZXdhcmUiLCJoYW5kbGVyIiwicmVxIiwicmVzIiwibmV4dCIsIm5ld1Byb3h5Q29uZmlnIiwiYnlwYXNzVXJsIiwiYnlwYXNzIiwidXJsIiwicHVzaCIsIm5hbWUiLCJtaWRkbGV3YXJlIiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9nZXRQcm94eU1pZGRsZXdhcmVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFJlcXVlc3RIYW5kbGVyLFxuICBQcm94eUNvbmZpZ0FycmF5LFxuICBSZXNwb25zZSxcbiAgUmVxdWVzdCxcbiAgTmV4dEZ1bmN0aW9uLFxuICBCeVBhc3MsXG4gIFByb3h5Q29uZmlnQXJyYXlJdGVtLFxuICBQcm94eUNvbmZpZ01hcCxcbn0gZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcblxuLy8gRXNzZW50aWFsbHkgdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrLWRldi1zZXJ2ZXIvYmxvYi9iNWU1YjY3Mzk4Zjk3YzdhMjkzNGUxMmViZTM0ZmIwM2NjMDZjNDczL2xpYi9TZXJ2ZXIuanMjTDIxMjNcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFByb3h5TWlkZGxld2FyZXMoXG4gIHByb3h5Q29uZmlnOiBQcm94eUNvbmZpZ0FycmF5SXRlbSB8IFByb3h5Q29uZmlnTWFwIHwgUHJveHlDb25maWdBcnJheSxcbikge1xuICBjb25zdCBtaWRkbGV3YXJlczogYW55W10gPSBbXTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgY29uc3QgeyBjcmVhdGVQcm94eU1pZGRsZXdhcmUgfSA9IHJlcXVpcmUoJ2h0dHAtcHJveHktbWlkZGxld2FyZScpO1xuXG4gIGNvbnN0IHByb3h5OiBQcm94eUNvbmZpZ0FycmF5ID1cbiAgICAhQXJyYXkuaXNBcnJheShwcm94eUNvbmZpZykgJiYgdHlwZW9mIHByb3h5Q29uZmlnID09PSAnb2JqZWN0J1xuICAgICAgPyBPYmplY3Qua2V5cyhwcm94eUNvbmZpZykubGVuZ3RoICYmXG4gICAgICAgIE9iamVjdC5rZXlzKHByb3h5Q29uZmlnKVswXS5zdGFydHNXaXRoKCcvJylcbiAgICAgICAgPyBPYmplY3QuZW50cmllcyhwcm94eUNvbmZpZykubWFwKChbcGF0aCwgdl0pID0+ICh7IHBhdGgsIC4uLnYgfSkpXG4gICAgICAgIDogW3Byb3h5Q29uZmlnXVxuICAgICAgOiBwcm94eUNvbmZpZztcblxuICBjb25zdCBnZXRQcm94eU1pZGRsZXdhcmUgPSAoXG4gICAgcHJveHlDb25maWc6IFByb3h5Q29uZmlnQXJyYXlJdGVtLFxuICApOiBSZXF1ZXN0SGFuZGxlciB8IHVuZGVmaW5lZCA9PiB7XG4gICAgLy8gSXQgaXMgcG9zc2libGUgdG8gdXNlIHRoZSBgYnlwYXNzYCBtZXRob2Qgd2l0aG91dCBhIGB0YXJnZXRgIG9yIGByb3V0ZXJgLlxuICAgIC8vIEhvd2V2ZXIsIHRoZSBwcm94eSBtaWRkbGV3YXJlIGhhcyBubyB1c2UgaW4gdGhpcyBjYXNlLCBhbmQgd2lsbCBmYWlsIHRvIGluc3RhbnRpYXRlLlxuICAgIGlmIChwcm94eUNvbmZpZy50YXJnZXQpIHtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSBwcm94eUNvbmZpZy5jb250ZXh0IHx8IHByb3h5Q29uZmlnLnBhdGg7XG5cbiAgICAgIHJldHVybiBjcmVhdGVQcm94eU1pZGRsZXdhcmUoLyoqIEB0eXBlIHtzdHJpbmd9ICovIGNvbnRleHQsIHByb3h5Q29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAocHJveHlDb25maWcucm91dGVyKSB7XG4gICAgICByZXR1cm4gY3JlYXRlUHJveHlNaWRkbGV3YXJlKHByb3h5Q29uZmlnKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEFzc3VtZSBhIHByb3h5IGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkIGFzOlxuICAgKiBwcm94eTogW1xuICAgKiAgIHtcbiAgICogICAgIGNvbnRleHQ6IFwidmFsdWVcIixcbiAgICogICAgIC4uLm9wdGlvbnMsXG4gICAqICAgfSxcbiAgICogICAvLyBvcjpcbiAgICogICBmdW5jdGlvbigpIHtcbiAgICogICAgIHJldHVybiB7XG4gICAqICAgICAgIGNvbnRleHQ6IFwiY29udGV4dFwiLFxuICAgKiAgICAgICAuLi5vcHRpb25zLFxuICAgKiAgICAgfTtcbiAgICogICB9XG4gICAqIF1cbiAgICovXG4gIHByb3h5LmZvckVhY2gocHJveHlDb25maWdPckNhbGxiYWNrID0+IHtcbiAgICBsZXQgcHJveHlNaWRkbGV3YXJlOiBSZXF1ZXN0SGFuZGxlciB8IHVuZGVmaW5lZDtcblxuICAgIGxldCBwcm94eUNvbmZpZyA9XG4gICAgICB0eXBlb2YgcHJveHlDb25maWdPckNhbGxiYWNrID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gcHJveHlDb25maWdPckNhbGxiYWNrKClcbiAgICAgICAgOiBwcm94eUNvbmZpZ09yQ2FsbGJhY2s7XG5cbiAgICBwcm94eU1pZGRsZXdhcmUgPSBnZXRQcm94eU1pZGRsZXdhcmUocHJveHlDb25maWcpO1xuXG4gICAgLyogVE9ETzogZmlndXJlIG91dCBob3cgdG8gbWFrZSB0aGlzIHdvcmtcbiAgICBpZiAocHJveHlDb25maWcud3MpIHtcbiAgICAgIHRoaXMud2ViU29ja2V0UHJveGllcy5wdXNoKHByb3h5TWlkZGxld2FyZSk7XG4gICAgfVxuICAgICovXG5cbiAgICBjb25zdCBoYW5kbGVyID0gYXN5bmMgKHJlcTogUmVxdWVzdCwgcmVzOiBSZXNwb25zZSwgbmV4dDogTmV4dEZ1bmN0aW9uKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHByb3h5Q29uZmlnT3JDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCBuZXdQcm94eUNvbmZpZyA9IHByb3h5Q29uZmlnT3JDYWxsYmFjayhyZXEsIHJlcywgbmV4dCk7XG5cbiAgICAgICAgaWYgKG5ld1Byb3h5Q29uZmlnICE9PSBwcm94eUNvbmZpZykge1xuICAgICAgICAgIHByb3h5Q29uZmlnID0gbmV3UHJveHlDb25maWc7XG4gICAgICAgICAgcHJveHlNaWRkbGV3YXJlID0gZ2V0UHJveHlNaWRkbGV3YXJlKHByb3h5Q29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyAtIENoZWNrIGlmIHdlIGhhdmUgYSBieXBhc3MgZnVuY3Rpb24gZGVmaW5lZFxuICAgICAgLy8gLSBJbiBjYXNlIHRoZSBieXBhc3MgZnVuY3Rpb24gaXMgZGVmaW5lZCB3ZSdsbCByZXRyaWV2ZSB0aGVcbiAgICAgIC8vIGJ5cGFzc1VybCBmcm9tIGl0IG90aGVyd2lzZSBieXBhc3NVcmwgd291bGQgYmUgbnVsbFxuICAgICAgLy8gVE9ETyByZW1vdmUgaW4gdGhlIG5leHQgbWFqb3IgaW4gZmF2b3IgYGNvbnRleHRgIGFuZCBgcm91dGVyYCBvcHRpb25zXG4gICAgICBjb25zdCBieXBhc3NVcmw6IEJ5UGFzcyB8IG51bGwgPVxuICAgICAgICB0eXBlb2YgcHJveHlDb25maWcuYnlwYXNzID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgPyBhd2FpdCBwcm94eUNvbmZpZy5ieXBhc3MocmVxLCByZXMsIHByb3h5Q29uZmlnKVxuICAgICAgICAgIDogbnVsbDtcblxuICAgICAgaWYgKHR5cGVvZiBieXBhc3NVcmwgPT09ICdib29sZWFuJykge1xuICAgICAgICAvLyBza2lwIHRoZSBwcm94eVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcmVxLnVybCA9IG51bGw7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGJ5cGFzc1VybCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgLy8gYnlQYXNzIHRvIHRoYXQgdXJsXG4gICAgICAgIHJlcS51cmwgPSBieXBhc3NVcmw7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH0gZWxzZSBpZiAocHJveHlNaWRkbGV3YXJlKSB7XG4gICAgICAgIHJldHVybiBwcm94eU1pZGRsZXdhcmUocmVxLCByZXMsIG5leHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV4dCgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBtaWRkbGV3YXJlcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdodHRwLXByb3h5LW1pZGRsZXdhcmUnLFxuICAgICAgbWlkZGxld2FyZTogaGFuZGxlcixcbiAgICB9KTtcbiAgICAvLyBBbHNvIGZvcndhcmQgZXJyb3IgcmVxdWVzdHMgdG8gdGhlIHByb3h5IHNvIGl0IGNhbiBoYW5kbGUgdGhlbS5cbiAgICBtaWRkbGV3YXJlcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdodHRwLXByb3h5LW1pZGRsZXdhcmUtZXJyb3ItaGFuZGxlcicsXG4gICAgICBtaWRkbGV3YXJlOiAoXG4gICAgICAgIGVycm9yOiBFcnJvcixcbiAgICAgICAgcmVxOiBSZXF1ZXN0LFxuICAgICAgICByZXM6IFJlc3BvbnNlLFxuICAgICAgICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4gICAgICApID0+IGhhbmRsZXIocmVxLCByZXMsIG5leHQpLFxuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gbWlkZGxld2FyZXM7XG59XG4iXSwibWFwcGluZ3Mi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
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import webpack from 'webpack';
|
|
2
|
-
export declare function getWebpackConfig(): (env: any, argv: any) => webpack.Configuration
|
|
2
|
+
export declare function getWebpackConfig(): Promise<(env: any, argv: any) => webpack.Configuration>;
|
|
3
3
|
//# sourceMappingURL=getWebpackConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getWebpackConfig.d.ts","sourceRoot":"","sources":["../../src/scripts/getWebpackConfig.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAS9B,
|
|
1
|
+
{"version":3,"file":"getWebpackConfig.d.ts","sourceRoot":"","sources":["../../src/scripts/getWebpackConfig.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAS9B,wBAAsB,gBAAgB,IAAI,OAAO,CAC/C,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,aAAa,CAC/C,CAOA"}
|
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.getWebpackConfig = getWebpackConfig;
|
|
5
|
-
var _enhancedResolve = require("enhanced-resolve");
|
|
6
|
-
const resolve = _enhancedResolve.create.sync({
|
|
1
|
+
import { default as enhanced } from 'enhanced-resolve';
|
|
2
|
+
const resolve = enhanced.create.sync({
|
|
7
3
|
modules: ['.'],
|
|
8
4
|
// or resolve.create.sync
|
|
9
5
|
extensions: ['.js', '.cjs', '.mjs']
|
|
10
6
|
// see more options below
|
|
11
7
|
});
|
|
12
8
|
|
|
13
|
-
function getWebpackConfig() {
|
|
9
|
+
export async function getWebpackConfig() {
|
|
14
10
|
const configPath = resolve({}, process.cwd(), 'webpack.config');
|
|
15
11
|
if (!configPath) {
|
|
16
12
|
throw new Error('Cannot find webpack.config in ' + process.cwd());
|
|
17
13
|
}
|
|
18
|
-
|
|
19
|
-
const webpackConfig = require(configPath);
|
|
20
|
-
return webpackConfig;
|
|
14
|
+
return (await import(configPath)).default;
|
|
21
15
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwiZW5oYW5jZWQiLCJyZXNvbHZlIiwiY3JlYXRlIiwic3luYyIsIm1vZHVsZXMiLCJleHRlbnNpb25zIiwiZ2V0V2VicGFja0NvbmZpZyIsImNvbmZpZ1BhdGgiLCJwcm9jZXNzIiwiY3dkIiwiRXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9nZXRXZWJwYWNrQ29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHQgYXMgZW5oYW5jZWQgfSBmcm9tICdlbmhhbmNlZC1yZXNvbHZlJztcbmltcG9ydCB3ZWJwYWNrIGZyb20gJ3dlYnBhY2snO1xuXG5jb25zdCByZXNvbHZlID0gZW5oYW5jZWQuY3JlYXRlLnN5bmMoe1xuICBtb2R1bGVzOiBbJy4nXSxcbiAgLy8gb3IgcmVzb2x2ZS5jcmVhdGUuc3luY1xuICBleHRlbnNpb25zOiBbJy5qcycsICcuY2pzJywgJy5tanMnXSxcbiAgLy8gc2VlIG1vcmUgb3B0aW9ucyBiZWxvd1xufSk7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRXZWJwYWNrQ29uZmlnKCk6IFByb21pc2U8XG4gIChlbnY6IGFueSwgYXJndjogYW55KSA9PiB3ZWJwYWNrLkNvbmZpZ3VyYXRpb25cbj4ge1xuICBjb25zdCBjb25maWdQYXRoID0gcmVzb2x2ZSh7fSwgcHJvY2Vzcy5jd2QoKSwgJ3dlYnBhY2suY29uZmlnJyk7XG4gIGlmICghY29uZmlnUGF0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGZpbmQgd2VicGFjay5jb25maWcgaW4gJyArIHByb2Nlc3MuY3dkKCkpO1xuICB9XG5cbiAgcmV0dXJuIChhd2FpdCBpbXBvcnQoY29uZmlnUGF0aCkpLmRlZmF1bHQ7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLE9BQU8sSUFBSUMsUUFBUSxRQUFRLGtCQUFrQjtBQUd0RCxNQUFNQyxPQUFPLEdBQUdELFFBQVEsQ0FBQ0UsTUFBTSxDQUFDQyxJQUFJLENBQUM7RUFDbkNDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQztFQUNkO0VBQ0FDLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTTtFQUNsQztBQUNGLENBQUMsQ0FBQzs7QUFFRixPQUFPLGVBQWVDLGdCQUFnQkEsQ0FBQSxFQUVwQztFQUNBLE1BQU1DLFVBQVUsR0FBR04sT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFTyxPQUFPLENBQUNDLEdBQUcsRUFBRSxFQUFFLGdCQUFnQixDQUFDO0VBQy9ELElBQUksQ0FBQ0YsVUFBVSxFQUFFO0lBQ2YsTUFBTSxJQUFJRyxLQUFLLENBQUMsZ0NBQWdDLEdBQUdGLE9BQU8sQ0FBQ0MsR0FBRyxFQUFFLENBQUM7RUFDbkU7RUFFQSxPQUFPLENBQUMsTUFBTSxNQUFNLENBQUNGLFVBQVUsQ0FBQyxFQUFFUixPQUFPO0FBQzNDIn0=
|
package/lib/scripts/index.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.__esModule = true;
|
|
5
|
-
exports.serve = exports.devServe = void 0;
|
|
6
|
-
var _serve = _interopRequireDefault(require("./serve.js"));
|
|
7
|
-
exports.serve = _serve.default;
|
|
8
|
-
var _startDevserver = _interopRequireDefault(require("./startDevserver.js"));
|
|
9
|
-
exports.devServe = _startDevserver.default;
|
|
10
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2VydmUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsImV4cG9ydHMiLCJzZXJ2ZSIsImRlZmF1bHQiLCJfc3RhcnREZXZzZXJ2ZXIiLCJkZXZTZXJ2ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgc2VydmUgfSBmcm9tICcuL3NlcnZlLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZGV2U2VydmUgfSBmcm9tICcuL3N0YXJ0RGV2c2VydmVyLmpzJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBOENDLE9BQUEsQ0FBQUMsS0FBQSxHQUFBSixNQUFBLENBQUFLLE9BQUE7QUFDOUMsSUFBQUMsZUFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQTBEQyxPQUFBLENBQUFJLFFBQUEsR0FBQUQsZUFBQSxDQUFBRCxPQUFBIn0=
|
|
1
|
+
export { default as serve } from './serve.js';
|
|
2
|
+
export { default as devServe } from './startDevserver.js';
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0Iiwic2VydmUiLCJkZXZTZXJ2ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgc2VydmUgfSBmcm9tICcuL3NlcnZlLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZGV2U2VydmUgfSBmcm9tICcuL3N0YXJ0RGV2c2VydmVyLmpzJztcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsT0FBTyxJQUFJQyxLQUFLLFFBQVEsWUFBWTtBQUM3QyxTQUFTRCxPQUFPLElBQUlFLFFBQVEsUUFBUSxxQkFBcUIifQ==
|
package/lib/scripts/serve.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import 'cross-fetch/dist/node-polyfill';
|
|
2
|
+
import 'cross-fetch/dist/node-polyfill.js';
|
|
3
3
|
export default function serve(entrypoint: string, options?: {
|
|
4
4
|
serveAssets?: boolean;
|
|
5
5
|
serveProxy?: boolean;
|
|
6
|
-
}): void
|
|
6
|
+
}): Promise<void>;
|
|
7
7
|
//# sourceMappingURL=serve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/scripts/serve.ts"],"names":[],"mappings":";AAeA,OAAO,
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/scripts/serve.ts"],"names":[],"mappings":";AAeA,OAAO,mCAAmC,CAAC;AAgB3C,wBAA8B,KAAK,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,iBA8K9D"}
|
package/lib/scripts/serve.js
CHANGED
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
-
exports.__esModule = true;
|
|
6
|
-
exports.default = serve;
|
|
7
|
-
var _compression = _interopRequireDefault(require("compression"));
|
|
8
|
-
var _express = _interopRequireDefault(require("express"));
|
|
9
|
-
var _fs = _interopRequireDefault(require("fs"));
|
|
10
|
-
var _ora = _interopRequireDefault(require("ora"));
|
|
11
|
-
var _path = _interopRequireDefault(require("path"));
|
|
12
|
-
var _util = require("util");
|
|
13
|
-
require("cross-fetch/dist/node-polyfill");
|
|
14
|
-
var _getProxyMiddlewares = _interopRequireDefault(require("./getProxyMiddlewares.js"));
|
|
15
|
-
var _getWebpackConfig = require("./getWebpackConfig.js");
|
|
16
2
|
Object.hasOwn = Object.hasOwn || /* istanbul ignore next */function hasOwn(it, key) {
|
|
17
3
|
return Object.prototype.hasOwnProperty.call(it, key);
|
|
18
4
|
};
|
|
5
|
+
import compress from 'compression';
|
|
6
|
+
import express from 'express';
|
|
7
|
+
import diskFs from 'fs';
|
|
8
|
+
import ora from 'ora';
|
|
9
|
+
import path from 'path';
|
|
10
|
+
import { promisify } from 'util';
|
|
11
|
+
import 'cross-fetch/dist/node-polyfill.js';
|
|
12
|
+
import getProxyMiddlewares from './getProxyMiddlewares.js';
|
|
13
|
+
import { getWebpackConfig } from './getWebpackConfig.js';
|
|
19
14
|
// run directly from node
|
|
20
|
-
if (
|
|
15
|
+
if ('main' in import.meta) {
|
|
21
16
|
const entrypoint = process.argv[2];
|
|
22
17
|
if (!entrypoint) {
|
|
23
18
|
console.log(`Usage: ${process.argv[0]} <server-entrypoint>`);
|
|
@@ -25,14 +20,14 @@ if (require.main === module) {
|
|
|
25
20
|
}
|
|
26
21
|
serve(entrypoint);
|
|
27
22
|
}
|
|
28
|
-
function serve(entrypoint, options = {}) {
|
|
23
|
+
export default async function serve(entrypoint, options = {}) {
|
|
29
24
|
const PORT = process.env.PORT || 8080;
|
|
30
|
-
const loader = (
|
|
31
|
-
const webpackConfig =
|
|
25
|
+
const loader = ora('Initializing').start();
|
|
26
|
+
const webpackConfig = await getWebpackConfig();
|
|
32
27
|
const manifestPath = getManifestPathFromWebpackconfig(webpackConfig({}, {
|
|
33
28
|
mode: 'production'
|
|
34
29
|
}));
|
|
35
|
-
const readFile =
|
|
30
|
+
const readFile = promisify(diskFs.readFile);
|
|
36
31
|
let server;
|
|
37
32
|
function handleErrors(fn) {
|
|
38
33
|
return async function (req, res, next) {
|
|
@@ -45,25 +40,25 @@ function serve(entrypoint, options = {}) {
|
|
|
45
40
|
}
|
|
46
41
|
|
|
47
42
|
// Start the express server after the first compilation
|
|
48
|
-
function initializeApp(clientManifest) {
|
|
43
|
+
async function initializeApp(clientManifest) {
|
|
49
44
|
loader.info('Launching server');
|
|
50
45
|
if (!clientManifest) {
|
|
51
46
|
loader.fail('Manifest not found');
|
|
52
47
|
// TODO: handle more gracefully
|
|
53
48
|
process.exit(-1);
|
|
54
49
|
}
|
|
55
|
-
const wrappingApp = (
|
|
50
|
+
const wrappingApp = express();
|
|
56
51
|
// eslint-disable-next-line
|
|
57
52
|
//@ts-ignore
|
|
58
|
-
wrappingApp.use((
|
|
53
|
+
wrappingApp.use(compress());
|
|
59
54
|
|
|
60
55
|
// ASSETS
|
|
61
56
|
if (options.serveAssets) {
|
|
62
57
|
wrappingApp.use(async (req, res, next) => {
|
|
63
58
|
var _req$url$substr, _req$url, _clientManifest$outpu;
|
|
64
59
|
const filename = (_req$url$substr = (_req$url = req.url) == null ? void 0 : _req$url.substr(process.env.WEBPACK_PUBLIC_PATH.length)) != null ? _req$url$substr : '';
|
|
65
|
-
const assetPath =
|
|
66
|
-
if (
|
|
60
|
+
const assetPath = path.join((_clientManifest$outpu = clientManifest.outputPath) != null ? _clientManifest$outpu : '', filename);
|
|
61
|
+
if (diskFs.existsSync(assetPath) && !diskFs.lstatSync(assetPath).isDirectory()) {
|
|
67
62
|
try {
|
|
68
63
|
const fileContent = (await readFile(assetPath)).toString();
|
|
69
64
|
res.contentType(filename);
|
|
@@ -85,7 +80,7 @@ function serve(entrypoint, options = {}) {
|
|
|
85
80
|
});
|
|
86
81
|
if ((_devConfig$devServer = devConfig.devServer) != null && _devConfig$devServer.proxy) {
|
|
87
82
|
var _devConfig$devServer2;
|
|
88
|
-
const middlewares = (
|
|
83
|
+
const middlewares = getProxyMiddlewares((_devConfig$devServer2 = devConfig.devServer) == null ? void 0 : _devConfig$devServer2.proxy);
|
|
89
84
|
if (middlewares) {
|
|
90
85
|
wrappingApp.use(...middlewares.map(({
|
|
91
86
|
middleware
|
|
@@ -95,10 +90,12 @@ function serve(entrypoint, options = {}) {
|
|
|
95
90
|
}
|
|
96
91
|
|
|
97
92
|
// SERVER SIDE RENDERING
|
|
98
|
-
|
|
99
|
-
|
|
93
|
+
let render = (await import(path.join(process.cwd(), entrypoint))).default;
|
|
94
|
+
if ('default' in render) {
|
|
95
|
+
render = render.default;
|
|
96
|
+
}
|
|
100
97
|
if (typeof render !== 'function') {
|
|
101
|
-
throw new Error(`default export of ${
|
|
98
|
+
throw new Error(`default export of ${path.join(process.cwd(), entrypoint)} is not a function`);
|
|
102
99
|
}
|
|
103
100
|
wrappingApp.get('/*', handleErrors(async function (req, res) {
|
|
104
101
|
if (req.url.endsWith('favicon.ico')) {
|
|
@@ -134,9 +131,16 @@ function serve(entrypoint, options = {}) {
|
|
|
134
131
|
}
|
|
135
132
|
});
|
|
136
133
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
134
|
+
let manifest = await import(manifestPath, {
|
|
135
|
+
assert: {
|
|
136
|
+
type: 'json'
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
// handle inconsistent import conditions
|
|
140
|
+
if ('default' in manifest) {
|
|
141
|
+
manifest = manifest.default;
|
|
142
|
+
}
|
|
143
|
+
await initializeApp(manifest);
|
|
140
144
|
process.on('SIGINT', () => {
|
|
141
145
|
var _server;
|
|
142
146
|
loader.warn('Received SIGINT, devserver shutting down');
|
|
@@ -152,7 +156,7 @@ function getManifestPathFromWebpackconfig(webpackConfig) {
|
|
|
152
156
|
const manifestFilename = (_opts$filename = webpackConfig == null ? void 0 : (_webpackConfig$plugin = webpackConfig.plugins) == null ? void 0 : (_webpackConfig$plugin2 = _webpackConfig$plugin.find(plugin => {
|
|
153
157
|
return plugin.constructor.name === 'StatsWriterPlugin';
|
|
154
158
|
})) == null ? void 0 : (_webpackConfig$plugin3 = _webpackConfig$plugin2.opts) == null ? void 0 : _webpackConfig$plugin3.filename) != null ? _opts$filename : 'manifest.json';
|
|
155
|
-
const manifestPath =
|
|
159
|
+
const manifestPath = path.join((_webpackConfig$output = webpackConfig == null ? void 0 : (_webpackConfig$output2 = webpackConfig.output) == null ? void 0 : _webpackConfig$output2.path) != null ? _webpackConfig$output : '', manifestFilename);
|
|
156
160
|
return manifestPath;
|
|
157
161
|
}
|
|
158
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsImRlZmF1bHQiLCJleHBvcnRzIiwiX19lc01vZHVsZSIsInNlcnZlIiwiX2NvbXByZXNzaW9uIiwiX2V4cHJlc3MiLCJfZnMiLCJfb3JhIiwiX3BhdGgiLCJfdXRpbCIsIl9nZXRQcm94eU1pZGRsZXdhcmVzIiwiX2dldFdlYnBhY2tDb25maWciLCJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIm1haW4iLCJtb2R1bGUiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsIm9wdGlvbnMiLCJQT1JUIiwiZW52IiwibG9hZGVyIiwib3JhIiwic3RhcnQiLCJ3ZWJwYWNrQ29uZmlnIiwiZ2V0V2VicGFja0NvbmZpZyIsIm1hbmlmZXN0UGF0aCIsImdldE1hbmlmZXN0UGF0aEZyb21XZWJwYWNrY29uZmlnIiwibW9kZSIsInJlYWRGaWxlIiwicHJvbWlzaWZ5IiwiZGlza0ZzIiwic2VydmVyIiwiaGFuZGxlRXJyb3JzIiwiZm4iLCJyZXEiLCJyZXMiLCJuZXh0IiwieCIsImluaXRpYWxpemVBcHAiLCJjbGllbnRNYW5pZmVzdCIsImluZm8iLCJmYWlsIiwid3JhcHBpbmdBcHAiLCJleHByZXNzIiwidXNlIiwiY29tcHJlc3MiLCJzZXJ2ZUFzc2V0cyIsIl9yZXEkdXJsJHN1YnN0ciIsIl9yZXEkdXJsIiwiX2NsaWVudE1hbmlmZXN0JG91dHB1IiwiZmlsZW5hbWUiLCJ1cmwiLCJzdWJzdHIiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwibGVuZ3RoIiwiYXNzZXRQYXRoIiwicGF0aCIsImpvaW4iLCJvdXRwdXRQYXRoIiwiZXhpc3RzU3luYyIsImxzdGF0U3luYyIsImlzRGlyZWN0b3J5IiwiZmlsZUNvbnRlbnQiLCJ0b1N0cmluZyIsImNvbnRlbnRUeXBlIiwic2VuZCIsImUiLCJzZXJ2ZVByb3h5IiwiX2RldkNvbmZpZyRkZXZTZXJ2ZXIiLCJkZXZDb25maWciLCJkZXZTZXJ2ZXIiLCJwcm94eSIsIl9kZXZDb25maWckZGV2U2VydmVyMiIsIm1pZGRsZXdhcmVzIiwiZ2V0UHJveHlNaWRkbGV3YXJlcyIsIm1hcCIsIm1pZGRsZXdhcmUiLCJyZW5kZXIiLCJjd2QiLCJFcnJvciIsImdldCIsImVuZHNXaXRoIiwic3RhdHVzQ29kZSIsInNldEhlYWRlciIsInNvY2tldCIsIm9uIiwiZXJyb3IiLCJsaXN0ZW4iLCJzeXNjYWxsIiwiaXNQaXBlIiwicG9ydE9yUGlwZSIsIk51bWJlciIsImlzTmFOIiwiYmluZCIsImNvZGUiLCJfc2VydmVyIiwid2FybiIsImNsb3NlIiwiX29wdHMkZmlsZW5hbWUiLCJfd2VicGFja0NvbmZpZyRwbHVnaW4iLCJfd2VicGFja0NvbmZpZyRwbHVnaW4yIiwiX3dlYnBhY2tDb25maWckcGx1Z2luMyIsIl93ZWJwYWNrQ29uZmlnJG91dHB1dCIsIl93ZWJwYWNrQ29uZmlnJG91dHB1dDIiLCJtYW5pZmVzdEZpbGVuYW1lIiwicGx1Z2lucyIsImZpbmQiLCJwbHVnaW4iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJvcHRzIiwib3V0cHV0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvc2VydmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuT2JqZWN0Lmhhc093biA9XG4gIE9iamVjdC5oYXNPd24gfHxcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gZnVuY3Rpb24gaGFzT3duKGl0LCBrZXkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xuICB9O1xuaW1wb3J0IGNvbXByZXNzIGZyb20gJ2NvbXByZXNzaW9uJztcbmltcG9ydCBleHByZXNzLCB7IE5leHRGdW5jdGlvbiB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IGRpc2tGcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBTZXJ2ZXIsIEluY29taW5nTWVzc2FnZSwgU2VydmVyUmVzcG9uc2UgfSBmcm9tICdodHRwJztcbmltcG9ydCBvcmEgZnJvbSAnb3JhJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgcHJvbWlzaWZ5IH0gZnJvbSAndXRpbCc7XG5pbXBvcnQgd2VicGFjayBmcm9tICd3ZWJwYWNrJztcblxuaW1wb3J0ICdjcm9zcy1mZXRjaC9kaXN0L25vZGUtcG9seWZpbGwnO1xuaW1wb3J0IGdldFByb3h5TWlkZGxld2FyZXMgZnJvbSAnLi9nZXRQcm94eU1pZGRsZXdhcmVzLmpzJztcbmltcG9ydCB7IGdldFdlYnBhY2tDb25maWcgfSBmcm9tICcuL2dldFdlYnBhY2tDb25maWcuanMnO1xuaW1wb3J0IHsgUmVuZGVyIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbi8vIHJ1biBkaXJlY3RseSBmcm9tIG5vZGVcbmlmIChyZXF1aXJlLm1haW4gPT09IG1vZHVsZSkge1xuICBjb25zdCBlbnRyeXBvaW50ID0gcHJvY2Vzcy5hcmd2WzJdO1xuXG4gIGlmICghZW50cnlwb2ludCkge1xuICAgIGNvbnNvbGUubG9nKGBVc2FnZTogJHtwcm9jZXNzLmFyZ3ZbMF19IDxzZXJ2ZXItZW50cnlwb2ludD5gKTtcbiAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICB9XG4gIHNlcnZlKGVudHJ5cG9pbnQpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzZXJ2ZShcbiAgZW50cnlwb2ludDogc3RyaW5nLFxuICBvcHRpb25zOiB7IHNlcnZlQXNzZXRzPzogYm9vbGVhbjsgc2VydmVQcm94eT86IGJvb2xlYW4gfSA9IHt9LFxuKSB7XG4gIGNvbnN0IFBPUlQgPSBwcm9jZXNzLmVudi5QT1JUIHx8IDgwODA7XG5cbiAgY29uc3QgbG9hZGVyID0gb3JhKCdJbml0aWFsaXppbmcnKS5zdGFydCgpO1xuXG4gIGNvbnN0IHdlYnBhY2tDb25maWcgPSBnZXRXZWJwYWNrQ29uZmlnKCk7XG5cbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gZ2V0TWFuaWZlc3RQYXRoRnJvbVdlYnBhY2tjb25maWcoXG4gICAgd2VicGFja0NvbmZpZyh7fSwgeyBtb2RlOiAncHJvZHVjdGlvbicgfSksXG4gICk7XG5cbiAgY29uc3QgcmVhZEZpbGUgPSBwcm9taXNpZnkoZGlza0ZzLnJlYWRGaWxlKTtcbiAgbGV0IHNlcnZlcjogU2VydmVyIHwgdW5kZWZpbmVkO1xuXG4gIGZ1bmN0aW9uIGhhbmRsZUVycm9yczxcbiAgICBGIGV4dGVuZHMgKFxuICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICAgICkgPT4gUHJvbWlzZTx2b2lkPixcbiAgPihmbjogRikge1xuICAgIHJldHVybiBhc3luYyBmdW5jdGlvbiAoXG4gICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICByZXM6IFJlc3BvbnNlIHwgU2VydmVyUmVzcG9uc2UsXG4gICAgICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4gICAgKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gYXdhaXQgZm4ocmVxLCByZXMpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICBuZXh0KHgpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAvLyBTdGFydCB0aGUgZXhwcmVzcyBzZXJ2ZXIgYWZ0ZXIgdGhlIGZpcnN0IGNvbXBpbGF0aW9uXG4gIGZ1bmN0aW9uIGluaXRpYWxpemVBcHAoY2xpZW50TWFuaWZlc3Q6IHdlYnBhY2suU3RhdHNDb21waWxhdGlvbikge1xuICAgIGxvYWRlci5pbmZvKCdMYXVuY2hpbmcgc2VydmVyJyk7XG4gICAgaWYgKCFjbGllbnRNYW5pZmVzdCkge1xuICAgICAgbG9hZGVyLmZhaWwoJ01hbmlmZXN0IG5vdCBmb3VuZCcpO1xuICAgICAgLy8gVE9ETzogaGFuZGxlIG1vcmUgZ3JhY2VmdWxseVxuICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICB9XG5cbiAgICBjb25zdCB3cmFwcGluZ0FwcCA9IGV4cHJlc3MoKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAvL0B0cy1pZ25vcmVcbiAgICB3cmFwcGluZ0FwcC51c2UoY29tcHJlc3MoKSk7XG5cbiAgICAvLyBBU1NFVFNcbiAgICBpZiAob3B0aW9ucy5zZXJ2ZUFzc2V0cykge1xuICAgICAgd3JhcHBpbmdBcHAudXNlKFxuICAgICAgICBhc3luYyAoXG4gICAgICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgICAgIHJlczogYW55LFxuICAgICAgICAgIG5leHQ6IE5leHRGdW5jdGlvbixcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgY29uc3QgZmlsZW5hbWUgPVxuICAgICAgICAgICAgcmVxLnVybD8uc3Vic3RyKFxuICAgICAgICAgICAgICAocHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCBhcyBzdHJpbmcpLmxlbmd0aCxcbiAgICAgICAgICAgICkgPz8gJyc7XG4gICAgICAgICAgY29uc3QgYXNzZXRQYXRoID0gcGF0aC5qb2luKFxuICAgICAgICAgICAgY2xpZW50TWFuaWZlc3Qub3V0cHV0UGF0aCA/PyAnJyxcbiAgICAgICAgICAgIGZpbGVuYW1lLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBkaXNrRnMuZXhpc3RzU3luYyhhc3NldFBhdGgpICYmXG4gICAgICAgICAgICAhZGlza0ZzLmxzdGF0U3luYyhhc3NldFBhdGgpLmlzRGlyZWN0b3J5KClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbGVDb250ZW50ID0gKGF3YWl0IHJlYWRGaWxlKGFzc2V0UGF0aCkpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgIHJlcy5jb250ZW50VHlwZShmaWxlbmFtZSk7XG4gICAgICAgICAgICAgIHJlcy5zZW5kKGZpbGVDb250ZW50KTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gUFJPWElFU1xuICAgIGlmIChvcHRpb25zLnNlcnZlUHJveHkpIHtcbiAgICAgIGNvbnN0IGRldkNvbmZpZzogd2VicGFjay5Db25maWd1cmF0aW9uID0gd2VicGFja0NvbmZpZyhcbiAgICAgICAge30sXG4gICAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JyB9LFxuICAgICAgKTtcbiAgICAgIGlmIChkZXZDb25maWcuZGV2U2VydmVyPy5wcm94eSkge1xuICAgICAgICBjb25zdCBtaWRkbGV3YXJlcyA9IGdldFByb3h5TWlkZGxld2FyZXMoZGV2Q29uZmlnLmRldlNlcnZlcj8ucHJveHkpO1xuICAgICAgICBpZiAobWlkZGxld2FyZXMpIHtcbiAgICAgICAgICB3cmFwcGluZ0FwcC51c2UoLi4ubWlkZGxld2FyZXMubWFwKCh7IG1pZGRsZXdhcmUgfSkgPT4gbWlkZGxld2FyZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU0VSVkVSIFNJREUgUkVOREVSSU5HXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgICBjb25zdCByZW5kZXI6IFJlbmRlciA9IHJlcXVpcmUocGF0aC5qb2luKFxuICAgICAgcHJvY2Vzcy5jd2QoKSxcbiAgICAgIGVudHJ5cG9pbnQsXG4gICAgKSkuZGVmYXVsdDtcblxuICAgIGlmICh0eXBlb2YgcmVuZGVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBkZWZhdWx0IGV4cG9ydCBvZiAke3BhdGguam9pbihcbiAgICAgICAgICBwcm9jZXNzLmN3ZCgpLFxuICAgICAgICAgIGVudHJ5cG9pbnQsXG4gICAgICAgICl9IGlzIG5vdCBhIGZ1bmN0aW9uYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgd3JhcHBpbmdBcHAuZ2V0KFxuICAgICAgJy8qJyxcbiAgICAgIGhhbmRsZUVycm9ycyhhc3luYyBmdW5jdGlvbiAocmVxOiBhbnksIHJlczogYW55KSB7XG4gICAgICAgIGlmIChyZXEudXJsLmVuZHNXaXRoKCdmYXZpY29uLmljbycpKSB7XG4gICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgcmVzLnNldEhlYWRlcignQ29udGVudC10eXBlJywgJ3RleHQvaHRtbCcpO1xuICAgICAgICAgIHJlcy5zZW5kKCdub3QgZm91bmQnKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcmVzLnNvY2tldC5vbignZXJyb3InLCAoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYXRhbCcsIGVycm9yKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYXdhaXQgcmVuZGVyKGNsaWVudE1hbmlmZXN0LCByZXEsIHJlcyk7XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgc2VydmVyID0gd3JhcHBpbmdBcHBcbiAgICAgIC5saXN0ZW4oUE9SVCwgKCkgPT4ge1xuICAgICAgICBsb2FkZXIuaW5mbyhgTGlzdGVuaW5nIGF0ICR7UE9SVH0uLi5gKTtcbiAgICAgIH0pXG4gICAgICAub24oJ2Vycm9yJywgZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcbiAgICAgICAgaWYgKGVycm9yLnN5c2NhbGwgIT09ICdsaXN0ZW4nKSB7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNQaXBlID0gKHBvcnRPclBpcGU6IHN0cmluZyB8IG51bWJlcikgPT5cbiAgICAgICAgICBOdW1iZXIuaXNOYU4ocG9ydE9yUGlwZSk7XG4gICAgICAgIGNvbnN0IGJpbmQgPSBpc1BpcGUoUE9SVCkgPyAnUGlwZSAnICsgUE9SVCA6ICdQb3J0ICcgKyBQT1JUO1xuICAgICAgICBzd2l0Y2ggKGVycm9yLmNvZGUpIHtcbiAgICAgICAgICBjYXNlICdFQUNDRVMnOlxuICAgICAgICAgICAgbG9hZGVyLmZhaWwoYmluZCArICcgcmVxdWlyZXMgZWxldmF0ZWQgcHJpdmlsZWdlcycpO1xuICAgICAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgICAgICAgIGNhc2UgJ0VBRERSSU5VU0UnOlxuICAgICAgICAgICAgbG9hZGVyLmZhaWwoYmluZCArICcgaXMgYWxyZWFkeSBpbiB1c2UnKTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgaW5pdGlhbGl6ZUFwcChyZXF1aXJlKG1hbmlmZXN0UGF0aCkpO1xuXG4gIHByb2Nlc3Mub24oJ1NJR0lOVCcsICgpID0+IHtcbiAgICBsb2FkZXIud2FybignUmVjZWl2ZWQgU0lHSU5ULCBkZXZzZXJ2ZXIgc2h1dHRpbmcgZG93bicpO1xuICAgIGlmIChzZXJ2ZXIpIGNvbnNvbGUubG9nKCdDbG9zaW5nIHNlcnZlcicpO1xuICAgIHNlcnZlcj8uY2xvc2UoKCkgPT4ge1xuICAgICAgbG9hZGVyLmluZm8oJ1NlcnZlciBjbG9zZWQnKTtcbiAgICB9KTtcbiAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0TWFuaWZlc3RQYXRoRnJvbVdlYnBhY2tjb25maWcoXG4gIHdlYnBhY2tDb25maWc6IHdlYnBhY2suQ29uZmlndXJhdGlvbixcbikge1xuICBjb25zdCBtYW5pZmVzdEZpbGVuYW1lOiBzdHJpbmcgPVxuICAgIChcbiAgICAgIHdlYnBhY2tDb25maWc/LnBsdWdpbnM/LmZpbmQocGx1Z2luID0+IHtcbiAgICAgICAgcmV0dXJuIHBsdWdpbi5jb25zdHJ1Y3Rvci5uYW1lID09PSAnU3RhdHNXcml0ZXJQbHVnaW4nO1xuICAgICAgfSkgYXMgYW55XG4gICAgKT8ub3B0cz8uZmlsZW5hbWUgPz8gJ21hbmlmZXN0Lmpzb24nO1xuXG4gIGNvbnN0IG1hbmlmZXN0UGF0aCA9IHBhdGguam9pbihcbiAgICB3ZWJwYWNrQ29uZmlnPy5vdXRwdXQ/LnBhdGggPz8gJycsXG4gICAgbWFuaWZlc3RGaWxlbmFtZSxcbiAgKTtcbiAgcmV0dXJuIG1hbmlmZXN0UGF0aDtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBbUI7O0FBQUEsSUFBQUEsc0JBQUEsR0FBQUMsT0FBQSxpREFBQUMsT0FBQTtBQUFBQyxPQUFBLENBQUFDLFVBQUE7QUFBQUQsT0FBQSxDQUFBRCxPQUFBLEdBQUFHLEtBQUE7QUFNbkIsSUFBQUMsWUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sUUFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sR0FBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQVEsSUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVMsS0FBQSxHQUFBVixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVUsS0FBQSxHQUFBVixPQUFBO0FBR0FBLE9BQUE7QUFDQSxJQUFBVyxvQkFBQSxHQUFBWixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVksaUJBQUEsR0FBQVosT0FBQTtBQWhCQWEsTUFBTSxDQUFDQyxNQUFNLEdBQ1hELE1BQU0sQ0FBQ0MsTUFB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
|
|
162
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImNvbXByZXNzIiwiZXhwcmVzcyIsImRpc2tGcyIsIm9yYSIsInBhdGgiLCJwcm9taXNpZnkiLCJnZXRQcm94eU1pZGRsZXdhcmVzIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInNlcnZlIiwib3B0aW9ucyIsIlBPUlQiLCJlbnYiLCJsb2FkZXIiLCJzdGFydCIsIndlYnBhY2tDb25maWciLCJtYW5pZmVzdFBhdGgiLCJnZXRNYW5pZmVzdFBhdGhGcm9tV2VicGFja2NvbmZpZyIsIm1vZGUiLCJyZWFkRmlsZSIsInNlcnZlciIsImhhbmRsZUVycm9ycyIsImZuIiwicmVxIiwicmVzIiwibmV4dCIsIngiLCJpbml0aWFsaXplQXBwIiwiY2xpZW50TWFuaWZlc3QiLCJpbmZvIiwiZmFpbCIsIndyYXBwaW5nQXBwIiwidXNlIiwic2VydmVBc3NldHMiLCJfcmVxJHVybCRzdWJzdHIiLCJfcmVxJHVybCIsIl9jbGllbnRNYW5pZmVzdCRvdXRwdSIsImZpbGVuYW1lIiwidXJsIiwic3Vic3RyIiwiV0VCUEFDS19QVUJMSUNfUEFUSCIsImxlbmd0aCIsImFzc2V0UGF0aCIsImpvaW4iLCJvdXRwdXRQYXRoIiwiZXhpc3RzU3luYyIsImxzdGF0U3luYyIsImlzRGlyZWN0b3J5IiwiZmlsZUNvbnRlbnQiLCJ0b1N0cmluZyIsImNvbnRlbnRUeXBlIiwic2VuZCIsImUiLCJzZXJ2ZVByb3h5IiwiX2RldkNvbmZpZyRkZXZTZXJ2ZXIiLCJkZXZDb25maWciLCJkZXZTZXJ2ZXIiLCJwcm94eSIsIl9kZXZDb25maWckZGV2U2VydmVyMiIsIm1pZGRsZXdhcmVzIiwibWFwIiwibWlkZGxld2FyZSIsInJlbmRlciIsImN3ZCIsImRlZmF1bHQiLCJFcnJvciIsImdldCIsImVuZHNXaXRoIiwic3RhdHVzQ29kZSIsInNldEhlYWRlciIsInNvY2tldCIsIm9uIiwiZXJyb3IiLCJsaXN0ZW4iLCJzeXNjYWxsIiwiaXNQaXBlIiwicG9ydE9yUGlwZSIsIk51bWJlciIsImlzTmFOIiwiYmluZCIsImNvZGUiLCJtYW5pZmVzdCIsImFzc2VydCIsInR5cGUiLCJfc2VydmVyIiwid2FybiIsImNsb3NlIiwiX29wdHMkZmlsZW5hbWUiLCJfd2VicGFja0NvbmZpZyRwbHVnaW4iLCJfd2VicGFja0NvbmZpZyRwbHVnaW4yIiwiX3dlYnBhY2tDb25maWckcGx1Z2luMyIsIl93ZWJwYWNrQ29uZmlnJG91dHB1dCIsIl93ZWJwYWNrQ29uZmlnJG91dHB1dDIiLCJtYW5pZmVzdEZpbGVuYW1lIiwicGx1Z2lucyIsImZpbmQiLCJwbHVnaW4iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJvcHRzIiwib3V0cHV0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvc2VydmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuT2JqZWN0Lmhhc093biA9XG4gIE9iamVjdC5oYXNPd24gfHxcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gZnVuY3Rpb24gaGFzT3duKGl0LCBrZXkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xuICB9O1xuaW1wb3J0IGNvbXByZXNzIGZyb20gJ2NvbXByZXNzaW9uJztcbmltcG9ydCBleHByZXNzLCB7IE5leHRGdW5jdGlvbiB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IGRpc2tGcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBTZXJ2ZXIsIEluY29taW5nTWVzc2FnZSwgU2VydmVyUmVzcG9uc2UgfSBmcm9tICdodHRwJztcbmltcG9ydCBvcmEgZnJvbSAnb3JhJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgcHJvbWlzaWZ5IH0gZnJvbSAndXRpbCc7XG5pbXBvcnQgd2VicGFjayBmcm9tICd3ZWJwYWNrJztcblxuaW1wb3J0ICdjcm9zcy1mZXRjaC9kaXN0L25vZGUtcG9seWZpbGwuanMnO1xuaW1wb3J0IGdldFByb3h5TWlkZGxld2FyZXMgZnJvbSAnLi9nZXRQcm94eU1pZGRsZXdhcmVzLmpzJztcbmltcG9ydCB7IGdldFdlYnBhY2tDb25maWcgfSBmcm9tICcuL2dldFdlYnBhY2tDb25maWcuanMnO1xuaW1wb3J0IHsgUmVuZGVyIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbi8vIHJ1biBkaXJlY3RseSBmcm9tIG5vZGVcbmlmICgnbWFpbicgaW4gaW1wb3J0Lm1ldGEpIHtcbiAgY29uc3QgZW50cnlwb2ludCA9IHByb2Nlc3MuYXJndlsyXTtcblxuICBpZiAoIWVudHJ5cG9pbnQpIHtcbiAgICBjb25zb2xlLmxvZyhgVXNhZ2U6ICR7cHJvY2Vzcy5hcmd2WzBdfSA8c2VydmVyLWVudHJ5cG9pbnQ+YCk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfVxuICBzZXJ2ZShlbnRyeXBvaW50KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gc2VydmUoXG4gIGVudHJ5cG9pbnQ6IHN0cmluZyxcbiAgb3B0aW9uczogeyBzZXJ2ZUFzc2V0cz86IGJvb2xlYW47IHNlcnZlUHJveHk/OiBib29sZWFuIH0gPSB7fSxcbikge1xuICBjb25zdCBQT1JUID0gcHJvY2Vzcy5lbnYuUE9SVCB8fCA4MDgwO1xuXG4gIGNvbnN0IGxvYWRlciA9IG9yYSgnSW5pdGlhbGl6aW5nJykuc3RhcnQoKTtcblxuICBjb25zdCB3ZWJwYWNrQ29uZmlnID0gYXdhaXQgZ2V0V2VicGFja0NvbmZpZygpO1xuXG4gIGNvbnN0IG1hbmlmZXN0UGF0aCA9IGdldE1hbmlmZXN0UGF0aEZyb21XZWJwYWNrY29uZmlnKFxuICAgIHdlYnBhY2tDb25maWcoe30sIHsgbW9kZTogJ3Byb2R1Y3Rpb24nIH0pLFxuICApO1xuXG4gIGNvbnN0IHJlYWRGaWxlID0gcHJvbWlzaWZ5KGRpc2tGcy5yZWFkRmlsZSk7XG4gIGxldCBzZXJ2ZXI6IFNlcnZlciB8IHVuZGVmaW5lZDtcblxuICBmdW5jdGlvbiBoYW5kbGVFcnJvcnM8XG4gICAgRiBleHRlbmRzIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICApID0+IFByb21pc2U8dm9pZD4sXG4gID4oZm46IEYpIHtcbiAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKFxuICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGZuKHJlcSwgcmVzKTtcbiAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgbmV4dCh4KTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgLy8gU3RhcnQgdGhlIGV4cHJlc3Mgc2VydmVyIGFmdGVyIHRoZSBmaXJzdCBjb21waWxhdGlvblxuICBhc3luYyBmdW5jdGlvbiBpbml0aWFsaXplQXBwKGNsaWVudE1hbmlmZXN0OiB3ZWJwYWNrLlN0YXRzQ29tcGlsYXRpb24pIHtcbiAgICBsb2FkZXIuaW5mbygnTGF1bmNoaW5nIHNlcnZlcicpO1xuICAgIGlmICghY2xpZW50TWFuaWZlc3QpIHtcbiAgICAgIGxvYWRlci5mYWlsKCdNYW5pZmVzdCBub3QgZm91bmQnKTtcbiAgICAgIC8vIFRPRE86IGhhbmRsZSBtb3JlIGdyYWNlZnVsbHlcbiAgICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gICAgfVxuXG4gICAgY29uc3Qgd3JhcHBpbmdBcHAgPSBleHByZXNzKCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgLy9AdHMtaWdub3JlXG4gICAgd3JhcHBpbmdBcHAudXNlKGNvbXByZXNzKCkpO1xuXG4gICAgLy8gQVNTRVRTXG4gICAgaWYgKG9wdGlvbnMuc2VydmVBc3NldHMpIHtcbiAgICAgIHdyYXBwaW5nQXBwLnVzZShcbiAgICAgICAgYXN5bmMgKFxuICAgICAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgICAgICByZXM6IGFueSxcbiAgICAgICAgICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbGVuYW1lID1cbiAgICAgICAgICAgIHJlcS51cmw/LnN1YnN0cihcbiAgICAgICAgICAgICAgKHByb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX1BBVEggYXMgc3RyaW5nKS5sZW5ndGgsXG4gICAgICAgICAgICApID8/ICcnO1xuICAgICAgICAgIGNvbnN0IGFzc2V0UGF0aCA9IHBhdGguam9pbihcbiAgICAgICAgICAgIGNsaWVudE1hbmlmZXN0Lm91dHB1dFBhdGggPz8gJycsXG4gICAgICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZGlza0ZzLmV4aXN0c1N5bmMoYXNzZXRQYXRoKSAmJlxuICAgICAgICAgICAgIWRpc2tGcy5sc3RhdFN5bmMoYXNzZXRQYXRoKS5pc0RpcmVjdG9yeSgpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlQ29udGVudCA9IChhd2FpdCByZWFkRmlsZShhc3NldFBhdGgpKS50b1N0cmluZygpO1xuICAgICAgICAgICAgICByZXMuY29udGVudFR5cGUoZmlsZW5hbWUpO1xuICAgICAgICAgICAgICByZXMuc2VuZChmaWxlQ29udGVudCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFBST1hJRVNcbiAgICBpZiAob3B0aW9ucy5zZXJ2ZVByb3h5KSB7XG4gICAgICBjb25zdCBkZXZDb25maWc6IHdlYnBhY2suQ29uZmlndXJhdGlvbiA9IHdlYnBhY2tDb25maWcoXG4gICAgICAgIHt9LFxuICAgICAgICB7IG1vZGU6ICdkZXZlbG9wbWVudCcgfSxcbiAgICAgICk7XG4gICAgICBpZiAoZGV2Q29uZmlnLmRldlNlcnZlcj8ucHJveHkpIHtcbiAgICAgICAgY29uc3QgbWlkZGxld2FyZXMgPSBnZXRQcm94eU1pZGRsZXdhcmVzKGRldkNvbmZpZy5kZXZTZXJ2ZXI/LnByb3h5KTtcbiAgICAgICAgaWYgKG1pZGRsZXdhcmVzKSB7XG4gICAgICAgICAgd3JhcHBpbmdBcHAudXNlKC4uLm1pZGRsZXdhcmVzLm1hcCgoeyBtaWRkbGV3YXJlIH0pID0+IG1pZGRsZXdhcmUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNFUlZFUiBTSURFIFJFTkRFUklOR1xuICAgIGxldCByZW5kZXI6IFJlbmRlciA9IChhd2FpdCBpbXBvcnQocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIGVudHJ5cG9pbnQpKSlcbiAgICAgIC5kZWZhdWx0O1xuXG4gICAgaWYgKCdkZWZhdWx0JyBpbiByZW5kZXIpIHtcbiAgICAgIHJlbmRlciA9IHJlbmRlci5kZWZhdWx0IGFzIGFueTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHJlbmRlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgZGVmYXVsdCBleHBvcnQgb2YgJHtwYXRoLmpvaW4oXG4gICAgICAgICAgcHJvY2Vzcy5jd2QoKSxcbiAgICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICApfSBpcyBub3QgYSBmdW5jdGlvbmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHdyYXBwaW5nQXBwLmdldChcbiAgICAgICcvKicsXG4gICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICBpZiAocmVxLnVybC5lbmRzV2l0aCgnZmF2aWNvbi5pY28nKSkge1xuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNDA0O1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICByZXMuc2VuZCgnbm90IGZvdW5kJyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5zb2NrZXQub24oJ2Vycm9yJywgKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRmF0YWwnLCBlcnJvcik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGF3YWl0IHJlbmRlcihjbGllbnRNYW5pZmVzdCwgcmVxLCByZXMpO1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIHNlcnZlciA9IHdyYXBwaW5nQXBwXG4gICAgICAubGlzdGVuKFBPUlQsICgpID0+IHtcbiAgICAgICAgbG9hZGVyLmluZm8oYExpc3RlbmluZyBhdCAke1BPUlR9Li4uYCk7XG4gICAgICB9KVxuICAgICAgLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XG4gICAgICAgIGlmIChlcnJvci5zeXNjYWxsICE9PSAnbGlzdGVuJykge1xuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzUGlwZSA9IChwb3J0T3JQaXBlOiBzdHJpbmcgfCBudW1iZXIpID0+XG4gICAgICAgICAgTnVtYmVyLmlzTmFOKHBvcnRPclBpcGUpO1xuICAgICAgICBjb25zdCBiaW5kID0gaXNQaXBlKFBPUlQpID8gJ1BpcGUgJyArIFBPUlQgOiAnUG9ydCAnICsgUE9SVDtcbiAgICAgICAgc3dpdGNoIChlcnJvci5jb2RlKSB7XG4gICAgICAgICAgY2FzZSAnRUFDQ0VTJzpcbiAgICAgICAgICAgIGxvYWRlci5mYWlsKGJpbmQgKyAnIHJlcXVpcmVzIGVsZXZhdGVkIHByaXZpbGVnZXMnKTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcbiAgICAgICAgICBjYXNlICdFQUREUklOVVNFJzpcbiAgICAgICAgICAgIGxvYWRlci5mYWlsKGJpbmQgKyAnIGlzIGFscmVhZHkgaW4gdXNlJyk7XG4gICAgICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGxldCBtYW5pZmVzdCA9IGF3YWl0IGltcG9ydChtYW5pZmVzdFBhdGgsIHtcbiAgICBhc3NlcnQ6IHsgdHlwZTogJ2pzb24nIH0sXG4gIH0pO1xuICAvLyBoYW5kbGUgaW5jb25zaXN0ZW50IGltcG9ydCBjb25kaXRpb25zXG4gIGlmICgnZGVmYXVsdCcgaW4gbWFuaWZlc3QpIHtcbiAgICBtYW5pZmVzdCA9IG1hbmlmZXN0LmRlZmF1bHQ7XG4gIH1cbiAgYXdhaXQgaW5pdGlhbGl6ZUFwcChtYW5pZmVzdCk7XG5cbiAgcHJvY2Vzcy5vbignU0lHSU5UJywgKCkgPT4ge1xuICAgIGxvYWRlci53YXJuKCdSZWNlaXZlZCBTSUdJTlQsIGRldnNlcnZlciBzaHV0dGluZyBkb3duJyk7XG4gICAgaWYgKHNlcnZlcikgY29uc29sZS5sb2coJ0Nsb3Npbmcgc2VydmVyJyk7XG4gICAgc2VydmVyPy5jbG9zZSgoKSA9PiB7XG4gICAgICBsb2FkZXIuaW5mbygnU2VydmVyIGNsb3NlZCcpO1xuICAgIH0pO1xuICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRNYW5pZmVzdFBhdGhGcm9tV2VicGFja2NvbmZpZyhcbiAgd2VicGFja0NvbmZpZzogd2VicGFjay5Db25maWd1cmF0aW9uLFxuKSB7XG4gIGNvbnN0IG1hbmlmZXN0RmlsZW5hbWU6IHN0cmluZyA9XG4gICAgKFxuICAgICAgd2VicGFja0NvbmZpZz8ucGx1Z2lucz8uZmluZChwbHVnaW4gPT4ge1xuICAgICAgICByZXR1cm4gcGx1Z2luLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdTdGF0c1dyaXRlclBsdWdpbic7XG4gICAgICB9KSBhcyBhbnlcbiAgICApPy5vcHRzPy5maWxlbmFtZSA/PyAnbWFuaWZlc3QuanNvbic7XG5cbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gcGF0aC5qb2luKFxuICAgIHdlYnBhY2tDb25maWc/Lm91dHB1dD8ucGF0aCA/PyAnJyxcbiAgICBtYW5pZmVzdEZpbGVuYW1lLFxuICApO1xuICByZXR1cm4gbWFuaWZlc3RQYXRoO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7QUFDdEQsQ0FBQztBQUNILE9BQU9JLFFBQVEsTUFBTSxhQUFhO0FBQ2xDLE9BQU9DLE9BQU8sTUFBd0IsU0FBUztBQUMvQyxPQUFPQyxNQUFNLE1BQU0sSUFBSTtBQUV2QixPQUFPQyxHQUFHLE1BQU0sS0FBSztBQUNyQixPQUFPQyxJQUFJLE1BQU0sTUFBTTtBQUN2QixTQUFTQyxTQUFTLFFBQVEsTUFBTTtBQUdoQyxPQUFPLG1DQUFtQztBQUMxQyxPQUFPQyxtQkFBbUIsTUFBTSwwQkFBMEI7QUFDMUQsU0FBU0MsZ0JBQWdCLFFBQVEsdUJBQXVCO0FB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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import 'cross-fetch/dist/node-polyfill';
|
|
3
|
-
export default function startDevServer(entrypoint: string, env?: Record<string, unknown>): void
|
|
2
|
+
import 'cross-fetch/dist/node-polyfill.js';
|
|
3
|
+
export default function startDevServer(entrypoint: string, env?: Record<string, unknown>): Promise<void>;
|
|
4
4
|
//# sourceMappingURL=startDevserver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startDevserver.d.ts","sourceRoot":"","sources":["../../src/scripts/startDevserver.ts"],"names":[],"mappings":";AAoBA,OAAO,
|
|
1
|
+
{"version":3,"file":"startDevserver.d.ts","sourceRoot":"","sources":["../../src/scripts/startDevserver.ts"],"names":[],"mappings":";AAoBA,OAAO,mCAAmC,CAAC;AAmB3C,wBAA8B,cAAc,CAC1C,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,iBAmPlC"}
|