@anansi/core 0.20.21 → 0.20.22
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 +7 -0
- package/lib/scripts/getProxyMiddlewares.d.ts.map +1 -1
- package/lib/scripts/getProxyMiddlewares.js +11 -23
- package/lib/scripts/scripts/getProxyMiddlewares.js +11 -23
- package/lib/scripts/scripts/startDevserver.js +2 -2
- package/lib/scripts/startDevserver.d.ts.map +1 -1
- package/lib/scripts/startDevserver.js +2 -2
- package/lib/spouts/antd.server.js +2 -3
- package/lib/spouts/app.d.ts.map +1 -1
- package/lib/spouts/app.server.d.ts.map +1 -1
- package/lib/spouts/document.server.js +3 -4
- package/lib/spouts/json.server.js +2 -3
- package/lib/spouts/prefetch.server.d.ts.map +1 -1
- package/lib/spouts/prefetch.server.js +2 -3
- package/package.json +1 -1
- package/src/scripts/getProxyMiddlewares.ts +14 -25
- package/src/scripts/startDevserver.ts +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
### [0.20.22](https://github.com/ntucker/anansi/compare/@anansi/core@0.20.21...@anansi/core@0.20.22) (2025-03-05)
|
|
7
|
+
|
|
8
|
+
### 🐛 Bug Fix
|
|
9
|
+
|
|
10
|
+
* Devserver SSR proxy handling for new webpack configs ([132157b](https://github.com/ntucker/anansi/commit/132157b75d2876ff7111f9bbd843ba959727bb6f))
|
|
11
|
+
* Proxy in production ([caa94b8](https://github.com/ntucker/anansi/commit/caa94b88dd91651089b7ee1826fcd78828dbd4ec))
|
|
12
|
+
|
|
6
13
|
### [0.20.21](https://github.com/ntucker/anansi/compare/@anansi/core@0.20.20...@anansi/core@0.20.21) (2025-02-17)
|
|
7
14
|
|
|
8
15
|
### 📦 Package
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProxyMiddlewares.d.ts","sourceRoot":"","sources":["../../src/scripts/getProxyMiddlewares.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getProxyMiddlewares.d.ts","sourceRoot":"","sources":["../../src/scripts/getProxyMiddlewares.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAKjB,MAAM,oBAAoB,CAAC;AAI5B,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,WAAW,EAAE,gBAAgB,SA8FxE"}
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
+
import { legacyCreateProxyMiddleware } from 'http-proxy-middleware';
|
|
1
2
|
// Essentially taken from https://github.com/webpack/webpack-dev-server/blob/3096148746c906105c4424352f5b5ad1bff0fd4f/lib/Server.js#L2099
|
|
2
3
|
// we just removed the 'bypass' deprecation warnings and converted to typescript
|
|
3
4
|
export default function getProxyMiddlewares(proxyConfig) {
|
|
4
5
|
const middlewares = [];
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
6
|
-
const {
|
|
7
|
-
createProxyMiddleware
|
|
8
|
-
} = require('http-proxy-middleware');
|
|
9
6
|
const getProxyMiddleware = proxyConfig => {
|
|
10
7
|
// It is possible to use the `bypass` method without a `target` or `router`.
|
|
11
8
|
// However, the proxy middleware has no use in this case, and will fail to instantiate.
|
|
12
9
|
if (proxyConfig.target) {
|
|
13
10
|
const context = proxyConfig.context || proxyConfig.path;
|
|
14
|
-
return
|
|
11
|
+
return legacyCreateProxyMiddleware(context, proxyConfig);
|
|
15
12
|
}
|
|
16
13
|
if (proxyConfig.router) {
|
|
17
|
-
return
|
|
14
|
+
return legacyCreateProxyMiddleware(proxyConfig);
|
|
18
15
|
}
|
|
19
16
|
};
|
|
20
17
|
|
|
@@ -50,25 +47,15 @@ export default function getProxyMiddlewares(proxyConfig) {
|
|
|
50
47
|
const newProxyConfig = proxyConfigOrCallback(req, res, next);
|
|
51
48
|
if (newProxyConfig !== proxyConfig) {
|
|
52
49
|
proxyConfig = newProxyConfig;
|
|
50
|
+
const socket = req.socket != null ? req.socket : req.connection;
|
|
51
|
+
const server = socket != null ? socket.server : null;
|
|
52
|
+
if (server) {
|
|
53
|
+
server.removeAllListeners('close');
|
|
54
|
+
}
|
|
53
55
|
proxyMiddleware = getProxyMiddleware(proxyConfig);
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
|
-
|
|
57
|
-
// - Check if we have a bypass function defined
|
|
58
|
-
// - In case the bypass function is defined we'll retrieve the
|
|
59
|
-
// bypassUrl from it otherwise bypassUrl would be null
|
|
60
|
-
// TODO remove in the next major in favor `context` and `router` options
|
|
61
|
-
const bypassUrl = typeof proxyConfig.bypass === 'function' ? await proxyConfig.bypass(req, res, proxyConfig) : null;
|
|
62
|
-
if (typeof bypassUrl === 'boolean') {
|
|
63
|
-
// skip the proxy
|
|
64
|
-
res.statusCode = 404;
|
|
65
|
-
req.url = '';
|
|
66
|
-
next();
|
|
67
|
-
} else if (typeof bypassUrl === 'string') {
|
|
68
|
-
// byPass to that url
|
|
69
|
-
req.url = bypassUrl;
|
|
70
|
-
next();
|
|
71
|
-
} else if (proxyMiddleware) {
|
|
58
|
+
if (proxyMiddleware) {
|
|
72
59
|
return proxyMiddleware(req, res, next);
|
|
73
60
|
} else {
|
|
74
61
|
next();
|
|
@@ -78,6 +65,7 @@ export default function getProxyMiddlewares(proxyConfig) {
|
|
|
78
65
|
name: 'http-proxy-middleware',
|
|
79
66
|
middleware: handler
|
|
80
67
|
});
|
|
68
|
+
|
|
81
69
|
// Also forward error requests to the proxy so it can handle them.
|
|
82
70
|
middlewares.push({
|
|
83
71
|
name: 'http-proxy-middleware-error-handler',
|
|
@@ -86,4 +74,4 @@ export default function getProxyMiddlewares(proxyConfig) {
|
|
|
86
74
|
});
|
|
87
75
|
return middlewares;
|
|
88
76
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsZWdhY3lDcmVhdGVQcm94eU1pZGRsZXdhcmUiLCJnZXRQcm94eU1pZGRsZXdhcmVzIiwicHJveHlDb25maWciLCJtaWRkbGV3YXJlcyIsImdldFByb3h5TWlkZGxld2FyZSIsInRhcmdldCIsImNvbnRleHQiLCJwYXRoIiwicm91dGVyIiwiZm9yRWFjaCIsInByb3h5Q29uZmlnT3JDYWxsYmFjayIsInByb3h5TWlkZGxld2FyZSIsImhhbmRsZXIiLCJyZXEiLCJyZXMiLCJuZXh0IiwibmV3UHJveHlDb25maWciLCJzb2NrZXQiLCJjb25uZWN0aW9uIiwic2VydmVyIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwicHVzaCIsIm5hbWUiLCJtaWRkbGV3YXJlIiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9nZXRQcm94eU1pZGRsZXdhcmVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlciwgbGVnYWN5Q3JlYXRlUHJveHlNaWRkbGV3YXJlIH0gZnJvbSAnaHR0cC1wcm94eS1taWRkbGV3YXJlJztcbmltcG9ydCB7XG4gIFJlcXVlc3RIYW5kbGVyLFxuICBQcm94eUNvbmZpZ0FycmF5LFxuICBSZXNwb25zZSxcbiAgUmVxdWVzdCxcbiAgTmV4dEZ1bmN0aW9uLFxuICBQcm94eUNvbmZpZ0FycmF5SXRlbSxcbn0gZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcblxuLy8gRXNzZW50aWFsbHkgdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrLWRldi1zZXJ2ZXIvYmxvYi8zMDk2MTQ4NzQ2YzkwNjEwNWM0NDI0MzUyZjViNWFkMWJmZjBmZDRmL2xpYi9TZXJ2ZXIuanMjTDIwOTlcbi8vIHdlIGp1c3QgcmVtb3ZlZCB0aGUgJ2J5cGFzcycgZGVwcmVjYXRpb24gd2FybmluZ3MgYW5kIGNvbnZlcnRlZCB0byB0eXBlc2NyaXB0XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQcm94eU1pZGRsZXdhcmVzKHByb3h5Q29uZmlnOiBQcm94eUNvbmZpZ0FycmF5KSB7XG4gIGNvbnN0IG1pZGRsZXdhcmVzOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0IGdldFByb3h5TWlkZGxld2FyZSA9IChcbiAgICBwcm94eUNvbmZpZzogUHJveHlDb25maWdBcnJheUl0ZW0sXG4gICk6IFJlcXVlc3RIYW5kbGVyIHwgdW5kZWZpbmVkID0+IHtcbiAgICAvLyBJdCBpcyBwb3NzaWJsZSB0byB1c2UgdGhlIGBieXBhc3NgIG1ldGhvZCB3aXRob3V0IGEgYHRhcmdldGAgb3IgYHJvdXRlcmAuXG4gICAgLy8gSG93ZXZlciwgdGhlIHByb3h5IG1pZGRsZXdhcmUgaGFzIG5vIHVzZSBpbiB0aGlzIGNhc2UsIGFuZCB3aWxsIGZhaWwgdG8gaW5zdGFudGlhdGUuXG4gICAgaWYgKHByb3h5Q29uZmlnLnRhcmdldCkge1xuICAgICAgY29uc3QgY29udGV4dDogRmlsdGVyID0gcHJveHlDb25maWcuY29udGV4dCB8fCAocHJveHlDb25maWcucGF0aCBhcyBhbnkpO1xuXG4gICAgICByZXR1cm4gbGVnYWN5Q3JlYXRlUHJveHlNaWRkbGV3YXJlKGNvbnRleHQsIHByb3h5Q29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAocHJveHlDb25maWcucm91dGVyKSB7XG4gICAgICByZXR1cm4gbGVnYWN5Q3JlYXRlUHJveHlNaWRkbGV3YXJlKHByb3h5Q29uZmlnKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEFzc3VtZSBhIHByb3h5IGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkIGFzOlxuICAgKiBwcm94eTogW1xuICAgKiAgIHtcbiAgICogICAgIGNvbnRleHQ6IFwidmFsdWVcIixcbiAgICogICAgIC4uLm9wdGlvbnMsXG4gICAqICAgfSxcbiAgICogICAvLyBvcjpcbiAgICogICBmdW5jdGlvbigpIHtcbiAgICogICAgIHJldHVybiB7XG4gICAqICAgICAgIGNvbnRleHQ6IFwiY29udGV4dFwiLFxuICAgKiAgICAgICAuLi5vcHRpb25zLFxuICAgKiAgICAgfTtcbiAgICogICB9XG4gICAqIF1cbiAgICovXG4gIHByb3h5Q29uZmlnLmZvckVhY2gocHJveHlDb25maWdPckNhbGxiYWNrID0+IHtcbiAgICBsZXQgcHJveHlNaWRkbGV3YXJlOiBSZXF1ZXN0SGFuZGxlciB8IHVuZGVmaW5lZDtcblxuICAgIGxldCBwcm94eUNvbmZpZyA9XG4gICAgICB0eXBlb2YgcHJveHlDb25maWdPckNhbGxiYWNrID09PSAnZnVuY3Rpb24nID9cbiAgICAgICAgcHJveHlDb25maWdPckNhbGxiYWNrKClcbiAgICAgIDogcHJveHlDb25maWdPckNhbGxiYWNrO1xuXG4gICAgcHJveHlNaWRkbGV3YXJlID0gZ2V0UHJveHlNaWRkbGV3YXJlKHByb3h5Q29uZmlnKTtcblxuICAgIC8qIFRPRE86IGZpZ3VyZSBvdXQgaG93IHRvIG1ha2UgdGhpcyB3b3JrXG4gICAgaWYgKHByb3h5Q29uZmlnLndzKSB7XG4gICAgICB0aGlzLndlYlNvY2tldFByb3hpZXMucHVzaChwcm94eU1pZGRsZXdhcmUpO1xuICAgIH1cbiAgICAqL1xuXG4gICAgY29uc3QgaGFuZGxlciA9IGFzeW5jIChyZXE6IFJlcXVlc3QsIHJlczogUmVzcG9uc2UsIG5leHQ6IE5leHRGdW5jdGlvbikgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBwcm94eUNvbmZpZ09yQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgbmV3UHJveHlDb25maWcgPSBwcm94eUNvbmZpZ09yQ2FsbGJhY2socmVxLCByZXMsIG5leHQpO1xuXG4gICAgICAgIGlmIChuZXdQcm94eUNvbmZpZyAhPT0gcHJveHlDb25maWcpIHtcbiAgICAgICAgICBwcm94eUNvbmZpZyA9IG5ld1Byb3h5Q29uZmlnO1xuXG4gICAgICAgICAgY29uc3Qgc29ja2V0ID0gcmVxLnNvY2tldCAhPSBudWxsID8gcmVxLnNvY2tldCA6IHJlcS5jb25uZWN0aW9uO1xuICAgICAgICAgIGNvbnN0IHNlcnZlciA9IHNvY2tldCAhPSBudWxsID8gKHNvY2tldCBhcyBhbnkpLnNlcnZlciA6IG51bGw7XG5cbiAgICAgICAgICBpZiAoc2VydmVyKSB7XG4gICAgICAgICAgICBzZXJ2ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCdjbG9zZScpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHByb3h5TWlkZGxld2FyZSA9IGdldFByb3h5TWlkZGxld2FyZShwcm94eUNvbmZpZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHByb3h5TWlkZGxld2FyZSkge1xuICAgICAgICByZXR1cm4gcHJveHlNaWRkbGV3YXJlKHJlcSwgcmVzLCBuZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlJyxcbiAgICAgIG1pZGRsZXdhcmU6IGhhbmRsZXIsXG4gICAgfSk7XG5cbiAgICAvLyBBbHNvIGZvcndhcmQgZXJyb3IgcmVxdWVzdHMgdG8gdGhlIHByb3h5IHNvIGl0IGNhbiBoYW5kbGUgdGhlbS5cbiAgICBtaWRkbGV3YXJlcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdodHRwLXByb3h5LW1pZGRsZXdhcmUtZXJyb3ItaGFuZGxlcicsXG4gICAgICBtaWRkbGV3YXJlOiAoXG4gICAgICAgIGVycm9yOiBFcnJvcixcbiAgICAgICAgcmVxOiBSZXF1ZXN0LFxuICAgICAgICByZXM6IFJlc3BvbnNlLFxuICAgICAgICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4gICAgICApID0+IGhhbmRsZXIocmVxLCByZXMsIG5leHQpLFxuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gbWlkZGxld2FyZXM7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQWlCQSwyQkFBMkIsUUFBUSx1QkFBdUI7QUFVM0U7QUFDQTtBQUNBLGVBQWUsU0FBU0MsbUJBQW1CQSxDQUFDQyxXQUE2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
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
+
import { legacyCreateProxyMiddleware } from 'http-proxy-middleware';
|
|
1
2
|
// Essentially taken from https://github.com/webpack/webpack-dev-server/blob/3096148746c906105c4424352f5b5ad1bff0fd4f/lib/Server.js#L2099
|
|
2
3
|
// we just removed the 'bypass' deprecation warnings and converted to typescript
|
|
3
4
|
export default function getProxyMiddlewares(proxyConfig) {
|
|
4
5
|
const middlewares = [];
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
6
|
-
const {
|
|
7
|
-
createProxyMiddleware
|
|
8
|
-
} = require('http-proxy-middleware');
|
|
9
6
|
const getProxyMiddleware = proxyConfig => {
|
|
10
7
|
// It is possible to use the `bypass` method without a `target` or `router`.
|
|
11
8
|
// However, the proxy middleware has no use in this case, and will fail to instantiate.
|
|
12
9
|
if (proxyConfig.target) {
|
|
13
10
|
const context = proxyConfig.context || proxyConfig.path;
|
|
14
|
-
return
|
|
11
|
+
return legacyCreateProxyMiddleware(context, proxyConfig);
|
|
15
12
|
}
|
|
16
13
|
if (proxyConfig.router) {
|
|
17
|
-
return
|
|
14
|
+
return legacyCreateProxyMiddleware(proxyConfig);
|
|
18
15
|
}
|
|
19
16
|
};
|
|
20
17
|
|
|
@@ -50,25 +47,15 @@ export default function getProxyMiddlewares(proxyConfig) {
|
|
|
50
47
|
const newProxyConfig = proxyConfigOrCallback(req, res, next);
|
|
51
48
|
if (newProxyConfig !== proxyConfig) {
|
|
52
49
|
proxyConfig = newProxyConfig;
|
|
50
|
+
const socket = req.socket != null ? req.socket : req.connection;
|
|
51
|
+
const server = socket != null ? socket.server : null;
|
|
52
|
+
if (server) {
|
|
53
|
+
server.removeAllListeners('close');
|
|
54
|
+
}
|
|
53
55
|
proxyMiddleware = getProxyMiddleware(proxyConfig);
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
|
-
|
|
57
|
-
// - Check if we have a bypass function defined
|
|
58
|
-
// - In case the bypass function is defined we'll retrieve the
|
|
59
|
-
// bypassUrl from it otherwise bypassUrl would be null
|
|
60
|
-
// TODO remove in the next major in favor `context` and `router` options
|
|
61
|
-
const bypassUrl = typeof proxyConfig.bypass === 'function' ? await proxyConfig.bypass(req, res, proxyConfig) : null;
|
|
62
|
-
if (typeof bypassUrl === 'boolean') {
|
|
63
|
-
// skip the proxy
|
|
64
|
-
res.statusCode = 404;
|
|
65
|
-
req.url = '';
|
|
66
|
-
next();
|
|
67
|
-
} else if (typeof bypassUrl === 'string') {
|
|
68
|
-
// byPass to that url
|
|
69
|
-
req.url = bypassUrl;
|
|
70
|
-
next();
|
|
71
|
-
} else if (proxyMiddleware) {
|
|
58
|
+
if (proxyMiddleware) {
|
|
72
59
|
return proxyMiddleware(req, res, next);
|
|
73
60
|
} else {
|
|
74
61
|
next();
|
|
@@ -78,6 +65,7 @@ export default function getProxyMiddlewares(proxyConfig) {
|
|
|
78
65
|
name: 'http-proxy-middleware',
|
|
79
66
|
middleware: handler
|
|
80
67
|
});
|
|
68
|
+
|
|
81
69
|
// Also forward error requests to the proxy so it can handle them.
|
|
82
70
|
middlewares.push({
|
|
83
71
|
name: 'http-proxy-middleware-error-handler',
|
|
@@ -86,4 +74,4 @@ export default function getProxyMiddlewares(proxyConfig) {
|
|
|
86
74
|
});
|
|
87
75
|
return middlewares;
|
|
88
76
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsZWdhY3lDcmVhdGVQcm94eU1pZGRsZXdhcmUiLCJnZXRQcm94eU1pZGRsZXdhcmVzIiwicHJveHlDb25maWciLCJtaWRkbGV3YXJlcyIsImdldFByb3h5TWlkZGxld2FyZSIsInRhcmdldCIsImNvbnRleHQiLCJwYXRoIiwicm91dGVyIiwiZm9yRWFjaCIsInByb3h5Q29uZmlnT3JDYWxsYmFjayIsInByb3h5TWlkZGxld2FyZSIsImhhbmRsZXIiLCJyZXEiLCJyZXMiLCJuZXh0IiwibmV3UHJveHlDb25maWciLCJzb2NrZXQiLCJjb25uZWN0aW9uIiwic2VydmVyIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwicHVzaCIsIm5hbWUiLCJtaWRkbGV3YXJlIiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2NyaXB0cy9nZXRQcm94eU1pZGRsZXdhcmVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlciwgbGVnYWN5Q3JlYXRlUHJveHlNaWRkbGV3YXJlIH0gZnJvbSAnaHR0cC1wcm94eS1taWRkbGV3YXJlJztcbmltcG9ydCB7XG4gIFJlcXVlc3RIYW5kbGVyLFxuICBQcm94eUNvbmZpZ0FycmF5LFxuICBSZXNwb25zZSxcbiAgUmVxdWVzdCxcbiAgTmV4dEZ1bmN0aW9uLFxuICBQcm94eUNvbmZpZ0FycmF5SXRlbSxcbn0gZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcblxuLy8gRXNzZW50aWFsbHkgdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrLWRldi1zZXJ2ZXIvYmxvYi8zMDk2MTQ4NzQ2YzkwNjEwNWM0NDI0MzUyZjViNWFkMWJmZjBmZDRmL2xpYi9TZXJ2ZXIuanMjTDIwOTlcbi8vIHdlIGp1c3QgcmVtb3ZlZCB0aGUgJ2J5cGFzcycgZGVwcmVjYXRpb24gd2FybmluZ3MgYW5kIGNvbnZlcnRlZCB0byB0eXBlc2NyaXB0XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQcm94eU1pZGRsZXdhcmVzKHByb3h5Q29uZmlnOiBQcm94eUNvbmZpZ0FycmF5KSB7XG4gIGNvbnN0IG1pZGRsZXdhcmVzOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0IGdldFByb3h5TWlkZGxld2FyZSA9IChcbiAgICBwcm94eUNvbmZpZzogUHJveHlDb25maWdBcnJheUl0ZW0sXG4gICk6IFJlcXVlc3RIYW5kbGVyIHwgdW5kZWZpbmVkID0+IHtcbiAgICAvLyBJdCBpcyBwb3NzaWJsZSB0byB1c2UgdGhlIGBieXBhc3NgIG1ldGhvZCB3aXRob3V0IGEgYHRhcmdldGAgb3IgYHJvdXRlcmAuXG4gICAgLy8gSG93ZXZlciwgdGhlIHByb3h5IG1pZGRsZXdhcmUgaGFzIG5vIHVzZSBpbiB0aGlzIGNhc2UsIGFuZCB3aWxsIGZhaWwgdG8gaW5zdGFudGlhdGUuXG4gICAgaWYgKHByb3h5Q29uZmlnLnRhcmdldCkge1xuICAgICAgY29uc3QgY29udGV4dDogRmlsdGVyID0gcHJveHlDb25maWcuY29udGV4dCB8fCAocHJveHlDb25maWcucGF0aCBhcyBhbnkpO1xuXG4gICAgICByZXR1cm4gbGVnYWN5Q3JlYXRlUHJveHlNaWRkbGV3YXJlKGNvbnRleHQsIHByb3h5Q29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAocHJveHlDb25maWcucm91dGVyKSB7XG4gICAgICByZXR1cm4gbGVnYWN5Q3JlYXRlUHJveHlNaWRkbGV3YXJlKHByb3h5Q29uZmlnKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEFzc3VtZSBhIHByb3h5IGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkIGFzOlxuICAgKiBwcm94eTogW1xuICAgKiAgIHtcbiAgICogICAgIGNvbnRleHQ6IFwidmFsdWVcIixcbiAgICogICAgIC4uLm9wdGlvbnMsXG4gICAqICAgfSxcbiAgICogICAvLyBvcjpcbiAgICogICBmdW5jdGlvbigpIHtcbiAgICogICAgIHJldHVybiB7XG4gICAqICAgICAgIGNvbnRleHQ6IFwiY29udGV4dFwiLFxuICAgKiAgICAgICAuLi5vcHRpb25zLFxuICAgKiAgICAgfTtcbiAgICogICB9XG4gICAqIF1cbiAgICovXG4gIHByb3h5Q29uZmlnLmZvckVhY2gocHJveHlDb25maWdPckNhbGxiYWNrID0+IHtcbiAgICBsZXQgcHJveHlNaWRkbGV3YXJlOiBSZXF1ZXN0SGFuZGxlciB8IHVuZGVmaW5lZDtcblxuICAgIGxldCBwcm94eUNvbmZpZyA9XG4gICAgICB0eXBlb2YgcHJveHlDb25maWdPckNhbGxiYWNrID09PSAnZnVuY3Rpb24nID9cbiAgICAgICAgcHJveHlDb25maWdPckNhbGxiYWNrKClcbiAgICAgIDogcHJveHlDb25maWdPckNhbGxiYWNrO1xuXG4gICAgcHJveHlNaWRkbGV3YXJlID0gZ2V0UHJveHlNaWRkbGV3YXJlKHByb3h5Q29uZmlnKTtcblxuICAgIC8qIFRPRE86IGZpZ3VyZSBvdXQgaG93IHRvIG1ha2UgdGhpcyB3b3JrXG4gICAgaWYgKHByb3h5Q29uZmlnLndzKSB7XG4gICAgICB0aGlzLndlYlNvY2tldFByb3hpZXMucHVzaChwcm94eU1pZGRsZXdhcmUpO1xuICAgIH1cbiAgICAqL1xuXG4gICAgY29uc3QgaGFuZGxlciA9IGFzeW5jIChyZXE6IFJlcXVlc3QsIHJlczogUmVzcG9uc2UsIG5leHQ6IE5leHRGdW5jdGlvbikgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBwcm94eUNvbmZpZ09yQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgbmV3UHJveHlDb25maWcgPSBwcm94eUNvbmZpZ09yQ2FsbGJhY2socmVxLCByZXMsIG5leHQpO1xuXG4gICAgICAgIGlmIChuZXdQcm94eUNvbmZpZyAhPT0gcHJveHlDb25maWcpIHtcbiAgICAgICAgICBwcm94eUNvbmZpZyA9IG5ld1Byb3h5Q29uZmlnO1xuXG4gICAgICAgICAgY29uc3Qgc29ja2V0ID0gcmVxLnNvY2tldCAhPSBudWxsID8gcmVxLnNvY2tldCA6IHJlcS5jb25uZWN0aW9uO1xuICAgICAgICAgIGNvbnN0IHNlcnZlciA9IHNvY2tldCAhPSBudWxsID8gKHNvY2tldCBhcyBhbnkpLnNlcnZlciA6IG51bGw7XG5cbiAgICAgICAgICBpZiAoc2VydmVyKSB7XG4gICAgICAgICAgICBzZXJ2ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCdjbG9zZScpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHByb3h5TWlkZGxld2FyZSA9IGdldFByb3h5TWlkZGxld2FyZShwcm94eUNvbmZpZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHByb3h5TWlkZGxld2FyZSkge1xuICAgICAgICByZXR1cm4gcHJveHlNaWRkbGV3YXJlKHJlcSwgcmVzLCBuZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlJyxcbiAgICAgIG1pZGRsZXdhcmU6IGhhbmRsZXIsXG4gICAgfSk7XG5cbiAgICAvLyBBbHNvIGZvcndhcmQgZXJyb3IgcmVxdWVzdHMgdG8gdGhlIHByb3h5IHNvIGl0IGNhbiBoYW5kbGUgdGhlbS5cbiAgICBtaWRkbGV3YXJlcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdodHRwLXByb3h5LW1pZGRsZXdhcmUtZXJyb3ItaGFuZGxlcicsXG4gICAgICBtaWRkbGV3YXJlOiAoXG4gICAgICAgIGVycm9yOiBFcnJvcixcbiAgICAgICAgcmVxOiBSZXF1ZXN0LFxuICAgICAgICByZXM6IFJlc3BvbnNlLFxuICAgICAgICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4gICAgICApID0+IGhhbmRsZXIocmVxLCByZXMsIG5leHQpLFxuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gbWlkZGxld2FyZXM7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQWlCQSwyQkFBMkIsUUFBUSx1QkFBdUI7QUFVM0U7QUFDQTtBQUNBLGVBQWUsU0FBU0MsbUJBQW1CQSxDQUFDQyxX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
|
|
@@ -153,7 +153,7 @@ export default async function startDevServer(entrypoint, env = {}) {
|
|
|
153
153
|
if (!devServer) {
|
|
154
154
|
throw new Error('webpack-dev-server is not defined');
|
|
155
155
|
}
|
|
156
|
-
const otherRoutes = [process.env.WEBPACK_PUBLIC_PATH, ...
|
|
156
|
+
const otherRoutes = [process.env.WEBPACK_PUBLIC_PATH, ...(webpackConfigs[0].devServer?.proxy?.filter(proxy => typeof proxy === 'object')?.flatMap(proxy => proxy.context) ?? [])];
|
|
157
157
|
// serve SSR for non-WEBPACK_PUBLIC_PATH
|
|
158
158
|
devServer.app?.get(new RegExp(`^(?!${otherRoutes.join('|')})`), handleErrors(async function (req, res) {
|
|
159
159
|
if (req.url.endsWith('favicon.ico')) {
|
|
@@ -225,4 +225,4 @@ export default async function startDevServer(entrypoint, env = {}) {
|
|
|
225
225
|
});
|
|
226
226
|
runServer();
|
|
227
227
|
}
|
|
228
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRpc2tGcyIsImNyZWF0ZUZzUmVxdWlyZSIsImNyZWF0ZUZzRnJvbVZvbHVtZSIsIlZvbHVtZSIsInBhdGgiLCJzb3VyY2VNYXBTdXBwb3J0IiwidG1wIiwidWZzIiwicHJvbWlzaWZ5Iiwid2VicGFjayIsImxvZ2dpbmciLCJXZWJwYWNrRGV2U2VydmVyIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInN0YXJ0RGV2U2VydmVyIiwic2VydmVyRmlsZUNvbnRlbnRzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXJ2ZXJFbnRyeSIsImVudiIsIndlYnBhY2tDb25maWciLCJnZXRMb2dnZXIiLCJ2b2x1bWUiLCJmcyIsInVzZSIsImZzUmVxdWlyZSIsInJlYWRGaWxlIiwic2VydmVyIiwiaG90RW50cnkiLCJlbnRyeVBhdGgiLCJnZW5lcmF0ZWRFbnRyeXBvaW50IiwiZmlsZVN5bmMiLCJwb3N0Zml4Iiwid3JpdGVTeW5jIiwiZmQiLCJjd2QiLCJ3ZWJwYWNrQ29uZmlncyIsImVudHJ5cGF0aCIsIm5hbWUiLCJtb2RlIiwicmVwbGFjZSIsIkJST1dTRVJTTElTVF9FTlYiLCJ0YXJnZXQiLCJjb21waWxlciIsImluc3RhbGwiLCJob29rUmVxdWlyZSIsImdldFNlcnZlckJ1bmRsZSIsInNlcnZlclN0YXRzIiwic2VydmVySnNvbiIsInRvSnNvbiIsImFzc2V0cyIsImpvaW4iLCJvdXRwdXRQYXRoIiwiaGFuZGxlRXJyb3JzIiwiZm4iLCJyZXEiLCJyZXMiLCJuZXh0IiwieCIsImluaXRSZW5kZXIiLCJyZW5kZXIiLCJhcmdzIiwicHVzaCIsImltcG9ydFJlbmRlciIsInN0YXRzIiwiY2xpZW50U3RhdHMiLCJjb21waWxhdGlvbiIsImVycm9ycyIsImxlbmd0aCIsImVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5mbyIsImNsaWVudE1hbmlmZXN0IiwidGhlbiIsImJ1ZiIsInRvU3RyaW5nIiwia2V5cyIsImNhY2hlIiwiZm9yRWFjaCIsImRlZmF1bHQiLCJiaW5kIiwidW5kZWZpbmVkIiwiaW5pdCIsImUiLCJkZXZTZXJ2ZXIiLCJkZXZNaWRkbGV3YXJlIiwib3V0cHV0RmlsZVN5c3RlbSIsInNldHVwTWlkZGxld2FyZXMiLCJtaWRkbGV3YXJlcyIsIkVycm9yIiwib3RoZXJSb3V0ZXMiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwicHJveHkiLCJhcHAiLCJnZXQiLCJSZWdFeHAiLCJ1cmwiLCJlbmRzV2l0aCIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJzZW5kIiwic29ja2V0Iiwib24iLCJjb2RlIiwicnVuU2VydmVyIiwic3RhcnQiLCJob29rcyIsImRvbmUiLCJ0YXAiLCJtdWx0aVN0YXRzIiwiZmluZGVyIiwiZmlsZVRleHQiLCJ0ZXh0Um93cyIsInNwbGl0IiwibWF0Y2giLCJzdGFjayIsIm1hdGNoQWxsIiwicm93IiwiTnVtYmVyIiwicGFyc2VJbnQiLCJjb2wiLCJiYXNlbmFtZSIsIndyaXRlRmlsZVN5bmMiLCJzdG9wU2VydmVyIiwic3RvcCIsIndhcm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2NyaXB0cy9zdGFydERldnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5PYmplY3QuaGFzT3duID1cbiAgT2JqZWN0Lmhhc093biB8fFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBmdW5jdGlvbiBoYXNPd24oaXQsIGtleSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG4gIH07XG5pbXBvcnQgdHlwZSB7IE5leHRGdW5jdGlvbiB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IGRpc2tGcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBjcmVhdGVGc1JlcXVpcmUgfSBmcm9tICdmcy1yZXF1aXJlJztcbmltcG9ydCB7IFNlcnZlciwgSW5jb21pbmdNZXNzYWdlLCBTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ2h0dHAnO1xuaW1wb3J0IHsgY3JlYXRlRnNGcm9tVm9sdW1lLCBWb2x1bWUgfSBmcm9tICdtZW1mcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBzb3VyY2VNYXBTdXBwb3J0IGZyb20gJ3NvdXJjZS1tYXAtc3VwcG9ydCc7XG5pbXBvcnQgdG1wIGZyb20gJ3RtcCc7XG5pbXBvcnQgeyB1ZnMgfSBmcm9tICd1bmlvbmZzJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHdlYnBhY2ssIHsgTXVsdGlDb21waWxlciB9IGZyb20gJ3dlYnBhY2snO1xuaW1wb3J0IGxvZ2dpbmcgZnJvbSAnd2VicGFjay9saWIvbG9nZ2luZy9ydW50aW1lLmpzJztcbmltcG9ydCBXZWJwYWNrRGV2U2VydmVyIGZyb20gJ3dlYnBhY2stZGV2LXNlcnZlcic7XG5cbmltcG9ydCAnY3Jvc3MtZmV0Y2gvZGlzdC9ub2RlLXBvbHlmaWxsLmpzJztcbmltcG9ydCB7IGdldFdlYnBhY2tDb25maWcgfSBmcm9tICcuL2dldFdlYnBhY2tDb25maWcuanMnO1xuaW1wb3J0IHsgQm91bmRSZW5kZXIgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLy8gcnVuIGRpcmVjdGx5IGZyb20gbm9kZVxuaWYgKCdtYWluJyBpbiBpbXBvcnQubWV0YSkge1xuICBjb25zdCBlbnRyeXBvaW50ID0gcHJvY2Vzcy5hcmd2WzJdO1xuXG4gIGlmICghZW50cnlwb2ludCkge1xuICAgIGNvbnNvbGUubG9nKGBVc2FnZTogc3RhcnQtYW5hbnNpIDxlbnRyeXBvaW50LWZpbGU+YCk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfVxuXG4gIHN0YXJ0RGV2U2VydmVyKGVudHJ5cG9pbnQpO1xufVxuXG5sZXQgc2VydmVyRmlsZUNvbnRlbnRzOiBQcm9taXNlPHN0cmluZz4gPSBQcm9taXNlLnJlc29sdmUoJycpO1xubGV0IHNlcnZlckVudHJ5ID0gJyc7XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0RGV2U2VydmVyKFxuICBlbnRyeXBvaW50OiBzdHJpbmcsXG4gIGVudjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fSxcbikge1xuICBjb25zdCB3ZWJwYWNrQ29uZmlnID0gYXdhaXQgZ2V0V2VicGFja0NvbmZpZygpO1xuXG4gIGNvbnN0IGxvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdhbmFuc2ktZGV2c2VydmVyJyk7XG5cbiAgLy8gU2V0IHVwIGluIG1lbW9yeSBmaWxlc3lzdGVtXG4gIGNvbnN0IHZvbHVtZSA9IG5ldyBWb2x1bWUoKTtcbiAgY29uc3QgZnMgPSBjcmVhdGVGc0Zyb21Wb2x1bWUodm9sdW1lKTtcbiAgdWZzLnVzZShkaXNrRnMpLnVzZShmcyBhcyBhbnkpO1xuXG4gIGNvbnN0IGZzUmVxdWlyZSA9IGNyZWF0ZUZzUmVxdWlyZSh1ZnMpO1xuICBjb25zdCByZWFkRmlsZSA9IHByb21pc2lmeSh1ZnMucmVhZEZpbGUpO1xuICBsZXQgc2VydmVyOiBTZXJ2ZXIgfCB1bmRlZmluZWQ7XG5cbiAgLy8gR2VuZXJhdGUgYSB0ZW1wb3JhcnkgZmlsZSBzbyB3ZSBjYW4gaG90IHJlbG9hZCBmcm9tIHRoZSByb290IG9mIHRoZSBhcHBsaWNhdGlvblxuICBmdW5jdGlvbiBob3RFbnRyeShlbnRyeVBhdGg6IHN0cmluZykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIC8vIEB0cy1pZ25vcmUgZm9yIHNvbWUgcmVhc29uIGl0J3Mgbm90IHBpY2tpbmcgdXAgdGhhdCBvdGhlciBvcHRpb25zIGFyZSBvcHRpb25hbFxuICAgIGNvbnN0IGdlbmVyYXRlZEVudHJ5cG9pbnQgPSB0bXAuZmlsZVN5bmMoeyBwb3N0Zml4OiAnLmpzJyB9KTtcbiAgICBkaXNrRnMud3JpdGVTeW5jKFxuICAgICAgZ2VuZXJhdGVkRW50cnlwb2ludC5mZCxcbiAgICAgIGBcbiAgaW1wb3J0IGVudHJ5IGZyb20gXCIke3BhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBlbnRyeVBhdGgpfVwiO1xuXG4gIGlmIChpbXBvcnQubWV0YS53ZWJwYWNrSG90KSB7XG4gICAgaW1wb3J0Lm1ldGEud2VicGFja0hvdC5hY2NlcHQoKTtcbiAgfVxuXG4gIGV4cG9ydCBkZWZhdWx0IGVudHJ5O1xuICAgIGAsXG4gICAgKTtcbiAgICByZXR1cm4gZ2VuZXJhdGVkRW50cnlwb2ludDtcbiAgfVxuXG4gIGNvbnN0IHdlYnBhY2tDb25maWdzID0gW1xuICAgIHdlYnBhY2tDb25maWcoXG4gICAgICB7XG4gICAgICAgIC4uLmVudixcbiAgICAgICAgZW50cnlwYXRoOiBob3RFbnRyeShlbnRyeXBvaW50KS5uYW1lLFxuICAgICAgICBuYW1lOiAnY2xpZW50JyxcbiAgICAgIH0sXG4gICAgICB7IG1vZGU6ICdkZXZlbG9wbWVudCcgfSxcbiAgICApLFxuICAgIHdlYnBhY2tDb25maWcoXG4gICAgICB7XG4gICAgICAgIC4uLmVudixcbiAgICAgICAgZW50cnlwYXRoOiBlbnRyeXBvaW50LnJlcGxhY2UoJy50c3gnLCAnLnNlcnZlci50c3gnKSxcbiAgICAgICAgbmFtZTogJ3NlcnZlcicsXG4gICAgICAgIEJST1dTRVJTTElTVF9FTlY6ICdjdXJyZW50IG5vZGUnLFxuICAgICAgfSxcbiAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JywgdGFyZ2V0OiAnbm9kZScgfSxcbiAgICApLFxuICBdIGFzIGNvbnN0O1xuXG4gIC8vIGluaXRpYWxpemUgdGhlIHdlYnBhY2sgY29tcGlsZXJcbiAgY29uc3QgY29tcGlsZXI6IE11bHRpQ29tcGlsZXIgPSB3ZWJwYWNrKHdlYnBhY2tDb25maWdzKTtcblxuICBzb3VyY2VNYXBTdXBwb3J0Lmluc3RhbGwoeyBob29rUmVxdWlyZTogdHJ1ZSB9KTtcblxuICBmdW5jdGlvbiBnZXRTZXJ2ZXJCdW5kbGUoc2VydmVyU3RhdHM6IHdlYnBhY2suU3RhdHMpIHtcbiAgICBjb25zdCBzZXJ2ZXJKc29uID0gc2VydmVyU3RhdHMudG9Kc29uKHsgYXNzZXRzOiB0cnVlIH0pO1xuICAgIHJldHVybiBwYXRoLmpvaW4oc2VydmVySnNvbi5vdXRwdXRQYXRoID8/ICcnLCAnc2VydmVyLmpzJyk7XG4gIH1cbiAgZnVuY3Rpb24gaGFuZGxlRXJyb3JzPFxuICAgIEYgZXh0ZW5kcyAoXG4gICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICByZXM6IFJlc3BvbnNlIHwgU2VydmVyUmVzcG9uc2UsXG4gICAgKSA9PiBQcm9taXNlPHZvaWQ+LFxuICA+KGZuOiBGKSB7XG4gICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICAgIG5leHQ6IE5leHRGdW5jdGlvbixcbiAgICApIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBmbihyZXEsIHJlcyk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIG5leHQoeCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGxldCBpbml0UmVuZGVyOlxuICAgIHwgeyBhcmdzOiBQYXJhbWV0ZXJzPEJvdW5kUmVuZGVyPjsgcmVzb2x2ZTogKCkgPT4gdm9pZCB9W11cbiAgICB8IHVuZGVmaW5lZCA9IFtdO1xuICBsZXQgcmVuZGVyOiBCb3VuZFJlbmRlciA9ICguLi5hcmdzKSA9PlxuICAgIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgaW5pdFJlbmRlcj8ucHVzaCh7IGFyZ3MsIHJlc29sdmUgfSk7XG4gICAgfSk7XG5cbiAgZnVuY3Rpb24gaW1wb3J0UmVuZGVyKHN0YXRzOiB3ZWJwYWNrLlN0YXRzW10pIHtcbiAgICBjb25zdCBbY2xpZW50U3RhdHMsIHNlcnZlclN0YXRzXSA9IHN0YXRzO1xuICAgIGlmIChcbiAgICAgIGNsaWVudFN0YXRzPy5jb21waWxhdGlvbj8uZXJyb3JzPy5sZW5ndGggfHxcbiAgICAgIHNlcnZlclN0YXRzPy5jb21waWxhdGlvbj8uZXJyb3JzPy5sZW5ndGhcbiAgICApIHtcbiAgICAgIGxvZy5lcnJvcignRXJyb3JzIGZvciBjbGllbnQgYnVpbGQ6ICcgKyBjbGllbnRTdGF0cy5jb21waWxhdGlvbi5lcnJvcnMpO1xuICAgICAgbG9nLmVycm9yKCdFcnJvcnMgZm9yIHNlcnZlciBidWlsZDogJyArIHNlcnZlclN0YXRzLmNvbXBpbGF0aW9uLmVycm9ycyk7XG4gICAgICAvLyBmaXJzdCB0aW1lLCByYXRoZXIgdGhhbiByZS1yZW5kZXJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGluaXRSZW5kZXIpKSB7XG4gICAgICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gICAgICB9XG4gICAgICBsb2cuZXJyb3IoJ0Fib3ZlIGNvbXBpbGVyIGVycm9ycyBibG9ja2luZyByZWxvYWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLmluZm8oJ0xhdW5jaGluZyBTU1InKTtcbiAgICB9XG5cbiAgICAvLyBBU1NFVFNcbiAgICBjb25zdCBjbGllbnRNYW5pZmVzdCA9IGNsaWVudFN0YXRzLnRvSnNvbigpO1xuXG4gICAgc2VydmVyRW50cnkgPSBnZXRTZXJ2ZXJCdW5kbGUoc2VydmVyU3RhdHMpO1xuICAgIHNlcnZlckZpbGVDb250ZW50cyA9IHJlYWRGaWxlKHNlcnZlckVudHJ5KS50aGVuKGJ1ZiA9PiBidWYudG9TdHJpbmcoKSk7XG4gICAgLy8gcmVsb2FkIG1vZHVsZXNcbiAgICBPYmplY3Qua2V5cyhmc1JlcXVpcmUuY2FjaGUpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGRlbGV0ZSBmc1JlcXVpcmUuY2FjaGVba2V5XTtcbiAgICB9KTtcbiAgICByZW5kZXIgPSAoZnNSZXF1aXJlKHNlcnZlckVudHJ5KSBhcyBhbnkpLmRlZmF1bHQuYmluZChcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGNsaWVudE1hbmlmZXN0LFxuICAgICk7XG4gICAgLy8gU0VSVkVSIFNJREUgRU5UUllQT0lOVFxuICAgIGlmIChBcnJheS5pc0FycmF5KGluaXRSZW5kZXIpKSB7XG4gICAgICBpbml0UmVuZGVyLmZvckVhY2goYXN5bmMgaW5pdCA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbG9nLmluZm8oJ1Jlc29sdmluZyBxdWV1ZWQgcmVxdWVzdHMnKTtcbiAgICAgICAgICBhd2FpdCByZW5kZXIoLi4uaW5pdC5hcmdzKTtcbiAgICAgICAgICBpbml0LnJlc29sdmUoKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGxvZy5lcnJvcignRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIHJlbmRlciBxdWV1ZWQgcmVxdWVzdHMnKTtcbiAgICAgICAgICBsb2cuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaW5pdFJlbmRlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkZXZTZXJ2ZXIgPSBuZXcgV2VicGFja0RldlNlcnZlcihcbiAgICAvLyB3cml0ZSB0byBtZW1vcnkgZmlsZXN5c3RlbSBzbyB3ZSBjYW4gaW1wb3J0XG4gICAge1xuICAgICAgLi4ud2VicGFja0NvbmZpZ3NbMF0uZGV2U2VydmVyLFxuICAgICAgZGV2TWlkZGxld2FyZToge1xuICAgICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXT8uZGV2U2VydmVyPy5kZXZNaWRkbGV3YXJlLFxuICAgICAgICBvdXRwdXRGaWxlU3lzdGVtOiB7XG4gICAgICAgICAgLi4uZnMsXG4gICAgICAgICAgam9pbjogcGF0aC5qb2luIGFzIGFueSxcbiAgICAgICAgfSBhcyBhbnksXG4gICAgICB9LFxuICAgICAgc2V0dXBNaWRkbGV3YXJlczogKG1pZGRsZXdhcmVzLCBkZXZTZXJ2ZXIpID0+IHtcbiAgICAgICAgaWYgKCFkZXZTZXJ2ZXIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dlYnBhY2stZGV2LXNlcnZlciBpcyBub3QgZGVmaW5lZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3RoZXJSb3V0ZXMgPSBbXG4gICAgICAgICAgcHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCxcbiAgICAgICAgICAuLi5PYmplY3Qua2V5cyh3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LnByb3h5ID8/IHt9KSxcbiAgICAgICAgXTtcbiAgICAgICAgLy8gc2VydmUgU1NSIGZvciBub24tV0VCUEFDS19QVUJMSUNfUEFUSFxuICAgICAgICBkZXZTZXJ2ZXIuYXBwPy5nZXQoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXig/ISR7b3RoZXJSb3V0ZXMuam9pbignfCcpfSlgKSxcbiAgICAgICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICBsb2cuZXJyb3IoJ0ZhdGFsOicsIGVycm9yKTtcbiAgICAgICAgICAgICAgaWYgKChlcnJvciBhcyBhbnkpLmNvZGUgPT09ICdFQ09OTlJFU0VUJykge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICAgICAgICAgICdFQ09OTlJFU0VUIGlzIHVzdWFsbHkgZHVlIHRvIGJyb3dzZXIgY2xvc2luZyB0aGUgY29ubmVjdGlvbicsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHJlbmRlcihyZXEsIHJlcyk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHdlYnBhY2tDb25maWdzWzBdLmRldlNlcnZlcj8uc2V0dXBNaWRkbGV3YXJlcykge1xuICAgICAgICAgIHJldHVybiB3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIuc2V0dXBNaWRkbGV3YXJlcyhcbiAgICAgICAgICAgIG1pZGRsZXdhcmVzLFxuICAgICAgICAgICAgZGV2U2VydmVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWlkZGxld2FyZXM7XG4gICAgICB9LFxuICAgIH0sXG4gICAgY29tcGlsZXIsXG4gICk7XG4gIGNvbnN0IHJ1blNlcnZlciA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RhcnQoKTtcbiAgICBkZXZTZXJ2ZXIuY29tcGlsZXIuaG9va3MuZG9uZS50YXAoXG4gICAgICAnQW5hbnNpIFNlcnZlcicsXG4gICAgICAobXVsdGlTdGF0czogd2VicGFjay5NdWx0aVN0YXRzIHwgd2VicGFjay5TdGF0cykgPT4ge1xuICAgICAgICBpZiAoIW11bHRpU3RhdHMpIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ3N0YXRzIG5vdCBzZW5kJyk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghT2JqZWN0Lmhhc093bihtdWx0aVN0YXRzLCAnc3RhdHMnKSkgcmV0dXJuO1xuICAgICAgICBpZiAoKG11bHRpU3RhdHMgYXMgd2VicGFjay5NdWx0aVN0YXRzKS5zdGF0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGltcG9ydFJlbmRlcigobXVsdGlTdGF0cyBhcyB3ZWJwYWNrLk11bHRpU3RhdHMpLnN0YXRzKTtcbiAgICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcignRmFpbGVkIHRvIGxvYWQgc2VydmUgZW50cnlwb2ludCcpO1xuICAgICAgICAgICAgY29uc3QgZmluZGVyID0gbmV3IFJlZ0V4cChgJHtzZXJ2ZXJFbnRyeX06KFtcXFxcZF0rKTooW1xcXFxkXSspYCwgJ2cnKTtcbiAgICAgICAgICAgIHNlcnZlckZpbGVDb250ZW50cy50aGVuKGZpbGVUZXh0ID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGV4dFJvd3MgPSBmaWxlVGV4dC5zcGxpdCgnXFxuJyk7XG4gICAgICAgICAgICAgIGxvZy5lcnJvcignPj4+IFN0YWNrIENvbnRleHQgW3NlcnZlIGVudHJ5cG9pbnRdIDw8PCcpO1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGUuc3RhY2subWF0Y2hBbGwoZmluZGVyKSA/PyBbXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IE51bWJlci5wYXJzZUludChtYXRjaFsxXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sID0gTnVtYmVyLnBhcnNlSW50KG1hdGNoWzJdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IocGF0aC5iYXNlbmFtZShzZXJ2ZXJFbnRyeSkgKyAnICcgKyByb3cgKyAnOicgKyBjb2wpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgLSAyXSk7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKHRleHRSb3dzW3JvdyAtIDFdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IoQXJyYXkoY29sKS5qb2luKCcgJykgKyAnXicpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3ddKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IodGV4dFJvd3Nbcm93ICsgMV0pO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgKyAyXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGlza0ZzLndyaXRlRmlsZVN5bmMoc2VydmVyRW50cnksIGZpbGVUZXh0KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ09ubHkgY29tcGlsZXIgb25lIHN0YXQnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICApO1xuICB9O1xuICBjb25zdCBzdG9wU2VydmVyID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvZy5pbmZvKCdTdG9wcGluZyBzZXJ2ZXIuLi4nKTtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RvcCgpO1xuICAgIGxvZy5pbmZvKCdTZXJ2ZXIgY2xvc2VkJyk7XG4gIH07XG5cbiAgcHJvY2Vzcy5vbignU0lHSU5UJywgKCkgPT4ge1xuICAgIGxvZy53YXJuKCdSZWNlaXZlZCBTSUdJTlQsIGRldnNlcnZlciBzaHV0dGluZyBkb3duJyk7XG4gICAgc3RvcFNlcnZlcigpO1xuICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gIH0pO1xuXG4gIHJ1blNlcnZlcigpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7QUFDdEQsQ0FBQztBQUVILE9BQU9JLE1BQU0sTUFBTSxJQUFJO0FBQ3ZCLFNBQVNDLGVBQWUsUUFBUSxZQUFZO0FBRTVDLFNBQVNDLGtCQUFrQixFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUNsRCxPQUFPQyxJQUFJ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
|
|
228
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRpc2tGcyIsImNyZWF0ZUZzUmVxdWlyZSIsImNyZWF0ZUZzRnJvbVZvbHVtZSIsIlZvbHVtZSIsInBhdGgiLCJzb3VyY2VNYXBTdXBwb3J0IiwidG1wIiwidWZzIiwicHJvbWlzaWZ5Iiwid2VicGFjayIsImxvZ2dpbmciLCJXZWJwYWNrRGV2U2VydmVyIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInN0YXJ0RGV2U2VydmVyIiwic2VydmVyRmlsZUNvbnRlbnRzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXJ2ZXJFbnRyeSIsImVudiIsIndlYnBhY2tDb25maWciLCJnZXRMb2dnZXIiLCJ2b2x1bWUiLCJmcyIsInVzZSIsImZzUmVxdWlyZSIsInJlYWRGaWxlIiwic2VydmVyIiwiaG90RW50cnkiLCJlbnRyeVBhdGgiLCJnZW5lcmF0ZWRFbnRyeXBvaW50IiwiZmlsZVN5bmMiLCJwb3N0Zml4Iiwid3JpdGVTeW5jIiwiZmQiLCJjd2QiLCJ3ZWJwYWNrQ29uZmlncyIsImVudHJ5cGF0aCIsIm5hbWUiLCJtb2RlIiwicmVwbGFjZSIsIkJST1dTRVJTTElTVF9FTlYiLCJ0YXJnZXQiLCJjb21waWxlciIsImluc3RhbGwiLCJob29rUmVxdWlyZSIsImdldFNlcnZlckJ1bmRsZSIsInNlcnZlclN0YXRzIiwic2VydmVySnNvbiIsInRvSnNvbiIsImFzc2V0cyIsImpvaW4iLCJvdXRwdXRQYXRoIiwiaGFuZGxlRXJyb3JzIiwiZm4iLCJyZXEiLCJyZXMiLCJuZXh0IiwieCIsImluaXRSZW5kZXIiLCJyZW5kZXIiLCJhcmdzIiwicHVzaCIsImltcG9ydFJlbmRlciIsInN0YXRzIiwiY2xpZW50U3RhdHMiLCJjb21waWxhdGlvbiIsImVycm9ycyIsImxlbmd0aCIsImVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5mbyIsImNsaWVudE1hbmlmZXN0IiwidGhlbiIsImJ1ZiIsInRvU3RyaW5nIiwia2V5cyIsImNhY2hlIiwiZm9yRWFjaCIsImRlZmF1bHQiLCJiaW5kIiwidW5kZWZpbmVkIiwiaW5pdCIsImUiLCJkZXZTZXJ2ZXIiLCJkZXZNaWRkbGV3YXJlIiwib3V0cHV0RmlsZVN5c3RlbSIsInNldHVwTWlkZGxld2FyZXMiLCJtaWRkbGV3YXJlcyIsIkVycm9yIiwib3RoZXJSb3V0ZXMiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwicHJveHkiLCJmaWx0ZXIiLCJmbGF0TWFwIiwiY29udGV4dCIsImFwcCIsImdldCIsIlJlZ0V4cCIsInVybCIsImVuZHNXaXRoIiwic3RhdHVzQ29kZSIsInNldEhlYWRlciIsInNlbmQiLCJzb2NrZXQiLCJvbiIsImNvZGUiLCJydW5TZXJ2ZXIiLCJzdGFydCIsImhvb2tzIiwiZG9uZSIsInRhcCIsIm11bHRpU3RhdHMiLCJmaW5kZXIiLCJmaWxlVGV4dCIsInRleHRSb3dzIiwic3BsaXQiLCJtYXRjaCIsInN0YWNrIiwibWF0Y2hBbGwiLCJyb3ciLCJOdW1iZXIiLCJwYXJzZUludCIsImNvbCIsImJhc2VuYW1lIiwid3JpdGVGaWxlU3luYyIsInN0b3BTZXJ2ZXIiLCJzdG9wIiwid2FybiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zY3JpcHRzL3N0YXJ0RGV2c2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbk9iamVjdC5oYXNPd24gPVxuICBPYmplY3QuaGFzT3duIHx8XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGZ1bmN0aW9uIGhhc093bihpdCwga2V5KSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbiAgfTtcbmltcG9ydCB0eXBlIHsgTmV4dEZ1bmN0aW9uIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgZGlza0ZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IGNyZWF0ZUZzUmVxdWlyZSB9IGZyb20gJ2ZzLXJlcXVpcmUnO1xuaW1wb3J0IHsgU2VydmVyLCBJbmNvbWluZ01lc3NhZ2UsIFNlcnZlclJlc3BvbnNlIH0gZnJvbSAnaHR0cCc7XG5pbXBvcnQgeyBjcmVhdGVGc0Zyb21Wb2x1bWUsIFZvbHVtZSB9IGZyb20gJ21lbWZzJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHNvdXJjZU1hcFN1cHBvcnQgZnJvbSAnc291cmNlLW1hcC1zdXBwb3J0JztcbmltcG9ydCB0bXAgZnJvbSAndG1wJztcbmltcG9ydCB7IHVmcyB9IGZyb20gJ3VuaW9uZnMnO1xuaW1wb3J0IHsgcHJvbWlzaWZ5IH0gZnJvbSAndXRpbCc7XG5pbXBvcnQgd2VicGFjaywgeyBNdWx0aUNvbXBpbGVyIH0gZnJvbSAnd2VicGFjayc7XG5pbXBvcnQgbG9nZ2luZyBmcm9tICd3ZWJwYWNrL2xpYi9sb2dnaW5nL3J1bnRpbWUuanMnO1xuaW1wb3J0IFdlYnBhY2tEZXZTZXJ2ZXIgZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcblxuaW1wb3J0ICdjcm9zcy1mZXRjaC9kaXN0L25vZGUtcG9seWZpbGwuanMnO1xuaW1wb3J0IHsgZ2V0V2VicGFja0NvbmZpZyB9IGZyb20gJy4vZ2V0V2VicGFja0NvbmZpZy5qcyc7XG5pbXBvcnQgeyBCb3VuZFJlbmRlciB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG4vLyBydW4gZGlyZWN0bHkgZnJvbSBub2RlXG5pZiAoJ21haW4nIGluIGltcG9ydC5tZXRhKSB7XG4gIGNvbnN0IGVudHJ5cG9pbnQgPSBwcm9jZXNzLmFyZ3ZbMl07XG5cbiAgaWYgKCFlbnRyeXBvaW50KSB7XG4gICAgY29uc29sZS5sb2coYFVzYWdlOiBzdGFydC1hbmFuc2kgPGVudHJ5cG9pbnQtZmlsZT5gKTtcbiAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICB9XG5cbiAgc3RhcnREZXZTZXJ2ZXIoZW50cnlwb2ludCk7XG59XG5cbmxldCBzZXJ2ZXJGaWxlQ29udGVudHM6IFByb21pc2U8c3RyaW5nPiA9IFByb21pc2UucmVzb2x2ZSgnJyk7XG5sZXQgc2VydmVyRW50cnkgPSAnJztcblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gc3RhcnREZXZTZXJ2ZXIoXG4gIGVudHJ5cG9pbnQ6IHN0cmluZyxcbiAgZW52OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9LFxuKSB7XG4gIGNvbnN0IHdlYnBhY2tDb25maWcgPSBhd2FpdCBnZXRXZWJwYWNrQ29uZmlnKCk7XG5cbiAgY29uc3QgbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2FuYW5zaS1kZXZzZXJ2ZXInKTtcblxuICAvLyBTZXQgdXAgaW4gbWVtb3J5IGZpbGVzeXN0ZW1cbiAgY29uc3Qgdm9sdW1lID0gbmV3IFZvbHVtZSgpO1xuICBjb25zdCBmcyA9IGNyZWF0ZUZzRnJvbVZvbHVtZSh2b2x1bWUpO1xuICB1ZnMudXNlKGRpc2tGcykudXNlKGZzIGFzIGFueSk7XG5cbiAgY29uc3QgZnNSZXF1aXJlID0gY3JlYXRlRnNSZXF1aXJlKHVmcyk7XG4gIGNvbnN0IHJlYWRGaWxlID0gcHJvbWlzaWZ5KHVmcy5yZWFkRmlsZSk7XG4gIGxldCBzZXJ2ZXI6IFNlcnZlciB8IHVuZGVmaW5lZDtcblxuICAvLyBHZW5lcmF0ZSBhIHRlbXBvcmFyeSBmaWxlIHNvIHdlIGNhbiBob3QgcmVsb2FkIGZyb20gdGhlIHJvb3Qgb2YgdGhlIGFwcGxpY2F0aW9uXG4gIGZ1bmN0aW9uIGhvdEVudHJ5KGVudHJ5UGF0aDogc3RyaW5nKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgLy8gQHRzLWlnbm9yZSBmb3Igc29tZSByZWFzb24gaXQncyBub3QgcGlja2luZyB1cCB0aGF0IG90aGVyIG9wdGlvbnMgYXJlIG9wdGlvbmFsXG4gICAgY29uc3QgZ2VuZXJhdGVkRW50cnlwb2ludCA9IHRtcC5maWxlU3luYyh7IHBvc3RmaXg6ICcuanMnIH0pO1xuICAgIGRpc2tGcy53cml0ZVN5bmMoXG4gICAgICBnZW5lcmF0ZWRFbnRyeXBvaW50LmZkLFxuICAgICAgYFxuICBpbXBvcnQgZW50cnkgZnJvbSBcIiR7cGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIGVudHJ5UGF0aCl9XCI7XG5cbiAgaWYgKGltcG9ydC5tZXRhLndlYnBhY2tIb3QpIHtcbiAgICBpbXBvcnQubWV0YS53ZWJwYWNrSG90LmFjY2VwdCgpO1xuICB9XG5cbiAgZXhwb3J0IGRlZmF1bHQgZW50cnk7XG4gICAgYCxcbiAgICApO1xuICAgIHJldHVybiBnZW5lcmF0ZWRFbnRyeXBvaW50O1xuICB9XG5cbiAgY29uc3Qgd2VicGFja0NvbmZpZ3MgPSBbXG4gICAgd2VicGFja0NvbmZpZyhcbiAgICAgIHtcbiAgICAgICAgLi4uZW52LFxuICAgICAgICBlbnRyeXBhdGg6IGhvdEVudHJ5KGVudHJ5cG9pbnQpLm5hbWUsXG4gICAgICAgIG5hbWU6ICdjbGllbnQnLFxuICAgICAgfSxcbiAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JyB9LFxuICAgICksXG4gICAgd2VicGFja0NvbmZpZyhcbiAgICAgIHtcbiAgICAgICAgLi4uZW52LFxuICAgICAgICBlbnRyeXBhdGg6IGVudHJ5cG9pbnQucmVwbGFjZSgnLnRzeCcsICcuc2VydmVyLnRzeCcpLFxuICAgICAgICBuYW1lOiAnc2VydmVyJyxcbiAgICAgICAgQlJPV1NFUlNMSVNUX0VOVjogJ2N1cnJlbnQgbm9kZScsXG4gICAgICB9LFxuICAgICAgeyBtb2RlOiAnZGV2ZWxvcG1lbnQnLCB0YXJnZXQ6ICdub2RlJyB9LFxuICAgICksXG4gIF0gYXMgY29uc3Q7XG5cbiAgLy8gaW5pdGlhbGl6ZSB0aGUgd2VicGFjayBjb21waWxlclxuICBjb25zdCBjb21waWxlcjogTXVsdGlDb21waWxlciA9IHdlYnBhY2sod2VicGFja0NvbmZpZ3MpO1xuXG4gIHNvdXJjZU1hcFN1cHBvcnQuaW5zdGFsbCh7IGhvb2tSZXF1aXJlOiB0cnVlIH0pO1xuXG4gIGZ1bmN0aW9uIGdldFNlcnZlckJ1bmRsZShzZXJ2ZXJTdGF0czogd2VicGFjay5TdGF0cykge1xuICAgIGNvbnN0IHNlcnZlckpzb24gPSBzZXJ2ZXJTdGF0cy50b0pzb24oeyBhc3NldHM6IHRydWUgfSk7XG4gICAgcmV0dXJuIHBhdGguam9pbihzZXJ2ZXJKc29uLm91dHB1dFBhdGggPz8gJycsICdzZXJ2ZXIuanMnKTtcbiAgfVxuICBmdW5jdGlvbiBoYW5kbGVFcnJvcnM8XG4gICAgRiBleHRlbmRzIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICApID0+IFByb21pc2U8dm9pZD4sXG4gID4oZm46IEYpIHtcbiAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKFxuICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGZuKHJlcSwgcmVzKTtcbiAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgbmV4dCh4KTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgbGV0IGluaXRSZW5kZXI6XG4gICAgfCB7IGFyZ3M6IFBhcmFtZXRlcnM8Qm91bmRSZW5kZXI+OyByZXNvbHZlOiAoKSA9PiB2b2lkIH1bXVxuICAgIHwgdW5kZWZpbmVkID0gW107XG4gIGxldCByZW5kZXI6IEJvdW5kUmVuZGVyID0gKC4uLmFyZ3MpID0+XG4gICAgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICBpbml0UmVuZGVyPy5wdXNoKHsgYXJncywgcmVzb2x2ZSB9KTtcbiAgICB9KTtcblxuICBmdW5jdGlvbiBpbXBvcnRSZW5kZXIoc3RhdHM6IHdlYnBhY2suU3RhdHNbXSkge1xuICAgIGNvbnN0IFtjbGllbnRTdGF0cywgc2VydmVyU3RhdHNdID0gc3RhdHM7XG4gICAgaWYgKFxuICAgICAgY2xpZW50U3RhdHM/LmNvbXBpbGF0aW9uPy5lcnJvcnM/Lmxlbmd0aCB8fFxuICAgICAgc2VydmVyU3RhdHM/LmNvbXBpbGF0aW9uPy5lcnJvcnM/Lmxlbmd0aFxuICAgICkge1xuICAgICAgbG9nLmVycm9yKCdFcnJvcnMgZm9yIGNsaWVudCBidWlsZDogJyArIGNsaWVudFN0YXRzLmNvbXBpbGF0aW9uLmVycm9ycyk7XG4gICAgICBsb2cuZXJyb3IoJ0Vycm9ycyBmb3Igc2VydmVyIGJ1aWxkOiAnICsgc2VydmVyU3RhdHMuY29tcGlsYXRpb24uZXJyb3JzKTtcbiAgICAgIC8vIGZpcnN0IHRpbWUsIHJhdGhlciB0aGFuIHJlLXJlbmRlclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaW5pdFJlbmRlcikpIHtcbiAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgIH1cbiAgICAgIGxvZy5lcnJvcignQWJvdmUgY29tcGlsZXIgZXJyb3JzIGJsb2NraW5nIHJlbG9hZCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuaW5mbygnTGF1bmNoaW5nIFNTUicpO1xuICAgIH1cblxuICAgIC8vIEFTU0VUU1xuICAgIGNvbnN0IGNsaWVudE1hbmlmZXN0ID0gY2xpZW50U3RhdHMudG9Kc29uKCk7XG5cbiAgICBzZXJ2ZXJFbnRyeSA9IGdldFNlcnZlckJ1bmRsZShzZXJ2ZXJTdGF0cyk7XG4gICAgc2VydmVyRmlsZUNvbnRlbnRzID0gcmVhZEZpbGUoc2VydmVyRW50cnkpLnRoZW4oYnVmID0+IGJ1Zi50b1N0cmluZygpKTtcbiAgICAvLyByZWxvYWQgbW9kdWxlc1xuICAgIE9iamVjdC5rZXlzKGZzUmVxdWlyZS5jYWNoZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgZGVsZXRlIGZzUmVxdWlyZS5jYWNoZVtrZXldO1xuICAgIH0pO1xuICAgIHJlbmRlciA9IChmc1JlcXVpcmUoc2VydmVyRW50cnkpIGFzIGFueSkuZGVmYXVsdC5iaW5kKFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgY2xpZW50TWFuaWZlc3QsXG4gICAgKTtcbiAgICAvLyBTRVJWRVIgU0lERSBFTlRSWVBPSU5UXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaW5pdFJlbmRlcikpIHtcbiAgICAgIGluaXRSZW5kZXIuZm9yRWFjaChhc3luYyBpbml0ID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsb2cuaW5mbygnUmVzb2x2aW5nIHF1ZXVlZCByZXF1ZXN0cycpO1xuICAgICAgICAgIGF3YWl0IHJlbmRlciguLi5pbml0LmFyZ3MpO1xuICAgICAgICAgIGluaXQucmVzb2x2ZSgpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgbG9nLmVycm9yKCdFcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVuZGVyIHF1ZXVlZCByZXF1ZXN0cycpO1xuICAgICAgICAgIGxvZy5lcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpbml0UmVuZGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRldlNlcnZlciA9IG5ldyBXZWJwYWNrRGV2U2VydmVyKFxuICAgIC8vIHdyaXRlIHRvIG1lbW9yeSBmaWxlc3lzdGVtIHNvIHdlIGNhbiBpbXBvcnRcbiAgICB7XG4gICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIsXG4gICAgICBkZXZNaWRkbGV3YXJlOiB7XG4gICAgICAgIC4uLndlYnBhY2tDb25maWdzWzBdPy5kZXZTZXJ2ZXI/LmRldk1pZGRsZXdhcmUsXG4gICAgICAgIG91dHB1dEZpbGVTeXN0ZW06IHtcbiAgICAgICAgICAuLi5mcyxcbiAgICAgICAgICBqb2luOiBwYXRoLmpvaW4gYXMgYW55LFxuICAgICAgICB9IGFzIGFueSxcbiAgICAgIH0sXG4gICAgICBzZXR1cE1pZGRsZXdhcmVzOiAobWlkZGxld2FyZXMsIGRldlNlcnZlcikgPT4ge1xuICAgICAgICBpZiAoIWRldlNlcnZlcikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignd2VicGFjay1kZXYtc2VydmVyIGlzIG5vdCBkZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvdGhlclJvdXRlcyA9IFtcbiAgICAgICAgICBwcm9jZXNzLmVudi5XRUJQQUNLX1BVQkxJQ19QQVRILFxuICAgICAgICAgIC4uLih3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LnByb3h5XG4gICAgICAgICAgICA/LmZpbHRlcihwcm94eSA9PiB0eXBlb2YgcHJveHkgPT09ICdvYmplY3QnKVxuICAgICAgICAgICAgPy5mbGF0TWFwKHByb3h5ID0+IHByb3h5LmNvbnRleHQpID8/IFtdKSxcbiAgICAgICAgXTtcbiAgICAgICAgLy8gc2VydmUgU1NSIGZvciBub24tV0VCUEFDS19QVUJMSUNfUEFUSFxuICAgICAgICBkZXZTZXJ2ZXIuYXBwPy5nZXQoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXig/ISR7b3RoZXJSb3V0ZXMuam9pbignfCcpfSlgKSxcbiAgICAgICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICBsb2cuZXJyb3IoJ0ZhdGFsOicsIGVycm9yKTtcbiAgICAgICAgICAgICAgaWYgKChlcnJvciBhcyBhbnkpLmNvZGUgPT09ICdFQ09OTlJFU0VUJykge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICAgICAgICAgICdFQ09OTlJFU0VUIGlzIHVzdWFsbHkgZHVlIHRvIGJyb3dzZXIgY2xvc2luZyB0aGUgY29ubmVjdGlvbicsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHJlbmRlcihyZXEsIHJlcyk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHdlYnBhY2tDb25maWdzWzBdLmRldlNlcnZlcj8uc2V0dXBNaWRkbGV3YXJlcykge1xuICAgICAgICAgIHJldHVybiB3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIuc2V0dXBNaWRkbGV3YXJlcyhcbiAgICAgICAgICAgIG1pZGRsZXdhcmVzLFxuICAgICAgICAgICAgZGV2U2VydmVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWlkZGxld2FyZXM7XG4gICAgICB9LFxuICAgIH0sXG4gICAgY29tcGlsZXIsXG4gICk7XG4gIGNvbnN0IHJ1blNlcnZlciA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RhcnQoKTtcbiAgICBkZXZTZXJ2ZXIuY29tcGlsZXIuaG9va3MuZG9uZS50YXAoXG4gICAgICAnQW5hbnNpIFNlcnZlcicsXG4gICAgICAobXVsdGlTdGF0czogd2VicGFjay5NdWx0aVN0YXRzIHwgd2VicGFjay5TdGF0cykgPT4ge1xuICAgICAgICBpZiAoIW11bHRpU3RhdHMpIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ3N0YXRzIG5vdCBzZW5kJyk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghT2JqZWN0Lmhhc093bihtdWx0aVN0YXRzLCAnc3RhdHMnKSkgcmV0dXJuO1xuICAgICAgICBpZiAoKG11bHRpU3RhdHMgYXMgd2VicGFjay5NdWx0aVN0YXRzKS5zdGF0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGltcG9ydFJlbmRlcigobXVsdGlTdGF0cyBhcyB3ZWJwYWNrLk11bHRpU3RhdHMpLnN0YXRzKTtcbiAgICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcignRmFpbGVkIHRvIGxvYWQgc2VydmUgZW50cnlwb2ludCcpO1xuICAgICAgICAgICAgY29uc3QgZmluZGVyID0gbmV3IFJlZ0V4cChgJHtzZXJ2ZXJFbnRyeX06KFtcXFxcZF0rKTooW1xcXFxkXSspYCwgJ2cnKTtcbiAgICAgICAgICAgIHNlcnZlckZpbGVDb250ZW50cy50aGVuKGZpbGVUZXh0ID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGV4dFJvd3MgPSBmaWxlVGV4dC5zcGxpdCgnXFxuJyk7XG4gICAgICAgICAgICAgIGxvZy5lcnJvcignPj4+IFN0YWNrIENvbnRleHQgW3NlcnZlIGVudHJ5cG9pbnRdIDw8PCcpO1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGUuc3RhY2subWF0Y2hBbGwoZmluZGVyKSA/PyBbXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IE51bWJlci5wYXJzZUludChtYXRjaFsxXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sID0gTnVtYmVyLnBhcnNlSW50KG1hdGNoWzJdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IocGF0aC5iYXNlbmFtZShzZXJ2ZXJFbnRyeSkgKyAnICcgKyByb3cgKyAnOicgKyBjb2wpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgLSAyXSk7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKHRleHRSb3dzW3JvdyAtIDFdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IoQXJyYXkoY29sKS5qb2luKCcgJykgKyAnXicpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3ddKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IodGV4dFJvd3Nbcm93ICsgMV0pO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgKyAyXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGlza0ZzLndyaXRlRmlsZVN5bmMoc2VydmVyRW50cnksIGZpbGVUZXh0KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ09ubHkgY29tcGlsZXIgb25lIHN0YXQnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICApO1xuICB9O1xuICBjb25zdCBzdG9wU2VydmVyID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvZy5pbmZvKCdTdG9wcGluZyBzZXJ2ZXIuLi4nKTtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RvcCgpO1xuICAgIGxvZy5pbmZvKCdTZXJ2ZXIgY2xvc2VkJyk7XG4gIH07XG5cbiAgcHJvY2Vzcy5vbignU0lHSU5UJywgKCkgPT4ge1xuICAgIGxvZy53YXJuKCdSZWNlaXZlZCBTSUdJTlQsIGRldnNlcnZlciBzaHV0dGluZyBkb3duJyk7XG4gICAgc3RvcFNlcnZlcigpO1xuICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gIH0pO1xuXG4gIHJ1blNlcnZlcigpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENB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
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,iBA0PlC"}
|
|
@@ -153,7 +153,7 @@ export default async function startDevServer(entrypoint, env = {}) {
|
|
|
153
153
|
if (!devServer) {
|
|
154
154
|
throw new Error('webpack-dev-server is not defined');
|
|
155
155
|
}
|
|
156
|
-
const otherRoutes = [process.env.WEBPACK_PUBLIC_PATH, ...
|
|
156
|
+
const otherRoutes = [process.env.WEBPACK_PUBLIC_PATH, ...(webpackConfigs[0].devServer?.proxy?.filter(proxy => typeof proxy === 'object')?.flatMap(proxy => proxy.context) ?? [])];
|
|
157
157
|
// serve SSR for non-WEBPACK_PUBLIC_PATH
|
|
158
158
|
devServer.app?.get(new RegExp(`^(?!${otherRoutes.join('|')})`), handleErrors(async function (req, res) {
|
|
159
159
|
if (req.url.endsWith('favicon.ico')) {
|
|
@@ -225,4 +225,4 @@ export default async function startDevServer(entrypoint, env = {}) {
|
|
|
225
225
|
});
|
|
226
226
|
runServer();
|
|
227
227
|
}
|
|
228
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRpc2tGcyIsImNyZWF0ZUZzUmVxdWlyZSIsImNyZWF0ZUZzRnJvbVZvbHVtZSIsIlZvbHVtZSIsInBhdGgiLCJzb3VyY2VNYXBTdXBwb3J0IiwidG1wIiwidWZzIiwicHJvbWlzaWZ5Iiwid2VicGFjayIsImxvZ2dpbmciLCJXZWJwYWNrRGV2U2VydmVyIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInN0YXJ0RGV2U2VydmVyIiwic2VydmVyRmlsZUNvbnRlbnRzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXJ2ZXJFbnRyeSIsImVudiIsIndlYnBhY2tDb25maWciLCJnZXRMb2dnZXIiLCJ2b2x1bWUiLCJmcyIsInVzZSIsImZzUmVxdWlyZSIsInJlYWRGaWxlIiwic2VydmVyIiwiaG90RW50cnkiLCJlbnRyeVBhdGgiLCJnZW5lcmF0ZWRFbnRyeXBvaW50IiwiZmlsZVN5bmMiLCJwb3N0Zml4Iiwid3JpdGVTeW5jIiwiZmQiLCJjd2QiLCJ3ZWJwYWNrQ29uZmlncyIsImVudHJ5cGF0aCIsIm5hbWUiLCJtb2RlIiwicmVwbGFjZSIsIkJST1dTRVJTTElTVF9FTlYiLCJ0YXJnZXQiLCJjb21waWxlciIsImluc3RhbGwiLCJob29rUmVxdWlyZSIsImdldFNlcnZlckJ1bmRsZSIsInNlcnZlclN0YXRzIiwic2VydmVySnNvbiIsInRvSnNvbiIsImFzc2V0cyIsImpvaW4iLCJvdXRwdXRQYXRoIiwiaGFuZGxlRXJyb3JzIiwiZm4iLCJyZXEiLCJyZXMiLCJuZXh0IiwieCIsImluaXRSZW5kZXIiLCJyZW5kZXIiLCJhcmdzIiwicHVzaCIsImltcG9ydFJlbmRlciIsInN0YXRzIiwiY2xpZW50U3RhdHMiLCJjb21waWxhdGlvbiIsImVycm9ycyIsImxlbmd0aCIsImVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5mbyIsImNsaWVudE1hbmlmZXN0IiwidGhlbiIsImJ1ZiIsInRvU3RyaW5nIiwia2V5cyIsImNhY2hlIiwiZm9yRWFjaCIsImRlZmF1bHQiLCJiaW5kIiwidW5kZWZpbmVkIiwiaW5pdCIsImUiLCJkZXZTZXJ2ZXIiLCJkZXZNaWRkbGV3YXJlIiwib3V0cHV0RmlsZVN5c3RlbSIsInNldHVwTWlkZGxld2FyZXMiLCJtaWRkbGV3YXJlcyIsIkVycm9yIiwib3RoZXJSb3V0ZXMiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwicHJveHkiLCJhcHAiLCJnZXQiLCJSZWdFeHAiLCJ1cmwiLCJlbmRzV2l0aCIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJzZW5kIiwic29ja2V0Iiwib24iLCJjb2RlIiwicnVuU2VydmVyIiwic3RhcnQiLCJob29rcyIsImRvbmUiLCJ0YXAiLCJtdWx0aVN0YXRzIiwiZmluZGVyIiwiZmlsZVRleHQiLCJ0ZXh0Um93cyIsInNwbGl0IiwibWF0Y2giLCJzdGFjayIsIm1hdGNoQWxsIiwicm93IiwiTnVtYmVyIiwicGFyc2VJbnQiLCJjb2wiLCJiYXNlbmFtZSIsIndyaXRlRmlsZVN5bmMiLCJzdG9wU2VydmVyIiwic3RvcCIsIndhcm4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9zdGFydERldnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5PYmplY3QuaGFzT3duID1cbiAgT2JqZWN0Lmhhc093biB8fFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBmdW5jdGlvbiBoYXNPd24oaXQsIGtleSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG4gIH07XG5pbXBvcnQgdHlwZSB7IE5leHRGdW5jdGlvbiB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IGRpc2tGcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBjcmVhdGVGc1JlcXVpcmUgfSBmcm9tICdmcy1yZXF1aXJlJztcbmltcG9ydCB7IFNlcnZlciwgSW5jb21pbmdNZXNzYWdlLCBTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ2h0dHAnO1xuaW1wb3J0IHsgY3JlYXRlRnNGcm9tVm9sdW1lLCBWb2x1bWUgfSBmcm9tICdtZW1mcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBzb3VyY2VNYXBTdXBwb3J0IGZyb20gJ3NvdXJjZS1tYXAtc3VwcG9ydCc7XG5pbXBvcnQgdG1wIGZyb20gJ3RtcCc7XG5pbXBvcnQgeyB1ZnMgfSBmcm9tICd1bmlvbmZzJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHdlYnBhY2ssIHsgTXVsdGlDb21waWxlciB9IGZyb20gJ3dlYnBhY2snO1xuaW1wb3J0IGxvZ2dpbmcgZnJvbSAnd2VicGFjay9saWIvbG9nZ2luZy9ydW50aW1lLmpzJztcbmltcG9ydCBXZWJwYWNrRGV2U2VydmVyIGZyb20gJ3dlYnBhY2stZGV2LXNlcnZlcic7XG5cbmltcG9ydCAnY3Jvc3MtZmV0Y2gvZGlzdC9ub2RlLXBvbHlmaWxsLmpzJztcbmltcG9ydCB7IGdldFdlYnBhY2tDb25maWcgfSBmcm9tICcuL2dldFdlYnBhY2tDb25maWcuanMnO1xuaW1wb3J0IHsgQm91bmRSZW5kZXIgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLy8gcnVuIGRpcmVjdGx5IGZyb20gbm9kZVxuaWYgKCdtYWluJyBpbiBpbXBvcnQubWV0YSkge1xuICBjb25zdCBlbnRyeXBvaW50ID0gcHJvY2Vzcy5hcmd2WzJdO1xuXG4gIGlmICghZW50cnlwb2ludCkge1xuICAgIGNvbnNvbGUubG9nKGBVc2FnZTogc3RhcnQtYW5hbnNpIDxlbnRyeXBvaW50LWZpbGU+YCk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfVxuXG4gIHN0YXJ0RGV2U2VydmVyKGVudHJ5cG9pbnQpO1xufVxuXG5sZXQgc2VydmVyRmlsZUNvbnRlbnRzOiBQcm9taXNlPHN0cmluZz4gPSBQcm9taXNlLnJlc29sdmUoJycpO1xubGV0IHNlcnZlckVudHJ5ID0gJyc7XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0RGV2U2VydmVyKFxuICBlbnRyeXBvaW50OiBzdHJpbmcsXG4gIGVudjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fSxcbikge1xuICBjb25zdCB3ZWJwYWNrQ29uZmlnID0gYXdhaXQgZ2V0V2VicGFja0NvbmZpZygpO1xuXG4gIGNvbnN0IGxvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdhbmFuc2ktZGV2c2VydmVyJyk7XG5cbiAgLy8gU2V0IHVwIGluIG1lbW9yeSBmaWxlc3lzdGVtXG4gIGNvbnN0IHZvbHVtZSA9IG5ldyBWb2x1bWUoKTtcbiAgY29uc3QgZnMgPSBjcmVhdGVGc0Zyb21Wb2x1bWUodm9sdW1lKTtcbiAgdWZzLnVzZShkaXNrRnMpLnVzZShmcyBhcyBhbnkpO1xuXG4gIGNvbnN0IGZzUmVxdWlyZSA9IGNyZWF0ZUZzUmVxdWlyZSh1ZnMpO1xuICBjb25zdCByZWFkRmlsZSA9IHByb21pc2lmeSh1ZnMucmVhZEZpbGUpO1xuICBsZXQgc2VydmVyOiBTZXJ2ZXIgfCB1bmRlZmluZWQ7XG5cbiAgLy8gR2VuZXJhdGUgYSB0ZW1wb3JhcnkgZmlsZSBzbyB3ZSBjYW4gaG90IHJlbG9hZCBmcm9tIHRoZSByb290IG9mIHRoZSBhcHBsaWNhdGlvblxuICBmdW5jdGlvbiBob3RFbnRyeShlbnRyeVBhdGg6IHN0cmluZykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIC8vIEB0cy1pZ25vcmUgZm9yIHNvbWUgcmVhc29uIGl0J3Mgbm90IHBpY2tpbmcgdXAgdGhhdCBvdGhlciBvcHRpb25zIGFyZSBvcHRpb25hbFxuICAgIGNvbnN0IGdlbmVyYXRlZEVudHJ5cG9pbnQgPSB0bXAuZmlsZVN5bmMoeyBwb3N0Zml4OiAnLmpzJyB9KTtcbiAgICBkaXNrRnMud3JpdGVTeW5jKFxuICAgICAgZ2VuZXJhdGVkRW50cnlwb2ludC5mZCxcbiAgICAgIGBcbiAgaW1wb3J0IGVudHJ5IGZyb20gXCIke3BhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBlbnRyeVBhdGgpfVwiO1xuXG4gIGlmIChpbXBvcnQubWV0YS53ZWJwYWNrSG90KSB7XG4gICAgaW1wb3J0Lm1ldGEud2VicGFja0hvdC5hY2NlcHQoKTtcbiAgfVxuXG4gIGV4cG9ydCBkZWZhdWx0IGVudHJ5O1xuICAgIGAsXG4gICAgKTtcbiAgICByZXR1cm4gZ2VuZXJhdGVkRW50cnlwb2ludDtcbiAgfVxuXG4gIGNvbnN0IHdlYnBhY2tDb25maWdzID0gW1xuICAgIHdlYnBhY2tDb25maWcoXG4gICAgICB7XG4gICAgICAgIC4uLmVudixcbiAgICAgICAgZW50cnlwYXRoOiBob3RFbnRyeShlbnRyeXBvaW50KS5uYW1lLFxuICAgICAgICBuYW1lOiAnY2xpZW50JyxcbiAgICAgIH0sXG4gICAgICB7IG1vZGU6ICdkZXZlbG9wbWVudCcgfSxcbiAgICApLFxuICAgIHdlYnBhY2tDb25maWcoXG4gICAgICB7XG4gICAgICAgIC4uLmVudixcbiAgICAgICAgZW50cnlwYXRoOiBlbnRyeXBvaW50LnJlcGxhY2UoJy50c3gnLCAnLnNlcnZlci50c3gnKSxcbiAgICAgICAgbmFtZTogJ3NlcnZlcicsXG4gICAgICAgIEJST1dTRVJTTElTVF9FTlY6ICdjdXJyZW50IG5vZGUnLFxuICAgICAgfSxcbiAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JywgdGFyZ2V0OiAnbm9kZScgfSxcbiAgICApLFxuICBdIGFzIGNvbnN0O1xuXG4gIC8vIGluaXRpYWxpemUgdGhlIHdlYnBhY2sgY29tcGlsZXJcbiAgY29uc3QgY29tcGlsZXI6IE11bHRpQ29tcGlsZXIgPSB3ZWJwYWNrKHdlYnBhY2tDb25maWdzKTtcblxuICBzb3VyY2VNYXBTdXBwb3J0Lmluc3RhbGwoeyBob29rUmVxdWlyZTogdHJ1ZSB9KTtcblxuICBmdW5jdGlvbiBnZXRTZXJ2ZXJCdW5kbGUoc2VydmVyU3RhdHM6IHdlYnBhY2suU3RhdHMpIHtcbiAgICBjb25zdCBzZXJ2ZXJKc29uID0gc2VydmVyU3RhdHMudG9Kc29uKHsgYXNzZXRzOiB0cnVlIH0pO1xuICAgIHJldHVybiBwYXRoLmpvaW4oc2VydmVySnNvbi5vdXRwdXRQYXRoID8/ICcnLCAnc2VydmVyLmpzJyk7XG4gIH1cbiAgZnVuY3Rpb24gaGFuZGxlRXJyb3JzPFxuICAgIEYgZXh0ZW5kcyAoXG4gICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICByZXM6IFJlc3BvbnNlIHwgU2VydmVyUmVzcG9uc2UsXG4gICAgKSA9PiBQcm9taXNlPHZvaWQ+LFxuICA+KGZuOiBGKSB7XG4gICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICAgIG5leHQ6IE5leHRGdW5jdGlvbixcbiAgICApIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBmbihyZXEsIHJlcyk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIG5leHQoeCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGxldCBpbml0UmVuZGVyOlxuICAgIHwgeyBhcmdzOiBQYXJhbWV0ZXJzPEJvdW5kUmVuZGVyPjsgcmVzb2x2ZTogKCkgPT4gdm9pZCB9W11cbiAgICB8IHVuZGVmaW5lZCA9IFtdO1xuICBsZXQgcmVuZGVyOiBCb3VuZFJlbmRlciA9ICguLi5hcmdzKSA9PlxuICAgIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgaW5pdFJlbmRlcj8ucHVzaCh7IGFyZ3MsIHJlc29sdmUgfSk7XG4gICAgfSk7XG5cbiAgZnVuY3Rpb24gaW1wb3J0UmVuZGVyKHN0YXRzOiB3ZWJwYWNrLlN0YXRzW10pIHtcbiAgICBjb25zdCBbY2xpZW50U3RhdHMsIHNlcnZlclN0YXRzXSA9IHN0YXRzO1xuICAgIGlmIChcbiAgICAgIGNsaWVudFN0YXRzPy5jb21waWxhdGlvbj8uZXJyb3JzPy5sZW5ndGggfHxcbiAgICAgIHNlcnZlclN0YXRzPy5jb21waWxhdGlvbj8uZXJyb3JzPy5sZW5ndGhcbiAgICApIHtcbiAgICAgIGxvZy5lcnJvcignRXJyb3JzIGZvciBjbGllbnQgYnVpbGQ6ICcgKyBjbGllbnRTdGF0cy5jb21waWxhdGlvbi5lcnJvcnMpO1xuICAgICAgbG9nLmVycm9yKCdFcnJvcnMgZm9yIHNlcnZlciBidWlsZDogJyArIHNlcnZlclN0YXRzLmNvbXBpbGF0aW9uLmVycm9ycyk7XG4gICAgICAvLyBmaXJzdCB0aW1lLCByYXRoZXIgdGhhbiByZS1yZW5kZXJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGluaXRSZW5kZXIpKSB7XG4gICAgICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gICAgICB9XG4gICAgICBsb2cuZXJyb3IoJ0Fib3ZlIGNvbXBpbGVyIGVycm9ycyBibG9ja2luZyByZWxvYWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLmluZm8oJ0xhdW5jaGluZyBTU1InKTtcbiAgICB9XG5cbiAgICAvLyBBU1NFVFNcbiAgICBjb25zdCBjbGllbnRNYW5pZmVzdCA9IGNsaWVudFN0YXRzLnRvSnNvbigpO1xuXG4gICAgc2VydmVyRW50cnkgPSBnZXRTZXJ2ZXJCdW5kbGUoc2VydmVyU3RhdHMpO1xuICAgIHNlcnZlckZpbGVDb250ZW50cyA9IHJlYWRGaWxlKHNlcnZlckVudHJ5KS50aGVuKGJ1ZiA9PiBidWYudG9TdHJpbmcoKSk7XG4gICAgLy8gcmVsb2FkIG1vZHVsZXNcbiAgICBPYmplY3Qua2V5cyhmc1JlcXVpcmUuY2FjaGUpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGRlbGV0ZSBmc1JlcXVpcmUuY2FjaGVba2V5XTtcbiAgICB9KTtcbiAgICByZW5kZXIgPSAoZnNSZXF1aXJlKHNlcnZlckVudHJ5KSBhcyBhbnkpLmRlZmF1bHQuYmluZChcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGNsaWVudE1hbmlmZXN0LFxuICAgICk7XG4gICAgLy8gU0VSVkVSIFNJREUgRU5UUllQT0lOVFxuICAgIGlmIChBcnJheS5pc0FycmF5KGluaXRSZW5kZXIpKSB7XG4gICAgICBpbml0UmVuZGVyLmZvckVhY2goYXN5bmMgaW5pdCA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbG9nLmluZm8oJ1Jlc29sdmluZyBxdWV1ZWQgcmVxdWVzdHMnKTtcbiAgICAgICAgICBhd2FpdCByZW5kZXIoLi4uaW5pdC5hcmdzKTtcbiAgICAgICAgICBpbml0LnJlc29sdmUoKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGxvZy5lcnJvcignRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIHJlbmRlciBxdWV1ZWQgcmVxdWVzdHMnKTtcbiAgICAgICAgICBsb2cuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaW5pdFJlbmRlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkZXZTZXJ2ZXIgPSBuZXcgV2VicGFja0RldlNlcnZlcihcbiAgICAvLyB3cml0ZSB0byBtZW1vcnkgZmlsZXN5c3RlbSBzbyB3ZSBjYW4gaW1wb3J0XG4gICAge1xuICAgICAgLi4ud2VicGFja0NvbmZpZ3NbMF0uZGV2U2VydmVyLFxuICAgICAgZGV2TWlkZGxld2FyZToge1xuICAgICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXT8uZGV2U2VydmVyPy5kZXZNaWRkbGV3YXJlLFxuICAgICAgICBvdXRwdXRGaWxlU3lzdGVtOiB7XG4gICAgICAgICAgLi4uZnMsXG4gICAgICAgICAgam9pbjogcGF0aC5qb2luIGFzIGFueSxcbiAgICAgICAgfSBhcyBhbnksXG4gICAgICB9LFxuICAgICAgc2V0dXBNaWRkbGV3YXJlczogKG1pZGRsZXdhcmVzLCBkZXZTZXJ2ZXIpID0+IHtcbiAgICAgICAgaWYgKCFkZXZTZXJ2ZXIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dlYnBhY2stZGV2LXNlcnZlciBpcyBub3QgZGVmaW5lZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3RoZXJSb3V0ZXMgPSBbXG4gICAgICAgICAgcHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCxcbiAgICAgICAgICAuLi5PYmplY3Qua2V5cyh3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LnByb3h5ID8/IHt9KSxcbiAgICAgICAgXTtcbiAgICAgICAgLy8gc2VydmUgU1NSIGZvciBub24tV0VCUEFDS19QVUJMSUNfUEFUSFxuICAgICAgICBkZXZTZXJ2ZXIuYXBwPy5nZXQoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXig/ISR7b3RoZXJSb3V0ZXMuam9pbignfCcpfSlgKSxcbiAgICAgICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICBsb2cuZXJyb3IoJ0ZhdGFsOicsIGVycm9yKTtcbiAgICAgICAgICAgICAgaWYgKChlcnJvciBhcyBhbnkpLmNvZGUgPT09ICdFQ09OTlJFU0VUJykge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICAgICAgICAgICdFQ09OTlJFU0VUIGlzIHVzdWFsbHkgZHVlIHRvIGJyb3dzZXIgY2xvc2luZyB0aGUgY29ubmVjdGlvbicsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHJlbmRlcihyZXEsIHJlcyk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHdlYnBhY2tDb25maWdzWzBdLmRldlNlcnZlcj8uc2V0dXBNaWRkbGV3YXJlcykge1xuICAgICAgICAgIHJldHVybiB3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIuc2V0dXBNaWRkbGV3YXJlcyhcbiAgICAgICAgICAgIG1pZGRsZXdhcmVzLFxuICAgICAgICAgICAgZGV2U2VydmVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWlkZGxld2FyZXM7XG4gICAgICB9LFxuICAgIH0sXG4gICAgY29tcGlsZXIsXG4gICk7XG4gIGNvbnN0IHJ1blNlcnZlciA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RhcnQoKTtcbiAgICBkZXZTZXJ2ZXIuY29tcGlsZXIuaG9va3MuZG9uZS50YXAoXG4gICAgICAnQW5hbnNpIFNlcnZlcicsXG4gICAgICAobXVsdGlTdGF0czogd2VicGFjay5NdWx0aVN0YXRzIHwgd2VicGFjay5TdGF0cykgPT4ge1xuICAgICAgICBpZiAoIW11bHRpU3RhdHMpIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ3N0YXRzIG5vdCBzZW5kJyk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghT2JqZWN0Lmhhc093bihtdWx0aVN0YXRzLCAnc3RhdHMnKSkgcmV0dXJuO1xuICAgICAgICBpZiAoKG11bHRpU3RhdHMgYXMgd2VicGFjay5NdWx0aVN0YXRzKS5zdGF0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGltcG9ydFJlbmRlcigobXVsdGlTdGF0cyBhcyB3ZWJwYWNrLk11bHRpU3RhdHMpLnN0YXRzKTtcbiAgICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcignRmFpbGVkIHRvIGxvYWQgc2VydmUgZW50cnlwb2ludCcpO1xuICAgICAgICAgICAgY29uc3QgZmluZGVyID0gbmV3IFJlZ0V4cChgJHtzZXJ2ZXJFbnRyeX06KFtcXFxcZF0rKTooW1xcXFxkXSspYCwgJ2cnKTtcbiAgICAgICAgICAgIHNlcnZlckZpbGVDb250ZW50cy50aGVuKGZpbGVUZXh0ID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGV4dFJvd3MgPSBmaWxlVGV4dC5zcGxpdCgnXFxuJyk7XG4gICAgICAgICAgICAgIGxvZy5lcnJvcignPj4+IFN0YWNrIENvbnRleHQgW3NlcnZlIGVudHJ5cG9pbnRdIDw8PCcpO1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGUuc3RhY2subWF0Y2hBbGwoZmluZGVyKSA/PyBbXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IE51bWJlci5wYXJzZUludChtYXRjaFsxXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sID0gTnVtYmVyLnBhcnNlSW50KG1hdGNoWzJdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IocGF0aC5iYXNlbmFtZShzZXJ2ZXJFbnRyeSkgKyAnICcgKyByb3cgKyAnOicgKyBjb2wpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgLSAyXSk7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKHRleHRSb3dzW3JvdyAtIDFdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IoQXJyYXkoY29sKS5qb2luKCcgJykgKyAnXicpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3ddKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IodGV4dFJvd3Nbcm93ICsgMV0pO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgKyAyXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGlza0ZzLndyaXRlRmlsZVN5bmMoc2VydmVyRW50cnksIGZpbGVUZXh0KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ09ubHkgY29tcGlsZXIgb25lIHN0YXQnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICApO1xuICB9O1xuICBjb25zdCBzdG9wU2VydmVyID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvZy5pbmZvKCdTdG9wcGluZyBzZXJ2ZXIuLi4nKTtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RvcCgpO1xuICAgIGxvZy5pbmZvKCdTZXJ2ZXIgY2xvc2VkJyk7XG4gIH07XG5cbiAgcHJvY2Vzcy5vbignU0lHSU5UJywgKCkgPT4ge1xuICAgIGxvZy53YXJuKCdSZWNlaXZlZCBTSUdJTlQsIGRldnNlcnZlciBzaHV0dGluZyBkb3duJyk7XG4gICAgc3RvcFNlcnZlcigpO1xuICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gIH0pO1xuXG4gIHJ1blNlcnZlcigpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7QUFDdEQsQ0FBQztBQUVILE9BQU9JLE1BQU0sTUFBTSxJQUFJO0FBQ3ZCLFNBQVNDLGVBQWUsUUFBUSxZQUFZO0FBRTVDLFNBQVNDLGtCQUFrQixFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUNsRCxPQUFPQyxJQUFJLE1B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
|
|
228
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRpc2tGcyIsImNyZWF0ZUZzUmVxdWlyZSIsImNyZWF0ZUZzRnJvbVZvbHVtZSIsIlZvbHVtZSIsInBhdGgiLCJzb3VyY2VNYXBTdXBwb3J0IiwidG1wIiwidWZzIiwicHJvbWlzaWZ5Iiwid2VicGFjayIsImxvZ2dpbmciLCJXZWJwYWNrRGV2U2VydmVyIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInN0YXJ0RGV2U2VydmVyIiwic2VydmVyRmlsZUNvbnRlbnRzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXJ2ZXJFbnRyeSIsImVudiIsIndlYnBhY2tDb25maWciLCJnZXRMb2dnZXIiLCJ2b2x1bWUiLCJmcyIsInVzZSIsImZzUmVxdWlyZSIsInJlYWRGaWxlIiwic2VydmVyIiwiaG90RW50cnkiLCJlbnRyeVBhdGgiLCJnZW5lcmF0ZWRFbnRyeXBvaW50IiwiZmlsZVN5bmMiLCJwb3N0Zml4Iiwid3JpdGVTeW5jIiwiZmQiLCJjd2QiLCJ3ZWJwYWNrQ29uZmlncyIsImVudHJ5cGF0aCIsIm5hbWUiLCJtb2RlIiwicmVwbGFjZSIsIkJST1dTRVJTTElTVF9FTlYiLCJ0YXJnZXQiLCJjb21waWxlciIsImluc3RhbGwiLCJob29rUmVxdWlyZSIsImdldFNlcnZlckJ1bmRsZSIsInNlcnZlclN0YXRzIiwic2VydmVySnNvbiIsInRvSnNvbiIsImFzc2V0cyIsImpvaW4iLCJvdXRwdXRQYXRoIiwiaGFuZGxlRXJyb3JzIiwiZm4iLCJyZXEiLCJyZXMiLCJuZXh0IiwieCIsImluaXRSZW5kZXIiLCJyZW5kZXIiLCJhcmdzIiwicHVzaCIsImltcG9ydFJlbmRlciIsInN0YXRzIiwiY2xpZW50U3RhdHMiLCJjb21waWxhdGlvbiIsImVycm9ycyIsImxlbmd0aCIsImVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5mbyIsImNsaWVudE1hbmlmZXN0IiwidGhlbiIsImJ1ZiIsInRvU3RyaW5nIiwia2V5cyIsImNhY2hlIiwiZm9yRWFjaCIsImRlZmF1bHQiLCJiaW5kIiwidW5kZWZpbmVkIiwiaW5pdCIsImUiLCJkZXZTZXJ2ZXIiLCJkZXZNaWRkbGV3YXJlIiwib3V0cHV0RmlsZVN5c3RlbSIsInNldHVwTWlkZGxld2FyZXMiLCJtaWRkbGV3YXJlcyIsIkVycm9yIiwib3RoZXJSb3V0ZXMiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwicHJveHkiLCJmaWx0ZXIiLCJmbGF0TWFwIiwiY29udGV4dCIsImFwcCIsImdldCIsIlJlZ0V4cCIsInVybCIsImVuZHNXaXRoIiwic3RhdHVzQ29kZSIsInNldEhlYWRlciIsInNlbmQiLCJzb2NrZXQiLCJvbiIsImNvZGUiLCJydW5TZXJ2ZXIiLCJzdGFydCIsImhvb2tzIiwiZG9uZSIsInRhcCIsIm11bHRpU3RhdHMiLCJmaW5kZXIiLCJmaWxlVGV4dCIsInRleHRSb3dzIiwic3BsaXQiLCJtYXRjaCIsInN0YWNrIiwibWF0Y2hBbGwiLCJyb3ciLCJOdW1iZXIiLCJwYXJzZUludCIsImNvbCIsImJhc2VuYW1lIiwid3JpdGVGaWxlU3luYyIsInN0b3BTZXJ2ZXIiLCJzdG9wIiwid2FybiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3N0YXJ0RGV2c2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbk9iamVjdC5oYXNPd24gPVxuICBPYmplY3QuaGFzT3duIHx8XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGZ1bmN0aW9uIGhhc093bihpdCwga2V5KSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbiAgfTtcbmltcG9ydCB0eXBlIHsgTmV4dEZ1bmN0aW9uIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgZGlza0ZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IGNyZWF0ZUZzUmVxdWlyZSB9IGZyb20gJ2ZzLXJlcXVpcmUnO1xuaW1wb3J0IHsgU2VydmVyLCBJbmNvbWluZ01lc3NhZ2UsIFNlcnZlclJlc3BvbnNlIH0gZnJvbSAnaHR0cCc7XG5pbXBvcnQgeyBjcmVhdGVGc0Zyb21Wb2x1bWUsIFZvbHVtZSB9IGZyb20gJ21lbWZzJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHNvdXJjZU1hcFN1cHBvcnQgZnJvbSAnc291cmNlLW1hcC1zdXBwb3J0JztcbmltcG9ydCB0bXAgZnJvbSAndG1wJztcbmltcG9ydCB7IHVmcyB9IGZyb20gJ3VuaW9uZnMnO1xuaW1wb3J0IHsgcHJvbWlzaWZ5IH0gZnJvbSAndXRpbCc7XG5pbXBvcnQgd2VicGFjaywgeyBNdWx0aUNvbXBpbGVyIH0gZnJvbSAnd2VicGFjayc7XG5pbXBvcnQgbG9nZ2luZyBmcm9tICd3ZWJwYWNrL2xpYi9sb2dnaW5nL3J1bnRpbWUuanMnO1xuaW1wb3J0IFdlYnBhY2tEZXZTZXJ2ZXIgZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcblxuaW1wb3J0ICdjcm9zcy1mZXRjaC9kaXN0L25vZGUtcG9seWZpbGwuanMnO1xuaW1wb3J0IHsgZ2V0V2VicGFja0NvbmZpZyB9IGZyb20gJy4vZ2V0V2VicGFja0NvbmZpZy5qcyc7XG5pbXBvcnQgeyBCb3VuZFJlbmRlciB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG4vLyBydW4gZGlyZWN0bHkgZnJvbSBub2RlXG5pZiAoJ21haW4nIGluIGltcG9ydC5tZXRhKSB7XG4gIGNvbnN0IGVudHJ5cG9pbnQgPSBwcm9jZXNzLmFyZ3ZbMl07XG5cbiAgaWYgKCFlbnRyeXBvaW50KSB7XG4gICAgY29uc29sZS5sb2coYFVzYWdlOiBzdGFydC1hbmFuc2kgPGVudHJ5cG9pbnQtZmlsZT5gKTtcbiAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICB9XG5cbiAgc3RhcnREZXZTZXJ2ZXIoZW50cnlwb2ludCk7XG59XG5cbmxldCBzZXJ2ZXJGaWxlQ29udGVudHM6IFByb21pc2U8c3RyaW5nPiA9IFByb21pc2UucmVzb2x2ZSgnJyk7XG5sZXQgc2VydmVyRW50cnkgPSAnJztcblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gc3RhcnREZXZTZXJ2ZXIoXG4gIGVudHJ5cG9pbnQ6IHN0cmluZyxcbiAgZW52OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9LFxuKSB7XG4gIGNvbnN0IHdlYnBhY2tDb25maWcgPSBhd2FpdCBnZXRXZWJwYWNrQ29uZmlnKCk7XG5cbiAgY29uc3QgbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2FuYW5zaS1kZXZzZXJ2ZXInKTtcblxuICAvLyBTZXQgdXAgaW4gbWVtb3J5IGZpbGVzeXN0ZW1cbiAgY29uc3Qgdm9sdW1lID0gbmV3IFZvbHVtZSgpO1xuICBjb25zdCBmcyA9IGNyZWF0ZUZzRnJvbVZvbHVtZSh2b2x1bWUpO1xuICB1ZnMudXNlKGRpc2tGcykudXNlKGZzIGFzIGFueSk7XG5cbiAgY29uc3QgZnNSZXF1aXJlID0gY3JlYXRlRnNSZXF1aXJlKHVmcyk7XG4gIGNvbnN0IHJlYWRGaWxlID0gcHJvbWlzaWZ5KHVmcy5yZWFkRmlsZSk7XG4gIGxldCBzZXJ2ZXI6IFNlcnZlciB8IHVuZGVmaW5lZDtcblxuICAvLyBHZW5lcmF0ZSBhIHRlbXBvcmFyeSBmaWxlIHNvIHdlIGNhbiBob3QgcmVsb2FkIGZyb20gdGhlIHJvb3Qgb2YgdGhlIGFwcGxpY2F0aW9uXG4gIGZ1bmN0aW9uIGhvdEVudHJ5KGVudHJ5UGF0aDogc3RyaW5nKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgLy8gQHRzLWlnbm9yZSBmb3Igc29tZSByZWFzb24gaXQncyBub3QgcGlja2luZyB1cCB0aGF0IG90aGVyIG9wdGlvbnMgYXJlIG9wdGlvbmFsXG4gICAgY29uc3QgZ2VuZXJhdGVkRW50cnlwb2ludCA9IHRtcC5maWxlU3luYyh7IHBvc3RmaXg6ICcuanMnIH0pO1xuICAgIGRpc2tGcy53cml0ZVN5bmMoXG4gICAgICBnZW5lcmF0ZWRFbnRyeXBvaW50LmZkLFxuICAgICAgYFxuICBpbXBvcnQgZW50cnkgZnJvbSBcIiR7cGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIGVudHJ5UGF0aCl9XCI7XG5cbiAgaWYgKGltcG9ydC5tZXRhLndlYnBhY2tIb3QpIHtcbiAgICBpbXBvcnQubWV0YS53ZWJwYWNrSG90LmFjY2VwdCgpO1xuICB9XG5cbiAgZXhwb3J0IGRlZmF1bHQgZW50cnk7XG4gICAgYCxcbiAgICApO1xuICAgIHJldHVybiBnZW5lcmF0ZWRFbnRyeXBvaW50O1xuICB9XG5cbiAgY29uc3Qgd2VicGFja0NvbmZpZ3MgPSBbXG4gICAgd2VicGFja0NvbmZpZyhcbiAgICAgIHtcbiAgICAgICAgLi4uZW52LFxuICAgICAgICBlbnRyeXBhdGg6IGhvdEVudHJ5KGVudHJ5cG9pbnQpLm5hbWUsXG4gICAgICAgIG5hbWU6ICdjbGllbnQnLFxuICAgICAgfSxcbiAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JyB9LFxuICAgICksXG4gICAgd2VicGFja0NvbmZpZyhcbiAgICAgIHtcbiAgICAgICAgLi4uZW52LFxuICAgICAgICBlbnRyeXBhdGg6IGVudHJ5cG9pbnQucmVwbGFjZSgnLnRzeCcsICcuc2VydmVyLnRzeCcpLFxuICAgICAgICBuYW1lOiAnc2VydmVyJyxcbiAgICAgICAgQlJPV1NFUlNMSVNUX0VOVjogJ2N1cnJlbnQgbm9kZScsXG4gICAgICB9LFxuICAgICAgeyBtb2RlOiAnZGV2ZWxvcG1lbnQnLCB0YXJnZXQ6ICdub2RlJyB9LFxuICAgICksXG4gIF0gYXMgY29uc3Q7XG5cbiAgLy8gaW5pdGlhbGl6ZSB0aGUgd2VicGFjayBjb21waWxlclxuICBjb25zdCBjb21waWxlcjogTXVsdGlDb21waWxlciA9IHdlYnBhY2sod2VicGFja0NvbmZpZ3MpO1xuXG4gIHNvdXJjZU1hcFN1cHBvcnQuaW5zdGFsbCh7IGhvb2tSZXF1aXJlOiB0cnVlIH0pO1xuXG4gIGZ1bmN0aW9uIGdldFNlcnZlckJ1bmRsZShzZXJ2ZXJTdGF0czogd2VicGFjay5TdGF0cykge1xuICAgIGNvbnN0IHNlcnZlckpzb24gPSBzZXJ2ZXJTdGF0cy50b0pzb24oeyBhc3NldHM6IHRydWUgfSk7XG4gICAgcmV0dXJuIHBhdGguam9pbihzZXJ2ZXJKc29uLm91dHB1dFBhdGggPz8gJycsICdzZXJ2ZXIuanMnKTtcbiAgfVxuICBmdW5jdGlvbiBoYW5kbGVFcnJvcnM8XG4gICAgRiBleHRlbmRzIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICApID0+IFByb21pc2U8dm9pZD4sXG4gID4oZm46IEYpIHtcbiAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKFxuICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGZuKHJlcSwgcmVzKTtcbiAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgbmV4dCh4KTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgbGV0IGluaXRSZW5kZXI6XG4gICAgfCB7IGFyZ3M6IFBhcmFtZXRlcnM8Qm91bmRSZW5kZXI+OyByZXNvbHZlOiAoKSA9PiB2b2lkIH1bXVxuICAgIHwgdW5kZWZpbmVkID0gW107XG4gIGxldCByZW5kZXI6IEJvdW5kUmVuZGVyID0gKC4uLmFyZ3MpID0+XG4gICAgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICBpbml0UmVuZGVyPy5wdXNoKHsgYXJncywgcmVzb2x2ZSB9KTtcbiAgICB9KTtcblxuICBmdW5jdGlvbiBpbXBvcnRSZW5kZXIoc3RhdHM6IHdlYnBhY2suU3RhdHNbXSkge1xuICAgIGNvbnN0IFtjbGllbnRTdGF0cywgc2VydmVyU3RhdHNdID0gc3RhdHM7XG4gICAgaWYgKFxuICAgICAgY2xpZW50U3RhdHM/LmNvbXBpbGF0aW9uPy5lcnJvcnM/Lmxlbmd0aCB8fFxuICAgICAgc2VydmVyU3RhdHM/LmNvbXBpbGF0aW9uPy5lcnJvcnM/Lmxlbmd0aFxuICAgICkge1xuICAgICAgbG9nLmVycm9yKCdFcnJvcnMgZm9yIGNsaWVudCBidWlsZDogJyArIGNsaWVudFN0YXRzLmNvbXBpbGF0aW9uLmVycm9ycyk7XG4gICAgICBsb2cuZXJyb3IoJ0Vycm9ycyBmb3Igc2VydmVyIGJ1aWxkOiAnICsgc2VydmVyU3RhdHMuY29tcGlsYXRpb24uZXJyb3JzKTtcbiAgICAgIC8vIGZpcnN0IHRpbWUsIHJhdGhlciB0aGFuIHJlLXJlbmRlclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaW5pdFJlbmRlcikpIHtcbiAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgIH1cbiAgICAgIGxvZy5lcnJvcignQWJvdmUgY29tcGlsZXIgZXJyb3JzIGJsb2NraW5nIHJlbG9hZCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuaW5mbygnTGF1bmNoaW5nIFNTUicpO1xuICAgIH1cblxuICAgIC8vIEFTU0VUU1xuICAgIGNvbnN0IGNsaWVudE1hbmlmZXN0ID0gY2xpZW50U3RhdHMudG9Kc29uKCk7XG5cbiAgICBzZXJ2ZXJFbnRyeSA9IGdldFNlcnZlckJ1bmRsZShzZXJ2ZXJTdGF0cyk7XG4gICAgc2VydmVyRmlsZUNvbnRlbnRzID0gcmVhZEZpbGUoc2VydmVyRW50cnkpLnRoZW4oYnVmID0+IGJ1Zi50b1N0cmluZygpKTtcbiAgICAvLyByZWxvYWQgbW9kdWxlc1xuICAgIE9iamVjdC5rZXlzKGZzUmVxdWlyZS5jYWNoZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgZGVsZXRlIGZzUmVxdWlyZS5jYWNoZVtrZXldO1xuICAgIH0pO1xuICAgIHJlbmRlciA9IChmc1JlcXVpcmUoc2VydmVyRW50cnkpIGFzIGFueSkuZGVmYXVsdC5iaW5kKFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgY2xpZW50TWFuaWZlc3QsXG4gICAgKTtcbiAgICAvLyBTRVJWRVIgU0lERSBFTlRSWVBPSU5UXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaW5pdFJlbmRlcikpIHtcbiAgICAgIGluaXRSZW5kZXIuZm9yRWFjaChhc3luYyBpbml0ID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsb2cuaW5mbygnUmVzb2x2aW5nIHF1ZXVlZCByZXF1ZXN0cycpO1xuICAgICAgICAgIGF3YWl0IHJlbmRlciguLi5pbml0LmFyZ3MpO1xuICAgICAgICAgIGluaXQucmVzb2x2ZSgpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgbG9nLmVycm9yKCdFcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVuZGVyIHF1ZXVlZCByZXF1ZXN0cycpO1xuICAgICAgICAgIGxvZy5lcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpbml0UmVuZGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRldlNlcnZlciA9IG5ldyBXZWJwYWNrRGV2U2VydmVyKFxuICAgIC8vIHdyaXRlIHRvIG1lbW9yeSBmaWxlc3lzdGVtIHNvIHdlIGNhbiBpbXBvcnRcbiAgICB7XG4gICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIsXG4gICAgICBkZXZNaWRkbGV3YXJlOiB7XG4gICAgICAgIC4uLndlYnBhY2tDb25maWdzWzBdPy5kZXZTZXJ2ZXI/LmRldk1pZGRsZXdhcmUsXG4gICAgICAgIG91dHB1dEZpbGVTeXN0ZW06IHtcbiAgICAgICAgICAuLi5mcyxcbiAgICAgICAgICBqb2luOiBwYXRoLmpvaW4gYXMgYW55LFxuICAgICAgICB9IGFzIGFueSxcbiAgICAgIH0sXG4gICAgICBzZXR1cE1pZGRsZXdhcmVzOiAobWlkZGxld2FyZXMsIGRldlNlcnZlcikgPT4ge1xuICAgICAgICBpZiAoIWRldlNlcnZlcikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignd2VicGFjay1kZXYtc2VydmVyIGlzIG5vdCBkZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvdGhlclJvdXRlcyA9IFtcbiAgICAgICAgICBwcm9jZXNzLmVudi5XRUJQQUNLX1BVQkxJQ19QQVRILFxuICAgICAgICAgIC4uLih3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LnByb3h5XG4gICAgICAgICAgICA/LmZpbHRlcihwcm94eSA9PiB0eXBlb2YgcHJveHkgPT09ICdvYmplY3QnKVxuICAgICAgICAgICAgPy5mbGF0TWFwKHByb3h5ID0+IHByb3h5LmNvbnRleHQpID8/IFtdKSxcbiAgICAgICAgXTtcbiAgICAgICAgLy8gc2VydmUgU1NSIGZvciBub24tV0VCUEFDS19QVUJMSUNfUEFUSFxuICAgICAgICBkZXZTZXJ2ZXIuYXBwPy5nZXQoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXig/ISR7b3RoZXJSb3V0ZXMuam9pbignfCcpfSlgKSxcbiAgICAgICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICBsb2cuZXJyb3IoJ0ZhdGFsOicsIGVycm9yKTtcbiAgICAgICAgICAgICAgaWYgKChlcnJvciBhcyBhbnkpLmNvZGUgPT09ICdFQ09OTlJFU0VUJykge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICAgICAgICAgICdFQ09OTlJFU0VUIGlzIHVzdWFsbHkgZHVlIHRvIGJyb3dzZXIgY2xvc2luZyB0aGUgY29ubmVjdGlvbicsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHJlbmRlcihyZXEsIHJlcyk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHdlYnBhY2tDb25maWdzWzBdLmRldlNlcnZlcj8uc2V0dXBNaWRkbGV3YXJlcykge1xuICAgICAgICAgIHJldHVybiB3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIuc2V0dXBNaWRkbGV3YXJlcyhcbiAgICAgICAgICAgIG1pZGRsZXdhcmVzLFxuICAgICAgICAgICAgZGV2U2VydmVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWlkZGxld2FyZXM7XG4gICAgICB9LFxuICAgIH0sXG4gICAgY29tcGlsZXIsXG4gICk7XG4gIGNvbnN0IHJ1blNlcnZlciA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RhcnQoKTtcbiAgICBkZXZTZXJ2ZXIuY29tcGlsZXIuaG9va3MuZG9uZS50YXAoXG4gICAgICAnQW5hbnNpIFNlcnZlcicsXG4gICAgICAobXVsdGlTdGF0czogd2VicGFjay5NdWx0aVN0YXRzIHwgd2VicGFjay5TdGF0cykgPT4ge1xuICAgICAgICBpZiAoIW11bHRpU3RhdHMpIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ3N0YXRzIG5vdCBzZW5kJyk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghT2JqZWN0Lmhhc093bihtdWx0aVN0YXRzLCAnc3RhdHMnKSkgcmV0dXJuO1xuICAgICAgICBpZiAoKG11bHRpU3RhdHMgYXMgd2VicGFjay5NdWx0aVN0YXRzKS5zdGF0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGltcG9ydFJlbmRlcigobXVsdGlTdGF0cyBhcyB3ZWJwYWNrLk11bHRpU3RhdHMpLnN0YXRzKTtcbiAgICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcignRmFpbGVkIHRvIGxvYWQgc2VydmUgZW50cnlwb2ludCcpO1xuICAgICAgICAgICAgY29uc3QgZmluZGVyID0gbmV3IFJlZ0V4cChgJHtzZXJ2ZXJFbnRyeX06KFtcXFxcZF0rKTooW1xcXFxkXSspYCwgJ2cnKTtcbiAgICAgICAgICAgIHNlcnZlckZpbGVDb250ZW50cy50aGVuKGZpbGVUZXh0ID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGV4dFJvd3MgPSBmaWxlVGV4dC5zcGxpdCgnXFxuJyk7XG4gICAgICAgICAgICAgIGxvZy5lcnJvcignPj4+IFN0YWNrIENvbnRleHQgW3NlcnZlIGVudHJ5cG9pbnRdIDw8PCcpO1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGUuc3RhY2subWF0Y2hBbGwoZmluZGVyKSA/PyBbXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IE51bWJlci5wYXJzZUludChtYXRjaFsxXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sID0gTnVtYmVyLnBhcnNlSW50KG1hdGNoWzJdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IocGF0aC5iYXNlbmFtZShzZXJ2ZXJFbnRyeSkgKyAnICcgKyByb3cgKyAnOicgKyBjb2wpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgLSAyXSk7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKHRleHRSb3dzW3JvdyAtIDFdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IoQXJyYXkoY29sKS5qb2luKCcgJykgKyAnXicpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3ddKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IodGV4dFJvd3Nbcm93ICsgMV0pO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgKyAyXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGlza0ZzLndyaXRlRmlsZVN5bmMoc2VydmVyRW50cnksIGZpbGVUZXh0KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ09ubHkgY29tcGlsZXIgb25lIHN0YXQnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICApO1xuICB9O1xuICBjb25zdCBzdG9wU2VydmVyID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvZy5pbmZvKCdTdG9wcGluZyBzZXJ2ZXIuLi4nKTtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RvcCgpO1xuICAgIGxvZy5pbmZvKCdTZXJ2ZXIgY2xvc2VkJyk7XG4gIH07XG5cbiAgcHJvY2Vzcy5vbignU0lHSU5UJywgKCkgPT4ge1xuICAgIGxvZy53YXJuKCdSZWNlaXZlZCBTSUdJTlQsIGRldnNlcnZlciBzaHV0dGluZyBkb3duJyk7XG4gICAgc3RvcFNlcnZlcigpO1xuICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gIH0pO1xuXG4gIHJ1blNlcnZlcigpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7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
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
|
|
2
1
|
import React from 'react';
|
|
3
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
3
|
export default function antdSpout() {
|
|
@@ -21,7 +20,7 @@ export default function antdSpout() {
|
|
|
21
20
|
};
|
|
22
21
|
// unfortunately we have to inject this after the entire content has streamed in or it doesn't correctly populate
|
|
23
22
|
// see: https://github.com/ant-design/cssinjs/issues/79
|
|
24
|
-
|
|
23
|
+
scripts.push(/*#__PURE__*/_jsx(AntdSheets, {}));
|
|
25
24
|
return {
|
|
26
25
|
...nextProps,
|
|
27
26
|
app: /*#__PURE__*/_jsx(StyleProvider, {
|
|
@@ -32,4 +31,4 @@ export default function antdSpout() {
|
|
|
32
31
|
};
|
|
33
32
|
};
|
|
34
33
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImpzeCIsIl9qc3giLCJhbnRkU3BvdXQiLCJuZXh0IiwicHJvcHMiLCJfbmV4dFByb3BzJHNjcmlwdHMiLCJjcmVhdGVDYWNoZSIsImV4dHJhY3RTdHlsZSIsIlN0eWxlUHJvdmlkZXIiLCJjYWNoZSIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJBbnRkU2hlZXRzIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJwdXNoIiwiYXBwIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL2FudGQuc2VydmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFudGRTcG91dCgpOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZWVkZWROZXh0XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgY3JlYXRlQ2FjaGUsIGV4dHJhY3RTdHlsZSwgU3R5bGVQcm92aWRlciB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgLyogd2VicGFja0lnbm9yZTogdHJ1ZSAqLyAnQGFudC1kZXNpZ24vY3NzaW5qcydcbiAgICApO1xuICAgIGNvbnN0IGNhY2hlID0gY3JlYXRlQ2FjaGUoKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIGNvbnN0IEFudGRTaGVldHMgPSAoKTogSlNYLkVsZW1lbnQgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHNjcmlwdFxuICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICBfX2h0bWw6IGA8L3NjcmlwdD4ke2V4dHJhY3RTdHlsZShjYWNoZSl9PHNjcmlwdD5gLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH07XG4gICAgLy8gdW5mb3J0dW5hdGVseSB3ZSBoYXZlIHRvIGluamVjdCB0aGlzIGFmdGVyIHRoZSBlbnRpcmUgY29udGVudCBoYXMgc3RyZWFtZWQgaW4gb3IgaXQgZG9lc24ndCBjb3JyZWN0bHkgcG9wdWxhdGVcbiAgICAvLyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2Nzc2luanMvaXNzdWVzLzc5XG4gICAgc2NyaXB0cy5wdXNoKDxBbnRkU2hlZXRzIC8+KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IDxTdHlsZVByb3ZpZGVyIGNhY2hlPXtjYWNoZX0+e25leHRQcm9wcy5hcHB9PC9TdHlsZVByb3ZpZGVyPixcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsS0FBSyxNQUFvQixPQUFPO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBVXhDLGVBQWUsU0FBU0MsU0FBU0EsQ0FBQSxFQUkvQjtFQUNBLE9BQU9DLElBQUksSUFBSSxNQUFNQyxLQUFLLElBQUk7SUFBQSxJQUFBQyxrQkFBQTtJQUM1QixNQUFNO01BQUVDLFdBQVc7TUFBRUMsWUFBWTtNQUFFQztJQUFjLENBQUMsR0FBRyxNQUFNLE1BQU0sQ0FDL0QseUJBQTBCLHFCQUM1QixDQUFDO0lBQ0QsTUFBTUMsS0FBSyxHQUFHSCxXQUFXLENBQUMsQ0FBQztJQUUzQixNQUFNSSxTQUFTLEdBQUcsTUFBTVAsSUFBSSxDQUFDQyxLQUFLLENBQUM7SUFFbkMsTUFBTU8sT0FBMEIsSUFBQU4sa0JBQUEsR0FBR0ssU0FBUyxDQUFDQyxPQUFPLFlBQUFOLGtCQUFBLEdBQUksRUFBRTtJQUUxRCxNQUFNTyxVQUFVLEdBQUdBLENBQUEsS0FBbUI7TUFDcEMsb0JBQ0VYLElBQUE7UUFDRVksdUJBQXVCLEVBQUU7VUFDdkJDLE1BQU0sRUFBRSxZQUFZUCxZQUFZLENBQUNFLEtBQUssQ0FBQztRQUN6QztNQUFFLENBQ0gsQ0FBQztJQUVOLENBQUM7SUFDRDtJQUNBO0lBQ0FFLE9BQU8sQ0FBQ0ksSUFBSSxjQUFDZCxJQUFBLENBQUNXLFVBQVUsSUFBRSxDQUFDLENBQUM7SUFFNUIsT0FBTztNQUNMLEdBQUdGLFNBQVM7TUFDWk0sR0FBRyxlQUFFZixJQUFBLENBQUNPLGFBQWE7UUFBQ0MsS0FBSyxFQUFFQSxLQUFNO1FBQUFRLFFBQUEsRUFBRVAsU0FBUyxDQUFDTTtNQUFHLENBQWdCLENBQUM7TUFDakVMO0lBQ0YsQ0FBQztFQUNILENBQUM7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==
|
package/lib/spouts/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/spouts/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,QAAA,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/spouts/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,QAAA,MAAM,QAAQ,GACX,KAAK,GAAG,CAAC,OAAO,MAChB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC;;GACR,CAAC;AAEvC,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.server.d.ts","sourceRoot":"","sources":["../../src/spouts/app.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,QAAA,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"app.server.d.ts","sourceRoot":"","sources":["../../src/spouts/app.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,QAAA,MAAM,QAAQ,GACX,KAAK,GAAG,CAAC,OAAO,MAChB,CAAC,SAAS,WAAW,EAAE,OAAO,CAAC;;GACI,CAAC;AAEvC,eAAe,QAAQ,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
|
|
2
1
|
import _includesInstanceProperty from "core-js-pure/stable/instance/includes.js";
|
|
3
2
|
import React from 'react';
|
|
4
3
|
import { buildPolicy, joinNonce } from './csp.js';
|
|
@@ -19,7 +18,7 @@ export default function DocumentSpout(options) {
|
|
|
19
18
|
const assetList = [];
|
|
20
19
|
Object.values((_props$clientManifest3 = (_props$clientManifest4 = props.clientManifest) == null ? void 0 : _props$clientManifest4.entrypoints) != null ? _props$clientManifest3 : {}).forEach(entrypoint => {
|
|
21
20
|
var _entrypoint$assets;
|
|
22
|
-
|
|
21
|
+
assetList.push(...assetMap((_entrypoint$assets = entrypoint.assets) != null ? _entrypoint$assets : []));
|
|
23
22
|
});
|
|
24
23
|
new Set(assetMap(Object.values((_props$clientManifest5 = props.clientManifest.namedChunkGroups) != null ? _props$clientManifest5 : {}).filter(({
|
|
25
24
|
name
|
|
@@ -28,7 +27,7 @@ export default function DocumentSpout(options) {
|
|
|
28
27
|
return [...((_chunk$assets = chunk.assets) != null ? _chunk$assets : []),
|
|
29
28
|
// any chunk preloads
|
|
30
29
|
...childrenAssets(chunk)];
|
|
31
|
-
}))).forEach(asset =>
|
|
30
|
+
}))).forEach(asset => assetList.push(asset));
|
|
32
31
|
|
|
33
32
|
// find additional assets to preload based on matched route
|
|
34
33
|
const assets = assetList.filter(asset => !asset.endsWith('.hot-update.js')).map(asset => asset.endsWith('.css') ? {
|
|
@@ -64,4 +63,4 @@ function childrenAssets(chunk) {
|
|
|
64
63
|
return (_c$assets = c.assets) != null ? _c$assets : [];
|
|
65
64
|
})) : [];
|
|
66
65
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImJ1aWxkUG9saWN5Iiwiam9pbk5vbmNlIiwiRG9jdW1lbnQiLCJqc3giLCJfanN4IiwiRG9jdW1lbnRTcG91dCIsIm9wdGlvbnMiLCJuZXh0IiwicHJvcHMiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3QiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3QyIiwiX3Byb3BzJGNsaWVudE1hbmlmZXN0MyIsIl9wcm9wcyRjbGllbnRNYW5pZmVzdDQiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3Q1IiwiX25leHRQcm9wcyR0aXRsZSIsIm5leHRQcm9wcyIsInB1YmxpY1BhdGgiLCJjbGllbnRNYW5pZmVzdCIsIk9iamVjdCIsImtleXMiLCJlbnRyeXBvaW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkVycm9yIiwiYXNzZXRNYXAiLCJhc3NldHMiLCJtYXAiLCJuYW1lIiwiYXNzZXRMaXN0IiwidmFsdWVzIiwiZm9yRWFjaCIsImVudHJ5cG9pbnQiLCJfZW50cnlwb2ludCRhc3NldHMiLCJwdXNoIiwiU2V0IiwibmFtZWRDaHVua0dyb3VwcyIsImZpbHRlciIsIm1hdGNoZWRSb3V0ZXMiLCJzb21lIiwicm91dGUiLCJfaW5jbHVkZXNJbnN0YW5jZVByb3BlcnR5IiwiY2FsbCIsImZsYXRNYXAiLCJjaHVuayIsIl9jaHVuayRhc3NldHMiLCJjaGlsZHJlbkFzc2V0cyIsImFzc2V0IiwiZW5kc1dpdGgiLCJocmVmIiwicmVsIiwiYXMiLCJjc1BvbGljeSIsImh0dHBFcXVpdiIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInJlcyIsInNldEhlYWRlciIsIm5vbmNlIiwiYXBwIiwiZXh0cmFTdHlsZSIsInRpdGxlIiwicm9vdElkIiwic2NyaXB0cyIsImNoaWxkcmVuIiwicHJlbG9hZCIsImMiLCJfYyRhc3NldHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL2RvY3VtZW50LnNlcnZlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSb3V0ZSB9IGZyb20gJ0BhbmFuc2kvcm91dGVyJztcbmltcG9ydCB7IFJlcXVlc3QgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTdGF0c0NodW5rR3JvdXAgfSBmcm9tICd3ZWJwYWNrJztcblxuaW1wb3J0IHsgYnVpbGRQb2xpY3ksIGpvaW5Ob25jZSwgUG9saWN5IH0gZnJvbSAnLi9jc3AuanMnO1xuaW1wb3J0IERvY3VtZW50IGZyb20gJy4vRG9jdW1lbnRDb21wb25lbnQuanMnO1xuaW1wb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG50eXBlIE5lZWRlZE5leHQgPSB7XG4gIG1hdGNoZWRSb3V0ZXM6IFJvdXRlPGFueT5bXTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHNjcmlwdHM/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbiAgZXh0cmFTdHlsZT86IFJlYWN0LlJlYWN0Tm9kZVtdO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRG9jdW1lbnRTcG91dChvcHRpb25zOiB7XG4gIGhlYWQ/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGxhbmc/OiBzdHJpbmc7XG4gIHJvb3RJZD86IHN0cmluZztcbiAgY2hhclNldD86IHN0cmluZztcbiAgY3NQb2xpY3k/OiBQb2xpY3k7XG59KTogU2VydmVyU3BvdXQ8UmVjb3JkPHN0cmluZywgdW5rbm93bj4sIFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBOZWVkZWROZXh0PiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHByb3BzKTtcblxuICAgIGNvbnN0IHB1YmxpY1BhdGggPSBwcm9wcy5jbGllbnRNYW5pZmVzdC5wdWJsaWNQYXRoO1xuXG4gICAgaWYgKFxuICAgICAgT2JqZWN0LmtleXMocHJvcHMuY2xpZW50TWFuaWZlc3Q/LmVudHJ5cG9pbnRzID8/IHt9KS5sZW5ndGggPCAxIHx8XG4gICAgICBwdWJsaWNQYXRoID09PSB1bmRlZmluZWRcbiAgICApXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01hbmlmZXN0IG1pc3NpbmcgZW50cmllcyBuZWVkZWQnKTtcblxuICAgIC8vIFRPRE86IGNvbnNpZGVyIHVzaW5nIHRoaXMgcGFja2FnZSBmb3IgYnVpbGQgc3RhdHMgaW4gZnV0dXJlOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC90cmVlL21haW4vcGFja2FnZXMvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrXG4gICAgY29uc3QgYXNzZXRNYXAgPSAoYXNzZXRzOiB7IG5hbWU6IHN0cmluZzsgc2l6ZT86IG51bWJlciB9W10pID0+XG4gICAgICBhc3NldHMubWFwKCh7IG5hbWUgfSkgPT4gYCR7cHVibGljUGF0aH0ke25hbWV9YCk7XG5cbiAgICBjb25zdCBhc3NldExpc3Q6IHN0cmluZ1tdID0gW107XG4gICAgT2JqZWN0LnZhbHVlcyhwcm9wcy5jbGllbnRNYW5pZmVzdD8uZW50cnlwb2ludHMgPz8ge30pLmZvckVhY2goXG4gICAgICBlbnRyeXBvaW50ID0+IHtcbiAgICAgICAgYXNzZXRMaXN0LnB1c2goLi4uYXNzZXRNYXAoZW50cnlwb2ludC5hc3NldHMgPz8gW10pKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgICBuZXcgU2V0KFxuICAgICAgYXNzZXRNYXAoXG4gICAgICAgIE9iamVjdC52YWx1ZXMocHJvcHMuY2xpZW50TWFuaWZlc3QubmFtZWRDaHVua0dyb3VwcyA/PyB7fSlcbiAgICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT5cbiAgICAgICAgICAgIG5leHRQcm9wcy5tYXRjaGVkUm91dGVzLnNvbWUocm91dGUgPT4gbmFtZT8uaW5jbHVkZXMocm91dGUubmFtZSkpLFxuICAgICAgICAgIClcbiAgICAgICAgICAuZmxhdE1hcChjaHVuayA9PiBbXG4gICAgICAgICAgICAuLi4oY2h1bmsuYXNzZXRzID8/IFtdKSxcbiAgICAgICAgICAgIC8vIGFueSBjaHVuayBwcmVsb2Fkc1xuICAgICAgICAgICAgLi4uY2hpbGRyZW5Bc3NldHMoY2h1bmspLFxuICAgICAgICAgIF0pLFxuICAgICAgKSxcbiAgICApLmZvckVhY2goYXNzZXQgPT4gYXNzZXRMaXN0LnB1c2goYXNzZXQpKTtcblxuICAgIC8vIGZpbmQgYWRkaXRpb25hbCBhc3NldHMgdG8gcHJlbG9hZCBiYXNlZCBvbiBtYXRjaGVkIHJvdXRlXG4gICAgY29uc3QgYXNzZXRzOiB7XG4gICAgICBocmVmOiBzdHJpbmc7XG4gICAgICBhcz86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIHJlbD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICB9W10gPSBhc3NldExpc3RcbiAgICAgIC5maWx0ZXIoYXNzZXQgPT4gIWFzc2V0LmVuZHNXaXRoKCcuaG90LXVwZGF0ZS5qcycpKVxuICAgICAgLm1hcChhc3NldCA9PlxuICAgICAgICBhc3NldC5lbmRzV2l0aCgnLmNzcycpID8geyBocmVmOiBhc3NldCwgcmVsOiAnc3R5bGVzaGVldCcgfVxuICAgICAgICA6IGFzc2V0LmVuZHNXaXRoKCcuanMnKSA/IHsgaHJlZjogYXNzZXQsIGFzOiAnc2NyaXB0JyB9XG4gICAgICAgIDogeyBocmVmOiBhc3NldCB9LFxuICAgICAgKTtcblxuICAgIGlmIChvcHRpb25zLmNzUG9saWN5KSB7XG4gICAgICBjb25zdCBodHRwRXF1aXYgPVxuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nID9cbiAgICAgICAgICAnQ29udGVudC1TZWN1cml0eS1Qb2xpY3knXG4gICAgICAgIDogJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5LVJlcG9ydC1Pbmx5JztcblxuICAgICAgcHJvcHMucmVzLnNldEhlYWRlcihcbiAgICAgICAgaHR0cEVxdWl2LFxuICAgICAgICBidWlsZFBvbGljeShqb2luTm9uY2Uob3B0aW9ucy5jc1BvbGljeSwgcHJvcHMubm9uY2UpKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIGFwcDogKFxuICAgICAgICA8RG9jdW1lbnRcbiAgICAgICAgICB7Li4ub3B0aW9uc31cbiAgICAgICAgICBleHRyYVN0eWxlPXtuZXh0UHJvcHMuZXh0cmFTdHlsZX1cbiAgICAgICAgICB0aXRsZT17bmV4dFByb3BzLnRpdGxlID8/IG9wdGlvbnMudGl0bGV9XG4gICAgICAgICAgYXNzZXRzPXthc3NldHN9XG4gICAgICAgICAgcm9vdElkPXtvcHRpb25zLnJvb3RJZH1cbiAgICAgICAgICBzY3JpcHRzPXtuZXh0UHJvcHMuc2NyaXB0c31cbiAgICAgICAgPlxuICAgICAgICAgIHtuZXh0UHJvcHMuYXBwfVxuICAgICAgICA8L0RvY3VtZW50PlxuICAgICAgKSxcbiAgICB9O1xuICB9O1xufVxuXG5mdW5jdGlvbiBjaGlsZHJlbkFzc2V0cyhjaHVuazogU3RhdHNDaHVua0dyb3VwKSB7XG4gIHJldHVybiBjaHVuay5jaGlsZHJlbiA/XG4gICAgICBPYmplY3QudmFsdWVzKGNodW5rLmNoaWxkcmVuKS5mbGF0TWFwKHByZWxvYWQgPT5cbiAgICAgICAgcHJlbG9hZC5mbGF0TWFwKGMgPT4gYy5hc3NldHMgPz8gW10pLFxuICAgICAgKVxuICAgIDogW107XG59XG4iXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPQSxLQUFLLE1BQU0sT0FBTztBQUd6QixTQUFTQyxXQUFXLEVBQUVDLFNBQVMsUUFBZ0IsVUFBVTtBQUN6RCxPQUFPQyxRQUFRLE1BQU0sd0JBQXdCO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBVTlDLGVBQWUsU0FBU0MsYUFBYUEsQ0FBQ0MsT0FPckMsRUFBNkU7RUFDNUUsT0FBT0MsSUFBSSxJQUFJLE1BQU1DLEtBQUssSUFBSTtJQUFBLElBQUFDLHFCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFD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
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
|
|
2
1
|
import React, { Suspense } from 'react';
|
|
3
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
3
|
export default function JSONSpout({
|
|
@@ -29,7 +28,7 @@ export default function JSONSpout({
|
|
|
29
28
|
return null;
|
|
30
29
|
}
|
|
31
30
|
};
|
|
32
|
-
|
|
31
|
+
scripts.push(/*#__PURE__*/_jsx(Suspense, {
|
|
33
32
|
children: /*#__PURE__*/_jsx(Script, {})
|
|
34
33
|
}, globalId));
|
|
35
34
|
});
|
|
@@ -39,4 +38,4 @@ export default function JSONSpout({
|
|
|
39
38
|
};
|
|
40
39
|
};
|
|
41
40
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlN1c3BlbnNlIiwianN4IiwiX2pzeCIsIkpTT05TcG91dCIsImlkIiwibmV4dCIsInByb3BzIiwiX25leHRQcm9wcyRzY3JpcHRzIiwiX25leHRQcm9wcyRpbml0RGF0YSIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJPYmplY3QiLCJlbnRyaWVzIiwiaW5pdERhdGEiLCJmb3JFYWNoIiwia2V5IiwidXNlRGF0YSIsImdsb2JhbElkIiwiU2NyaXB0IiwiZGF0YSIsImVuY29kZWQiLCJKU09OIiwic3RyaW5naWZ5IiwidHlwZSIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwibm9uY2UiLCJlIiwiY29uc29sZSIsImVycm9yIiwicHVzaCIsImNoaWxkcmVuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nwb3V0cy9qc29uLnNlcnZlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFN1c3BlbnNlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkTmV4dCA9IHtcbiAgaW5pdERhdGE/OiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPjtcbiAgc2NyaXB0cz86IFJlYWN0LlJlYWN0Tm9kZVtdO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSlNPTlNwb3V0KHtcbiAgaWQgPSAnYW5hbnNpLWpzb24nLFxufTogeyBpZD86IHN0cmluZyB9ID0ge30pOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZWVkZWROZXh0XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIE9iamVjdC5lbnRyaWVzKG5leHRQcm9wcy5pbml0RGF0YSA/PyB7fSkuZm9yRWFjaCgoW2tleSwgdXNlRGF0YV0pID0+IHtcbiAgICAgIGNvbnN0IGdsb2JhbElkID0gYCR7aWR9LiR7a2V5fWA7XG4gICAgICBjb25zdCBTY3JpcHQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHVzZURhdGEoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBlbmNvZGVkID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxzY3JpcHRcbiAgICAgICAgICAgICAgaWQ9e2dsb2JhbElkfVxuICAgICAgICAgICAgICB0eXBlPVwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgX19odG1sOiBlbmNvZGVkLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBub25jZT17cHJvcHMubm9uY2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBUT0RPOiBVc2UgdW5pZmllZCBsb2dnaW5nXG4gICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3Igc2VyaWFsaXppbmcganNvbiBmb3IgJHtrZXl9YCk7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHNjcmlwdHMucHVzaChcbiAgICAgICAgPFN1c3BlbnNlIGtleT17Z2xvYmFsSWR9PlxuICAgICAgICAgIDxTY3JpcHQgLz5cbiAgICAgICAgPC9TdXNwZW5zZT4sXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsS0FBSyxJQUFJQyxRQUFRLFFBQVEsT0FBTztBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQVN4QyxlQUFlLFNBQVNDLFNBQVNBLENBQUM7RUFDaENDLEVBQUUsR0FBRztBQUNVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFJckI7RUFDQSxPQUFPQyxJQUFJLElBQUksTUFBTUMsS0FBSyxJQUFJO0lBQUEsSUFBQUMsa0JBQUEsRUFBQUMsbUJBQUE7SUFDNUIsTUFBTUMsU0FBUyxHQUFHLE1BQU1KLElBQUksQ0FBQ0MsS0FBSyxDQUFDO0lBRW5DLE1BQU1JLE9BQTBCLElBQUFILGtCQUFBLEdBQUdFLFNBQVMsQ0FBQ0MsT0FBTyxZQUFBSCxrQkFBQSxHQUFJLEVBQUU7SUFFMURJLE1BQU0sQ0FBQ0MsT0FBTyxFQUFBSixtQkFBQSxHQUFDQyxTQUFTLENBQUNJLFFBQVEsWUFBQUwsbUJBQUEsR0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDTSxPQUFPLENBQUMsQ0FBQyxDQUFDQyxHQUFHLEVBQUVDLE9BQU8sQ0FBQyxLQUFLO01BQ25FLE1BQU1DLFFBQVEsR0FBRyxHQUFHYixFQUFFLElBQUlXLEdBQUcsRUFBRTtNQUMvQixNQUFNRyxNQUFNLEdBQUdBLENBQUEsS0FBTTtRQUNuQixNQUFNQyxJQUFTLEdBQUdILE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUk7VUFDRixNQUFNSSxPQUFPLEdBQUdDLElBQUksQ0FBQ0MsU0FBUyxDQUFDSCxJQUFJLENBQUM7VUFDcEMsb0JBQ0VqQixJQUFBO1lBQ0VFLEVBQUUsRUFBRWEsUUFBUztZQUNiTSxJQUFJLEVBQUMsa0JBQWtCO1lBQ3ZCQyx1QkFBdUIsRUFBRTtjQUN2QkMsTUFBTSxFQUFFTDtZQUNWLENBQUU7WUFDRk0sS0FBSyxFQUFFcEIsS0FBSyxDQUFDb0I7VUFBTSxDQUNwQixDQUFDO1FBRU4sQ0FBQyxDQUFDLE9BQU9DLENBQUMsRUFBRTtVQUNWO1VBQ0FDLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLDhCQUE4QmQsR0FBRyxFQUFFLENBQUM7VUFDbERhLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDRixDQUFDLENBQUM7VUFDaEIsT0FBTyxJQUFJO1FBQ2I7TUFDRixDQUFDO01BQ0RqQixPQUFPLENBQUNvQixJQUFJLGNBQ1Y1QixJQUFBLENBQUNGLFFBQVE7UUFBQStCLFFBQUEsZUFDUDdCLElBQUEsQ0FBQ2dCLE1BQU0sSUFBRTtNQUFDLEdBREdELFFBRUwsQ0FDWixDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsT0FBTztNQUNMLEdBQUdSLFNBQVM7TUFDWkM7SUFDRixDQUFDO0VBQ0gsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefetch.server.d.ts","sourceRoot":"","sources":["../../src/spouts/prefetch.server.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5D,KAAK,WAAW,CAAC,SAAS,IAAI;IAC5B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,eAAe,CAAC;CAC/B,GAAG,YAAY,CAAC;AAEjB,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,IAE5D,SAAS,EACT,CAAC,SAAS,WAAW,CAAC,SAAS,CAAC,EAChC,CAAC,SAAS,WAAW,
|
|
1
|
+
{"version":3,"file":"prefetch.server.d.ts","sourceRoot":"","sources":["../../src/spouts/prefetch.server.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5D,KAAK,WAAW,CAAC,SAAS,IAAI;IAC5B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,eAAe,CAAC;CAC/B,GAAG,YAAY,CAAC;AAEjB,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,IAE5D,SAAS,EACT,CAAC,SAAS,WAAW,CAAC,SAAS,CAAC,EAChC,CAAC,SAAS,WAAW,EAErB,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CACzB,GACG,CAAC,IAAI,CAAC,GAAG,SAAS,GACpB,GAAG,CAAC,CACN,MAEa,OAAO,CAAC,gBAJjB,CAAC,0BA2BT"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
|
|
2
1
|
export default function prefetchSpout(field) {
|
|
3
2
|
return function (next) {
|
|
4
3
|
return async props => {
|
|
@@ -7,7 +6,7 @@ export default function prefetchSpout(field) {
|
|
|
7
6
|
const toFetch = [];
|
|
8
7
|
nextProps.matchedRoutes.forEach(route => {
|
|
9
8
|
if (typeof route.resolveData === 'function') {
|
|
10
|
-
|
|
9
|
+
toFetch.push(route.resolveData(nextProps[field], route, nextProps.searchParams));
|
|
11
10
|
}
|
|
12
11
|
});
|
|
13
12
|
await Promise.all(toFetch);
|
|
@@ -18,4 +17,4 @@ export default function prefetchSpout(field) {
|
|
|
18
17
|
};
|
|
19
18
|
};
|
|
20
19
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwcmVmZXRjaFNwb3V0IiwiZmllbGQiLCJuZXh0IiwicHJvcHMiLCJuZXh0UHJvcHMiLCJ0b0ZldGNoIiwibWF0Y2hlZFJvdXRlcyIsImZvckVhY2giLCJyb3V0ZSIsInJlc29sdmVEYXRhIiwicHVzaCIsInNlYXJjaFBhcmFtcyIsIlByb21pc2UiLCJhbGwiLCJlIiwiY29uc29sZSIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nwb3V0cy9wcmVmZXRjaC5zZXJ2ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuXG5pbXBvcnQgdHlwZSB7IFJlc29sdmVQcm9wcywgU2VydmVyUHJvcHMgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWRQcm9wczxSb3V0ZVdpdGg+ID0ge1xuICBtYXRjaGVkUm91dGVzOiBSb3V0ZTxSb3V0ZVdpdGg+W107XG4gIHNlYXJjaFBhcmFtczogVVJMU2VhcmNoUGFyYW1zO1xufSAmIFJlc29sdmVQcm9wcztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcHJlZmV0Y2hTcG91dDxGIGV4dGVuZHMgc3RyaW5nPihmaWVsZDogRikge1xuICByZXR1cm4gZnVuY3Rpb24gPFxuICAgIFJvdXRlV2l0aCxcbiAgICBOIGV4dGVuZHMgTmVlZGVkUHJvcHM8Um91dGVXaXRoPixcbiAgICBJIGV4dGVuZHMgU2VydmVyUHJvcHMsXG4gID4oXG4gICAgbmV4dDogKHByb3BzOiBJKSA9PiBQcm9taXNlPFxuICAgICAge1xuICAgICAgICBbSyBpbiBGXTogUm91dGVXaXRoO1xuICAgICAgfSAmIE5cbiAgICA+LFxuICApIHtcbiAgICByZXR1cm4gYXN5bmMgKHByb3BzOiBJKSA9PiB7XG4gICAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHByb3BzKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdG9GZXRjaDogUHJvbWlzZTx1bmtub3duPltdID0gW107XG4gICAgICAgIG5leHRQcm9wcy5tYXRjaGVkUm91dGVzLmZvckVhY2gocm91dGUgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2Ygcm91dGUucmVzb2x2ZURhdGEgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRvRmV0Y2gucHVzaChcbiAgICAgICAgICAgICAgcm91dGUucmVzb2x2ZURhdGEoXG4gICAgICAgICAgICAgICAgbmV4dFByb3BzW2ZpZWxkXSxcbiAgICAgICAgICAgICAgICByb3V0ZSxcbiAgICAgICAgICAgICAgICBuZXh0UHJvcHMuc2VhcmNoUGFyYW1zLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbCh0b0ZldGNoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0UHJvcHM7XG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBU0EsZUFBZSxTQUFTQSxhQUFhQSxDQUFtQkMsS0FBUSxFQUFFO0VBQ2hFLE9BQU8sVUFLTEMsSUFJQyxFQUNEO0lBQ0EsT0FBTyxNQUFPQyxLQUFRLElBQUs7TUFDekIsTUFBTUMsU0FBUyxHQUFHLE1BQU1GLElBQUksQ0FBQ0MsS0FBSyxDQUFDO01BRW5DLElBQUk7UUFDRixNQUFNRSxPQUEyQixHQUFHLEVBQUU7UUFDdENELFNBQVMsQ0FBQ0UsYUFBYSxDQUFDQyxPQUFPLENBQUNDLEtBQUssSUFBSTtVQUN2QyxJQUFJLE9BQU9BLEtBQUssQ0FBQ0MsV0FBVyxLQUFLLFVBQVUsRUFBRTtZQUMzQ0osT0FBTyxDQUFDSyxJQUFJLENBQ1ZGLEtBQUssQ0FBQ0MsV0FBVyxDQUNmTCxTQUFTLENBQUNILEtBQUssQ0FBQyxFQUNoQk8sS0FBSyxFQUNMSixTQUFTLENBQUNPLFlBQ1osQ0FDRixDQUFDO1VBQ0g7UUFDRixDQUFDLENBQUM7UUFDRixNQUFNQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ1IsT0FBTyxDQUFDO01BQzVCLENBQUMsQ0FBQyxPQUFPUyxDQUFDLEVBQUU7UUFDVkMsT0FBTyxDQUFDQyxLQUFLLENBQUNGLENBQUMsQ0FBQztNQUNsQjtNQUNBLE9BQU9WLFNBQVM7SUFDbEIsQ0FBQztFQUNILENBQUM7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { Filter, legacyCreateProxyMiddleware } from 'http-proxy-middleware';
|
|
1
2
|
import {
|
|
2
3
|
RequestHandler,
|
|
3
4
|
ProxyConfigArray,
|
|
4
5
|
Response,
|
|
5
6
|
Request,
|
|
6
7
|
NextFunction,
|
|
7
|
-
ByPass,
|
|
8
8
|
ProxyConfigArrayItem,
|
|
9
9
|
} from 'webpack-dev-server';
|
|
10
10
|
|
|
@@ -12,8 +12,6 @@ import {
|
|
|
12
12
|
// we just removed the 'bypass' deprecation warnings and converted to typescript
|
|
13
13
|
export default function getProxyMiddlewares(proxyConfig: ProxyConfigArray) {
|
|
14
14
|
const middlewares: any[] = [];
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
16
|
-
const { createProxyMiddleware } = require('http-proxy-middleware');
|
|
17
15
|
|
|
18
16
|
const getProxyMiddleware = (
|
|
19
17
|
proxyConfig: ProxyConfigArrayItem,
|
|
@@ -21,13 +19,13 @@ export default function getProxyMiddlewares(proxyConfig: ProxyConfigArray) {
|
|
|
21
19
|
// It is possible to use the `bypass` method without a `target` or `router`.
|
|
22
20
|
// However, the proxy middleware has no use in this case, and will fail to instantiate.
|
|
23
21
|
if (proxyConfig.target) {
|
|
24
|
-
const context = proxyConfig.context || proxyConfig.path;
|
|
22
|
+
const context: Filter = proxyConfig.context || (proxyConfig.path as any);
|
|
25
23
|
|
|
26
|
-
return
|
|
24
|
+
return legacyCreateProxyMiddleware(context, proxyConfig);
|
|
27
25
|
}
|
|
28
26
|
|
|
29
27
|
if (proxyConfig.router) {
|
|
30
|
-
return
|
|
28
|
+
return legacyCreateProxyMiddleware(proxyConfig);
|
|
31
29
|
}
|
|
32
30
|
};
|
|
33
31
|
|
|
@@ -69,29 +67,19 @@ export default function getProxyMiddlewares(proxyConfig: ProxyConfigArray) {
|
|
|
69
67
|
|
|
70
68
|
if (newProxyConfig !== proxyConfig) {
|
|
71
69
|
proxyConfig = newProxyConfig;
|
|
70
|
+
|
|
71
|
+
const socket = req.socket != null ? req.socket : req.connection;
|
|
72
|
+
const server = socket != null ? (socket as any).server : null;
|
|
73
|
+
|
|
74
|
+
if (server) {
|
|
75
|
+
server.removeAllListeners('close');
|
|
76
|
+
}
|
|
77
|
+
|
|
72
78
|
proxyMiddleware = getProxyMiddleware(proxyConfig);
|
|
73
79
|
}
|
|
74
80
|
}
|
|
75
81
|
|
|
76
|
-
|
|
77
|
-
// - In case the bypass function is defined we'll retrieve the
|
|
78
|
-
// bypassUrl from it otherwise bypassUrl would be null
|
|
79
|
-
// TODO remove in the next major in favor `context` and `router` options
|
|
80
|
-
const bypassUrl: ByPass | null =
|
|
81
|
-
typeof proxyConfig.bypass === 'function' ?
|
|
82
|
-
await proxyConfig.bypass(req, res, proxyConfig)
|
|
83
|
-
: null;
|
|
84
|
-
|
|
85
|
-
if (typeof bypassUrl === 'boolean') {
|
|
86
|
-
// skip the proxy
|
|
87
|
-
res.statusCode = 404;
|
|
88
|
-
req.url = '';
|
|
89
|
-
next();
|
|
90
|
-
} else if (typeof bypassUrl === 'string') {
|
|
91
|
-
// byPass to that url
|
|
92
|
-
req.url = bypassUrl;
|
|
93
|
-
next();
|
|
94
|
-
} else if (proxyMiddleware) {
|
|
82
|
+
if (proxyMiddleware) {
|
|
95
83
|
return proxyMiddleware(req, res, next);
|
|
96
84
|
} else {
|
|
97
85
|
next();
|
|
@@ -102,6 +90,7 @@ export default function getProxyMiddlewares(proxyConfig: ProxyConfigArray) {
|
|
|
102
90
|
name: 'http-proxy-middleware',
|
|
103
91
|
middleware: handler,
|
|
104
92
|
});
|
|
93
|
+
|
|
105
94
|
// Also forward error requests to the proxy so it can handle them.
|
|
106
95
|
middlewares.push({
|
|
107
96
|
name: 'http-proxy-middleware-error-handler',
|
|
@@ -195,7 +195,9 @@ export default async function startDevServer(
|
|
|
195
195
|
|
|
196
196
|
const otherRoutes = [
|
|
197
197
|
process.env.WEBPACK_PUBLIC_PATH,
|
|
198
|
-
...
|
|
198
|
+
...(webpackConfigs[0].devServer?.proxy
|
|
199
|
+
?.filter(proxy => typeof proxy === 'object')
|
|
200
|
+
?.flatMap(proxy => proxy.context) ?? []),
|
|
199
201
|
];
|
|
200
202
|
// serve SSR for non-WEBPACK_PUBLIC_PATH
|
|
201
203
|
devServer.app?.get(
|