@kontur.candy/tools 2.206.0 → 2.208.0
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/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +5 -3
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +8 -4
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +6 -3
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js.map +1 -1
- package/package.json +1 -1
|
@@ -210,13 +210,15 @@ class BuildFormDevServer {
|
|
|
210
210
|
method: "GET",
|
|
211
211
|
agent: new _https.Agent({
|
|
212
212
|
rejectUnauthorized: false
|
|
213
|
-
})
|
|
213
|
+
}),
|
|
214
|
+
compress: true
|
|
214
215
|
});
|
|
215
216
|
if (response.status != 200) {
|
|
216
217
|
const textResponse = await response.text();
|
|
217
218
|
throw new Error(textResponse);
|
|
218
219
|
}
|
|
219
|
-
|
|
220
|
+
const buffer = await response.buffer();
|
|
221
|
+
return _stream.Readable.from(buffer);
|
|
220
222
|
}
|
|
221
223
|
formatError(e) {
|
|
222
224
|
if (e instanceof Error) {
|
|
@@ -226,4 +228,4 @@ class BuildFormDevServer {
|
|
|
226
228
|
}
|
|
227
229
|
}
|
|
228
230
|
exports.BuildFormDevServer = BuildFormDevServer;
|
|
229
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9odHRwcyIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9mc0V4dHJhIiwiX0dlbmVyYXRlRm9ybSIsIl9BY3F1aXJlRm9ybUdlbmVyYXRvciIsIl9QdWJsaXNoZWRWZXJzaW9uVXRpbHMiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX0FzeW5jVXRpbHMiLCJfT2JzZXJ2ZSIsIl9Gc1V0aWxzIiwiX0Zvcm1QYXRoVXRpbHMiLCJfVHlwaW5nVXRpbHMiLCJfV2VsbEtub3duRGlyZWN0b3JpZXMiLCJfUmVwb3J0R2VuZXJhdG9yRXJyb3JUb1BhZ2VCb2R5IiwiX1J1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJfV2VicGFja0h5YnJpZEZpbGVTeXN0ZW0iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJidWlsZEdmdlRvUGF0aE1hcCIsInJlcG9zaXRvcnlSb290cyIsInJlc3VsdCIsIk1hcCIsInJlcG9zaXRvcnlSb290IiwiZm9ybVBhdGhzIiwiZ2xvYkFzeW5jIiwiV2VsbEtub3duRGlyZWN0b3JpZXMiLCJDYW5keVN1YmRpcmVjdG9yeU5hbWUiLCJjd2QiLCJmb3JtUGF0aCIsImdmdiIsImV4dHJhY3RHZnZGcm9tRm9ybVBhdGgiLCJqb2luIiwiQnVpbGRGb3JtRGV2U2VydmVyIiwiY29uc3RydWN0b3IiLCJwb3J0IiwiYWxsRmFybUNvbmZpZyIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsImZhcm1Db25maWdBcnJheSIsInVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsInNraXBDb2RlUmVmb3JtYXR0aW5nIiwibmlnaHRseSIsImZhcm1EaXJlY3RvcnkiLCJzdGFydFBhcmFsbGVsTGltaXQiLCJnZW5lcmF0ZUNoYWluIiwid2VicGFja0RldlNlcnZlclN0YXJ0ZWQiLCJ3ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsImdmdlBhdGhzIiwidW5kZWZpbmVkIiwicExpbWl0IiwiZmluZEZvcm1QYXRoIiwiX3RoaXMkZ2Z2UGF0aHMiLCJtYXAiLCJ4IiwiX3RoaXMkZ2Z2UGF0aHMkZ2V0IiwicmVqZWN0Iiwibm9ybWFsaXplIiwiZm9ybURpclBhdGgiLCJhbGxQb3NzaWJsZUZpbGVQYXRoIiwicHRoIiwicGF0aEV4aXN0cyIsIkVycm9yIiwid3JpdGVFcnJvckluRW50cnlBbmRTaG93SW5Ccm93c2VyIiwiX3RoaXMkd2VicGFja0h5YnJpZEZpIiwiZm9ybUVudHJ5UG9pbnRQYXRoIiwid3JpdGVCYXRjaCIsImdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCIsImZvcm1hdEVycm9yIiwic3RhcnQiLCJXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsIk9ic2VydmUiLCJmaWxlIiwiRm9ybUpzb25GaWxlTmFtZSIsInRyYW5zZm9ybSIsImZvcm1Kc29uRmlsZSIsInJlc29sdmVGb3JtSW5mbyIsImdlbmVyYXRvclNvdXJjZSIsInJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSIsImVuZ2luZVNvdXJjZSIsInJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSIsImdlbmVyYXRvclZlcnNpb24iLCJlbmdpbmVWZXJzaW9uIiwicmVzb2x2ZUdlbmVyYXRvclZlcnNpb24iLCJyZXNvbHZlRW5naW5lVmVyc2lvbiIsImF0dGFjaCIsImZpIiwiZ2VuZXJhdG9yRmFjdG9yeSIsInkiLCJnZW5lcmF0b3IiLCJnZXRHZW5lcmF0b3JTb3VyY2VLZXkiLCJmaWxlcyIsImZvcm1Tb3VyY2VzUGF0aCIsImRvIiwiRm9ybXNEaXJXaXRoSGxQYXRoIiwiZmluZCIsImdlbmVyYXRlRm9ybSIsImhsRmFybURpcmVjdG9yeVBhdGgiLCJyZXNvdXJjZXNIYXNoIiwib2JzZXJ2ZSIsInJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0iLCJmaWxlbmFtZSIsImRlbGF5IiwicmVzdWx0RmlsZU5hbWUiLCJHZW5lcmF0ZWRGb3JtU3ViZGlyZWN0b3J5IiwiX3RoaXMkd2VicGFja0h5YnJpZEZpMiIsInN0YXRTeW5jIiwiUHJvbWlzZSIsInJlc29sdmUiLCJfdGhpcyR3ZWJwYWNrSHlicmlkRmkzIiwicmVhZEZpbGUiLCJlcnJvciIsImRhdGEiLCJSZWFkYWJsZSIsImZyb20iLCJnZXRGaWxlQXNTdHJlYW0iLCJyZXNwb25zZSIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsInN0YXR1cyIsInRleHRSZXNwb25zZSIsInRleHQiLCJib2R5Iiwic3RhY2siLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkU2VydmVyL1Jlc291cmNlc0NvbnRyb2xsZXJzL0RldlNlcnZlcnMvQnVpbGRGb3JtRGV2U2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IFJlYWRhYmxlIH0gZnJvbSBcInN0cmVhbVwiO1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tIFwiaHR0cHNcIjtcblxuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5pbXBvcnQgcExpbWl0LCB7IExpbWl0IH0gZnJvbSBcInAtbGltaXRcIjtcbmltcG9ydCB7IEZhcm1Db25maWcgfSBmcm9tIFwiVG9vbHMvc3JjL0NhbmR5Q0xJXCI7XG5pbXBvcnQgeyBwYXRoRXhpc3RzIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5cbmltcG9ydCB7IGdlbmVyYXRlRm9ybSB9IGZyb20gXCIuLi8uLi8uLi8uLi9CdWlsZFRhc2tzL0Zvcm0vR2VuZXJhdGVGb3JtXCI7XG5pbXBvcnQgeyBnZW5lcmF0b3JGYWN0b3J5LCBnZXRHZW5lcmF0b3JTb3VyY2VLZXkgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9HZW5lcmF0b3IvQWNxdWlyZUZvcm1HZW5lcmF0b3JcIjtcbmltcG9ydCB7XG4gICAgcmVzb2x2ZUVuZ2luZVZlcnNpb24sXG4gICAgcmVzb2x2ZUdlbmVyYXRvclZlcnNpb24sXG4gICAgcmVzb2x2ZUxvY2FsRW5naW5lU291cmNlLFxuICAgIHJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSxcbn0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvUHVibGlzaGVkVmVyc2lvblV0aWxzXCI7XG5pbXBvcnQgeyByZXNvbHZlRm9ybUluZm8gfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9SZXNvbHZlRm9ybUluZm9cIjtcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9Bc3luY1V0aWxzXCI7XG5pbXBvcnQgeyBSZWFzb25PckVycm9yIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvRXJyb3JVbnR5cGVkXCI7XG5pbXBvcnQgeyBDaGFpbmFibGVWYWx1ZVByb2R1Y2VyIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL0NoYWluYWJsZVZhbHVlUHJvZHVjZXJcIjtcbmltcG9ydCB7IE9ic2VydmUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9ucy9UYXNrc0NvcmUvT2JzZXJ2ZVwiO1xuaW1wb3J0IHsgZ2xvYkFzeW5jIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvRnNVdGlsc1wiO1xuaW1wb3J0IHsgZXh0cmFjdEdmdkZyb21Gb3JtUGF0aCB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vRm9ybVBhdGhVdGlsc1wiO1xuaW1wb3J0IHsgcmVqZWN0IH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9UeXBpbmdVdGlsc1wiO1xuaW1wb3J0IHsgV2VsbEtub3duRGlyZWN0b3JpZXMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vQ29tbW9uL1dlbGxLbm93bkRpcmVjdG9yaWVzXCI7XG5cbmltcG9ydCB7IGdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCB9IGZyb20gXCIuL1JlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVwiO1xuaW1wb3J0IHsgcnVuRm9ybUNvbXBpbGF0aW9uVmlhV2VicGFja0RldlNlcnZlciB9IGZyb20gXCIuL1J1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXJcIjtcbmltcG9ydCB7IFdlYnBhY2tIeWJyaWRGaWxlU3lzdGVtIH0gZnJvbSBcIi4vV2VicGFja0luTWVtb3J5VXRpbHMvV2VicGFja0h5YnJpZEZpbGVTeXN0ZW1cIjtcblxuYXN5bmMgZnVuY3Rpb24gYnVpbGRHZnZUb1BhdGhNYXAocmVwb3NpdG9yeVJvb3RzOiBzdHJpbmdbXSk6IFByb21pc2U8TWFwPHN0cmluZywgc3RyaW5nPj4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgICBmb3IgKGNvbnN0IHJlcG9zaXRvcnlSb290IG9mIHJlcG9zaXRvcnlSb290cykge1xuICAgICAgICBjb25zdCBmb3JtUGF0aHMgPSBhd2FpdCBnbG9iQXN5bmMoYGZvcm1zLyoqLyovJHtXZWxsS25vd25EaXJlY3Rvcmllcy5DYW5keVN1YmRpcmVjdG9yeU5hbWV9YCwge1xuICAgICAgICAgICAgY3dkOiByZXBvc2l0b3J5Um9vdCxcbiAgICAgICAgfSk7XG4gICAgICAgIGZvciAoY29uc3QgZm9ybVBhdGggb2YgZm9ybVBhdGhzKSB7XG4gICAgICAgICAgICBjb25zdCBnZnYgPSBleHRyYWN0R2Z2RnJvbUZvcm1QYXRoKGZvcm1QYXRoKTtcbiAgICAgICAgICAgIHJlc3VsdC5zZXQoZ2Z2LCBwYXRoLmpvaW4ocmVwb3NpdG9yeVJvb3QsIGZvcm1QYXRoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgY2xhc3MgQnVpbGRGb3JtRGV2U2VydmVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsbEZhcm1Db25maWc6IHN0cmluZ1tdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZ2Z2OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIGZhcm1EaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIGZvcm1QYXRoOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmYXJtQ29uZmlnQXJyYXk6IEZhcm1Db25maWdbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXJ0UGFyYWxsZWxMaW1pdDogTGltaXQ7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIGdlbmVyYXRlQ2hhaW4/OiBDaGFpbmFibGVWYWx1ZVByb2R1Y2VyPGFueT47XG4gICAgcHJpdmF0ZSB3ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlczogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmlnaHRseTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1aWxkRGVidWdPbmx5OiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2tpcENvZGVSZWZvcm1hdHRpbmc6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSB3ZWJwYWNrSHlicmlkRmlsZVN5c3RlbT86IFdlYnBhY2tIeWJyaWRGaWxlU3lzdGVtO1xuICAgIHByaXZhdGUgZ2Z2UGF0aHM6IHVuZGVmaW5lZCB8IE1hcDxzdHJpbmcsIHN0cmluZz4gPSB1bmRlZmluZWQ7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHBvcnQ6IG51bWJlcixcbiAgICAgICAgYWxsRmFybUNvbmZpZzogc3RyaW5nW10sXG4gICAgICAgIGdmdjogc3RyaW5nLFxuICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICAgICAgZmFybUNvbmZpZ0FycmF5OiBGYXJtQ29uZmlnW10sXG4gICAgICAgIHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW4sXG4gICAgICAgIGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLFxuICAgICAgICBidWlsZERlYnVnT25seTogYm9vbGVhbixcbiAgICAgICAgc2tpcENvZGVSZWZvcm1hdHRpbmc6IGJvb2xlYW4sXG4gICAgICAgIG5pZ2h0bHk6IGJvb2xlYW5cbiAgICApIHtcbiAgICAgICAgdGhpcy5wb3J0ID0gcG9ydDtcbiAgICAgICAgdGhpcy5hbGxGYXJtQ29uZmlnID0gYWxsRmFybUNvbmZpZztcbiAgICAgICAgdGhpcy5nZnYgPSBnZnY7XG4gICAgICAgIHRoaXMuY2FuZHlNb2R1bGVzRGlyZWN0b3J5ID0gY2FuZHlNb2R1bGVzRGlyZWN0b3J5O1xuICAgICAgICB0aGlzLmZhcm1Db25maWdBcnJheSA9IGZhcm1Db25maWdBcnJheTtcbiAgICAgICAgdGhpcy5zdGFydFBhcmFsbGVsTGltaXQgPSBwTGltaXQoMSk7XG4gICAgICAgIHRoaXMudXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcyA9IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM7XG4gICAgICAgIHRoaXMuZW5naW5lRGlyZWN0b3J5ID0gZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5ID0gYnVpbGREZWJ1Z09ubHk7XG4gICAgICAgIHRoaXMuc2tpcENvZGVSZWZvcm1hdHRpbmcgPSBza2lwQ29kZVJlZm9ybWF0dGluZztcbiAgICAgICAgdGhpcy5uaWdodGx5ID0gbmlnaHRseTtcbiAgICAgICAgdGhpcy5mYXJtRGlyZWN0b3J5ID0gXCJcIjtcbiAgICAgICAgdGhpcy5mb3JtUGF0aCA9IFwiXCI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBmaW5kRm9ybVBhdGgoZ2Z2OiBzdHJpbmcpOiBQcm9taXNlPHsgZm9ybVBhdGg6IHN0cmluZzsgZmFybURpcmVjdG9yeTogc3RyaW5nIH0+IHtcbiAgICAgICAgdGhpcy5nZnZQYXRocyA9IHRoaXMuZ2Z2UGF0aHMgPz8gKGF3YWl0IGJ1aWxkR2Z2VG9QYXRoTWFwKHRoaXMuYWxsRmFybUNvbmZpZy5tYXAoeCA9PiBwYXRoLmpvaW4oeCwgXCIuLlwiKSkpKTtcblxuICAgICAgICBpZiAodGhpcy5nZnZQYXRocy5oYXMoZ2Z2KSkge1xuICAgICAgICAgICAgY29uc3QgZm9ybVBhdGggPSB0aGlzLmdmdlBhdGhzLmdldChnZnYpID8/IHJlamVjdCgpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBmb3JtUGF0aDogZm9ybVBhdGggPz8gcmVqZWN0KCksXG4gICAgICAgICAgICAgICAgZmFybURpcmVjdG9yeTogcGF0aC5ub3JtYWxpemUocGF0aC5qb2luKGZvcm1QYXRoLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgXCJjYW5keS5mYXJtXCIpKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZmFybURpcmVjdG9yeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBsZXQgZm9ybURpclBhdGggPSBcIlwiO1xuXG4gICAgICAgIGNvbnN0IGFsbFBvc3NpYmxlRmlsZVBhdGggPSB0aGlzLmFsbEZhcm1Db25maWcubWFwKGkgPT4gcGF0aC5qb2luKGksIFwiZm9ybXNcIiwgdGhpcy5nZnYpKTtcbiAgICAgICAgZm9yIChjb25zdCBwdGggb2YgYWxsUG9zc2libGVGaWxlUGF0aCkge1xuICAgICAgICAgICAgaWYgKGF3YWl0IHBhdGhFeGlzdHMocHRoKSkge1xuICAgICAgICAgICAgICAgIGZvcm1EaXJQYXRoID0gcHRoO1xuICAgICAgICAgICAgICAgIGZhcm1EaXJlY3RvcnkgPSBwYXRoLmpvaW4ocHRoLCBcIi4uXCIsIFwiLi5cIik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZm9ybURpclBhdGggPT09IFwiXCIpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKFwiZm9ybURpclBhdGggbm90IGZvdW5kXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmYXJtRGlyZWN0b3J5ID09IHVuZGVmaW5lZCB8fCAhKGF3YWl0IHBhdGhFeGlzdHMoZmFybURpcmVjdG9yeSkpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgRmFybURpcmVjdG9yeSA9ICR7dGhpcy5mYXJtRGlyZWN0b3J5fSBub3QgZXhpc3RgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZm9ybVBhdGg6IGZvcm1EaXJQYXRoLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeTogZmFybURpcmVjdG9yeSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIHdyaXRlRXJyb3JJbkVudHJ5QW5kU2hvd0luQnJvd3NlcihlOiB1bmtub3duKSB7XG4gICAgICAgIGNvbnN0IGZvcm1FbnRyeVBvaW50UGF0aCA9IHBhdGguam9pbih0aGlzLmZvcm1QYXRoLCBcImZvcm1cIiwgXCJ3ZWIuanNcIik7XG4gICAgICAgIGF3YWl0IHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/LndyaXRlQmF0Y2goe1xuICAgICAgICAgICAgW2Zvcm1FbnRyeVBvaW50UGF0aF06IGdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCh0aGlzLmZvcm1hdEVycm9yKGUpKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXJ0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGFydFBhcmFsbGVsTGltaXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZ2VuZXJhdGVDaGFpbiAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHsgZm9ybVBhdGgsIGZhcm1EaXJlY3RvcnkgfSA9IGF3YWl0IHRoaXMuZmluZEZvcm1QYXRoKHRoaXMuZ2Z2KTtcbiAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSA9IGZhcm1EaXJlY3Rvcnk7XG4gICAgICAgICAgICB0aGlzLmZvcm1QYXRoID0gZm9ybVBhdGg7XG4gICAgICAgICAgICB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtID0gbmV3IFdlYnBhY2tIeWJyaWRGaWxlU3lzdGVtKHBhdGguam9pbih0aGlzLmZvcm1QYXRoLCBcImZvcm1cIikpO1xuXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlQ2hhaW4gPSBPYnNlcnZlLmZpbGUocGF0aC5qb2luKHRoaXMuZm9ybVBhdGgsIFdlbGxLbm93bkRpcmVjdG9yaWVzLkZvcm1Kc29uRmlsZU5hbWUpKVxuICAgICAgICAgICAgICAgIC50cmFuc2Zvcm0oZm9ybUpzb25GaWxlID0+XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVGb3JtSW5mbyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Kc29uRmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybVBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5pZ2h0bHlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKGFzeW5jIHggPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy51c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLngsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdG9yU291cmNlOiByZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UodGhpcy5lbmdpbmVEaXJlY3RvcnkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2luZVNvdXJjZTogcmVzb2x2ZUxvY2FsRW5naW5lU291cmNlKHRoaXMuZW5naW5lRGlyZWN0b3J5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeC5nZW5lcmF0b3JWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImdlbmVyYXRvclZlcnNpb24gaXMgbm8gZGVmaW5lZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4LmVuZ2luZVZlcnNpb24gPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZW5naW5lVmVyc2lvbiBpcyBubyBkZWZpbmVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvclNvdXJjZTogYXdhaXQgcmVzb2x2ZUdlbmVyYXRvclZlcnNpb24oeC5nZW5lcmF0b3JWZXJzaW9uKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmVTb3VyY2U6IGF3YWl0IHJlc29sdmVFbmdpbmVWZXJzaW9uKHguZW5naW5lVmVyc2lvbiksXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuYXR0YWNoKFxuICAgICAgICAgICAgICAgICAgICBhc3luYyBmaSA9PiBnZW5lcmF0b3JGYWN0b3J5KGZpLmdlbmVyYXRvclNvdXJjZSwgdGhpcy5jYW5keU1vZHVsZXNEaXJlY3RvcnksIGZhbHNlLCB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgICAgICBhc3luYyAoZmksIHkpID0+ICh7IC4uLmZpLCBnZW5lcmF0b3I6IHkgfSksXG4gICAgICAgICAgICAgICAgICAgIGFzeW5jIGZpID0+IGdldEdlbmVyYXRvclNvdXJjZUtleShmaS5nZW5lcmF0b3JTb3VyY2UpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5hdHRhY2goYXN5bmMgZmkgPT5cbiAgICAgICAgICAgICAgICAgICAgT2JzZXJ2ZS5maWxlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpLmZvcm1Tb3VyY2VzUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiLi4vLi4vY29udHJvbHMvKiovZ2VuZXJhdG9yLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic2NoZW1hcy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInN1Z2FyLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udHJvbHMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJhdXRvY2FsYy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImhlbHBlcnMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWxpZGF0aW9ucy8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImxvY2FsaXphdGlvbi8qKi8qXCJcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuZG8oYXN5bmMgZmkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRm9ybXNEaXJXaXRoSGxQYXRoID0gdGhpcy5mYXJtQ29uZmlnQXJyYXkuZmluZChpID0+IGkuZmFybURpcmVjdG9yeSA9PSBmYXJtRGlyZWN0b3J5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChGb3Jtc0RpcldpdGhIbFBhdGggPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJGb3Jtc0RpcldpdGhIbFBhdGggPT09IHVuZGVmaW5lZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IGdlbmVyYXRlRm9ybShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtU291cmNlc1BhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mYXJtRGlyZWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcm1zRGlyV2l0aEhsUGF0aC5obEZhcm1EaXJlY3RvcnlQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpLmdlbmVyYXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwQ29kZVJlZm9ybWF0dGluZzogdGhpcy5za2lwQ29kZVJlZm9ybWF0dGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VzSGFzaDogXCJsb2NhbC1oYXNoXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLndyaXRlRXJyb3JJbkVudHJ5QW5kU2hvd0luQnJvd3NlcihlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmdlbmVyYXRlQ2hhaW4ub2JzZXJ2ZSgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMud3JpdGVFcnJvckluRW50cnlBbmRTaG93SW5Ccm93c2VyKGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCBydW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyKFxuICAgICAgICAgICAgICAgIHRoaXMuZ2Z2LFxuICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1QYXRoLFxuICAgICAgICAgICAgICAgIHBhdGguam9pbih0aGlzLmZhcm1EaXJlY3RvcnksIFwicmVzXCIpLFxuICAgICAgICAgICAgICAgIFwibG9jYWwtaGFzaFwiLFxuICAgICAgICAgICAgICAgIHRoaXMuYnVpbGREZWJ1Z09ubHksXG4gICAgICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSxcbiAgICAgICAgICAgICAgICB0aGlzLnBvcnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLndlYnBhY2tEZXZTZXJ2ZXJTdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEdlbmVyYXRlZEZpbGVBc1N0cmVhbShmaWxlbmFtZTogc3RyaW5nKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+IHtcbiAgICAgICAgd2hpbGUgKCF0aGlzLndlYnBhY2tEZXZTZXJ2ZXJTdGFydGVkKSB7XG4gICAgICAgICAgICBhd2FpdCBkZWxheSg1MDApO1xuICAgICAgICB9XG4gICAgICAgIGxldCByZXN1bHRGaWxlTmFtZSA9IFwiXCI7XG4gICAgICAgIGNvbnN0IGZvcm1QYXRoID0gYXdhaXQgdGhpcy5maW5kRm9ybVBhdGgodGhpcy5nZnYpO1xuICAgICAgICBjb25zdCBhbGxQb3NzaWJsZUZpbGVQYXRoID0gW1xuICAgICAgICAgICAgcGF0aC5qb2luKGZvcm1QYXRoLmZvcm1QYXRoLCBXZWxsS25vd25EaXJlY3Rvcmllcy5HZW5lcmF0ZWRGb3JtU3ViZGlyZWN0b3J5LCBmaWxlbmFtZSksXG4gICAgICAgIF07XG4gICAgICAgIGZvciAoY29uc3QgcHRoIG9mIGFsbFBvc3NpYmxlRmlsZVBhdGgpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/LnN0YXRTeW5jKHB0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0RmlsZU5hbWUgPSBwdGg7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocmVzdWx0RmlsZU5hbWUgPT09IFwiXCIpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0gJHtmaWxlbmFtZX0gbm90IGZvdW5kYCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHIpID0+IHtcbiAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/LnJlYWRGaWxlKHJlc3VsdEZpbGVOYW1lLCBcInV0Zi04XCIsIChlcnJvciwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICByKGVycm9yKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKFJlYWRhYmxlLmZyb20oW2RhdGFdKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRGaWxlQXNTdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIHdoaWxlICghdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCkge1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGBodHRwczovL2xvY2FsaG9zdDoke3RoaXMucG9ydH0vJHtmaWxlbmFtZX1gLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICAgICAgICBhZ2VudDogbmV3IEFnZW50KHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSB9KSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0UmVzcG9uc2UgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGV4dFJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuYm9keTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdEVycm9yKGU6IFJlYXNvbk9yRXJyb3IpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7ZX1cXG4ke2Uuc3RhY2t9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7ZX1gO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLGFBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLHFCQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxzQkFBQSxHQUFBVCxPQUFBO0FBTUEsSUFBQVUsZ0JBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFdBQUEsR0FBQVgsT0FBQTtBQUdBLElBQUFZLFFBQUEsR0FBQVosT0FBQTtBQUNBLElBQUFhLFFBQUEsR0FBQWIsT0FBQTtBQUNBLElBQUFjLGNBQUEsR0FBQWQsT0FBQTtBQUNBLElBQUFlLFlBQUEsR0FBQWYsT0FBQTtBQUNB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
|
|
231
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9odHRwcyIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9mc0V4dHJhIiwiX0dlbmVyYXRlRm9ybSIsIl9BY3F1aXJlRm9ybUdlbmVyYXRvciIsIl9QdWJsaXNoZWRWZXJzaW9uVXRpbHMiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX0FzeW5jVXRpbHMiLCJfT2JzZXJ2ZSIsIl9Gc1V0aWxzIiwiX0Zvcm1QYXRoVXRpbHMiLCJfVHlwaW5nVXRpbHMiLCJfV2VsbEtub3duRGlyZWN0b3JpZXMiLCJfUmVwb3J0R2VuZXJhdG9yRXJyb3JUb1BhZ2VCb2R5IiwiX1J1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJfV2VicGFja0h5YnJpZEZpbGVTeXN0ZW0iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJidWlsZEdmdlRvUGF0aE1hcCIsInJlcG9zaXRvcnlSb290cyIsInJlc3VsdCIsIk1hcCIsInJlcG9zaXRvcnlSb290IiwiZm9ybVBhdGhzIiwiZ2xvYkFzeW5jIiwiV2VsbEtub3duRGlyZWN0b3JpZXMiLCJDYW5keVN1YmRpcmVjdG9yeU5hbWUiLCJjd2QiLCJmb3JtUGF0aCIsImdmdiIsImV4dHJhY3RHZnZGcm9tRm9ybVBhdGgiLCJqb2luIiwiQnVpbGRGb3JtRGV2U2VydmVyIiwiY29uc3RydWN0b3IiLCJwb3J0IiwiYWxsRmFybUNvbmZpZyIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsImZhcm1Db25maWdBcnJheSIsInVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsInNraXBDb2RlUmVmb3JtYXR0aW5nIiwibmlnaHRseSIsImZhcm1EaXJlY3RvcnkiLCJzdGFydFBhcmFsbGVsTGltaXQiLCJnZW5lcmF0ZUNoYWluIiwid2VicGFja0RldlNlcnZlclN0YXJ0ZWQiLCJ3ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsImdmdlBhdGhzIiwidW5kZWZpbmVkIiwicExpbWl0IiwiZmluZEZvcm1QYXRoIiwiX3RoaXMkZ2Z2UGF0aHMiLCJtYXAiLCJ4IiwiX3RoaXMkZ2Z2UGF0aHMkZ2V0IiwicmVqZWN0Iiwibm9ybWFsaXplIiwiZm9ybURpclBhdGgiLCJhbGxQb3NzaWJsZUZpbGVQYXRoIiwicHRoIiwicGF0aEV4aXN0cyIsIkVycm9yIiwid3JpdGVFcnJvckluRW50cnlBbmRTaG93SW5Ccm93c2VyIiwiX3RoaXMkd2VicGFja0h5YnJpZEZpIiwiZm9ybUVudHJ5UG9pbnRQYXRoIiwid3JpdGVCYXRjaCIsImdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCIsImZvcm1hdEVycm9yIiwic3RhcnQiLCJXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsIk9ic2VydmUiLCJmaWxlIiwiRm9ybUpzb25GaWxlTmFtZSIsInRyYW5zZm9ybSIsImZvcm1Kc29uRmlsZSIsInJlc29sdmVGb3JtSW5mbyIsImdlbmVyYXRvclNvdXJjZSIsInJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSIsImVuZ2luZVNvdXJjZSIsInJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSIsImdlbmVyYXRvclZlcnNpb24iLCJlbmdpbmVWZXJzaW9uIiwicmVzb2x2ZUdlbmVyYXRvclZlcnNpb24iLCJyZXNvbHZlRW5naW5lVmVyc2lvbiIsImF0dGFjaCIsImZpIiwiZ2VuZXJhdG9yRmFjdG9yeSIsInkiLCJnZW5lcmF0b3IiLCJnZXRHZW5lcmF0b3JTb3VyY2VLZXkiLCJmaWxlcyIsImZvcm1Tb3VyY2VzUGF0aCIsImRvIiwiRm9ybXNEaXJXaXRoSGxQYXRoIiwiZmluZCIsImdlbmVyYXRlRm9ybSIsImhsRmFybURpcmVjdG9yeVBhdGgiLCJyZXNvdXJjZXNIYXNoIiwib2JzZXJ2ZSIsInJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0iLCJmaWxlbmFtZSIsImRlbGF5IiwicmVzdWx0RmlsZU5hbWUiLCJHZW5lcmF0ZWRGb3JtU3ViZGlyZWN0b3J5IiwiX3RoaXMkd2VicGFja0h5YnJpZEZpMiIsInN0YXRTeW5jIiwiUHJvbWlzZSIsInJlc29sdmUiLCJfdGhpcyR3ZWJwYWNrSHlicmlkRmkzIiwicmVhZEZpbGUiLCJlcnJvciIsImRhdGEiLCJSZWFkYWJsZSIsImZyb20iLCJnZXRGaWxlQXNTdHJlYW0iLCJyZXNwb25zZSIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwic3RhdHVzIiwidGV4dFJlc3BvbnNlIiwidGV4dCIsImJ1ZmZlciIsInN0YWNrIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9EZXZTZXJ2ZXJzL0J1aWxkRm9ybURldlNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcbmltcG9ydCB7IEFnZW50IH0gZnJvbSBcImh0dHBzXCI7XG5cbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xuaW1wb3J0IHBMaW1pdCwgeyBMaW1pdCB9IGZyb20gXCJwLWxpbWl0XCI7XG5pbXBvcnQgeyBGYXJtQ29uZmlnIH0gZnJvbSBcIlRvb2xzL3NyYy9DYW5keUNMSVwiO1xuaW1wb3J0IHsgcGF0aEV4aXN0cyB9IGZyb20gXCJmcy1leHRyYVwiO1xuXG5pbXBvcnQgeyBnZW5lcmF0ZUZvcm0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9Gb3JtL0dlbmVyYXRlRm9ybVwiO1xuaW1wb3J0IHsgZ2VuZXJhdG9yRmFjdG9yeSwgZ2V0R2VuZXJhdG9yU291cmNlS2V5IH0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvR2VuZXJhdG9yL0FjcXVpcmVGb3JtR2VuZXJhdG9yXCI7XG5pbXBvcnQge1xuICAgIHJlc29sdmVFbmdpbmVWZXJzaW9uLFxuICAgIHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uLFxuICAgIHJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSxcbiAgICByZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UsXG59IGZyb20gXCIuLi8uLi8uLi8uLi9CdWlsZFRhc2tzL1B1Ymxpc2hlZFZlcnNpb25VdGlsc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUZvcm1JbmZvIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvUmVzb2x2ZUZvcm1JbmZvXCI7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vQXN5bmNVdGlsc1wiO1xuaW1wb3J0IHsgUmVhc29uT3JFcnJvciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0Vycm9yVW50eXBlZFwiO1xuaW1wb3J0IHsgQ2hhaW5hYmxlVmFsdWVQcm9kdWNlciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL1Rhc2tzQ29yZS9DaGFpbmFibGVWYWx1ZVByb2R1Y2VyXCI7XG5pbXBvcnQgeyBPYnNlcnZlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL09ic2VydmVcIjtcbmltcG9ydCB7IGdsb2JBc3luYyB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0ZzVXRpbHNcIjtcbmltcG9ydCB7IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGggfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vQ29tbW9uL0Zvcm1QYXRoVXRpbHNcIjtcbmltcG9ydCB7IHJlamVjdCB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vVHlwaW5nVXRpbHNcIjtcbmltcG9ydCB7IFdlbGxLbm93bkRpcmVjdG9yaWVzIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9XZWxsS25vd25EaXJlY3Rvcmllc1wiO1xuXG5pbXBvcnQgeyBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQgfSBmcm9tIFwiLi9SZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlcIjtcbmltcG9ydCB7IHJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIgfSBmcm9tIFwiLi9SdW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyXCI7XG5pbXBvcnQgeyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSB9IGZyb20gXCIuL1dlYnBhY2tJbk1lbW9yeVV0aWxzL1dlYnBhY2tIeWJyaWRGaWxlU3lzdGVtXCI7XG5cbmFzeW5jIGZ1bmN0aW9uIGJ1aWxkR2Z2VG9QYXRoTWFwKHJlcG9zaXRvcnlSb290czogc3RyaW5nW10pOiBQcm9taXNlPE1hcDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gICAgZm9yIChjb25zdCByZXBvc2l0b3J5Um9vdCBvZiByZXBvc2l0b3J5Um9vdHMpIHtcbiAgICAgICAgY29uc3QgZm9ybVBhdGhzID0gYXdhaXQgZ2xvYkFzeW5jKGBmb3Jtcy8qKi8qLyR7V2VsbEtub3duRGlyZWN0b3JpZXMuQ2FuZHlTdWJkaXJlY3RvcnlOYW1lfWAsIHtcbiAgICAgICAgICAgIGN3ZDogcmVwb3NpdG9yeVJvb3QsXG4gICAgICAgIH0pO1xuICAgICAgICBmb3IgKGNvbnN0IGZvcm1QYXRoIG9mIGZvcm1QYXRocykge1xuICAgICAgICAgICAgY29uc3QgZ2Z2ID0gZXh0cmFjdEdmdkZyb21Gb3JtUGF0aChmb3JtUGF0aCk7XG4gICAgICAgICAgICByZXN1bHQuc2V0KGdmdiwgcGF0aC5qb2luKHJlcG9zaXRvcnlSb290LCBmb3JtUGF0aCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGNsYXNzIEJ1aWxkRm9ybURldlNlcnZlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxGYXJtQ29uZmlnOiBzdHJpbmdbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdmdjogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmYXJtRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmb3JtUGF0aDogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFybUNvbmZpZ0FycmF5OiBGYXJtQ29uZmlnW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGFydFBhcmFsbGVsTGltaXQ6IExpbWl0O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUNoYWluPzogQ2hhaW5hYmxlVmFsdWVQcm9kdWNlcjxhbnk+O1xuICAgIHByaXZhdGUgd2VicGFja0RldlNlcnZlclN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5pZ2h0bHk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgd2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/OiBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbTtcbiAgICBwcml2YXRlIGdmdlBhdGhzOiB1bmRlZmluZWQgfCBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gdW5kZWZpbmVkO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwb3J0OiBudW1iZXIsXG4gICAgICAgIGFsbEZhcm1Db25maWc6IHN0cmluZ1tdLFxuICAgICAgICBnZnY6IHN0cmluZyxcbiAgICAgICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgICAgIGZhcm1Db25maWdBcnJheTogRmFybUNvbmZpZ1tdLFxuICAgICAgICB1c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzOiBib29sZWFuLFxuICAgICAgICBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICAgICAgYnVpbGREZWJ1Z09ubHk6IGJvb2xlYW4sXG4gICAgICAgIHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuLFxuICAgICAgICBuaWdodGx5OiBib29sZWFuXG4gICAgKSB7XG4gICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgICAgIHRoaXMuYWxsRmFybUNvbmZpZyA9IGFsbEZhcm1Db25maWc7XG4gICAgICAgIHRoaXMuZ2Z2ID0gZ2Z2O1xuICAgICAgICB0aGlzLmNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IGNhbmR5TW9kdWxlc0RpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5mYXJtQ29uZmlnQXJyYXkgPSBmYXJtQ29uZmlnQXJyYXk7XG4gICAgICAgIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0ID0gcExpbWl0KDEpO1xuICAgICAgICB0aGlzLnVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMgPSB1c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzO1xuICAgICAgICB0aGlzLmVuZ2luZURpcmVjdG9yeSA9IGVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5idWlsZERlYnVnT25seSA9IGJ1aWxkRGVidWdPbmx5O1xuICAgICAgICB0aGlzLnNraXBDb2RlUmVmb3JtYXR0aW5nID0gc2tpcENvZGVSZWZvcm1hdHRpbmc7XG4gICAgICAgIHRoaXMubmlnaHRseSA9IG5pZ2h0bHk7XG4gICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSA9IFwiXCI7XG4gICAgICAgIHRoaXMuZm9ybVBhdGggPSBcIlwiO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZmluZEZvcm1QYXRoKGdmdjogc3RyaW5nKTogUHJvbWlzZTx7IGZvcm1QYXRoOiBzdHJpbmc7IGZhcm1EaXJlY3Rvcnk6IHN0cmluZyB9PiB7XG4gICAgICAgIHRoaXMuZ2Z2UGF0aHMgPSB0aGlzLmdmdlBhdGhzID8/IChhd2FpdCBidWlsZEdmdlRvUGF0aE1hcCh0aGlzLmFsbEZhcm1Db25maWcubWFwKHggPT4gcGF0aC5qb2luKHgsIFwiLi5cIikpKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2Z2UGF0aHMuaGFzKGdmdikpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1QYXRoID0gdGhpcy5nZnZQYXRocy5nZXQoZ2Z2KSA/PyByZWplY3QoKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZm9ybVBhdGg6IGZvcm1QYXRoID8/IHJlamVjdCgpLFxuICAgICAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IHBhdGgubm9ybWFsaXplKHBhdGguam9pbihmb3JtUGF0aCwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwiY2FuZHkuZmFybVwiKSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGZhcm1EaXJlY3Rvcnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IGZvcm1EaXJQYXRoID0gXCJcIjtcblxuICAgICAgICBjb25zdCBhbGxQb3NzaWJsZUZpbGVQYXRoID0gdGhpcy5hbGxGYXJtQ29uZmlnLm1hcChpID0+IHBhdGguam9pbihpLCBcImZvcm1zXCIsIHRoaXMuZ2Z2KSk7XG4gICAgICAgIGZvciAoY29uc3QgcHRoIG9mIGFsbFBvc3NpYmxlRmlsZVBhdGgpIHtcbiAgICAgICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHB0aCkpIHtcbiAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCA9IHB0aDtcbiAgICAgICAgICAgICAgICBmYXJtRGlyZWN0b3J5ID0gcGF0aC5qb2luKHB0aCwgXCIuLlwiLCBcIi4uXCIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvcm1EaXJQYXRoID09PSBcIlwiKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcImZvcm1EaXJQYXRoIG5vdCBmb3VuZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmFybURpcmVjdG9yeSA9PSB1bmRlZmluZWQgfHwgIShhd2FpdCBwYXRoRXhpc3RzKGZhcm1EaXJlY3RvcnkpKSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEZhcm1EaXJlY3RvcnkgPSAke3RoaXMuZmFybURpcmVjdG9yeX0gbm90IGV4aXN0YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZvcm1QYXRoOiBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IGZhcm1EaXJlY3RvcnksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyB3cml0ZUVycm9ySW5FbnRyeUFuZFNob3dJbkJyb3dzZXIoZTogdW5rbm93bikge1xuICAgICAgICBjb25zdCBmb3JtRW50cnlQb2ludFBhdGggPSBwYXRoLmpvaW4odGhpcy5mb3JtUGF0aCwgXCJmb3JtXCIsIFwid2ViLmpzXCIpO1xuICAgICAgICBhd2FpdCB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy53cml0ZUJhdGNoKHtcbiAgICAgICAgICAgIFtmb3JtRW50cnlQb2ludFBhdGhdOiBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQodGhpcy5mb3JtYXRFcnJvcihlKSksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmdlbmVyYXRlQ2hhaW4gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7IGZvcm1QYXRoLCBmYXJtRGlyZWN0b3J5IH0gPSBhd2FpdCB0aGlzLmZpbmRGb3JtUGF0aCh0aGlzLmdmdik7XG4gICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBmYXJtRGlyZWN0b3J5O1xuICAgICAgICAgICAgdGhpcy5mb3JtUGF0aCA9IGZvcm1QYXRoO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSA9IG5ldyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbShwYXRoLmpvaW4odGhpcy5mb3JtUGF0aCwgXCJmb3JtXCIpKTtcblxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUNoYWluID0gT2JzZXJ2ZS5maWxlKHBhdGguam9pbih0aGlzLmZvcm1QYXRoLCBXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lKSlcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKGZvcm1Kc29uRmlsZSA9PlxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlRm9ybUluZm8oXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtSnNvbkZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1QYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uaWdodGx5XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShhc3luYyB4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvclNvdXJjZTogcmVzb2x2ZUxvY2FsR2VuZXJhdG9yU291cmNlKHRoaXMuZW5naW5lRGlyZWN0b3J5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmVTb3VyY2U6IHJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSh0aGlzLmVuZ2luZURpcmVjdG9yeSksXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHguZ2VuZXJhdG9yVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJnZW5lcmF0b3JWZXJzaW9uIGlzIG5vIGRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeC5lbmdpbmVWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImVuZ2luZVZlcnNpb24gaXMgbm8gZGVmaW5lZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IGF3YWl0IHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uKHguZ2VuZXJhdG9yVmVyc2lvbiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lU291cmNlOiBhd2FpdCByZXNvbHZlRW5naW5lVmVyc2lvbih4LmVuZ2luZVZlcnNpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmF0dGFjaChcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gZ2VuZXJhdG9yRmFjdG9yeShmaS5nZW5lcmF0b3JTb3VyY2UsIHRoaXMuY2FuZHlNb2R1bGVzRGlyZWN0b3J5LCBmYWxzZSwgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgKGZpLCB5KSA9PiAoeyAuLi5maSwgZ2VuZXJhdG9yOiB5IH0pLFxuICAgICAgICAgICAgICAgICAgICBhc3luYyBmaSA9PiBnZXRHZW5lcmF0b3JTb3VyY2VLZXkoZmkuZ2VuZXJhdG9yU291cmNlKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtU291cmNlc1BhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIi4uLy4uL2NvbnRyb2xzLyoqL2dlbmVyYXRvci8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNjaGVtYXMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWdhci8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYXV0b2NhbGMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWxwZXJzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsaWRhdGlvbnMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsb2NhbGl6YXRpb24vKiovKlwiXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmRvKGFzeW5jIGZpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZvcm1zRGlyV2l0aEhsUGF0aCA9IHRoaXMuZmFybUNvbmZpZ0FycmF5LmZpbmQoaSA9PiBpLmZhcm1EaXJlY3RvcnkgPT0gZmFybURpcmVjdG9yeSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoRm9ybXNEaXJXaXRoSGxQYXRoID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwiRm9ybXNEaXJXaXRoSGxQYXRoID09PSB1bmRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBnZW5lcmF0ZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3Jtc0RpcldpdGhIbFBhdGguaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaS5nZW5lcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcENvZGVSZWZvcm1hdHRpbmc6IHRoaXMuc2tpcENvZGVSZWZvcm1hdHRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0hhc2g6IFwibG9jYWwtaGFzaFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy53cml0ZUVycm9ySW5FbnRyeUFuZFNob3dJbkJyb3dzZXIoZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5nZW5lcmF0ZUNoYWluLm9ic2VydmUoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLndyaXRlRXJyb3JJbkVudHJ5QW5kU2hvd0luQnJvd3NlcihlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXdhaXQgcnVuRm9ybUNvbXBpbGF0aW9uVmlhV2VicGFja0RldlNlcnZlcihcbiAgICAgICAgICAgICAgICB0aGlzLmdmdixcbiAgICAgICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtUGF0aCxcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4odGhpcy5mYXJtRGlyZWN0b3J5LCBcInJlc1wiKSxcbiAgICAgICAgICAgICAgICBcImxvY2FsLWhhc2hcIixcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5LFxuICAgICAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0sXG4gICAgICAgICAgICAgICAgdGhpcy5wb3J0XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIHdoaWxlICghdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCkge1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcmVzdWx0RmlsZU5hbWUgPSBcIlwiO1xuICAgICAgICBjb25zdCBmb3JtUGF0aCA9IGF3YWl0IHRoaXMuZmluZEZvcm1QYXRoKHRoaXMuZ2Z2KTtcbiAgICAgICAgY29uc3QgYWxsUG9zc2libGVGaWxlUGF0aCA9IFtcbiAgICAgICAgICAgIHBhdGguam9pbihmb3JtUGF0aC5mb3JtUGF0aCwgV2VsbEtub3duRGlyZWN0b3JpZXMuR2VuZXJhdGVkRm9ybVN1YmRpcmVjdG9yeSwgZmlsZW5hbWUpLFxuICAgICAgICBdO1xuICAgICAgICBmb3IgKGNvbnN0IHB0aCBvZiBhbGxQb3NzaWJsZUZpbGVQYXRoKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy5zdGF0U3luYyhwdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdEZpbGVOYW1lID0gcHRoO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc3VsdEZpbGVOYW1lID09PSBcIlwiKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgZ2V0R2VuZXJhdGVkRmlsZUFzU3RyZWFtICR7ZmlsZW5hbWV9IG5vdCBmb3VuZGApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByKSA9PiB7XG4gICAgICAgICAgICB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy5yZWFkRmlsZShyZXN1bHRGaWxlTmFtZSwgXCJ1dGYtOFwiLCAoZXJyb3IsIGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcihlcnJvcik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShSZWFkYWJsZS5mcm9tKFtkYXRhXSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RmlsZUFzU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT4ge1xuICAgICAgICB3aGlsZSAoIXRoaXMud2VicGFja0RldlNlcnZlclN0YXJ0ZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IGRlbGF5KDUwMCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9sb2NhbGhvc3Q6JHt0aGlzLnBvcnR9LyR7ZmlsZW5hbWV9YCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgYWdlbnQ6IG5ldyBBZ2VudCh7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSksXG4gICAgICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0UmVzcG9uc2UgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGV4dFJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBidWZmZXIgPSBhd2FpdCByZXNwb25zZS5idWZmZXIoKTtcbiAgICAgICAgcmV0dXJuIFJlYWRhYmxlLmZyb20oYnVmZmVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdEVycm9yKGU6IFJlYXNvbk9yRXJyb3IpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7ZX1cXG4ke2Uuc3RhY2t9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7ZX1gO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLGFBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLHFCQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxzQkFBQSxHQUFBVCxPQUFBO0FBTUEsSUFBQVUsZ0JBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFdBQUEsR0FBQVgsT0FBQTtBQUdBLElBQUFZLFFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildFormDevServer.js","names":["path","_interopRequireWildcard","require","_stream","_https","_nodeFetch","_interopRequireDefault","_pLimit","_fsExtra","_GenerateForm","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_AsyncUtils","_Observe","_FsUtils","_FormPathUtils","_TypingUtils","_WellKnownDirectories","_ReportGeneratorErrorToPageBody","_RunFormCompilationViaWebpackDevServer","_WebpackHybridFileSystem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","buildGfvToPathMap","repositoryRoots","result","Map","repositoryRoot","formPaths","globAsync","WellKnownDirectories","CandySubdirectoryName","cwd","formPath","gfv","extractGfvFromFormPath","join","BuildFormDevServer","constructor","port","allFarmConfig","candyModulesDirectory","farmConfigArray","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","skipCodeReformatting","nightly","farmDirectory","startParallelLimit","generateChain","webpackDevServerStarted","webpackHybridFileSystem","gfvPaths","undefined","pLimit","findFormPath","_this$gfvPaths","map","x","_this$gfvPaths$get","reject","normalize","formDirPath","allPossibleFilePath","pth","pathExists","Error","writeErrorInEntryAndShowInBrowser","_this$webpackHybridFi","formEntryPointPath","writeBatch","getReportGeneratorErrorToPageBodyScript","formatError","start","WebpackHybridFileSystem","Observe","file","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","generatorVersion","engineVersion","resolveGeneratorVersion","resolveEngineVersion","attach","fi","generatorFactory","y","generator","getGeneratorSourceKey","files","formSourcesPath","do","FormsDirWithHlPath","find","generateForm","hlFarmDirectoryPath","resourcesHash","observe","runFormCompilationViaWebpackDevServer","getGeneratedFileAsStream","filename","delay","resultFileName","GeneratedFormSubdirectory","_this$webpackHybridFi2","statSync","Promise","resolve","_this$webpackHybridFi3","readFile","error","data","Readable","from","getFileAsStream","response","fetch","method","agent","Agent","rejectUnauthorized","status","textResponse","text","body","stack","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.ts"],"sourcesContent":["import * as path from \"path\";\nimport { Readable } from \"stream\";\nimport { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\nimport { pathExists } from \"fs-extra\";\n\nimport { generateForm } from \"../../../../BuildTasks/Form/GenerateForm\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../../../BuildTasks/Generator/AcquireFormGenerator\";\nimport {\n resolveEngineVersion,\n resolveGeneratorVersion,\n resolveLocalEngineSource,\n resolveLocalGeneratorSource,\n} from \"../../../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../../../BuildTasks/ResolveFormInfo\";\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { ReasonOrError } from \"../../../../Commons/ErrorUntyped\";\nimport { ChainableValueProducer } from \"../../../../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { extractGfvFromFormPath } from \"../../../../../../Common/FormPathUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\n\nimport { getReportGeneratorErrorToPageBodyScript } from \"./ReportGeneratorErrorToPageBody\";\nimport { runFormCompilationViaWebpackDevServer } from \"./RunFormCompilationViaWebpackDevServer\";\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nasync function buildGfvToPathMap(repositoryRoots: string[]): Promise<Map<string, string>> {\n const result = new Map<string, string>();\n\n for (const repositoryRoot of repositoryRoots) {\n const formPaths = await globAsync(`forms/**/*/${WellKnownDirectories.CandySubdirectoryName}`, {\n cwd: repositoryRoot,\n });\n for (const formPath of formPaths) {\n const gfv = extractGfvFromFormPath(formPath);\n result.set(gfv, path.join(repositoryRoot, formPath));\n }\n }\n\n return result;\n}\n\nexport class BuildFormDevServer {\n private readonly port: number;\n private readonly allFarmConfig: string[];\n private readonly gfv: string;\n private readonly candyModulesDirectory: string;\n private farmDirectory: string;\n private formPath: string;\n private readonly farmConfigArray: FarmConfig[];\n private readonly startParallelLimit: Limit;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private generateChain?: ChainableValueProducer<any>;\n private webpackDevServerStarted = false;\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n private readonly skipCodeReformatting: boolean;\n private webpackHybridFileSystem?: WebpackHybridFileSystem;\n private gfvPaths: undefined | Map<string, string> = undefined;\n\n public constructor(\n port: number,\n allFarmConfig: string[],\n gfv: string,\n candyModulesDirectory: string,\n farmConfigArray: FarmConfig[],\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n skipCodeReformatting: boolean,\n nightly: boolean\n ) {\n this.port = port;\n this.allFarmConfig = allFarmConfig;\n this.gfv = gfv;\n this.candyModulesDirectory = candyModulesDirectory;\n this.farmConfigArray = farmConfigArray;\n this.startParallelLimit = pLimit(1);\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n this.skipCodeReformatting = skipCodeReformatting;\n this.nightly = nightly;\n this.farmDirectory = \"\";\n this.formPath = \"\";\n }\n\n private async findFormPath(gfv: string): Promise<{ formPath: string; farmDirectory: string }> {\n this.gfvPaths = this.gfvPaths ?? (await buildGfvToPathMap(this.allFarmConfig.map(x => path.join(x, \"..\"))));\n\n if (this.gfvPaths.has(gfv)) {\n const formPath = this.gfvPaths.get(gfv) ?? reject();\n return {\n formPath: formPath ?? reject(),\n farmDirectory: path.normalize(path.join(formPath, \"..\", \"..\", \"..\", \"..\", \"..\", \"candy.farm\")),\n };\n }\n\n let farmDirectory: string | undefined;\n let formDirPath = \"\";\n\n const allPossibleFilePath = this.allFarmConfig.map(i => path.join(i, \"forms\", this.gfv));\n for (const pth of allPossibleFilePath) {\n if (await pathExists(pth)) {\n formDirPath = pth;\n farmDirectory = path.join(pth, \"..\", \"..\");\n break;\n }\n }\n\n if (formDirPath === \"\") {\n throw Error(\"formDirPath not found\");\n }\n if (farmDirectory == undefined || !(await pathExists(farmDirectory))) {\n throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);\n }\n return {\n formPath: formDirPath,\n farmDirectory: farmDirectory,\n };\n }\n\n private async writeErrorInEntryAndShowInBrowser(e: unknown) {\n const formEntryPointPath = path.join(this.formPath, \"form\", \"web.js\");\n await this.webpackHybridFileSystem?.writeBatch({\n [formEntryPointPath]: getReportGeneratorErrorToPageBodyScript(this.formatError(e)),\n });\n }\n\n public start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.generateChain != undefined) {\n return;\n }\n\n const { formPath, farmDirectory } = await this.findFormPath(this.gfv);\n this.farmDirectory = farmDirectory;\n this.formPath = formPath;\n this.webpackHybridFileSystem = new WebpackHybridFileSystem(path.join(this.formPath, \"form\"));\n\n this.generateChain = Observe.file(path.join(this.formPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n this.formPath,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n this.nightly\n )\n )\n .transform(async x => {\n if (this.useGeneratorFromLocalSources) {\n return {\n ...x,\n generatorSource: resolveLocalGeneratorSource(this.engineDirectory),\n engineSource: resolveLocalEngineSource(this.engineDirectory),\n };\n } else {\n if (x.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is no defined\");\n }\n if (x.engineVersion == undefined) {\n throw new Error(\"engineVersion is no defined\");\n }\n return {\n ...x,\n generatorSource: await resolveGeneratorVersion(x.generatorVersion),\n engineSource: await resolveEngineVersion(x.engineVersion),\n };\n }\n })\n .attach(\n async fi => generatorFactory(fi.generatorSource, this.candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/generator/*\",\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .do(async fi => {\n try {\n const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);\n if (FormsDirWithHlPath == undefined) {\n throw Error(\"FormsDirWithHlPath === undefined\");\n }\n await generateForm(\n fi.formSourcesPath,\n this.farmDirectory,\n FormsDirWithHlPath.hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: this.skipCodeReformatting,\n resourcesHash: \"local-hash\",\n },\n this.webpackHybridFileSystem\n );\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n });\n try {\n await this.generateChain.observe();\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n\n await runFormCompilationViaWebpackDevServer(\n this.gfv,\n this.farmDirectory,\n this.formPath,\n path.join(this.farmDirectory, \"res\"),\n \"local-hash\",\n this.buildDebugOnly,\n this.webpackHybridFileSystem,\n this.port\n );\n this.webpackDevServerStarted = true;\n });\n }\n\n public async getGeneratedFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n let resultFileName = \"\";\n const formPath = await this.findFormPath(this.gfv);\n const allPossibleFilePath = [\n path.join(formPath.formPath, WellKnownDirectories.GeneratedFormSubdirectory, filename),\n ];\n for (const pth of allPossibleFilePath) {\n try {\n if (this.webpackHybridFileSystem?.statSync(pth)) {\n resultFileName = pth;\n break;\n }\n } catch (e) {\n continue;\n }\n }\n if (resultFileName === \"\") {\n throw Error(`getGeneratedFileAsStream ${filename} not found`);\n }\n\n return new Promise((resolve, r) => {\n this.webpackHybridFileSystem?.readFile(resultFileName, \"utf-8\", (error, data) => {\n if (error) {\n r(error);\n } else {\n resolve(Readable.from([data]));\n }\n });\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n });\n if (response.status != 200) {\n const textResponse = await response.text();\n throw new Error(textResponse);\n }\n return response.body;\n }\n\n private formatError(e: ReasonOrError): string {\n if (e instanceof Error) {\n return `${e}\\n${e.stack}`;\n }\n return `${e}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BuildFormDevServer.js","names":["path","_interopRequireWildcard","require","_stream","_https","_nodeFetch","_interopRequireDefault","_pLimit","_fsExtra","_GenerateForm","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_AsyncUtils","_Observe","_FsUtils","_FormPathUtils","_TypingUtils","_WellKnownDirectories","_ReportGeneratorErrorToPageBody","_RunFormCompilationViaWebpackDevServer","_WebpackHybridFileSystem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","buildGfvToPathMap","repositoryRoots","result","Map","repositoryRoot","formPaths","globAsync","WellKnownDirectories","CandySubdirectoryName","cwd","formPath","gfv","extractGfvFromFormPath","join","BuildFormDevServer","constructor","port","allFarmConfig","candyModulesDirectory","farmConfigArray","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","skipCodeReformatting","nightly","farmDirectory","startParallelLimit","generateChain","webpackDevServerStarted","webpackHybridFileSystem","gfvPaths","undefined","pLimit","findFormPath","_this$gfvPaths","map","x","_this$gfvPaths$get","reject","normalize","formDirPath","allPossibleFilePath","pth","pathExists","Error","writeErrorInEntryAndShowInBrowser","_this$webpackHybridFi","formEntryPointPath","writeBatch","getReportGeneratorErrorToPageBodyScript","formatError","start","WebpackHybridFileSystem","Observe","file","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","generatorVersion","engineVersion","resolveGeneratorVersion","resolveEngineVersion","attach","fi","generatorFactory","y","generator","getGeneratorSourceKey","files","formSourcesPath","do","FormsDirWithHlPath","find","generateForm","hlFarmDirectoryPath","resourcesHash","observe","runFormCompilationViaWebpackDevServer","getGeneratedFileAsStream","filename","delay","resultFileName","GeneratedFormSubdirectory","_this$webpackHybridFi2","statSync","Promise","resolve","_this$webpackHybridFi3","readFile","error","data","Readable","from","getFileAsStream","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","textResponse","text","buffer","stack","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.ts"],"sourcesContent":["import * as path from \"path\";\nimport { Readable } from \"stream\";\nimport { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\nimport { pathExists } from \"fs-extra\";\n\nimport { generateForm } from \"../../../../BuildTasks/Form/GenerateForm\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../../../BuildTasks/Generator/AcquireFormGenerator\";\nimport {\n resolveEngineVersion,\n resolveGeneratorVersion,\n resolveLocalEngineSource,\n resolveLocalGeneratorSource,\n} from \"../../../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../../../BuildTasks/ResolveFormInfo\";\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { ReasonOrError } from \"../../../../Commons/ErrorUntyped\";\nimport { ChainableValueProducer } from \"../../../../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { extractGfvFromFormPath } from \"../../../../../../Common/FormPathUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\n\nimport { getReportGeneratorErrorToPageBodyScript } from \"./ReportGeneratorErrorToPageBody\";\nimport { runFormCompilationViaWebpackDevServer } from \"./RunFormCompilationViaWebpackDevServer\";\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nasync function buildGfvToPathMap(repositoryRoots: string[]): Promise<Map<string, string>> {\n const result = new Map<string, string>();\n\n for (const repositoryRoot of repositoryRoots) {\n const formPaths = await globAsync(`forms/**/*/${WellKnownDirectories.CandySubdirectoryName}`, {\n cwd: repositoryRoot,\n });\n for (const formPath of formPaths) {\n const gfv = extractGfvFromFormPath(formPath);\n result.set(gfv, path.join(repositoryRoot, formPath));\n }\n }\n\n return result;\n}\n\nexport class BuildFormDevServer {\n private readonly port: number;\n private readonly allFarmConfig: string[];\n private readonly gfv: string;\n private readonly candyModulesDirectory: string;\n private farmDirectory: string;\n private formPath: string;\n private readonly farmConfigArray: FarmConfig[];\n private readonly startParallelLimit: Limit;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private generateChain?: ChainableValueProducer<any>;\n private webpackDevServerStarted = false;\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n private readonly skipCodeReformatting: boolean;\n private webpackHybridFileSystem?: WebpackHybridFileSystem;\n private gfvPaths: undefined | Map<string, string> = undefined;\n\n public constructor(\n port: number,\n allFarmConfig: string[],\n gfv: string,\n candyModulesDirectory: string,\n farmConfigArray: FarmConfig[],\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n skipCodeReformatting: boolean,\n nightly: boolean\n ) {\n this.port = port;\n this.allFarmConfig = allFarmConfig;\n this.gfv = gfv;\n this.candyModulesDirectory = candyModulesDirectory;\n this.farmConfigArray = farmConfigArray;\n this.startParallelLimit = pLimit(1);\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n this.skipCodeReformatting = skipCodeReformatting;\n this.nightly = nightly;\n this.farmDirectory = \"\";\n this.formPath = \"\";\n }\n\n private async findFormPath(gfv: string): Promise<{ formPath: string; farmDirectory: string }> {\n this.gfvPaths = this.gfvPaths ?? (await buildGfvToPathMap(this.allFarmConfig.map(x => path.join(x, \"..\"))));\n\n if (this.gfvPaths.has(gfv)) {\n const formPath = this.gfvPaths.get(gfv) ?? reject();\n return {\n formPath: formPath ?? reject(),\n farmDirectory: path.normalize(path.join(formPath, \"..\", \"..\", \"..\", \"..\", \"..\", \"candy.farm\")),\n };\n }\n\n let farmDirectory: string | undefined;\n let formDirPath = \"\";\n\n const allPossibleFilePath = this.allFarmConfig.map(i => path.join(i, \"forms\", this.gfv));\n for (const pth of allPossibleFilePath) {\n if (await pathExists(pth)) {\n formDirPath = pth;\n farmDirectory = path.join(pth, \"..\", \"..\");\n break;\n }\n }\n\n if (formDirPath === \"\") {\n throw Error(\"formDirPath not found\");\n }\n if (farmDirectory == undefined || !(await pathExists(farmDirectory))) {\n throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);\n }\n return {\n formPath: formDirPath,\n farmDirectory: farmDirectory,\n };\n }\n\n private async writeErrorInEntryAndShowInBrowser(e: unknown) {\n const formEntryPointPath = path.join(this.formPath, \"form\", \"web.js\");\n await this.webpackHybridFileSystem?.writeBatch({\n [formEntryPointPath]: getReportGeneratorErrorToPageBodyScript(this.formatError(e)),\n });\n }\n\n public start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.generateChain != undefined) {\n return;\n }\n\n const { formPath, farmDirectory } = await this.findFormPath(this.gfv);\n this.farmDirectory = farmDirectory;\n this.formPath = formPath;\n this.webpackHybridFileSystem = new WebpackHybridFileSystem(path.join(this.formPath, \"form\"));\n\n this.generateChain = Observe.file(path.join(this.formPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n this.formPath,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n this.nightly\n )\n )\n .transform(async x => {\n if (this.useGeneratorFromLocalSources) {\n return {\n ...x,\n generatorSource: resolveLocalGeneratorSource(this.engineDirectory),\n engineSource: resolveLocalEngineSource(this.engineDirectory),\n };\n } else {\n if (x.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is no defined\");\n }\n if (x.engineVersion == undefined) {\n throw new Error(\"engineVersion is no defined\");\n }\n return {\n ...x,\n generatorSource: await resolveGeneratorVersion(x.generatorVersion),\n engineSource: await resolveEngineVersion(x.engineVersion),\n };\n }\n })\n .attach(\n async fi => generatorFactory(fi.generatorSource, this.candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/generator/*\",\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .do(async fi => {\n try {\n const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);\n if (FormsDirWithHlPath == undefined) {\n throw Error(\"FormsDirWithHlPath === undefined\");\n }\n await generateForm(\n fi.formSourcesPath,\n this.farmDirectory,\n FormsDirWithHlPath.hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: this.skipCodeReformatting,\n resourcesHash: \"local-hash\",\n },\n this.webpackHybridFileSystem\n );\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n });\n try {\n await this.generateChain.observe();\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n\n await runFormCompilationViaWebpackDevServer(\n this.gfv,\n this.farmDirectory,\n this.formPath,\n path.join(this.farmDirectory, \"res\"),\n \"local-hash\",\n this.buildDebugOnly,\n this.webpackHybridFileSystem,\n this.port\n );\n this.webpackDevServerStarted = true;\n });\n }\n\n public async getGeneratedFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n let resultFileName = \"\";\n const formPath = await this.findFormPath(this.gfv);\n const allPossibleFilePath = [\n path.join(formPath.formPath, WellKnownDirectories.GeneratedFormSubdirectory, filename),\n ];\n for (const pth of allPossibleFilePath) {\n try {\n if (this.webpackHybridFileSystem?.statSync(pth)) {\n resultFileName = pth;\n break;\n }\n } catch (e) {\n continue;\n }\n }\n if (resultFileName === \"\") {\n throw Error(`getGeneratedFileAsStream ${filename} not found`);\n }\n\n return new Promise((resolve, r) => {\n this.webpackHybridFileSystem?.readFile(resultFileName, \"utf-8\", (error, data) => {\n if (error) {\n r(error);\n } else {\n resolve(Readable.from([data]));\n }\n });\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status != 200) {\n const textResponse = await response.text();\n throw new Error(textResponse);\n }\n const buffer = await response.buffer();\n return Readable.from(buffer);\n }\n\n private formatError(e: ReasonOrError): string {\n if (e instanceof Error) {\n return `${e}\\n${e.stack}`;\n }\n return `${e}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.ClientJsDevServer = void 0;
|
|
8
8
|
var _https = require("https");
|
|
9
|
+
var _stream = require("stream");
|
|
9
10
|
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
10
11
|
var _pLimit = _interopRequireDefault(require("p-limit"));
|
|
11
12
|
var _WebpackDevServerWorkerFactory = require("./WebpackDevServerWorker/WebpackDevServerWorkerFactory");
|
|
@@ -41,13 +42,16 @@ class ClientJsDevServer {
|
|
|
41
42
|
return this.getFileStream(`static/public/scripts/${fileName}`);
|
|
42
43
|
}
|
|
43
44
|
async getFileStream(filePathUrl) {
|
|
44
|
-
|
|
45
|
+
const request = await (0, _nodeFetch.default)(`https://localhost:${this.port}/${filePathUrl}`, {
|
|
45
46
|
method: "GET",
|
|
46
47
|
agent: new _https.Agent({
|
|
47
48
|
rejectUnauthorized: false
|
|
48
|
-
})
|
|
49
|
-
|
|
49
|
+
}),
|
|
50
|
+
compress: true
|
|
51
|
+
});
|
|
52
|
+
const buffer = await request.buffer();
|
|
53
|
+
return _stream.Readable.from(buffer);
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
56
|
exports.ClientJsDevServer = ClientJsDevServer;
|
|
53
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaHR0cHMiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9XZWJwYWNrRGV2U2VydmVyV29ya2VyRmFjdG9yeSIsIkNsaWVudEpzRGV2U2VydmVyIiwiY29uc3RydWN0b3IiLCJwb3J0IiwiZW5naW5lRGlyZWN0b3J5IiwiYnVpbGREZWJ1Z09ubHkiLCJzdGFydFBhcmFsbGVsTGltaXQiLCJzdGFydGVkIiwicExpbWl0Iiwic3RhcnQiLCJjcmVhdGVXZWJQYWNrRGV2U2VydmVyV29ya2VyIiwicmVzb3VyY2VzUGF0aCIsIm91dHB1dEZpbGVuYW1lIiwiZGV2ZWxvcG1lbnQiLCJwcm9kdWN0aW9uIiwic291cmNlTWFwUHJlZml4IiwiZ2V0Q2xpZW50SnNDb250ZW50QXNTdHJlYW0iLCJtaW5pZmllZCIsImZpbGVOYW1lIiwiZ2V0RmlsZVN0cmVhbSIsImZpbGVQYXRoVXJsIiwicmVxdWVzdCIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwiYnVmZmVyIiwiUmVhZGFibGUiLCJmcm9tIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9EZXZTZXJ2ZXJzL0NsaWVudEpzRGV2U2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFnZW50IH0gZnJvbSBcImh0dHBzXCI7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcblxuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5pbXBvcnQgcExpbWl0LCB7IExpbWl0IH0gZnJvbSBcInAtbGltaXRcIjtcblxuaW1wb3J0IHsgY3JlYXRlV2ViUGFja0RldlNlcnZlcldvcmtlciB9IGZyb20gXCIuL1dlYnBhY2tEZXZTZXJ2ZXJXb3JrZXIvV2VicGFja0RldlNlcnZlcldvcmtlckZhY3RvcnlcIjtcblxuZXhwb3J0IGNsYXNzIENsaWVudEpzRGV2U2VydmVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhcnRQYXJhbGxlbExpbWl0OiBMaW1pdDtcbiAgICBwcml2YXRlIHN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1aWxkRGVidWdPbmx5OiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHBvcnQ6IG51bWJlciwgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgICAgIHRoaXMuZW5naW5lRGlyZWN0b3J5ID0gZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICB0aGlzLnN0YXJ0UGFyYWxsZWxMaW1pdCA9IHBMaW1pdCgxKTtcbiAgICAgICAgdGhpcy5idWlsZERlYnVnT25seSA9IGJ1aWxkRGVidWdPbmx5O1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCBjcmVhdGVXZWJQYWNrRGV2U2VydmVyV29ya2VyKHRoaXMuZW5naW5lRGlyZWN0b3J5LCBcImNsaWVudGpzLndlYnBhY2suY29uZmlnLmpzXCIsIHRoaXMucG9ydCwge1xuICAgICAgICAgICAgICAgIHJlc291cmNlc1BhdGg6IFwiZGlzdFwiLFxuICAgICAgICAgICAgICAgIG91dHB1dEZpbGVuYW1lOiBcImNsaWVudFwiLFxuICAgICAgICAgICAgICAgIGRldmVsb3BtZW50OiBcInRydWVcIixcbiAgICAgICAgICAgICAgICBwcm9kdWN0aW9uOiB0aGlzLmJ1aWxkRGVidWdPbmx5ID8gXCJmYWxzZVwiIDogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgc291cmNlTWFwUHJlZml4OiBcInN0YXRpYy9cIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldENsaWVudEpzQ29udGVudEFzU3RyZWFtKG1pbmlmaWVkOiBib29sZWFuKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBtaW5pZmllZCA/IFwiY2xpZW50Lm1pbi5qc1wiIDogXCJjbGllbnQuanNcIjtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmlsZVN0cmVhbShgc3RhdGljL3B1YmxpYy9zY3JpcHRzLyR7ZmlsZU5hbWV9YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEZpbGVTdHJlYW0oZmlsZVBhdGhVcmw6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9sb2NhbGhvc3Q6JHt0aGlzLnBvcnR9LyR7ZmlsZVBhdGhVcmx9YCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgYWdlbnQ6IG5ldyBBZ2VudCh7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSksXG4gICAgICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGJ1ZmZlciA9IGF3YWl0IHJlcXVlc3QuYnVmZmVyKCk7XG4gICAgICAgIHJldHVybiBSZWFkYWJsZS5mcm9tKGJ1ZmZlcik7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsVUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQUssOEJBQUEsR0FBQUwsT0FBQTtBQUVPLE1BQU1NLGlCQUFpQixDQUFDO0VBT3BCQyxXQUFXQSxDQUFDQyxJQUFZLEVBQUVDLGVBQXVCLEVBQUVDLGNBQXVCLEVBQUU7SUFBQSxLQU5sRUYsSUFBSTtJQUFBLEtBQ0pDLGVBQWU7SUFBQSxLQUNmRSxrQkFBa0I7SUFBQSxLQUMzQkMsT0FBTyxHQUFHLEtBQUs7SUFBQSxLQUNORixjQUFjO0lBRzNCLElBQUksQ0FBQ0YsSUFBSSxHQUFHQSxJQUFJO0lBQ2hCLElBQUksQ0FBQ0MsZUFBZSxHQUFHQSxlQUFlO0lBQ3RDLElBQUksQ0FBQ0Usa0JBQWtCLEdBQUcsSUFBQUUsZUFBTSxFQUFDLENBQUMsQ0FBQztJQUNuQyxJQUFJLENBQUNILGNBQWMsR0FBR0EsY0FBYztFQUN4QztFQUVBLE1BQWFJLEtBQUtBLENBQUEsRUFBa0I7SUFDaEMsT0FBTyxJQUFJLENBQUNILGtCQUFrQixDQUFDLFlBQVk7TUFDdkMsSUFBSSxJQUFJLENBQUNDLE9BQU8sRUFBRTtRQUNkO01BQ0o7TUFDQSxNQUFNLElBQUFHLDJEQUE0QixFQUFDLElBQUksQ0FBQ04sZUFBZSxFQUFFLDRCQUE0QixFQUFFLElBQUksQ0FBQ0QsSUFBSSxFQUFFO1FBQzlGUSxhQUFhLEVBQUUsTUFBTTtRQUNyQkMsY0FBYyxFQUFFLFFBQVE7UUFDeEJDLFdBQVcsRUFBRSxNQUFNO1FBQ25CQyxVQUFVLEVBQUUsSUFBSSxDQUFDVCxjQUFjLEdBQUcsT0FBTyxHQUFHLE1BQU07UUFDbERVLGVBQWUsRUFBRTtNQUNyQixDQUFDLENBQUM7TUFDRixJQUFJLENBQUNSLE9BQU8sR0FBRyxJQUFJO0lBQ3ZCLENBQUMsQ0FBQztFQUNOO0VBRUEsTUFBYVMsMEJBQTBCQSxDQUFDQyxRQUFpQixFQUFrQztJQUN2RixNQUFNQyxRQUFRLEdBQUdELFFBQVEsR0FBRyxlQUFlLEdBQUcsV0FBVztJQUN6RCxPQUFPLElBQUksQ0FBQ0UsYUFBYSxDQUFDLHlCQUF5QkQsUUFBUSxFQUFFLENBQUM7RUFDbEU7RUFFQSxNQUFhQyxhQUFhQSxDQUFDQyxXQUFtQixFQUFrQztJQUM1RSxNQUFNQyxPQUFPLEdBQUcsTUFBTSxJQUFBQyxrQkFBSyxFQUFDLHFCQUFxQixJQUFJLENBQUNuQixJQUFJLElBQUlpQixXQUFXLEVBQUUsRUFBRTtNQUN6RUcsTUFBTSxFQUFFLEtBQUs7TUFDYkMsS0FBSyxFQUFFLElBQUlDLFlBQUssQ0FBQztRQUFFQyxrQkFBa0IsRUFBRTtNQUFNLENBQUMsQ0FBQztNQUMvQ0MsUUFBUSxFQUFFO0lBQ2QsQ0FBQyxDQUFDO0lBQ0YsTUFBTUMsTUFBTSxHQUFHLE1BQU1QLE9BQU8sQ0FBQ08sTUFBTSxDQUFDLENBQUM7SUFDckMsT0FBT0MsZ0JBQVEsQ0FBQ0MsSUFBSSxDQUFDRixNQUFNLENBQUM7RUFDaEM7QUFDSjtBQUFDRyxPQUFBLENBQUE5QixpQkFBQSxHQUFBQSxpQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientJsDevServer.js","names":["_https","require","_nodeFetch","_interopRequireDefault","_pLimit","_WebpackDevServerWorkerFactory","ClientJsDevServer","constructor","port","engineDirectory","buildDebugOnly","startParallelLimit","started","pLimit","start","createWebPackDevServerWorker","resourcesPath","outputFilename","development","production","sourceMapPrefix","getClientJsContentAsStream","minified","fileName","getFileStream","filePathUrl","fetch","method","agent","Agent","rejectUnauthorized","
|
|
1
|
+
{"version":3,"file":"ClientJsDevServer.js","names":["_https","require","_stream","_nodeFetch","_interopRequireDefault","_pLimit","_WebpackDevServerWorkerFactory","ClientJsDevServer","constructor","port","engineDirectory","buildDebugOnly","startParallelLimit","started","pLimit","start","createWebPackDevServerWorker","resourcesPath","outputFilename","development","production","sourceMapPrefix","getClientJsContentAsStream","minified","fileName","getFileStream","filePathUrl","request","fetch","method","agent","Agent","rejectUnauthorized","compress","buffer","Readable","from","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.ts"],"sourcesContent":["import { Agent } from \"https\";\nimport { Readable } from \"stream\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\n\nimport { createWebPackDevServerWorker } from \"./WebpackDevServerWorker/WebpackDevServerWorkerFactory\";\n\nexport class ClientJsDevServer {\n private readonly port: number;\n private readonly engineDirectory: string;\n private readonly startParallelLimit: Limit;\n private started = false;\n private readonly buildDebugOnly: boolean;\n\n public constructor(port: number, engineDirectory: string, buildDebugOnly: boolean) {\n this.port = port;\n this.engineDirectory = engineDirectory;\n this.startParallelLimit = pLimit(1);\n this.buildDebugOnly = buildDebugOnly;\n }\n\n public async start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.started) {\n return;\n }\n await createWebPackDevServerWorker(this.engineDirectory, \"clientjs.webpack.config.js\", this.port, {\n resourcesPath: \"dist\",\n outputFilename: \"client\",\n development: \"true\",\n production: this.buildDebugOnly ? \"false\" : \"true\",\n sourceMapPrefix: \"static/\",\n });\n this.started = true;\n });\n }\n\n public async getClientJsContentAsStream(minified: boolean): Promise<NodeJS.ReadableStream> {\n const fileName = minified ? \"client.min.js\" : \"client.js\";\n return this.getFileStream(`static/public/scripts/${fileName}`);\n }\n\n public async getFileStream(filePathUrl: string): Promise<NodeJS.ReadableStream> {\n const request = await fetch(`https://localhost:${this.port}/${filePathUrl}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n const buffer = await request.buffer();\n return Readable.from(buffer);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,8BAAA,GAAAL,OAAA;AAEO,MAAMM,iBAAiB,CAAC;EAOpBC,WAAWA,CAACC,IAAY,EAAEC,eAAuB,EAAEC,cAAuB,EAAE;IAAA,KANlEF,IAAI;IAAA,KACJC,eAAe;IAAA,KACfE,kBAAkB;IAAA,KAC3BC,OAAO,GAAG,KAAK;IAAA,KACNF,cAAc;IAG3B,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACE,kBAAkB,GAAG,IAAAE,eAAM,EAAC,CAAC,CAAC;IACnC,IAAI,CAACH,cAAc,GAAGA,cAAc;EACxC;EAEA,MAAaI,KAAKA,CAAA,EAAkB;IAChC,OAAO,IAAI,CAACH,kBAAkB,CAAC,YAAY;MACvC,IAAI,IAAI,CAACC,OAAO,EAAE;QACd;MACJ;MACA,MAAM,IAAAG,2DAA4B,EAAC,IAAI,CAACN,eAAe,EAAE,4BAA4B,EAAE,IAAI,CAACD,IAAI,EAAE;QAC9FQ,aAAa,EAAE,MAAM;QACrBC,cAAc,EAAE,QAAQ;QACxBC,WAAW,EAAE,MAAM;QACnBC,UAAU,EAAE,IAAI,CAACT,cAAc,GAAG,OAAO,GAAG,MAAM;QAClDU,eAAe,EAAE;MACrB,CAAC,CAAC;MACF,IAAI,CAACR,OAAO,GAAG,IAAI;IACvB,CAAC,CAAC;EACN;EAEA,MAAaS,0BAA0BA,CAACC,QAAiB,EAAkC;IACvF,MAAMC,QAAQ,GAAGD,QAAQ,GAAG,eAAe,GAAG,WAAW;IACzD,OAAO,IAAI,CAACE,aAAa,CAAC,yBAAyBD,QAAQ,EAAE,CAAC;EAClE;EAEA,MAAaC,aAAaA,CAACC,WAAmB,EAAkC;IAC5E,MAAMC,OAAO,GAAG,MAAM,IAAAC,kBAAK,EAAC,qBAAqB,IAAI,CAACnB,IAAI,IAAIiB,WAAW,EAAE,EAAE;MACzEG,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,IAAIC,YAAK,CAAC;QAAEC,kBAAkB,EAAE;MAAM,CAAC,CAAC;MAC/CC,QAAQ,EAAE;IACd,CAAC,CAAC;IACF,MAAMC,MAAM,GAAG,MAAMP,OAAO,CAACO,MAAM,CAAC,CAAC;IACrC,OAAOC,gBAAQ,CAACC,IAAI,CAACF,MAAM,CAAC;EAChC;AACJ;AAACG,OAAA,CAAA9B,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.EngineDevServer = void 0;
|
|
8
8
|
var _https = require("https");
|
|
9
|
+
var _stream = require("stream");
|
|
9
10
|
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
10
11
|
var _pLimit = _interopRequireDefault(require("p-limit"));
|
|
11
12
|
var _AsyncUtils = require("../../../../../../Common/AsyncUtils");
|
|
@@ -52,13 +53,15 @@ class EngineDevServer {
|
|
|
52
53
|
method: "GET",
|
|
53
54
|
agent: new _https.Agent({
|
|
54
55
|
rejectUnauthorized: false
|
|
55
|
-
})
|
|
56
|
+
}),
|
|
57
|
+
compress: true
|
|
56
58
|
});
|
|
57
59
|
if (response.status === 404) {
|
|
58
60
|
throw new _NotFoundWebError.NotFoundWebError(`Cannot find ${filename} at runtime dev server runner at ${this.port}`);
|
|
59
61
|
}
|
|
60
|
-
|
|
62
|
+
const buffer = await response.buffer();
|
|
63
|
+
return _stream.Readable.from(buffer);
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
exports.EngineDevServer = EngineDevServer;
|
|
64
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaHR0cHMiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9Bc3luY1V0aWxzIiwiX05vdEZvdW5kV2ViRXJyb3IiLCJfV2VicGFja0RldlNlcnZlcldvcmtlckZhY3RvcnkiLCJFbmdpbmVEZXZTZXJ2ZXIiLCJjb25zdHJ1Y3RvciIsInBvcnQiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsInRoZW1lIiwic3RhcnRQYXJhbGxlbExpbWl0Iiwic3RhcnRlZCIsInBMaW1pdCIsInN0YXJ0Iiwib3B0aW9ucyIsInJlc291cmNlc1BhdGgiLCJkZXZlbG9wbWVudCIsInByb2R1Y3Rpb24iLCJ0ZXN0aW5nIiwiY3JlYXRlV2ViUGFja0RldlNlcnZlcldvcmtlciIsImdldEZpbGVBc1N0cmVhbSIsImZpbGVuYW1lIiwiZGVsYXkiLCJyZXNwb25zZSIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwic3RhdHVzIiwiTm90Rm91bmRXZWJFcnJvciIsImJ1ZmZlciIsIlJlYWRhYmxlIiwiZnJvbSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUmVzb3VyY2VzQ29udHJvbGxlcnMvRGV2U2VydmVycy9FbmdpbmVEZXZTZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWdlbnQgfSBmcm9tIFwiaHR0cHNcIjtcbmltcG9ydCB7IFJlYWRhYmxlIH0gZnJvbSBcInN0cmVhbVwiO1xuXG5pbXBvcnQgZmV0Y2ggZnJvbSBcIm5vZGUtZmV0Y2hcIjtcbmltcG9ydCBwTGltaXQsIHsgTGltaXQgfSBmcm9tIFwicC1saW1pdFwiO1xuXG5pbXBvcnQgeyBkZWxheSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vQXN5bmNVdGlsc1wiO1xuaW1wb3J0IHsgTm90Rm91bmRXZWJFcnJvciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9Ob3RGb3VuZFdlYkVycm9yXCI7XG5cbmltcG9ydCB7IGNyZWF0ZVdlYlBhY2tEZXZTZXJ2ZXJXb3JrZXIgfSBmcm9tIFwiLi9XZWJwYWNrRGV2U2VydmVyV29ya2VyL1dlYnBhY2tEZXZTZXJ2ZXJXb3JrZXJGYWN0b3J5XCI7XG5cbmV4cG9ydCBjbGFzcyBFbmdpbmVEZXZTZXJ2ZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGFydFBhcmFsbGVsTGltaXQ6IExpbWl0O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGhlbWU6IHVuZGVmaW5lZCB8IHN0cmluZztcbiAgICBwcml2YXRlIHN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1aWxkRGVidWdPbmx5OiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHBvcnQ6IG51bWJlciwgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuLCB0aGVtZTogdW5kZWZpbmVkIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgICAgIHRoaXMuZW5naW5lRGlyZWN0b3J5ID0gZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICB0aGlzLnN0YXJ0UGFyYWxsZWxMaW1pdCA9IHBMaW1pdCgxKTtcbiAgICAgICAgdGhpcy5idWlsZERlYnVnT25seSA9IGJ1aWxkRGVidWdPbmx5O1xuICAgICAgICB0aGlzLnRoZW1lID0gdGhlbWU7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHN0YXJ0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGFydFBhcmFsbGVsTGltaXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RhcnRlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmJ1aWxkRGVidWdPbmx5XG4gICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VzUGF0aDogXCJkaXN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgZGV2ZWxvcG1lbnQ6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3Rpb246IFwiZmFsc2VcIixcbiAgICAgICAgICAgICAgICAgICAgICB0ZXN0aW5nOiBcImZhbHNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgdGhlbWU6IHRoaXMudGhlbWUsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VzUGF0aDogXCJkaXN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgdGhlbWU6IHRoaXMudGhlbWUsXG4gICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgYXdhaXQgY3JlYXRlV2ViUGFja0RldlNlcnZlcldvcmtlcih0aGlzLmVuZ2luZURpcmVjdG9yeSwgXCJ3ZWJwYWNrLmNvbmZpZy5qc1wiLCB0aGlzLnBvcnQsIG9wdGlvbnMpO1xuXG4gICAgICAgICAgICB0aGlzLnN0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RmlsZUFzU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT4ge1xuICAgICAgICB3aGlsZSAoIXRoaXMuc3RhcnRlZCkge1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGBodHRwczovL2xvY2FsaG9zdDoke3RoaXMucG9ydH0vc3RhdGljLyR7ZmlsZW5hbWV9YCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgYWdlbnQ6IG5ldyBBZ2VudCh7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSksXG4gICAgICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoYENhbm5vdCBmaW5kICR7ZmlsZW5hbWV9IGF0IHJ1bnRpbWUgZGV2IHNlcnZlciBydW5uZXIgYXQgJHt0aGlzLnBvcnR9YCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYnVmZmVyID0gYXdhaXQgcmVzcG9uc2UuYnVmZmVyKCk7XG4gICAgICAgIHJldHVybiBSZWFkYWJsZS5mcm9tKGJ1ZmZlcik7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsVUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0saUJBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLDhCQUFBLEdBQUFQLE9BQUE7QUFFTyxNQUFNUSxlQUFlLENBQUM7RUFRbEJDLFdBQVdBLENBQUNDLElBQVksRUFBRUMsZUFBdUIsRUFBRUMsY0FBdUIsRUFBRUMsS0FBeUIsRUFBRTtJQUFBLEtBUDdGSCxJQUFJO0lBQUEsS0FDSkMsZUFBZTtJQUFBLEtBQ2ZHLGtCQUFrQjtJQUFBLEtBQ2xCRCxLQUFLO0lBQUEsS0FDZEUsT0FBTyxHQUFHLEtBQUs7SUFBQSxLQUNOSCxjQUFjO0lBRzNCLElBQUksQ0FBQ0YsSUFBSSxHQUFHQSxJQUFJO0lBQ2hCLElBQUksQ0FBQ0MsZUFBZSxHQUFHQSxlQUFlO0lBQ3RDLElBQUksQ0FBQ0csa0JBQWtCLEdBQUcsSUFBQUUsZUFBTSxFQUFDLENBQUMsQ0FBQztJQUNuQyxJQUFJLENBQUNKLGNBQWMsR0FBR0EsY0FBYztJQUNwQyxJQUFJLENBQUNDLEtBQUssR0FBR0EsS0FBSztFQUN0QjtFQUVBLE1BQWFJLEtBQUtBLENBQUEsRUFBa0I7SUFDaEMsT0FBTyxJQUFJLENBQUNILGtCQUFrQixDQUFDLFlBQVk7TUFDdkMsSUFBSSxJQUFJLENBQUNDLE9BQU8sRUFBRTtRQUNkO01BQ0o7TUFDQSxNQUFNRyxPQUFPLEdBQUcsSUFBSSxDQUFDTixjQUFjLEdBQzdCO1FBQ0lPLGFBQWEsRUFBRSxNQUFNO1FBQ3JCQyxXQUFXLEVBQUUsTUFBTTtRQUNuQkMsVUFBVSxFQUFFLE9BQU87UUFDbkJDLE9BQU8sRUFBRSxPQUFPO1FBQ2hCVCxLQUFLLEVBQUUsSUFBSSxDQUFDQTtNQUNoQixDQUFDLEdBQ0Q7UUFDSU0sYUFBYSxFQUFFLE1BQU07UUFDckJOLEtBQUssRUFBRSxJQUFJLENBQUNBO01BQ2hCLENBQUM7TUFDUCxNQUFNLElBQUFVLDJEQUE0QixFQUFDLElBQUksQ0FBQ1osZUFBZSxFQUFFLG1CQUFtQixFQUFFLElBQUksQ0FBQ0QsSUFBSSxFQUFFUSxPQUFPLENBQUM7TUFFakcsSUFBSSxDQUFDSCxPQUFPLEdBQUcsSUFBSTtJQUN2QixDQUFDLENBQUM7RUFDTjtFQUVBLE1BQWFTLGVBQWVBLENBQUNDLFFBQWdCLEVBQWtDO0lBQzNFLE9BQU8sQ0FBQyxJQUFJLENBQUNWLE9BQU8sRUFBRTtNQUNsQixNQUFNLElBQUFXLGlCQUFLLEVBQUMsR0FBRyxDQUFDO0lBQ3BCO0lBQ0EsTUFBTUMsUUFBUSxHQUFHLE1BQU0sSUFBQUMsa0JBQUssRUFBQyxxQkFBcUIsSUFBSSxDQUFDbEIsSUFBSSxXQUFXZSxRQUFRLEVBQUUsRUFBRTtNQUM5RUksTUFBTSxFQUFFLEtBQUs7TUFDYkMsS0FBSyxFQUFFLElBQUlDLFlBQUssQ0FBQztRQUFFQyxrQkFBa0IsRUFBRTtNQUFNLENBQUMsQ0FBQztNQUMvQ0MsUUFBUSxFQUFFO0lBQ2QsQ0FBQyxDQUFDO0lBQ0YsSUFBSU4sUUFBUSxDQUFDTyxNQUFNLEtBQUssR0FBRyxFQUFFO01BQ3pCLE1BQU0sSUFBSUMsa0NBQWdCLENBQUMsZUFBZVYsUUFBUSxvQ0FBb0MsSUFBSSxDQUFDZixJQUFJLEVBQUUsQ0FBQztJQUN0RztJQUNBLE1BQU0wQixNQUFNLEdBQUcsTUFBTVQsUUFBUSxDQUFDUyxNQUFNLENBQUMsQ0FBQztJQUN0QyxPQUFPQyxnQkFBUSxDQUFDQyxJQUFJLENBQUNGLE1BQU0sQ0FBQztFQUNoQztBQUNKO0FBQUNHLE9BQUEsQ0FBQS9CLGVBQUEsR0FBQUEsZUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineDevServer.js","names":["_https","require","_nodeFetch","_interopRequireDefault","_pLimit","_AsyncUtils","_NotFoundWebError","_WebpackDevServerWorkerFactory","EngineDevServer","constructor","port","engineDirectory","buildDebugOnly","theme","startParallelLimit","started","pLimit","start","options","resourcesPath","development","production","testing","createWebPackDevServerWorker","getFileAsStream","filename","delay","response","fetch","method","agent","Agent","rejectUnauthorized","status","NotFoundWebError","
|
|
1
|
+
{"version":3,"file":"EngineDevServer.js","names":["_https","require","_stream","_nodeFetch","_interopRequireDefault","_pLimit","_AsyncUtils","_NotFoundWebError","_WebpackDevServerWorkerFactory","EngineDevServer","constructor","port","engineDirectory","buildDebugOnly","theme","startParallelLimit","started","pLimit","start","options","resourcesPath","development","production","testing","createWebPackDevServerWorker","getFileAsStream","filename","delay","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","NotFoundWebError","buffer","Readable","from","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.ts"],"sourcesContent":["import { Agent } from \"https\";\nimport { Readable } from \"stream\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\n\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { NotFoundWebError } from \"../../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\n\nimport { createWebPackDevServerWorker } from \"./WebpackDevServerWorker/WebpackDevServerWorkerFactory\";\n\nexport class EngineDevServer {\n private readonly port: number;\n private readonly engineDirectory: string;\n private readonly startParallelLimit: Limit;\n private readonly theme: undefined | string;\n private started = false;\n private readonly buildDebugOnly: boolean;\n\n public constructor(port: number, engineDirectory: string, buildDebugOnly: boolean, theme: undefined | string) {\n this.port = port;\n this.engineDirectory = engineDirectory;\n this.startParallelLimit = pLimit(1);\n this.buildDebugOnly = buildDebugOnly;\n this.theme = theme;\n }\n\n public async start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.started) {\n return;\n }\n const options = this.buildDebugOnly\n ? {\n resourcesPath: \"dist\",\n development: \"true\",\n production: \"false\",\n testing: \"false\",\n theme: this.theme,\n }\n : {\n resourcesPath: \"dist\",\n theme: this.theme,\n };\n await createWebPackDevServerWorker(this.engineDirectory, \"webpack.config.js\", this.port, options);\n\n this.started = true;\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.started) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/static/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status === 404) {\n throw new NotFoundWebError(`Cannot find ${filename} at runtime dev server runner at ${this.port}`);\n }\n const buffer = await response.buffer();\n return Readable.from(buffer);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AAEA,IAAAO,8BAAA,GAAAP,OAAA;AAEO,MAAMQ,eAAe,CAAC;EAQlBC,WAAWA,CAACC,IAAY,EAAEC,eAAuB,EAAEC,cAAuB,EAAEC,KAAyB,EAAE;IAAA,KAP7FH,IAAI;IAAA,KACJC,eAAe;IAAA,KACfG,kBAAkB;IAAA,KAClBD,KAAK;IAAA,KACdE,OAAO,GAAG,KAAK;IAAA,KACNH,cAAc;IAG3B,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACG,kBAAkB,GAAG,IAAAE,eAAM,EAAC,CAAC,CAAC;IACnC,IAAI,CAACJ,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,KAAK,GAAGA,KAAK;EACtB;EAEA,MAAaI,KAAKA,CAAA,EAAkB;IAChC,OAAO,IAAI,CAACH,kBAAkB,CAAC,YAAY;MACvC,IAAI,IAAI,CAACC,OAAO,EAAE;QACd;MACJ;MACA,MAAMG,OAAO,GAAG,IAAI,CAACN,cAAc,GAC7B;QACIO,aAAa,EAAE,MAAM;QACrBC,WAAW,EAAE,MAAM;QACnBC,UAAU,EAAE,OAAO;QACnBC,OAAO,EAAE,OAAO;QAChBT,KAAK,EAAE,IAAI,CAACA;MAChB,CAAC,GACD;QACIM,aAAa,EAAE,MAAM;QACrBN,KAAK,EAAE,IAAI,CAACA;MAChB,CAAC;MACP,MAAM,IAAAU,2DAA4B,EAAC,IAAI,CAACZ,eAAe,EAAE,mBAAmB,EAAE,IAAI,CAACD,IAAI,EAAEQ,OAAO,CAAC;MAEjG,IAAI,CAACH,OAAO,GAAG,IAAI;IACvB,CAAC,CAAC;EACN;EAEA,MAAaS,eAAeA,CAACC,QAAgB,EAAkC;IAC3E,OAAO,CAAC,IAAI,CAACV,OAAO,EAAE;MAClB,MAAM,IAAAW,iBAAK,EAAC,GAAG,CAAC;IACpB;IACA,MAAMC,QAAQ,GAAG,MAAM,IAAAC,kBAAK,EAAC,qBAAqB,IAAI,CAAClB,IAAI,WAAWe,QAAQ,EAAE,EAAE;MAC9EI,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,IAAIC,YAAK,CAAC;QAAEC,kBAAkB,EAAE;MAAM,CAAC,CAAC;MAC/CC,QAAQ,EAAE;IACd,CAAC,CAAC;IACF,IAAIN,QAAQ,CAACO,MAAM,KAAK,GAAG,EAAE;MACzB,MAAM,IAAIC,kCAAgB,CAAC,eAAeV,QAAQ,oCAAoC,IAAI,CAACf,IAAI,EAAE,CAAC;IACtG;IACA,MAAM0B,MAAM,GAAG,MAAMT,QAAQ,CAACS,MAAM,CAAC,CAAC;IACtC,OAAOC,gBAAQ,CAACC,IAAI,CAACF,MAAM,CAAC;EAChC;AACJ;AAACG,OAAA,CAAA/B,eAAA,GAAAA,eAAA","ignoreList":[]}
|