@decohere/create 0.0.1-dev.20 → 0.0.1-dev.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/commonjs/src/cli.js +12 -4
- package/commonjs/src/models/docker-image.model.js +212 -0
- package/commonjs/src/runner.js +26 -5
- package/commonjs/src/webapi/create-api.js +3 -3
- package/commonjs/src/webapi/features/finalize.feature.js +10 -3
- package/commonjs/src/webapi/models/webapi-image.model.js +22 -0
- package/es6/src/cli.js +12 -4
- package/es6/src/models/docker-image.model.js +176 -0
- package/es6/src/runner.js +26 -5
- package/es6/src/webapi/create-api.js +3 -3
- package/es6/src/webapi/features/finalize.feature.js +10 -3
- package/es6/src/webapi/models/webapi-image.model.js +12 -0
- package/package.json +2 -2
- package/types/src/models/docker-image.model.d.ts +56 -0
- package/types/src/runner.d.ts +2 -3
- package/types/src/webapi/create-api.d.ts +3 -1
- package/types/src/webapi/models/webapi-image.model.d.ts +5 -0
- package/commonjs/src/models/container-image.model.js +0 -88
- package/es6/src/models/container-image.model.js +0 -84
- package/types/src/models/container-image.model.d.ts +0 -15
package/commonjs/src/cli.js
CHANGED
|
@@ -8,13 +8,21 @@ const _runner = require("./runner.js");
|
|
|
8
8
|
const _createapi = require("./webapi/create-api.js");
|
|
9
9
|
const program = new _commander.Command();
|
|
10
10
|
program.name("decohere").description("Scaffold a new Decohere project").option("-d <directory>", "Target directory (default: current directory)", ".");
|
|
11
|
-
program.command("webapi").action(async (_name, cmd)=>{
|
|
11
|
+
program.command("webapi").option("--database <provider>", "Database provider: none | postgres/typeorm").option("--auth <provider>", "Auth provider: none | auth0").option("--postman <provider>", "Postman provider: none | local | api").option("-y, --yes", "Install dependencies without prompting").option("--install <mode>", "Dependency install mode: ask | yes | no", "ask").action(async (_name, cmd)=>{
|
|
12
12
|
const opts = cmd.optsWithGlobals();
|
|
13
|
+
const installMode = String(opts.install ?? "ask").toLowerCase();
|
|
14
|
+
const normalized = {
|
|
15
|
+
d: opts.d,
|
|
16
|
+
databaseProvider: opts.database,
|
|
17
|
+
authProvider: opts.auth,
|
|
18
|
+
postmanProvider: opts.postman,
|
|
19
|
+
installDependencies: opts.yes === true ? "yes" : installMode === "yes" || installMode === "no" ? installMode : undefined
|
|
20
|
+
};
|
|
13
21
|
if (process.env.DECOHERE_BUILDER !== "1") {
|
|
14
|
-
(0, _runner.runInBuilder)(
|
|
22
|
+
(0, _runner.runInBuilder)(normalized);
|
|
15
23
|
return;
|
|
16
24
|
}
|
|
17
|
-
await (0, _createapi.scaffoldApi)(
|
|
25
|
+
await (0, _createapi.scaffoldApi)(normalized);
|
|
18
26
|
});
|
|
19
27
|
// .option("-y, --yes", "Skip confirmation prompts")
|
|
20
28
|
// .option("-t, --template <template>", "Project template: api (default) or cli")
|
|
@@ -37,4 +45,4 @@ program.command("webapi").action(async (_name, cmd)=>{
|
|
|
37
45
|
// );
|
|
38
46
|
program.parse();
|
|
39
47
|
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS9zcmMvY2xpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tIFwiY29tbWFuZGVyXCI7XG5pbXBvcnQgeyBydW5JbkJ1aWxkZXIgfSBmcm9tIFwiLi9ydW5uZXIuanNcIjtcbmltcG9ydCB0eXBlIHsgQXBpT3B0aW9ucyB9IGZyb20gXCIuL3dlYmFwaS9jcmVhdGUtYXBpLmpzXCI7XG5pbXBvcnQgeyBzY2FmZm9sZEFwaSB9IGZyb20gXCIuL3dlYmFwaS9jcmVhdGUtYXBpLmpzXCI7XG5cbmNvbnN0IHByb2dyYW0gPSBuZXcgQ29tbWFuZCgpO1xuXG5wcm9ncmFtXG5cdC5uYW1lKFwiZGVjb2hlcmVcIilcblx0LmRlc2NyaXB0aW9uKFwiU2NhZmZvbGQgYSBuZXcgRGVjb2hlcmUgcHJvamVjdFwiKVxuXHQub3B0aW9uKFwiLWQgPGRpcmVjdG9yeT5cIiwgXCJUYXJnZXQgZGlyZWN0b3J5IChkZWZhdWx0OiBjdXJyZW50IGRpcmVjdG9yeSlcIiwgXCIuXCIpO1xuXG5wcm9ncmFtXG5cdC5jb21tYW5kKFwid2ViYXBpXCIpXG5cdC5vcHRpb24oXCItLWRhdGFiYXNlIDxwcm92aWRlcj5cIiwgXCJEYXRhYmFzZSBwcm92aWRlcjogbm9uZSB8IHBvc3RncmVzL3R5cGVvcm1cIilcblx0Lm9wdGlvbihcIi0tYXV0aCA8cHJvdmlkZXI+XCIsIFwiQXV0aCBwcm92aWRlcjogbm9uZSB8IGF1dGgwXCIpXG5cdC5vcHRpb24oXCItLXBvc3RtYW4gPHByb3ZpZGVyPlwiLCBcIlBvc3RtYW4gcHJvdmlkZXI6IG5vbmUgfCBsb2NhbCB8IGFwaVwiKVxuXHQub3B0aW9uKFwiLXksIC0teWVzXCIsIFwiSW5zdGFsbCBkZXBlbmRlbmNpZXMgd2l0aG91dCBwcm9tcHRpbmdcIilcblx0Lm9wdGlvbihcIi0taW5zdGFsbCA8bW9kZT5cIiwgXCJEZXBlbmRlbmN5IGluc3RhbGwgbW9kZTogYXNrIHwgeWVzIHwgbm9cIiwgXCJhc2tcIilcblx0LmFjdGlvbihhc3luYyAoX25hbWUsIGNtZDogQ29tbWFuZCkgPT4ge1xuXHRcdGNvbnN0IG9wdHMgPSBjbWQub3B0c1dpdGhHbG9iYWxzKCk7XG5cdFx0Y29uc3QgaW5zdGFsbE1vZGUgPSBTdHJpbmcob3B0cy5pbnN0YWxsID8/IFwiYXNrXCIpLnRvTG93ZXJDYXNlKCk7XG5cdFx0Y29uc3Qgbm9ybWFsaXplZDogQXBpT3B0aW9ucyA9IHtcblx0XHRcdGQ6IG9wdHMuZCxcblx0XHRcdGRhdGFiYXNlUHJvdmlkZXI6IG9wdHMuZGF0YWJhc2UsXG5cdFx0XHRhdXRoUHJvdmlkZXI6IG9wdHMuYXV0aCxcblx0XHRcdHBvc3RtYW5Qcm92aWRlcjogb3B0cy5wb3N0bWFuLFxuXHRcdFx0aW5zdGFsbERlcGVuZGVuY2llczpcblx0XHRcdFx0b3B0cy55ZXMgPT09IHRydWVcblx0XHRcdFx0XHQ/IFwieWVzXCJcblx0XHRcdFx0XHQ6IGluc3RhbGxNb2RlID09PSBcInllc1wiIHx8IGluc3RhbGxNb2RlID09PSBcIm5vXCJcblx0XHRcdFx0XHRcdD8gaW5zdGFsbE1vZGVcblx0XHRcdFx0XHRcdDogdW5kZWZpbmVkLFxuXHRcdH07XG5cblx0XHRpZiAocHJvY2Vzcy5lbnYuREVDT0hFUkVfQlVJTERFUiAhPT0gXCIxXCIpIHtcblx0XHRcdHJ1bkluQnVpbGRlcihub3JtYWxpemVkKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0YXdhaXQgc2NhZmZvbGRBcGkobm9ybWFsaXplZCk7XG5cdH0pO1xuXG4vLyAub3B0aW9uKFwiLXksIC0teWVzXCIsIFwiU2tpcCBjb25maXJtYXRpb24gcHJvbXB0c1wiKVxuLy8gLm9wdGlvbihcIi10LCAtLXRlbXBsYXRlIDx0ZW1wbGF0ZT5cIiwgXCJQcm9qZWN0IHRlbXBsYXRlOiBhcGkgKGRlZmF1bHQpIG9yIGNsaVwiKVxuLy8gLm9wdGlvbihcIi1kLCAtLWRhdGFiYXNlIDxwcm92aWRlcj5cIiwgXCJEYXRhYmFzZSBwcm92aWRlciB0byBpbmNsdWRlIChhcGkgb25seSk6IHR5cGVvcm1cIilcbi8vIC5vcHRpb24oXCItaSwgLS1pZHAgPHByb3ZpZGVyPlwiLCBcIklkZW50aXR5IHByb3ZpZGVyIHRvIGNvbmZpZ3VyZSAoYXBpIG9ubHkpOiBhdXRoMFwiKVxuLy8gLm9wdGlvbihcIi1wLCAtLXBvc3RtYW5cIiwgXCJDb25maWd1cmUgYSBQb3N0bWFuIHdvcmtzcGFjZSwgY29sbGVjdGlvbiwgYW5kIGVudmlyb25tZW50XCIpXG4vLyAuYWN0aW9uKFxuLy8gXHRhc3luYyAoXG4vLyBcdFx0ZGlyZWN0b3J5OiBzdHJpbmcsXG4vLyBcdFx0b3B0czoge1xuLy8gXHRcdFx0eWVzPzogYm9vbGVhbjtcbi8vIFx0XHRcdHRlbXBsYXRlPzogXCJhcGlcIiB8IFwiY2xpXCI7XG4vLyBcdFx0XHRkYXRhYmFzZT86IFwidHlwZW9ybVwiO1xuLy8gXHRcdFx0aWRwPzogXCJhdXRoMFwiO1xuLy8gXHRcdFx0cG9zdG1hbj86IGJvb2xlYW47XG4vLyBcdFx0fSxcbi8vIFx0KSA9PiB7XG4vLyBcdFx0YXdhaXQgc2NhZmZvbGQocmVzb2x2ZShkaXJlY3RvcnkpLCBvcHRzKTtcbi8vIFx0fSxcbi8vICk7XG5cbnByb2dyYW0ucGFyc2UoKTtcbiJdLCJuYW1lcyI6WyJwcm9ncmFtIiwiQ29tbWFuZCIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsIm9wdGlvbiIsImNvbW1hbmQiLCJhY3Rpb24iLCJfbmFtZSIsImNtZCIsIm9wdHMiLCJvcHRzV2l0aEdsb2JhbHMiLCJpbnN0YWxsTW9kZSIsIlN0cmluZyIsImluc3RhbGwiLCJ0b0xvd2VyQ2FzZSIsIm5vcm1hbGl6ZWQiLCJkIiwiZGF0YWJhc2VQcm92aWRlciIsImRhdGFiYXNlIiwiYXV0aFByb3ZpZGVyIiwiYXV0aCIsInBvc3RtYW5Qcm92aWRlciIsInBvc3RtYW4iLCJpbnN0YWxsRGVwZW5kZW5jaWVzIiwieWVzIiwidW5kZWZpbmVkIiwicHJvY2VzcyIsImVudiIsIkRFQ09IRVJFX0JVSUxERVIiLCJydW5JbkJ1aWxkZXIiLCJzY2FmZm9sZEFwaSIsInBhcnNlIl0sIm1hcHBpbmdzIjoiOzs7OzsyQkFDd0I7d0JBQ0s7MkJBRUQ7QUFFNUIsTUFBTUEsVUFBVSxJQUFJQyxrQkFBTztBQUUzQkQsUUFDRUUsSUFBSSxDQUFDLFlBQ0xDLFdBQVcsQ0FBQyxtQ0FDWkMsTUFBTSxDQUFDLGtCQUFrQixpREFBaUQ7QUFFNUVKLFFBQ0VLLE9BQU8sQ0FBQyxVQUNSRCxNQUFNLENBQUMseUJBQXlCLDhDQUNoQ0EsTUFBTSxDQUFDLHFCQUFxQiwrQkFDNUJBLE1BQU0sQ0FBQyx3QkFBd0Isd0NBQy9CQSxNQUFNLENBQUMsYUFBYSwwQ0FDcEJBLE1BQU0sQ0FBQyxvQkFBb0IsMkNBQTJDLE9BQ3RFRSxNQUFNLENBQUMsT0FBT0MsT0FBT0M7SUFDckIsTUFBTUMsT0FBT0QsSUFBSUUsZUFBZTtJQUNoQyxNQUFNQyxjQUFjQyxPQUFPSCxLQUFLSSxPQUFPLElBQUksT0FBT0MsV0FBVztJQUM3RCxNQUFNQyxhQUF5QjtRQUM5QkMsR0FBR1AsS0FBS08sQ0FBQztRQUNUQyxrQkFBa0JSLEtBQUtTLFFBQVE7UUFDL0JDLGNBQWNWLEtBQUtXLElBQUk7UUFDdkJDLGlCQUFpQlosS0FBS2EsT0FBTztRQUM3QkMscUJBQ0NkLEtBQUtlLEdBQUcsS0FBSyxPQUNWLFFBQ0FiLGdCQUFnQixTQUFTQSxnQkFBZ0IsT0FDeENBLGNBQ0FjO0lBQ047SUFFQSxJQUFJQyxRQUFRQyxHQUFHLENBQUNDLGdCQUFnQixLQUFLLEtBQUs7UUFDekNDLElBQUFBLG9CQUFZLEVBQUNkO1FBQ2I7SUFDRDtJQUNBLE1BQU1lLElBQUFBLHNCQUFXLEVBQUNmO0FBQ25CO0FBRUQsb0RBQW9EO0FBQ3BELGlGQUFpRjtBQUNqRiwyRkFBMkY7QUFDM0Ysc0ZBQXNGO0FBQ3RGLHlGQUF5RjtBQUN6RixXQUFXO0FBQ1gsV0FBVztBQUNYLHVCQUF1QjtBQUN2QixZQUFZO0FBQ1osb0JBQW9CO0FBQ3BCLCtCQUErQjtBQUMvQiwyQkFBMkI7QUFDM0Isb0JBQW9CO0FBQ3BCLHdCQUF3QjtBQUN4QixPQUFPO0FBQ1AsVUFBVTtBQUNWLDhDQUE4QztBQUM5QyxNQUFNO0FBQ04sS0FBSztBQUVMZixRQUFRK0IsS0FBSyJ9
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get DevContainerImageModel () {
|
|
13
|
+
return DevContainerImageModel;
|
|
14
|
+
},
|
|
15
|
+
get DockerStep () {
|
|
16
|
+
return DockerStep;
|
|
17
|
+
},
|
|
18
|
+
get DockerfileModel () {
|
|
19
|
+
return DockerfileModel;
|
|
20
|
+
},
|
|
21
|
+
get withCommandHistory () {
|
|
22
|
+
return withCommandHistory;
|
|
23
|
+
},
|
|
24
|
+
get withNodeUser () {
|
|
25
|
+
return withNodeUser;
|
|
26
|
+
},
|
|
27
|
+
get withPnpm () {
|
|
28
|
+
return withPnpm;
|
|
29
|
+
},
|
|
30
|
+
get withVsCodeJsDebugBootloaderFix () {
|
|
31
|
+
return withVsCodeJsDebugBootloaderFix;
|
|
32
|
+
},
|
|
33
|
+
get withWorkspaceNodeModulesOwnership () {
|
|
34
|
+
return withWorkspaceNodeModulesOwnership;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const _const = require("./const.js");
|
|
38
|
+
class DockerStep {
|
|
39
|
+
key;
|
|
40
|
+
content;
|
|
41
|
+
order;
|
|
42
|
+
constructor(key, content, order = 0){
|
|
43
|
+
this.key = key;
|
|
44
|
+
this.content = content;
|
|
45
|
+
this.order = order;
|
|
46
|
+
}
|
|
47
|
+
static run(key, command, order = 0) {
|
|
48
|
+
return new DockerStep(key, `RUN ${command}`, order);
|
|
49
|
+
}
|
|
50
|
+
static raw(key, content, order = 0) {
|
|
51
|
+
return new DockerStep(key, content, order);
|
|
52
|
+
}
|
|
53
|
+
static entrypoint(key, value, order = 0) {
|
|
54
|
+
const content = typeof value === "string" ? `ENTRYPOINT ${value}` : `ENTRYPOINT ${JSON.stringify(value)}`;
|
|
55
|
+
return new DockerStep(key, content, order);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const StepOrder = {
|
|
59
|
+
base: 1_000,
|
|
60
|
+
features: 5_000,
|
|
61
|
+
user: 9_000,
|
|
62
|
+
entrypoint: 10_000
|
|
63
|
+
};
|
|
64
|
+
const VSCODE_BOOTLOADER_FIX_BASH_SNIPPET = `if [[ -n "\${NODE_OPTIONS:-}" && "\${NODE_OPTIONS}" == *"bootloader.js"* ]]; then
|
|
65
|
+
_bootloader_path="$(printf '%s\\n' "$NODE_OPTIONS" | sed -n 's/.*--require[= ]\\([^[:space:]]*bootloader\\.js\\).*/\\1/p')"
|
|
66
|
+
if [[ -n "\${_bootloader_path}" && ! -f "\${_bootloader_path}" ]]; then
|
|
67
|
+
_stable_bootloader="$(find /vscode/vscode-server /home/node/.vscode-server/extensions -name "bootloader.js" -path "*/ms-vscode.js-debug/*" 2>/dev/null | head -1)"
|
|
68
|
+
if [[ -n "\${_stable_bootloader}" ]]; then
|
|
69
|
+
NODE_OPTIONS="\${NODE_OPTIONS//\${_bootloader_path}/\${_stable_bootloader}}"
|
|
70
|
+
else
|
|
71
|
+
NODE_OPTIONS="$(printf '%s\\n' "$NODE_OPTIONS" | sed -E 's#(^| )--require(=| )[[:graph:]]*bootloader\\.js( |$)# #g; s# +# #g; s#^ ##; s# $##')"
|
|
72
|
+
unset VSCODE_INSPECTOR_OPTIONS
|
|
73
|
+
fi
|
|
74
|
+
export NODE_OPTIONS
|
|
75
|
+
if [[ -z "$NODE_OPTIONS" ]]; then
|
|
76
|
+
unset NODE_OPTIONS
|
|
77
|
+
fi
|
|
78
|
+
fi
|
|
79
|
+
unset _bootloader_path _stable_bootloader
|
|
80
|
+
fi`;
|
|
81
|
+
function withCommandHistory(options) {
|
|
82
|
+
const historyDir = options?.historyDir ?? "/commandhistory";
|
|
83
|
+
const historyFileName = options?.historyFileName ?? ".bash_history";
|
|
84
|
+
const order = options?.order ?? StepOrder.base;
|
|
85
|
+
const historyFile = `${historyDir}/${historyFileName}`;
|
|
86
|
+
return (dockerfile)=>{
|
|
87
|
+
dockerfile.addStep(DockerStep.run("history-dir", `mkdir -p ${historyDir} && touch ${historyFile}`, order)).addStep(DockerStep.raw("history-env", `ENV HISTFILE=${historyFile}`, order + 1));
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
function withNodeUser(options) {
|
|
91
|
+
const username = options?.username ?? "node";
|
|
92
|
+
const includeUserInstruction = options?.includeUserInstruction ?? true;
|
|
93
|
+
const order = options?.order ?? StepOrder.features;
|
|
94
|
+
return (dockerfile)=>{
|
|
95
|
+
dockerfile.addStep(DockerStep.raw("arg-username", `ARG USERNAME=${username}`, order));
|
|
96
|
+
if (includeUserInstruction) {
|
|
97
|
+
dockerfile.addStep(DockerStep.raw("user", "USER ${USERNAME}", StepOrder.user));
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function withPnpm(options) {
|
|
102
|
+
const version = options?.version ?? "10";
|
|
103
|
+
const usernameExpr = options?.usernameExpr ?? "${USERNAME}";
|
|
104
|
+
const order = options?.order ?? StepOrder.features + 100;
|
|
105
|
+
return (dockerfile)=>{
|
|
106
|
+
dockerfile.addStep(DockerStep.run("pnpm-install", `npm install --global npm@latest && npm add --global pnpm@${version}`, order)).addStep(DockerStep.run("pnpm-config", `mkdir -p /home/${usernameExpr}/.config/pnpm /home/${usernameExpr}/.pnpm-store && chown -R ${usernameExpr}:${usernameExpr} /home/${usernameExpr}/.config /home/${usernameExpr}/.pnpm-store && printf "store-dir=/home/${usernameExpr}/.pnpm-store\\n" > /home/${usernameExpr}/.config/pnpm/rc`, order + 1));
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function withWorkspaceNodeModulesOwnership(options) {
|
|
110
|
+
const workspaceDir = options?.workspaceDir ?? "/workspace";
|
|
111
|
+
const usernameExpr = options?.usernameExpr ?? "${USERNAME}";
|
|
112
|
+
const order = options?.order ?? StepOrder.features + 200;
|
|
113
|
+
return (dockerfile)=>{
|
|
114
|
+
dockerfile.addStep(DockerStep.raw("workspace-node-modules", `RUN mkdir -p ${workspaceDir}/node_modules && chown ${usernameExpr}:${usernameExpr} ${workspaceDir}/node_modules`, order));
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function withVsCodeJsDebugBootloaderFix(options) {
|
|
118
|
+
const bashrcPath = options?.bashrcPath ?? "/home/${USERNAME}/.bashrc";
|
|
119
|
+
const order = options?.order ?? StepOrder.features + 300;
|
|
120
|
+
return (dockerfile)=>{
|
|
121
|
+
dockerfile.addStep(DockerStep.raw("vscode-bootloader-fix", `RUN cat <<'EOF' >> "${bashrcPath}"\n${VSCODE_BOOTLOADER_FIX_BASH_SNIPPET}\nEOF`, order));
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
class DockerfileModel {
|
|
125
|
+
key = _const.WELL_KNOWN_FILES.DOCKERFILE;
|
|
126
|
+
_steps = new Map();
|
|
127
|
+
_layerWriters = [];
|
|
128
|
+
_fromImage;
|
|
129
|
+
_layerCounter = 0;
|
|
130
|
+
constructor(baseImage){
|
|
131
|
+
this._fromImage = baseImage;
|
|
132
|
+
this.registerBaseLayers();
|
|
133
|
+
}
|
|
134
|
+
from(baseImage) {
|
|
135
|
+
this._fromImage = baseImage;
|
|
136
|
+
return this;
|
|
137
|
+
}
|
|
138
|
+
addLayer(layer, order = StepOrder.features) {
|
|
139
|
+
if (typeof layer === "string") {
|
|
140
|
+
const idx = ++this._layerCounter;
|
|
141
|
+
const key = `layer-run-${idx}`;
|
|
142
|
+
this._layerWriters.push((dockerfile)=>{
|
|
143
|
+
dockerfile.addStep(DockerStep.run(key, layer, order + idx));
|
|
144
|
+
});
|
|
145
|
+
return this;
|
|
146
|
+
}
|
|
147
|
+
this._layerWriters.push(layer);
|
|
148
|
+
return this;
|
|
149
|
+
}
|
|
150
|
+
addStep(step) {
|
|
151
|
+
this._steps.set(step.key, step);
|
|
152
|
+
return this;
|
|
153
|
+
}
|
|
154
|
+
removeStep(key) {
|
|
155
|
+
this._steps.delete(key);
|
|
156
|
+
return this;
|
|
157
|
+
}
|
|
158
|
+
entrypoint(value, order = StepOrder.entrypoint) {
|
|
159
|
+
this.addStep(DockerStep.entrypoint("entrypoint", value, order));
|
|
160
|
+
return this;
|
|
161
|
+
}
|
|
162
|
+
addRunStep(cmd) {
|
|
163
|
+
return this.addLayer(cmd);
|
|
164
|
+
}
|
|
165
|
+
build() {
|
|
166
|
+
for (const layerWriter of this._layerWriters){
|
|
167
|
+
layerWriter(this);
|
|
168
|
+
}
|
|
169
|
+
const lines = [
|
|
170
|
+
`FROM ${this._fromImage}`
|
|
171
|
+
];
|
|
172
|
+
const sortedSteps = [
|
|
173
|
+
...this._steps.values()
|
|
174
|
+
].sort((left, right)=>{
|
|
175
|
+
if (left.order !== right.order) {
|
|
176
|
+
return left.order - right.order;
|
|
177
|
+
}
|
|
178
|
+
return left.key.localeCompare(right.key, "en");
|
|
179
|
+
});
|
|
180
|
+
for (const step of sortedSteps){
|
|
181
|
+
lines.push("", step.content);
|
|
182
|
+
}
|
|
183
|
+
return `${lines.join("\n")}\n`;
|
|
184
|
+
}
|
|
185
|
+
registerBaseLayers() {
|
|
186
|
+
// Generic base model intentionally has no default layers.
|
|
187
|
+
}
|
|
188
|
+
files() {
|
|
189
|
+
return [
|
|
190
|
+
{
|
|
191
|
+
filePath: "./Dockerfile",
|
|
192
|
+
content: this.build()
|
|
193
|
+
}
|
|
194
|
+
];
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
class DevContainerImageModel extends DockerfileModel {
|
|
198
|
+
registerBaseLayers() {
|
|
199
|
+
super.registerBaseLayers();
|
|
200
|
+
this.addLayer(withCommandHistory()).addLayer(withVsCodeJsDebugBootloaderFix());
|
|
201
|
+
}
|
|
202
|
+
files() {
|
|
203
|
+
return [
|
|
204
|
+
{
|
|
205
|
+
filePath: ".devcontainer/Dockerfile",
|
|
206
|
+
content: this.build()
|
|
207
|
+
}
|
|
208
|
+
];
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS9zcmMvbW9kZWxzL2RvY2tlci1pbWFnZS5tb2RlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXRUxMX0tOT1dOX0ZJTEVTIH0gZnJvbSBcIi4vY29uc3QuanNcIjtcbmltcG9ydCB0eXBlIHsgS2V5ZWRNb2RlbCwgU291cmNlRmlsZSB9IGZyb20gXCIuL3NvdXJjZS1maWxlLmpzXCI7XG5cbmV4cG9ydCB0eXBlIExheWVyV3JpdGVyID0gKGRvY2tlcmZpbGU6IERvY2tlcmZpbGVNb2RlbCkgPT4gdm9pZDtcblxuZXhwb3J0IGNsYXNzIERvY2tlclN0ZXAge1xuXHRwdWJsaWMgY29uc3RydWN0b3IoXG5cdFx0cHVibGljIHJlYWRvbmx5IGtleTogc3RyaW5nLFxuXHRcdHB1YmxpYyByZWFkb25seSBjb250ZW50OiBzdHJpbmcsXG5cdFx0cHVibGljIHJlYWRvbmx5IG9yZGVyID0gMCxcblx0KSB7fVxuXG5cdHB1YmxpYyBzdGF0aWMgcnVuKGtleTogc3RyaW5nLCBjb21tYW5kOiBzdHJpbmcsIG9yZGVyID0gMCkge1xuXHRcdHJldHVybiBuZXcgRG9ja2VyU3RlcChrZXksIGBSVU4gJHtjb21tYW5kfWAsIG9yZGVyKTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgcmF3KGtleTogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIG9yZGVyID0gMCkge1xuXHRcdHJldHVybiBuZXcgRG9ja2VyU3RlcChrZXksIGNvbnRlbnQsIG9yZGVyKTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgZW50cnlwb2ludChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHJlYWRvbmx5IHN0cmluZ1tdLCBvcmRlciA9IDApIHtcblx0XHRjb25zdCBjb250ZW50ID1cblx0XHRcdHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIlxuXHRcdFx0XHQ/IGBFTlRSWVBPSU5UICR7dmFsdWV9YFxuXHRcdFx0XHQ6IGBFTlRSWVBPSU5UICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWA7XG5cdFx0cmV0dXJuIG5ldyBEb2NrZXJTdGVwKGtleSwgY29udGVudCwgb3JkZXIpO1xuXHR9XG59XG5cbmNvbnN0IFN0ZXBPcmRlciA9IHtcblx0YmFzZTogMV8wMDAsXG5cdGZlYXR1cmVzOiA1XzAwMCxcblx0dXNlcjogOV8wMDAsXG5cdGVudHJ5cG9pbnQ6IDEwXzAwMCxcbn0gYXMgY29uc3Q7XG5cbmNvbnN0IFZTQ09ERV9CT09UTE9BREVSX0ZJWF9CQVNIX1NOSVBQRVQgPSBgaWYgW1sgLW4gXCJcXCR7Tk9ERV9PUFRJT05TOi19XCIgJiYgXCJcXCR7Tk9ERV9PUFRJT05TfVwiID09ICpcImJvb3Rsb2FkZXIuanNcIiogXV07IHRoZW5cbiAgICBfYm9vdGxvYWRlcl9wYXRoPVwiJChwcmludGYgJyVzXFxcXG4nIFwiJE5PREVfT1BUSU9OU1wiIHwgc2VkIC1uICdzLy4qLS1yZXF1aXJlWz0gXVxcXFwoW15bOnNwYWNlOl1dKmJvb3Rsb2FkZXJcXFxcLmpzXFxcXCkuKi9cXFxcMS9wJylcIlxuICAgIGlmIFtbIC1uIFwiXFwke19ib290bG9hZGVyX3BhdGh9XCIgJiYgISAtZiBcIlxcJHtfYm9vdGxvYWRlcl9wYXRofVwiIF1dOyB0aGVuXG4gICAgICAgIF9zdGFibGVfYm9vdGxvYWRlcj1cIiQoZmluZCAvdnNjb2RlL3ZzY29kZS1zZXJ2ZXIgL2hvbWUvbm9kZS8udnNjb2RlLXNlcnZlci9leHRlbnNpb25zIC1uYW1lIFwiYm9vdGxvYWRlci5qc1wiIC1wYXRoIFwiKi9tcy12c2NvZGUuanMtZGVidWcvKlwiIDI+L2Rldi9udWxsIHwgaGVhZCAtMSlcIlxuICAgICAgICBpZiBbWyAtbiBcIlxcJHtfc3RhYmxlX2Jvb3Rsb2FkZXJ9XCIgXV07IHRoZW5cbiAgICAgICAgICAgIE5PREVfT1BUSU9OUz1cIlxcJHtOT0RFX09QVElPTlMvL1xcJHtfYm9vdGxvYWRlcl9wYXRofS9cXCR7X3N0YWJsZV9ib290bG9hZGVyfX1cIlxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBOT0RFX09QVElPTlM9XCIkKHByaW50ZiAnJXNcXFxcbicgXCIkTk9ERV9PUFRJT05TXCIgfCBzZWQgLUUgJ3MjKF58ICktLXJlcXVpcmUoPXwgKVtbOmdyYXBoOl1dKmJvb3Rsb2FkZXJcXFxcLmpzKCB8JCkjICNnOyBzIyAgKyMgI2c7IHMjXiAjIzsgcyMgJCMjJylcIlxuICAgICAgICAgICAgdW5zZXQgVlNDT0RFX0lOU1BFQ1RPUl9PUFRJT05TXG4gICAgICAgIGZpXG4gICAgICAgIGV4cG9ydCBOT0RFX09QVElPTlNcbiAgICAgICAgaWYgW1sgLXogXCIkTk9ERV9PUFRJT05TXCIgXV07IHRoZW5cbiAgICAgICAgICAgIHVuc2V0IE5PREVfT1BUSU9OU1xuICAgICAgICBmaVxuICAgIGZpXG4gICAgdW5zZXQgX2Jvb3Rsb2FkZXJfcGF0aCBfc3RhYmxlX2Jvb3Rsb2FkZXJcbmZpYDtcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhDb21tYW5kSGlzdG9yeShvcHRpb25zPzoge1xuXHRoaXN0b3J5RGlyPzogc3RyaW5nO1xuXHRoaXN0b3J5RmlsZU5hbWU/OiBzdHJpbmc7XG5cdG9yZGVyPzogbnVtYmVyO1xufSk6IExheWVyV3JpdGVyIHtcblx0Y29uc3QgaGlzdG9yeURpciA9IG9wdGlvbnM/Lmhpc3RvcnlEaXIgPz8gXCIvY29tbWFuZGhpc3RvcnlcIjtcblx0Y29uc3QgaGlzdG9yeUZpbGVOYW1lID0gb3B0aW9ucz8uaGlzdG9yeUZpbGVOYW1lID8/IFwiLmJhc2hfaGlzdG9yeVwiO1xuXHRjb25zdCBvcmRlciA9IG9wdGlvbnM/Lm9yZGVyID8/IFN0ZXBPcmRlci5iYXNlO1xuXHRjb25zdCBoaXN0b3J5RmlsZSA9IGAke2hpc3RvcnlEaXJ9LyR7aGlzdG9yeUZpbGVOYW1lfWA7XG5cblx0cmV0dXJuIChkb2NrZXJmaWxlKSA9PiB7XG5cdFx0ZG9ja2VyZmlsZVxuXHRcdFx0LmFkZFN0ZXAoXG5cdFx0XHRcdERvY2tlclN0ZXAucnVuKFwiaGlzdG9yeS1kaXJcIiwgYG1rZGlyIC1wICR7aGlzdG9yeURpcn0gJiYgdG91Y2ggJHtoaXN0b3J5RmlsZX1gLCBvcmRlciksXG5cdFx0XHQpXG5cdFx0XHQuYWRkU3RlcChEb2NrZXJTdGVwLnJhdyhcImhpc3RvcnktZW52XCIsIGBFTlYgSElTVEZJTEU9JHtoaXN0b3J5RmlsZX1gLCBvcmRlciArIDEpKTtcblx0fTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhOb2RlVXNlcihvcHRpb25zPzoge1xuXHR1c2VybmFtZT86IHN0cmluZztcblx0aW5jbHVkZVVzZXJJbnN0cnVjdGlvbj86IGJvb2xlYW47XG5cdG9yZGVyPzogbnVtYmVyO1xufSk6IExheWVyV3JpdGVyIHtcblx0Y29uc3QgdXNlcm5hbWUgPSBvcHRpb25zPy51c2VybmFtZSA/PyBcIm5vZGVcIjtcblx0Y29uc3QgaW5jbHVkZVVzZXJJbnN0cnVjdGlvbiA9IG9wdGlvbnM/LmluY2x1ZGVVc2VySW5zdHJ1Y3Rpb24gPz8gdHJ1ZTtcblx0Y29uc3Qgb3JkZXIgPSBvcHRpb25zPy5vcmRlciA/PyBTdGVwT3JkZXIuZmVhdHVyZXM7XG5cblx0cmV0dXJuIChkb2NrZXJmaWxlKSA9PiB7XG5cdFx0ZG9ja2VyZmlsZS5hZGRTdGVwKERvY2tlclN0ZXAucmF3KFwiYXJnLXVzZXJuYW1lXCIsIGBBUkcgVVNFUk5BTUU9JHt1c2VybmFtZX1gLCBvcmRlcikpO1xuXG5cdFx0aWYgKGluY2x1ZGVVc2VySW5zdHJ1Y3Rpb24pIHtcblx0XHRcdGRvY2tlcmZpbGUuYWRkU3RlcChEb2NrZXJTdGVwLnJhdyhcInVzZXJcIiwgXCJVU0VSICR7VVNFUk5BTUV9XCIsIFN0ZXBPcmRlci51c2VyKSk7XG5cdFx0fVxuXHR9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aFBucG0ob3B0aW9ucz86IHtcblx0dmVyc2lvbj86IHN0cmluZztcblx0dXNlcm5hbWVFeHByPzogc3RyaW5nO1xuXHRvcmRlcj86IG51bWJlcjtcbn0pOiBMYXllcldyaXRlciB7XG5cdGNvbnN0IHZlcnNpb24gPSBvcHRpb25zPy52ZXJzaW9uID8/IFwiMTBcIjtcblx0Y29uc3QgdXNlcm5hbWVFeHByID0gb3B0aW9ucz8udXNlcm5hbWVFeHByID8/IFwiJHtVU0VSTkFNRX1cIjtcblx0Y29uc3Qgb3JkZXIgPSBvcHRpb25zPy5vcmRlciA/PyBTdGVwT3JkZXIuZmVhdHVyZXMgKyAxMDA7XG5cblx0cmV0dXJuIChkb2NrZXJmaWxlKSA9PiB7XG5cdFx0ZG9ja2VyZmlsZVxuXHRcdFx0LmFkZFN0ZXAoXG5cdFx0XHRcdERvY2tlclN0ZXAucnVuKFxuXHRcdFx0XHRcdFwicG5wbS1pbnN0YWxsXCIsXG5cdFx0XHRcdFx0YG5wbSBpbnN0YWxsIC0tZ2xvYmFsIG5wbUBsYXRlc3QgJiYgbnBtIGFkZCAtLWdsb2JhbCBwbnBtQCR7dmVyc2lvbn1gLFxuXHRcdFx0XHRcdG9yZGVyLFxuXHRcdFx0XHQpLFxuXHRcdFx0KVxuXHRcdFx0LmFkZFN0ZXAoXG5cdFx0XHRcdERvY2tlclN0ZXAucnVuKFxuXHRcdFx0XHRcdFwicG5wbS1jb25maWdcIixcblx0XHRcdFx0XHRgbWtkaXIgLXAgL2hvbWUvJHt1c2VybmFtZUV4cHJ9Ly5jb25maWcvcG5wbSAvaG9tZS8ke3VzZXJuYW1lRXhwcn0vLnBucG0tc3RvcmUgJiYgY2hvd24gLVIgJHt1c2VybmFtZUV4cHJ9OiR7dXNlcm5hbWVFeHByfSAvaG9tZS8ke3VzZXJuYW1lRXhwcn0vLmNvbmZpZyAvaG9tZS8ke3VzZXJuYW1lRXhwcn0vLnBucG0tc3RvcmUgJiYgcHJpbnRmIFwic3RvcmUtZGlyPS9ob21lLyR7dXNlcm5hbWVFeHByfS8ucG5wbS1zdG9yZVxcXFxuXCIgPiAvaG9tZS8ke3VzZXJuYW1lRXhwcn0vLmNvbmZpZy9wbnBtL3JjYCxcblx0XHRcdFx0XHRvcmRlciArIDEsXG5cdFx0XHRcdCksXG5cdFx0XHQpO1xuXHR9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aFdvcmtzcGFjZU5vZGVNb2R1bGVzT3duZXJzaGlwKG9wdGlvbnM/OiB7XG5cdHdvcmtzcGFjZURpcj86IHN0cmluZztcblx0dXNlcm5hbWVFeHByPzogc3RyaW5nO1xuXHRvcmRlcj86IG51bWJlcjtcbn0pOiBMYXllcldyaXRlciB7XG5cdGNvbnN0IHdvcmtzcGFjZURpciA9IG9wdGlvbnM/LndvcmtzcGFjZURpciA/PyBcIi93b3Jrc3BhY2VcIjtcblx0Y29uc3QgdXNlcm5hbWVFeHByID0gb3B0aW9ucz8udXNlcm5hbWVFeHByID8/IFwiJHtVU0VSTkFNRX1cIjtcblx0Y29uc3Qgb3JkZXIgPSBvcHRpb25zPy5vcmRlciA/PyBTdGVwT3JkZXIuZmVhdHVyZXMgKyAyMDA7XG5cblx0cmV0dXJuIChkb2NrZXJmaWxlKSA9PiB7XG5cdFx0ZG9ja2VyZmlsZS5hZGRTdGVwKFxuXHRcdFx0RG9ja2VyU3RlcC5yYXcoXG5cdFx0XHRcdFwid29ya3NwYWNlLW5vZGUtbW9kdWxlc1wiLFxuXHRcdFx0XHRgUlVOIG1rZGlyIC1wICR7d29ya3NwYWNlRGlyfS9ub2RlX21vZHVsZXMgJiYgY2hvd24gJHt1c2VybmFtZUV4cHJ9OiR7dXNlcm5hbWVFeHByfSAke3dvcmtzcGFjZURpcn0vbm9kZV9tb2R1bGVzYCxcblx0XHRcdFx0b3JkZXIsXG5cdFx0XHQpLFxuXHRcdCk7XG5cdH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoVnNDb2RlSnNEZWJ1Z0Jvb3Rsb2FkZXJGaXgob3B0aW9ucz86IHtcblx0YmFzaHJjUGF0aD86IHN0cmluZztcblx0b3JkZXI/OiBudW1iZXI7XG59KTogTGF5ZXJXcml0ZXIge1xuXHRjb25zdCBiYXNocmNQYXRoID0gb3B0aW9ucz8uYmFzaHJjUGF0aCA/PyBcIi9ob21lLyR7VVNFUk5BTUV9Ly5iYXNocmNcIjtcblx0Y29uc3Qgb3JkZXIgPSBvcHRpb25zPy5vcmRlciA/PyBTdGVwT3JkZXIuZmVhdHVyZXMgKyAzMDA7XG5cblx0cmV0dXJuIChkb2NrZXJmaWxlKSA9PiB7XG5cdFx0ZG9ja2VyZmlsZS5hZGRTdGVwKFxuXHRcdFx0RG9ja2VyU3RlcC5yYXcoXG5cdFx0XHRcdFwidnNjb2RlLWJvb3Rsb2FkZXItZml4XCIsXG5cdFx0XHRcdGBSVU4gY2F0IDw8J0VPRicgPj4gXCIke2Jhc2hyY1BhdGh9XCJcXG4ke1ZTQ09ERV9CT09UTE9BREVSX0ZJWF9CQVNIX1NOSVBQRVR9XFxuRU9GYCxcblx0XHRcdFx0b3JkZXIsXG5cdFx0XHQpLFxuXHRcdCk7XG5cdH07XG59XG5cbmV4cG9ydCBjbGFzcyBEb2NrZXJmaWxlTW9kZWwgaW1wbGVtZW50cyBLZXllZE1vZGVsIHtcblx0cHVibGljIHJlYWRvbmx5IGtleSA9IFdFTExfS05PV05fRklMRVMuRE9DS0VSRklMRTtcblx0cHJpdmF0ZSByZWFkb25seSBfc3RlcHMgPSBuZXcgTWFwPHN0cmluZywgRG9ja2VyU3RlcD4oKTtcblx0cHJpdmF0ZSByZWFkb25seSBfbGF5ZXJXcml0ZXJzOiBMYXllcldyaXRlcltdID0gW107XG5cdHByaXZhdGUgX2Zyb21JbWFnZTogc3RyaW5nO1xuXHRwcml2YXRlIF9sYXllckNvdW50ZXIgPSAwO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihiYXNlSW1hZ2U6IHN0cmluZykge1xuXHRcdHRoaXMuX2Zyb21JbWFnZSA9IGJhc2VJbWFnZTtcblx0XHR0aGlzLnJlZ2lzdGVyQmFzZUxheWVycygpO1xuXHR9XG5cblx0cHVibGljIGZyb20oYmFzZUltYWdlOiBzdHJpbmcpOiB0aGlzIHtcblx0XHR0aGlzLl9mcm9tSW1hZ2UgPSBiYXNlSW1hZ2U7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgYWRkTGF5ZXIobGF5ZXI6IExheWVyV3JpdGVyIHwgc3RyaW5nLCBvcmRlciA9IFN0ZXBPcmRlci5mZWF0dXJlcyk6IHRoaXMge1xuXHRcdGlmICh0eXBlb2YgbGF5ZXIgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdGNvbnN0IGlkeCA9ICsrdGhpcy5fbGF5ZXJDb3VudGVyO1xuXHRcdFx0Y29uc3Qga2V5ID0gYGxheWVyLXJ1bi0ke2lkeH1gO1xuXHRcdFx0dGhpcy5fbGF5ZXJXcml0ZXJzLnB1c2goKGRvY2tlcmZpbGUpID0+IHtcblx0XHRcdFx0ZG9ja2VyZmlsZS5hZGRTdGVwKERvY2tlclN0ZXAucnVuKGtleSwgbGF5ZXIsIG9yZGVyICsgaWR4KSk7XG5cdFx0XHR9KTtcblx0XHRcdHJldHVybiB0aGlzO1xuXHRcdH1cblxuXHRcdHRoaXMuX2xheWVyV3JpdGVycy5wdXNoKGxheWVyKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHB1YmxpYyBhZGRTdGVwKHN0ZXA6IERvY2tlclN0ZXApOiB0aGlzIHtcblx0XHR0aGlzLl9zdGVwcy5zZXQoc3RlcC5rZXksIHN0ZXApO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cHVibGljIHJlbW92ZVN0ZXAoa2V5OiBzdHJpbmcpOiB0aGlzIHtcblx0XHR0aGlzLl9zdGVwcy5kZWxldGUoa2V5KTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHB1YmxpYyBlbnRyeXBvaW50KHZhbHVlOiBzdHJpbmcgfCByZWFkb25seSBzdHJpbmdbXSwgb3JkZXIgPSBTdGVwT3JkZXIuZW50cnlwb2ludCk6IHRoaXMge1xuXHRcdHRoaXMuYWRkU3RlcChEb2NrZXJTdGVwLmVudHJ5cG9pbnQoXCJlbnRyeXBvaW50XCIsIHZhbHVlLCBvcmRlcikpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cHVibGljIGFkZFJ1blN0ZXAoY21kOiBzdHJpbmcpOiB0aGlzIHtcblx0XHRyZXR1cm4gdGhpcy5hZGRMYXllcihjbWQpO1xuXHR9XG5cblx0cHVibGljIGJ1aWxkKCk6IHN0cmluZyB7XG5cdFx0Zm9yIChjb25zdCBsYXllcldyaXRlciBvZiB0aGlzLl9sYXllcldyaXRlcnMpIHtcblx0XHRcdGxheWVyV3JpdGVyKHRoaXMpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGxpbmVzID0gW2BGUk9NICR7dGhpcy5fZnJvbUltYWdlfWBdO1xuXHRcdGNvbnN0IHNvcnRlZFN0ZXBzID0gWy4uLnRoaXMuX3N0ZXBzLnZhbHVlcygpXS5zb3J0KChsZWZ0LCByaWdodCkgPT4ge1xuXHRcdFx0aWYgKGxlZnQub3JkZXIgIT09IHJpZ2h0Lm9yZGVyKSB7XG5cdFx0XHRcdHJldHVybiBsZWZ0Lm9yZGVyIC0gcmlnaHQub3JkZXI7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gbGVmdC5rZXkubG9jYWxlQ29tcGFyZShyaWdodC5rZXksIFwiZW5cIik7XG5cdFx0fSk7XG5cblx0XHRmb3IgKGNvbnN0IHN0ZXAgb2Ygc29ydGVkU3RlcHMpIHtcblx0XHRcdGxpbmVzLnB1c2goXCJcIiwgc3RlcC5jb250ZW50KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gYCR7bGluZXMuam9pbihcIlxcblwiKX1cXG5gO1xuXHR9XG5cblx0cHJvdGVjdGVkIHJlZ2lzdGVyQmFzZUxheWVycygpOiB2b2lkIHtcblx0XHQvLyBHZW5lcmljIGJhc2UgbW9kZWwgaW50ZW50aW9uYWxseSBoYXMgbm8gZGVmYXVsdCBsYXllcnMuXG5cdH1cblxuXHRwdWJsaWMgZmlsZXMoKTogU291cmNlRmlsZVtdIHtcblx0XHRyZXR1cm4gW1xuXHRcdFx0e1xuXHRcdFx0XHRmaWxlUGF0aDogXCIuL0RvY2tlcmZpbGVcIixcblx0XHRcdFx0Y29udGVudDogdGhpcy5idWlsZCgpLFxuXHRcdFx0fSxcblx0XHRdO1xuXHR9XG59XG5cbmV4cG9ydCBjbGFzcyBEZXZDb250YWluZXJJbWFnZU1vZGVsIGV4dGVuZHMgRG9ja2VyZmlsZU1vZGVsIHtcblx0cHJvdGVjdGVkIG92ZXJyaWRlIHJlZ2lzdGVyQmFzZUxheWVycygpOiB2b2lkIHtcblx0XHRzdXBlci5yZWdpc3RlckJhc2VMYXllcnMoKTtcblx0XHR0aGlzLmFkZExheWVyKHdpdGhDb21tYW5kSGlzdG9yeSgpKS5hZGRMYXllcih3aXRoVnNDb2RlSnNEZWJ1Z0Jvb3Rsb2FkZXJGaXgoKSk7XG5cdH1cblxuXHRwdWJsaWMgZmlsZXMoKTogU291cmNlRmlsZVtdIHtcblx0XHRyZXR1cm4gW1xuXHRcdFx0e1xuXHRcdFx0XHRmaWxlUGF0aDogXCIuZGV2Y29udGFpbmVyL0RvY2tlcmZpbGVcIixcblx0XHRcdFx0Y29udGVudDogdGhpcy5idWlsZCgpLFxuXHRcdFx0fSxcblx0XHRdO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiRGV2Q29udGFpbmVySW1hZ2VNb2RlbCIsIkRvY2tlclN0ZXAiLCJEb2NrZXJmaWxlTW9kZWwiLCJ3aXRoQ29tbWFuZEhpc3RvcnkiLCJ3aXRoTm9kZVVzZXIiLCJ3aXRoUG5wbSIsIndpdGhWc0NvZGVKc0RlYnVnQm9vdGxvYWRlckZpeCIsIndpdGhXb3Jrc3BhY2VOb2RlTW9kdWxlc093bmVyc2hpcCIsImtleSIsImNvbnRlbnQiLCJvcmRlciIsInJ1biIsImNvbW1hbmQiLCJyYXciLCJlbnRyeXBvaW50IiwidmFsdWUiLCJKU09OIiwic3RyaW5naWZ5IiwiU3RlcE9yZGVyIiwiYmFzZSIsImZlYXR1cmVzIiwidXNlciIsIlZTQ09ERV9CT09UTE9BREVSX0ZJWF9CQVNIX1NOSVBQRVQiLCJvcHRpb25zIiwiaGlzdG9yeURpciIsImhpc3RvcnlGaWxlTmFtZSIsImhpc3RvcnlGaWxlIiwiZG9ja2VyZmlsZSIsImFkZFN0ZXAiLCJ1c2VybmFtZSIsImluY2x1ZGVVc2VySW5zdHJ1Y3Rpb24iLCJ2ZXJzaW9uIiwidXNlcm5hbWVFeHByIiwid29ya3NwYWNlRGlyIiwiYmFzaHJjUGF0aCIsIldFTExfS05PV05fRklMRVMiLCJET0NLRVJGSUxFIiwiX3N0ZXBzIiwiTWFwIiwiX2xheWVyV3JpdGVycyIsIl9mcm9tSW1hZ2UiLCJfbGF5ZXJDb3VudGVyIiwiYmFzZUltYWdlIiwicmVnaXN0ZXJCYXNlTGF5ZXJzIiwiZnJvbSIsImFkZExheWVyIiwibGF5ZXIiLCJpZHgiLCJwdXNoIiwic3RlcCIsInNldCIsInJlbW92ZVN0ZXAiLCJkZWxldGUiLCJhZGRSdW5TdGVwIiwiY21kIiwiYnVpbGQiLCJsYXllcldyaXRlciIsImxpbmVzIiwic29ydGVkU3RlcHMiLCJ2YWx1ZXMiLCJzb3J0IiwibGVmdCIsInJp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
|
package/commonjs/src/runner.js
CHANGED
|
@@ -31,8 +31,27 @@ function runInBuilder(opts) {
|
|
|
31
31
|
}
|
|
32
32
|
const volumes = [
|
|
33
33
|
"-v",
|
|
34
|
-
`${targetDir}:/workspace
|
|
34
|
+
`${targetDir}:/workspace`,
|
|
35
|
+
"-v",
|
|
36
|
+
"/npm-cache"
|
|
35
37
|
];
|
|
38
|
+
const commandArgs = [
|
|
39
|
+
"webapi",
|
|
40
|
+
"-d",
|
|
41
|
+
"."
|
|
42
|
+
];
|
|
43
|
+
if (opts.databaseProvider != null) {
|
|
44
|
+
commandArgs.push("--database", opts.databaseProvider);
|
|
45
|
+
}
|
|
46
|
+
if (opts.authProvider != null) {
|
|
47
|
+
commandArgs.push("--auth", opts.authProvider);
|
|
48
|
+
}
|
|
49
|
+
if (opts.postmanProvider != null) {
|
|
50
|
+
commandArgs.push("--postman", opts.postmanProvider);
|
|
51
|
+
}
|
|
52
|
+
if (opts.installDependencies != null) {
|
|
53
|
+
commandArgs.push("--install", opts.installDependencies);
|
|
54
|
+
}
|
|
36
55
|
console.log(" Running scaffolding in a sandboxed container...\n");
|
|
37
56
|
const result = (0, _nodechild_process.spawnSync)("docker", [
|
|
38
57
|
"run",
|
|
@@ -41,16 +60,18 @@ function runInBuilder(opts) {
|
|
|
41
60
|
...volumes,
|
|
42
61
|
"-e",
|
|
43
62
|
"DECOHERE_BUILDER=1",
|
|
63
|
+
"-e",
|
|
64
|
+
"NPM_CONFIG_CACHE=/npm-cache",
|
|
65
|
+
"-e",
|
|
66
|
+
"NPM_CONFIG_PREFER_OFFLINE=true",
|
|
44
67
|
"-w",
|
|
45
68
|
"/workspace",
|
|
46
69
|
BUILDER_IMAGE,
|
|
47
|
-
|
|
48
|
-
"-d",
|
|
49
|
-
"."
|
|
70
|
+
...commandArgs
|
|
50
71
|
], {
|
|
51
72
|
stdio: "inherit"
|
|
52
73
|
});
|
|
53
74
|
process.exit(result.status ?? 0);
|
|
54
75
|
}
|
|
55
76
|
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS9zcmMvcnVubmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNGaWxlU3luYywgc3Bhd25TeW5jIH0gZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHsgbWtkaXJTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBDUkVBVEVfVkVSU0lPTiB9IGZyb20gXCIuL3ZlcnNpb24uanNcIjtcbmltcG9ydCB0eXBlIHsgQXBpT3B0aW9ucyB9IGZyb20gXCIuL3dlYmFwaS9jcmVhdGUtYXBpLmpzXCI7XG5cbmNvbnN0IEJVSUxERVJfSU1BR0UgPSBgZ2hjci5pby9kZWNvaGVyZS9zY2FmZm9sZDoke0NSRUFURV9WRVJTSU9OfWA7XG5cbi8qKlxuICogUnVuIHRoZSBzY2FmZm9sZCBpbnNpZGUgYSBwcmUtYnVpbHQgRG9ja2VyIGJ1aWxkZXIgaW1hZ2UuXG4gKlxuICogQ2FsbGVkIHdoZW4gYERFQ09IRVJFX0JVSUxERVJgIGlzIG5vdCBzZXQg4oCUIGkuZS4gdGhlIENMSSBpcyBydW5uaW5nIG9uIHRoZVxuICogaG9zdCwgb3V0c2lkZSB0aGUgY29udGFpbmVyLiBNb3VudHMgdGhlIHRhcmdldCBkaXJlY3RvcnkgYXMgYC93b3Jrc3BhY2VgIHNvXG4gKiB0aGUgc2NhZmZvbGRlZCBmaWxlcyBhcmUgd3JpdHRlbiBiYWNrIHRvIHRoZSBob3N0IGZpbGVzeXN0ZW0uXG4gKlxuICogSWYgYH4vLmNvbmZpZy9hdXRoMGAgZXhpc3RzIG9uIHRoZSBob3N0IHRoZSBkaXJlY3RvcnkgaXMgYWxzbyBtb3VudGVkIHNvXG4gKiB0aGUgYXV0aDAgQ0xJIGluc2lkZSB0aGUgY29udGFpbmVyIGNhbiByZXVzZSBleGlzdGluZyBjcmVkZW50aWFscyBzaWxlbnRseS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ1bkluQnVpbGRlcihvcHRzOiBBcGlPcHRpb25zKTogbmV2ZXIge1xuXHRjb25zdCB0YXJnZXREaXIgPSByZXNvbHZlKG9wdHMuZCA/PyBcIi5cIik7XG5cdG1rZGlyU3luYyh0YXJnZXREaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG5cdC8vIEVuc3VyZSBEb2NrZXIgaXMgYXZhaWxhYmxlLlxuXHR0cnkge1xuXHRcdGV4ZWNGaWxlU3luYyhcImRvY2tlclwiLCBbXCJpbmZvXCJdLCB7IHN0ZGlvOiBcInBpcGVcIiB9KTtcblx0fSBjYXRjaCB7XG5cdFx0Y29uc29sZS5lcnJvcihcblx0XHRcdFwiXFxuICBEb2NrZXIgaXMgcmVxdWlyZWQgdG8gc2NhZmZvbGQgYSBEZWNvaGVyZSBwcm9qZWN0LlxcblwiICtcblx0XHRcdFx0XCIgIEluc3RhbGwgRG9ja2VyIERlc2t0b3A6IGh0dHBzOi8vd3d3LmRvY2tlci5jb20vcHJvZHVjdHMvZG9ja2VyLWRlc2t0b3BcXG5cIixcblx0XHQpO1xuXHRcdHByb2Nlc3MuZXhpdCgxKTtcblx0fVxuXG5cdGNvbnN0IHZvbHVtZXM6IHN0cmluZ1tdID0gW1wiLXZcIiwgYCR7dGFyZ2V0RGlyfTovd29ya3NwYWNlYCwgXCItdlwiLCBcIi9ucG0tY2FjaGVcIl07XG5cblx0Y29uc3QgY29tbWFuZEFyZ3M6IHN0cmluZ1tdID0gW1wid2ViYXBpXCIsIFwiLWRcIiwgXCIuXCJdO1xuXHRpZiAob3B0cy5kYXRhYmFzZVByb3ZpZGVyICE9IG51bGwpIHtcblx0XHRjb21tYW5kQXJncy5wdXNoKFwiLS1kYXRhYmFzZVwiLCBvcHRzLmRhdGFiYXNlUHJvdmlkZXIpO1xuXHR9XG5cdGlmIChvcHRzLmF1dGhQcm92aWRlciAhPSBudWxsKSB7XG5cdFx0Y29tbWFuZEFyZ3MucHVzaChcIi0tYXV0aFwiLCBvcHRzLmF1dGhQcm92aWRlcik7XG5cdH1cblx0aWYgKG9wdHMucG9zdG1hblByb3ZpZGVyICE9IG51bGwpIHtcblx0XHRjb21tYW5kQXJncy5wdXNoKFwiLS1wb3N0bWFuXCIsIG9wdHMucG9zdG1hblByb3ZpZGVyKTtcblx0fVxuXHRpZiAob3B0cy5pbnN0YWxsRGVwZW5kZW5jaWVzICE9IG51bGwpIHtcblx0XHRjb21tYW5kQXJncy5wdXNoKFwiLS1pbnN0YWxsXCIsIG9wdHMuaW5zdGFsbERlcGVuZGVuY2llcyk7XG5cdH1cblxuXHRjb25zb2xlLmxvZyhcIiAgUnVubmluZyBzY2FmZm9sZGluZyBpbiBhIHNhbmRib3hlZCBjb250YWluZXIuLi5cXG5cIik7XG5cblx0Y29uc3QgcmVzdWx0ID0gc3Bhd25TeW5jKFxuXHRcdFwiZG9ja2VyXCIsXG5cdFx0W1xuXHRcdFx0XCJydW5cIixcblx0XHRcdFwiLS1ybVwiLFxuXHRcdFx0XCItaXRcIixcblx0XHRcdC4uLnZvbHVtZXMsXG5cdFx0XHRcIi1lXCIsXG5cdFx0XHRcIkRFQ09IRVJFX0JVSUxERVI9MVwiLFxuXHRcdFx0XCItZVwiLFxuXHRcdFx0XCJOUE1fQ09ORklHX0NBQ0hFPS9ucG0tY2FjaGVcIixcblx0XHRcdFwiLWVcIixcblx0XHRcdFwiTlBNX0NPTkZJR19QUkVGRVJfT0ZGTElORT10cnVlXCIsXG5cdFx0XHRcIi13XCIsXG5cdFx0XHRcIi93b3Jrc3BhY2VcIixcblx0XHRcdEJVSUxERVJfSU1BR0UsXG5cdFx0XHQuLi5jb21tYW5kQXJncyxcblx0XHRdLFxuXHRcdHsgc3RkaW86IFwiaW5oZXJpdFwiIH0sXG5cdCk7XG5cblx0cHJvY2Vzcy5leGl0KHJlc3VsdC5zdGF0dXMgPz8gMCk7XG59XG4iXSwibmFtZXMiOlsicnVuSW5CdWlsZGVyIiwiQlVJTERFUl9JTUFHRSIsIkNSRUFURV9WRVJTSU9OIiwib3B0cyIsInRhcmdldERpciIsInJlc29sdmUiLCJkIiwibWtkaXJTeW5jIiwicmVjdXJzaXZlIiwiZXhlY0ZpbGVTeW5jIiwic3RkaW8iLCJjb25zb2xlIiwiZXJyb3IiLCJwcm9jZXNzIiwiZXhpdCIsInZvbHVtZXMiLCJjb21tYW5kQXJncyIsImRhdGFiYXNlUHJvdmlkZXIiLCJwdXNoIiwiYXV0aFByb3ZpZGVyIiwicG9zdG1hblByb3ZpZGVyIiwiaW5zdGFsbERlcGVuZGVuY2llcyIsImxvZyIsInJlc3VsdCIsInNwYXduU3luYyIsInN0YXR1cyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFrQmdCQTs7O2VBQUFBOzs7bUNBbEJ3Qjt3QkFDZDswQkFDRjt5QkFDTztBQUcvQixNQUFNQyxnQkFBZ0IsQ0FBQywwQkFBMEIsRUFBRUMsdUJBQWMsRUFBRTtBQVk1RCxTQUFTRixhQUFhRyxJQUFnQjtJQUM1QyxNQUFNQyxZQUFZQyxJQUFBQSxpQkFBTyxFQUFDRixLQUFLRyxDQUFDLElBQUk7SUFDcENDLElBQUFBLGlCQUFTLEVBQUNILFdBQVc7UUFBRUksV0FBVztJQUFLO0lBRXZDLDhCQUE4QjtJQUM5QixJQUFJO1FBQ0hDLElBQUFBLCtCQUFZLEVBQUMsVUFBVTtZQUFDO1NBQU8sRUFBRTtZQUFFQyxPQUFPO1FBQU87SUFDbEQsRUFBRSxPQUFNO1FBQ1BDLFFBQVFDLEtBQUssQ0FDWiw2REFDQztRQUVGQyxRQUFRQyxJQUFJLENBQUM7SUFDZDtJQUVBLE1BQU1DLFVBQW9CO1FBQUM7UUFBTSxHQUFHWCxVQUFVLFdBQVcsQ0FBQztRQUFFO1FBQU07S0FBYTtJQUUvRSxNQUFNWSxjQUF3QjtRQUFDO1FBQVU7UUFBTTtLQUFJO0lBQ25ELElBQUliLEtBQUtjLGdCQUFnQixJQUFJLE1BQU07UUFDbENELFlBQVlFLElBQUksQ0FBQyxjQUFjZixLQUFLYyxnQkFBZ0I7SUFDckQ7SUFDQSxJQUFJZCxLQUFLZ0IsWUFBWSxJQUFJLE1BQU07UUFDOUJILFlBQVlFLElBQUksQ0FBQyxVQUFVZixLQUFLZ0IsWUFBWTtJQUM3QztJQUNBLElBQUloQixLQUFLaUIsZUFBZSxJQUFJLE1BQU07UUFDakNKLFlBQVlFLElBQUksQ0FBQyxhQUFhZixLQUFLaUIsZUFBZTtJQUNuRDtJQUNBLElBQUlqQixLQUFLa0IsbUJBQW1CLElBQUksTUFBTTtRQUNyQ0wsWUFBWUUsSUFBSSxDQUFDLGFBQWFmLEtBQUtrQixtQkFBbUI7SUFDdkQ7SUFFQVYsUUFBUVcsR0FBRyxDQUFDO0lBRVosTUFBTUMsU0FBU0MsSUFBQUEsNEJBQVMsRUFDdkIsVUFDQTtRQUNDO1FBQ0E7UUFDQTtXQUNHVDtRQUNIO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQWQ7V0FDR2U7S0FDSCxFQUNEO1FBQUVOLE9BQU87SUFBVTtJQUdwQkcsUUFBUUMsSUFBSSxDQUFDUyxPQUFPRSxNQUFNLElBQUk7QUFDL0IifQ==
|
|
@@ -20,7 +20,6 @@ const _nodepath = require("node:path");
|
|
|
20
20
|
const _composemodel = require("../models/compose.model.js");
|
|
21
21
|
const _configyamlmodel = require("../models/config-yaml.model.js");
|
|
22
22
|
const _const = require("../models/const.js");
|
|
23
|
-
const _containerimagemodel = require("../models/container-image.model.js");
|
|
24
23
|
const _devcontainermodel = require("../models/dev-container.model.js");
|
|
25
24
|
const _envfilemodel = require("../models/env-file.model.js");
|
|
26
25
|
const _gitignoremodel = require("../models/gitignore.model.js");
|
|
@@ -38,6 +37,7 @@ const _apipackagejsonmodel = require("./models/api-package-json.model.js");
|
|
|
38
37
|
const _controllersourcefilemodel = require("./models/controller-source-file.model.js");
|
|
39
38
|
const _mainsourcefilemodel = require("./models/main-source-file.model.js");
|
|
40
39
|
const _samplefilesmodel = require("./models/sample-files.model.js");
|
|
40
|
+
const _webapiimagemodel = require("./models/webapi-image.model.js");
|
|
41
41
|
const WEBAPI_PROJECT_DIR = "projects/api";
|
|
42
42
|
const features = [
|
|
43
43
|
_databasefeature.DatabaseFeature,
|
|
@@ -69,7 +69,7 @@ function createWorkspace(targetDir) {
|
|
|
69
69
|
// Workspace-level models (repo root)
|
|
70
70
|
monoRepo.addModel(compose);
|
|
71
71
|
monoRepo.addModel(devContainer);
|
|
72
|
-
monoRepo.addModel(new
|
|
72
|
+
monoRepo.addModel(new _webapiimagemodel.WebapiDevContainer());
|
|
73
73
|
monoRepo.addModel(new _vscodesettingsmodel.VSCodeSettings(name));
|
|
74
74
|
monoRepo.addModel(new _launchjsonmodel.LaunchJson());
|
|
75
75
|
monoRepo.addModel(new _tsconfigmodel.TsConfig());
|
|
@@ -166,4 +166,4 @@ function createWorkspace(targetDir) {
|
|
|
166
166
|
return monoRepo;
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS9zcmMvd2ViYXBpL2NyZWF0ZS1hcGkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IERvY2tlckNvbXBvc2UgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbXBvc2UubW9kZWwuanNcIjtcbmltcG9ydCB7IENvbmZpZ1lhbWwgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy15YW1sLm1vZGVsLmpzXCI7XG5pbXBvcnQgeyBXRUxMX0tOT1dOX0ZJTEVTIH0gZnJvbSBcIi4uL21vZGVscy9jb25zdC5qc1wiO1xuaW1wb3J0IHsgRG9ja2VyZmlsZU1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9jb250YWluZXItaW1hZ2UubW9kZWwuanNcIjtcbmltcG9ydCB7IERldkNvbnRhaW5lciB9IGZyb20gXCIuLi9tb2RlbHMvZGV2LWNvbnRhaW5lci5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgRW52RmlsZSB9IGZyb20gXCIuLi9tb2RlbHMvZW52LWZpbGUubW9kZWwuanNcIjtcbmltcG9ydCB7IEdpdGlnbm9yZSB9IGZyb20gXCIuLi9tb2RlbHMvZ2l0aWdub3JlLm1vZGVsLmpzXCI7XG5pbXBvcnQgeyBMYXVuY2hKc29uIH0gZnJvbSBcIi4uL21vZGVscy9sYXVuY2gtanNvbi5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgUGFja2FnZUpzb24gfSBmcm9tIFwiLi4vbW9kZWxzL3BhY2thZ2UtanNvbi5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgTW9ub1JlcG9TY2FmZm9sZCwgUHJvamVjdFNjYWZmb2xkIH0gZnJvbSBcIi4uL21vZGVscy9wcm9qZWN0Lm1vZGVsLmpzXCI7XG5pbXBvcnQgeyBUc0NvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHMvdHNjb25maWcubW9kZWwuanNcIjtcbmltcG9ydCB7IFZTQ29kZVNldHRpbmdzIH0gZnJvbSBcIi4uL21vZGVscy92c2NvZGUtc2V0dGluZ3MubW9kZWwuanNcIjtcbmltcG9ydCB7IFNjYWZmb2xkU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zY2FmZm9sZC5zZXJ2aWNlLmpzXCI7XG5pbXBvcnQgeyBBdXRoRmVhdHVyZSB9IGZyb20gXCIuL2ZlYXR1cmVzL2F1dGguZmVhdHVyZS5qc1wiO1xuaW1wb3J0IHsgRGF0YWJhc2VGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvZGF0YWJhc2UuZmVhdHVyZS5qc1wiO1xuaW1wb3J0IHsgRmluYWxpemVGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvZmluYWxpemUuZmVhdHVyZS5qc1wiO1xuaW1wb3J0IHsgUG9zdG1hbkZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9wb3N0bWFuLmZlYXR1cmUuanNcIjtcbmltcG9ydCB7IEFwaVBhY2thZ2VKc29uIH0gZnJvbSBcIi4vbW9kZWxzL2FwaS1wYWNrYWdlLWpzb24ubW9kZWwuanNcIjtcbmltcG9ydCB7IENvbnRyb2xsZXJTb3VyY2VGaWxlIH0gZnJvbSBcIi4vbW9kZWxzL2NvbnRyb2xsZXItc291cmNlLWZpbGUubW9kZWwuanNcIjtcbmltcG9ydCB7IE1haW5Tb3VyY2VGaWxlIH0gZnJvbSBcIi4vbW9kZWxzL21haW4tc291cmNlLWZpbGUubW9kZWwuanNcIjtcbmltcG9ydCB7IFNhbXBsZUNvbmZpZ01vZGVsLCBTYW1wbGVTZXJ2aWNlTW9kZWwgfSBmcm9tIFwiLi9tb2RlbHMvc2FtcGxlLWZpbGVzLm1vZGVsLmpzXCI7XG5cbmV4cG9ydCBjb25zdCBXRUJBUElfUFJPSkVDVF9ESVIgPSBcInByb2plY3RzL2FwaVwiO1xuXG5leHBvcnQgdHlwZSBBcGlPcHRpb25zID0ge1xuXHRkPzogc3RyaW5nO1xuXHRhdXRoUHJvdmlkZXI/OiBzdHJpbmc7XG5cdGRhdGFiYXNlUHJvdmlkZXI/OiBcIm5vbmVcIiB8IFwicG9zdGdyZXMvdHlwZW9ybVwiO1xufTtcblxuY29uc3QgZmVhdHVyZXMgPSBbRGF0YWJhc2VGZWF0dXJlLCBBdXRoRmVhdHVyZSwgUG9zdG1hbkZlYXR1cmUsIEZpbmFsaXplRmVhdHVyZV07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzY2FmZm9sZEFwaShjbGlPcHRpb25zOiBBcGlPcHRpb25zKSB7XG5cdGNvbnN0IHRhcmdldERpciA9IHJlc29sdmUoY2xpT3B0aW9ucy5kID8/IFwiLlwiKTtcblx0Y29uc3Qgd29ya3NwYWNlID0gY3JlYXRlV29ya3NwYWNlKHRhcmdldERpcik7XG5cdGF3YWl0IFNjYWZmb2xkU2VydmljZS5zY2FmZm9sZCh3b3Jrc3BhY2UsIGNsaU9wdGlvbnMsIGZlYXR1cmVzKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlV29ya3NwYWNlKHRhcmdldERpcjogc3RyaW5nKTogTW9ub1JlcG9TY2FmZm9sZCB7XG5cdGNvbnN0IG1vbm9SZXBvID0gbmV3IE1vbm9SZXBvU2NhZmZvbGQoKTtcblx0bW9ub1JlcG8udGFyZ2V0RGlyID0gdGFyZ2V0RGlyO1xuXHRjb25zdCBuYW1lID0gbW9ub1JlcG8ubmFtZTtcblxuXHRjb25zdCBjb21wb3NlID0gbmV3IERvY2tlckNvbXBvc2UoKVxuXHRcdC5hZGRTZXJ2aWNlKFwiZGV2Y29udGFpbmVyXCIsIHtcblx0XHRcdGJ1aWxkOiBcIi5cIixcblx0XHRcdHZvbHVtZXM6IFtcblx0XHRcdFx0YFxcJHtIT01FfS8ubnBtLyR7bmFtZX06L2hvbWUvbm9kZS8ubnBtLWNvbmZpZ2AsXG5cdFx0XHRcdFwid2ViYXBpLW5vZGUtbW9kdWxlczovd29ya3NwYWNlL25vZGVfbW9kdWxlc1wiLFxuXHRcdFx0XSxcblx0XHRcdGVudmlyb25tZW50OiB7IE5QTV9DT05GSUdfVVNFUkNPTkZJRzogXCIvaG9tZS9ub2RlLy5ucG0tY29uZmlnLy5ucG1yY1wiIH0sXG5cdFx0XHRjb21tYW5kOiBcInNsZWVwIGluZmluaXR5XCIsXG5cdFx0fSlcblx0XHQuYWRkVm9sdW1lKFwid2ViYXBpLW5vZGUtbW9kdWxlc1wiKTtcblxuXHRjb25zdCBkZXZDb250YWluZXIgPSBuZXcgRGV2Q29udGFpbmVyKClcblx0XHQuYWRkRXh0ZW5zaW9uKFwiYmlvbWVqcy5iaW9tZVwiLCBcInZpdGVzdC5leHBsb3JlclwiKVxuXHRcdC5zZXRQb3N0U3RhcnRDb21tYW5kKFwibnBtIHdob2FtaSAyPi9kZXYvbnVsbCB8fCBucG0gbG9naW5cIilcblx0XHQudXNlQ29tcG9zZSgpO1xuXG5cdC8vIFdvcmtzcGFjZS1sZXZlbCBtb2RlbHMgKHJlcG8gcm9vdClcblx0bW9ub1JlcG8uYWRkTW9kZWwoY29tcG9zZSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKGRldkNvbnRhaW5lcik7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBEb2NrZXJmaWxlTW9kZWwoKSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBWU0NvZGVTZXR0aW5ncyhuYW1lKSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBMYXVuY2hKc29uKCkpO1xuXHRtb25vUmVwby5hZGRNb2RlbChuZXcgVHNDb25maWcoKSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBQYWNrYWdlSnNvbihgJHtuYW1lfS5hcGlgKSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBDb25maWdZYW1sKFdFTExfS05PV05fRklMRVMuQ09ORklHX1lBTUwsIFwiY29uZmlnL2NvbmZpZy55YW1sXCIsIFwiXCIpKTtcblx0bW9ub1JlcG8uYWRkTW9kZWwoXG5cdFx0bmV3IENvbmZpZ1lhbWwoV0VMTF9LTk9XTl9GSUxFUy5DT05GSUdfREVWX1lBTUwsIFwiY29uZmlnL2NvbmZpZy5kZXYueWFtbFwiLCBcIlwiKSxcblx0KTtcblx0bW9ub1JlcG8uYWRkTW9kZWwobmV3IEdpdGlnbm9yZSgpKTtcblx0bW9ub1JlcG8uYWRkTW9kZWwobmV3IEVudkZpbGUoKSk7XG5cblx0Ly8gQmlvbWUgZm9ybWF0dGVyL2xpbnRlciBjb25maWdcblx0bW9ub1JlcG8uYWRkRmlsZSh7XG5cdFx0ZmlsZXM6ICgpID0+IFtcblx0XHRcdHtcblx0XHRcdFx0ZmlsZVBhdGg6IFwiYmlvbWUuanNvblwiLFxuXHRcdFx0XHRjb250ZW50OiBKU09OLnN0cmluZ2lmeShcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHQkc2NoZW1hOiBcImh0dHBzOi8vYmlvbWVqcy5kZXYvc2NoZW1hcy8yLjAuMC9zY2hlbWEuanNvblwiLFxuXHRcdFx0XHRcdFx0ZmlsZXM6IHtcblx0XHRcdFx0XHRcdFx0aW5jbHVkZXM6IFtcIioqLyoudHNcIiwgXCIqKi8qLmpzXCIsIFwiKiovKi5qc29uXCIsIFwiKiovKi55bWxcIiwgXCIqKi8qLnlhbWxcIl0sXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0YXNzaXN0OiB7IGFjdGlvbnM6IHsgc291cmNlOiB7IG9yZ2FuaXplSW1wb3J0czogXCJvblwiIH0gfSB9LFxuXHRcdFx0XHRcdFx0dmNzOiB7IGVuYWJsZWQ6IHRydWUsIGNsaWVudEtpbmQ6IFwiZ2l0XCIsIHVzZUlnbm9yZUZpbGU6IHRydWUgfSxcblx0XHRcdFx0XHRcdGZvcm1hdHRlcjoge1xuXHRcdFx0XHRcdFx0XHRlbmFibGVkOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRmb3JtYXRXaXRoRXJyb3JzOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRpbmRlbnRTdHlsZTogXCJ0YWJcIixcblx0XHRcdFx0XHRcdFx0bGluZVdpZHRoOiA5NSxcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRqYXZhc2NyaXB0OiB7IHBhcnNlcjogeyB1bnNhZmVQYXJhbWV0ZXJEZWNvcmF0b3JzRW5hYmxlZDogdHJ1ZSB9IH0sXG5cdFx0XHRcdFx0XHRsaW50ZXI6IHtcblx0XHRcdFx0XHRcdFx0cnVsZXM6IHtcblx0XHRcdFx0XHRcdFx0XHRzdHlsZToge1xuXHRcdFx0XHRcdFx0XHRcdFx0dXNlQ29uc2lzdGVudE1lbWJlckFjY2Vzc2liaWxpdHk6IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGV2ZWw6IFwiZXJyb3JcIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0b3B0aW9uczogeyBhY2Nlc3NpYmlsaXR5OiBcImV4cGxpY2l0XCIgfSxcblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRvdmVycmlkZXM6IFtcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdGluY2x1ZGVzOiBbXCIqKi8qLmpzb25cIl0sXG5cdFx0XHRcdFx0XHRcdFx0Zm9ybWF0dGVyOiB7IGluZGVudFN0eWxlOiBcInNwYWNlXCIsIGluZGVudFdpZHRoOiAyIH0sXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRdLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHQyLFxuXHRcdFx0XHQpLFxuXHRcdFx0fSxcblx0XHRdLFxuXHR9KTtcblxuXHQvLyBOUE0gdG9rZW4gcGxhY2Vob2xkZXIg4oCUIGdpdGlnbm9yZWQsIHNldCBtYW51YWxseSBhZnRlciBzY2FmZm9sZFxuXHRtb25vUmVwby5hZGRGaWxlKHtcblx0XHRmaWxlczogKCkgPT4gW1xuXHRcdFx0e1xuXHRcdFx0XHRmaWxlUGF0aDogXCIuZW52LmxvY2FsXCIsXG5cdFx0XHRcdGNvbnRlbnQ6XG5cdFx0XHRcdFx0XCIjIFNldCB5b3VyIG5wbSBhY2Nlc3MgdG9rZW4gaGVyZSAoY3JlYXRlZCB3aXRoOiBucG0gdG9rZW4gY3JlYXRlKVxcbk5QTV9UT0tFTj1cXG5cIixcblx0XHRcdH0sXG5cdFx0XSxcblx0fSk7XG5cblx0Ly8gUHJvamVjdC1sZXZlbCBtb2RlbHMgKHBhdGhzIHJlbGF0aXZlIHRvIHByb2plY3RzL2FwaSlcblx0Y29uc3QgYXBpUHJvamVjdCA9IG5ldyBQcm9qZWN0U2NhZmZvbGQoV0VCQVBJX1BST0pFQ1RfRElSKTtcblx0YXBpUHJvamVjdC5hZGRNb2RlbChuZXcgQXBpUGFja2FnZUpzb24obmFtZSkpO1xuXHRhcGlQcm9qZWN0LmFkZE1vZGVsKG5ldyBNYWluU291cmNlRmlsZShgJHtuYW1lfS5hcGlgKSk7XG5cdGFwaVByb2plY3QuYWRkTW9kZWwobmV3IENvbnRyb2xsZXJTb3VyY2VGaWxlKCkpO1xuXG5cdC8vIFNhbXBsZVNlcnZpY2UgKyBTYW1wbGVDb25maWcgYXJlIHBhcnQgb2YgdGhlIGNvcmUgc2NhZmZvbGQg4oCUIEhlbGxvQ29udHJvbGxlclxuXHQvLyBpbmplY3RzIFNhbXBsZVNlcnZpY2UgdG8gZGVtb25zdHJhdGUgY29uZmlnLWRyaXZlbiBiZWhhdmlvdXIgb3V0IG9mIHRoZSBib3guXG5cdGFwaVByb2plY3QuYWRkRmlsZShuZXcgU2FtcGxlQ29uZmlnTW9kZWwoKSk7XG5cdGFwaVByb2plY3QuYWRkRmlsZShuZXcgU2FtcGxlU2VydmljZU1vZGVsKCkpO1xuXG5cdG1vbm9SZXBvLmFkZFByb2plY3QoYXBpUHJvamVjdCk7XG5cblx0cmV0dXJuIG1vbm9SZXBvO1xufVxuIl0sIm5hbWVzIjpbIldFQkFQSV9QUk9KRUNUX0RJUiIsInNjYWZmb2xkQXBpIiwiZmVhdHVyZXMiLCJEYXRhYmFzZUZlYXR1cmUiLCJBdXRoRmVhdHVyZSIsIlBvc3RtYW5GZWF0dXJlIiwiRmluYWxpemVGZWF0dXJlIiwiY2xpT3B0aW9ucyIsInRhcmdldERpciIsInJlc29sdmUiLCJkIiwid29ya3NwYWNlIiwiY3JlYXRlV29ya3NwYWNlIiwiU2NhZmZvbGRTZXJ2aWNlIiwic2NhZmZvbGQiLCJtb25vUmVwbyIsIk1vbm9SZXBvU2NhZmZvbGQiLCJuYW1lIiwiY29tcG9zZSIsIkRvY2tlckNvbXBvc2UiLCJhZGRTZXJ2aWNlIiwiYnVpbGQiLCJ2b2x1bWVzIiwiZW52aXJvbm1lbnQiLCJOUE1fQ09ORklHX1VTRVJDT05GSUciLCJjb21tYW5kIiwiYWRkVm9sdW1lIiwiZGV2Q29udGFpbmVyIiwiRGV2Q29udGFpbmVyIiwiYWRkRXh0ZW5zaW9uIiwic2V0UG9zdFN0YXJ0Q29tbWFuZCIsInVzZUNvbXBvc2UiLCJhZGRNb2RlbCIsIkRvY2tlcmZpbGVNb2RlbCIsIlZTQ29kZVNldHRpbmdzIiwiTGF1bmNoSnNvbiIsIlRzQ29uZmlnIiwiUGFja2FnZUpzb24iLCJDb25maWdZYW1sIiwiV0VMTF9LTk9XTl9GSUxFUyIsIkNPTkZJR19ZQU1MIiwiQ09ORklHX0RFVl9ZQU1MIiwiR2l0aWdub3JlIiwiRW52RmlsZSIsImFkZEZpbGUiLCJmaWxlcyIsImZpbGVQYXRoIiwiY29udGVudCIsIkpTT04iLCJzdHJpbmdpZnkiLCIkc2NoZW1hIiwiaW5jbHVkZXMiLCJhc3Npc3QiLCJhY3Rpb25zIiwic291cmNlIiwib3JnYW5pemVJbXBvcnRzIiwidmNzIiwiZW5hYmxlZCIsImNsaWVudEtpbmQiLCJ1c2VJZ25vcmVGaWxlIiwiZm9ybWF0dGVyIiwiZm9ybWF0V2l0aEVycm9ycyIsImluZGVudFN0eWxlIiwibGluZVdpZHRoIiwiamF2YXNjcmlwdCIsInBhcnNlciIsInVuc2FmZVBhcmFtZXRlckRlY29yYXRvcnNFbmFibGVkIiwibGludGVyIiwicnVsZXMiLCJzdHlsZSIsInVzZUNvbnNpc3RlbnRNZW1iZXJBY2Nlc3NpYmlsaXR5IiwibGV2ZWwiLCJvcHRpb25zIiwiYWNjZXNzaWJpbGl0eSIsIm92ZXJyaWRlcyIsImluZGVudFdpZHRoIiwiYXBpUHJvamVjdCIsIlByb2plY3RTY2FmZm9sZCIsIkFwaVBhY2thZ2VKc29uIiwiTWFpblNvdXJjZUZpbGUiLCJDb250cm9sbGVyU291cmNlRmlsZSIsIlNhbXBsZUNvbmZpZ01vZGVsIiwiU2FtcGxlU2VydmljZU1vZGVsIiwiYWRkUHJvamVjdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUF1QmFBO2VBQUFBOztRQVVTQztlQUFBQTs7OzBCQWpDRTs4QkFDTTtpQ0FDSDt1QkFDTTtxQ0FDRDttQ0FDSDs4QkFDTDtnQ0FDRTtpQ0FDQztrQ0FDQzs4QkFDc0I7K0JBQ3pCO3FDQUNNO2lDQUNDOzZCQUNKO2lDQUNJO2lDQUNBO2dDQUNEO3FDQUNBOzJDQUNNO3FDQUNOO2tDQUN1QjtBQUUvQyxNQUFNRCxxQkFBcUI7QUFRbEMsTUFBTUUs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
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS9zcmMvd2ViYXBpL2NyZWF0ZS1hcGkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IERvY2tlckNvbXBvc2UgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbXBvc2UubW9kZWwuanNcIjtcbmltcG9ydCB7IENvbmZpZ1lhbWwgfSBmcm9tIFwiLi4vbW9kZWxzL2NvbmZpZy15YW1sLm1vZGVsLmpzXCI7XG5pbXBvcnQgeyBXRUxMX0tOT1dOX0ZJTEVTIH0gZnJvbSBcIi4uL21vZGVscy9jb25zdC5qc1wiO1xuaW1wb3J0IHsgRGV2Q29udGFpbmVyIH0gZnJvbSBcIi4uL21vZGVscy9kZXYtY29udGFpbmVyLm1vZGVsLmpzXCI7XG5pbXBvcnQgeyBFbnZGaWxlIH0gZnJvbSBcIi4uL21vZGVscy9lbnYtZmlsZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgR2l0aWdub3JlIH0gZnJvbSBcIi4uL21vZGVscy9naXRpZ25vcmUubW9kZWwuanNcIjtcbmltcG9ydCB7IExhdW5jaEpzb24gfSBmcm9tIFwiLi4vbW9kZWxzL2xhdW5jaC1qc29uLm1vZGVsLmpzXCI7XG5pbXBvcnQgeyBQYWNrYWdlSnNvbiB9IGZyb20gXCIuLi9tb2RlbHMvcGFja2FnZS1qc29uLm1vZGVsLmpzXCI7XG5pbXBvcnQgeyBNb25vUmVwb1NjYWZmb2xkLCBQcm9qZWN0U2NhZmZvbGQgfSBmcm9tIFwiLi4vbW9kZWxzL3Byb2plY3QubW9kZWwuanNcIjtcbmltcG9ydCB7IFRzQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy90c2NvbmZpZy5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgVlNDb2RlU2V0dGluZ3MgfSBmcm9tIFwiLi4vbW9kZWxzL3ZzY29kZS1zZXR0aW5ncy5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgU2NhZmZvbGRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3NjYWZmb2xkLnNlcnZpY2UuanNcIjtcbmltcG9ydCB7IEF1dGhGZWF0dXJlIH0gZnJvbSBcIi4vZmVhdHVyZXMvYXV0aC5mZWF0dXJlLmpzXCI7XG5pbXBvcnQgeyBEYXRhYmFzZUZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9kYXRhYmFzZS5mZWF0dXJlLmpzXCI7XG5pbXBvcnQgeyBGaW5hbGl6ZUZlYXR1cmUgfSBmcm9tIFwiLi9mZWF0dXJlcy9maW5hbGl6ZS5mZWF0dXJlLmpzXCI7XG5pbXBvcnQgeyBQb3N0bWFuRmVhdHVyZSB9IGZyb20gXCIuL2ZlYXR1cmVzL3Bvc3RtYW4uZmVhdHVyZS5qc1wiO1xuaW1wb3J0IHsgQXBpUGFja2FnZUpzb24gfSBmcm9tIFwiLi9tb2RlbHMvYXBpLXBhY2thZ2UtanNvbi5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgQ29udHJvbGxlclNvdXJjZUZpbGUgfSBmcm9tIFwiLi9tb2RlbHMvY29udHJvbGxlci1zb3VyY2UtZmlsZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgTWFpblNvdXJjZUZpbGUgfSBmcm9tIFwiLi9tb2RlbHMvbWFpbi1zb3VyY2UtZmlsZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgU2FtcGxlQ29uZmlnTW9kZWwsIFNhbXBsZVNlcnZpY2VNb2RlbCB9IGZyb20gXCIuL21vZGVscy9zYW1wbGUtZmlsZXMubW9kZWwuanNcIjtcbmltcG9ydCB7IFdlYmFwaURldkNvbnRhaW5lciB9IGZyb20gXCIuL21vZGVscy93ZWJhcGktaW1hZ2UubW9kZWwuanNcIjtcblxuZXhwb3J0IGNvbnN0IFdFQkFQSV9QUk9KRUNUX0RJUiA9IFwicHJvamVjdHMvYXBpXCI7XG5cbmV4cG9ydCB0eXBlIEFwaU9wdGlvbnMgPSB7XG5cdGQ/OiBzdHJpbmc7XG5cdGF1dGhQcm92aWRlcj86IFwiYXV0aDBcIiB8IFwibm9uZVwiO1xuXHRkYXRhYmFzZVByb3ZpZGVyPzogXCJub25lXCIgfCBcInBvc3RncmVzL3R5cGVvcm1cIjtcblx0cG9zdG1hblByb3ZpZGVyPzogXCJhcGlcIiB8IFwibG9jYWxcIiB8IFwibm9uZVwiO1xuXHRpbnN0YWxsRGVwZW5kZW5jaWVzPzogXCJ5ZXNcIiB8IFwibm9cIjtcbn07XG5cbmNvbnN0IGZlYXR1cmVzID0gW0RhdGFiYXNlRmVhdHVyZSwgQXV0aEZlYXR1cmUsIFBvc3RtYW5GZWF0dXJlLCBGaW5hbGl6ZUZlYXR1cmVdO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2NhZmZvbGRBcGkoY2xpT3B0aW9uczogQXBpT3B0aW9ucykge1xuXHRjb25zdCB0YXJnZXREaXIgPSByZXNvbHZlKGNsaU9wdGlvbnMuZCA/PyBcIi5cIik7XG5cdGNvbnN0IHdvcmtzcGFjZSA9IGNyZWF0ZVdvcmtzcGFjZSh0YXJnZXREaXIpO1xuXHRhd2FpdCBTY2FmZm9sZFNlcnZpY2Uuc2NhZmZvbGQod29ya3NwYWNlLCBjbGlPcHRpb25zLCBmZWF0dXJlcyk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVdvcmtzcGFjZSh0YXJnZXREaXI6IHN0cmluZyk6IE1vbm9SZXBvU2NhZmZvbGQge1xuXHRjb25zdCBtb25vUmVwbyA9IG5ldyBNb25vUmVwb1NjYWZmb2xkKCk7XG5cdG1vbm9SZXBvLnRhcmdldERpciA9IHRhcmdldERpcjtcblx0Y29uc3QgbmFtZSA9IG1vbm9SZXBvLm5hbWU7XG5cblx0Y29uc3QgY29tcG9zZSA9IG5ldyBEb2NrZXJDb21wb3NlKClcblx0XHQuYWRkU2VydmljZShcImRldmNvbnRhaW5lclwiLCB7XG5cdFx0XHRidWlsZDogXCIuXCIsXG5cdFx0XHR2b2x1bWVzOiBbXG5cdFx0XHRcdGBcXCR7SE9NRX0vLm5wbS8ke25hbWV9Oi9ob21lL25vZGUvLm5wbS1jb25maWdgLFxuXHRcdFx0XHRcIndlYmFwaS1ub2RlLW1vZHVsZXM6L3dvcmtzcGFjZS9ub2RlX21vZHVsZXNcIixcblx0XHRcdF0sXG5cdFx0XHRlbnZpcm9ubWVudDogeyBOUE1fQ09ORklHX1VTRVJDT05GSUc6IFwiL2hvbWUvbm9kZS8ubnBtLWNvbmZpZy8ubnBtcmNcIiB9LFxuXHRcdFx0Y29tbWFuZDogXCJzbGVlcCBpbmZpbml0eVwiLFxuXHRcdH0pXG5cdFx0LmFkZFZvbHVtZShcIndlYmFwaS1ub2RlLW1vZHVsZXNcIik7XG5cblx0Y29uc3QgZGV2Q29udGFpbmVyID0gbmV3IERldkNvbnRhaW5lcigpXG5cdFx0LmFkZEV4dGVuc2lvbihcImJpb21lanMuYmlvbWVcIiwgXCJ2aXRlc3QuZXhwbG9yZXJcIilcblx0XHQuc2V0UG9zdFN0YXJ0Q29tbWFuZChcIm5wbSB3aG9hbWkgMj4vZGV2L251bGwgfHwgbnBtIGxvZ2luXCIpXG5cdFx0LnVzZUNvbXBvc2UoKTtcblxuXHQvLyBXb3Jrc3BhY2UtbGV2ZWwgbW9kZWxzIChyZXBvIHJvb3QpXG5cdG1vbm9SZXBvLmFkZE1vZGVsKGNvbXBvc2UpO1xuXHRtb25vUmVwby5hZGRNb2RlbChkZXZDb250YWluZXIpO1xuXHRtb25vUmVwby5hZGRNb2RlbChuZXcgV2ViYXBpRGV2Q29udGFpbmVyKCkpO1xuXHRtb25vUmVwby5hZGRNb2RlbChuZXcgVlNDb2RlU2V0dGluZ3MobmFtZSkpO1xuXHRtb25vUmVwby5hZGRNb2RlbChuZXcgTGF1bmNoSnNvbigpKTtcblx0bW9ub1JlcG8uYWRkTW9kZWwobmV3IFRzQ29uZmlnKCkpO1xuXHRtb25vUmVwby5hZGRNb2RlbChuZXcgUGFja2FnZUpzb24oYCR7bmFtZX0uYXBpYCkpO1xuXHRtb25vUmVwby5hZGRNb2RlbChuZXcgQ29uZmlnWWFtbChXRUxMX0tOT1dOX0ZJTEVTLkNPTkZJR19ZQU1MLCBcImNvbmZpZy9jb25maWcueWFtbFwiLCBcIlwiKSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKFxuXHRcdG5ldyBDb25maWdZYW1sKFdFTExfS05PV05fRklMRVMuQ09ORklHX0RFVl9ZQU1MLCBcImNvbmZpZy9jb25maWcuZGV2LnlhbWxcIiwgXCJcIiksXG5cdCk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBHaXRpZ25vcmUoKSk7XG5cdG1vbm9SZXBvLmFkZE1vZGVsKG5ldyBFbnZGaWxlKCkpO1xuXG5cdC8vIEJpb21lIGZvcm1hdHRlci9saW50ZXIgY29uZmlnXG5cdG1vbm9SZXBvLmFkZEZpbGUoe1xuXHRcdGZpbGVzOiAoKSA9PiBbXG5cdFx0XHR7XG5cdFx0XHRcdGZpbGVQYXRoOiBcImJpb21lLmpzb25cIixcblx0XHRcdFx0Y29udGVudDogSlNPTi5zdHJpbmdpZnkoXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0JHNjaGVtYTogXCJodHRwczovL2Jpb21lanMuZGV2L3NjaGVtYXMvMi4wLjAvc2NoZW1hLmpzb25cIixcblx0XHRcdFx0XHRcdGZpbGVzOiB7XG5cdFx0XHRcdFx0XHRcdGluY2x1ZGVzOiBbXCIqKi8qLnRzXCIsIFwiKiovKi5qc1wiLCBcIioqLyouanNvblwiLCBcIioqLyoueW1sXCIsIFwiKiovKi55YW1sXCJdLFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdGFzc2lzdDogeyBhY3Rpb25zOiB7IHNvdXJjZTogeyBvcmdhbml6ZUltcG9ydHM6IFwib25cIiB9IH0gfSxcblx0XHRcdFx0XHRcdHZjczogeyBlbmFibGVkOiB0cnVlLCBjbGllbnRLaW5kOiBcImdpdFwiLCB1c2VJZ25vcmVGaWxlOiB0cnVlIH0sXG5cdFx0XHRcdFx0XHRmb3JtYXR0ZXI6IHtcblx0XHRcdFx0XHRcdFx0ZW5hYmxlZDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0Zm9ybWF0V2l0aEVycm9yczogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0aW5kZW50U3R5bGU6IFwidGFiXCIsXG5cdFx0XHRcdFx0XHRcdGxpbmVXaWR0aDogOTUsXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0amF2YXNjcmlwdDogeyBwYXJzZXI6IHsgdW5zYWZlUGFyYW1ldGVyRGVjb3JhdG9yc0VuYWJsZWQ6IHRydWUgfSB9LFxuXHRcdFx0XHRcdFx0bGludGVyOiB7XG5cdFx0XHRcdFx0XHRcdHJ1bGVzOiB7XG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcblx0XHRcdFx0XHRcdFx0XHRcdHVzZUNvbnNpc3RlbnRNZW1iZXJBY2Nlc3NpYmlsaXR5OiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxldmVsOiBcImVycm9yXCIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9wdGlvbnM6IHsgYWNjZXNzaWJpbGl0eTogXCJleHBsaWNpdFwiIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0b3ZlcnJpZGVzOiBbXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRpbmNsdWRlczogW1wiKiovKi5qc29uXCJdLFxuXHRcdFx0XHRcdFx0XHRcdGZvcm1hdHRlcjogeyBpbmRlbnRTdHlsZTogXCJzcGFjZVwiLCBpbmRlbnRXaWR0aDogMiB9LFxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XSxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0Mixcblx0XHRcdFx0KSxcblx0XHRcdH0sXG5cdFx0XSxcblx0fSk7XG5cblx0Ly8gTlBNIHRva2VuIHBsYWNlaG9sZGVyIOKAlCBnaXRpZ25vcmVkLCBzZXQgbWFudWFsbHkgYWZ0ZXIgc2NhZmZvbGRcblx0bW9ub1JlcG8uYWRkRmlsZSh7XG5cdFx0ZmlsZXM6ICgpID0+IFtcblx0XHRcdHtcblx0XHRcdFx0ZmlsZVBhdGg6IFwiLmVudi5sb2NhbFwiLFxuXHRcdFx0XHRjb250ZW50OlxuXHRcdFx0XHRcdFwiIyBTZXQgeW91ciBucG0gYWNjZXNzIHRva2VuIGhlcmUgKGNyZWF0ZWQgd2l0aDogbnBtIHRva2VuIGNyZWF0ZSlcXG5OUE1fVE9LRU49XFxuXCIsXG5cdFx0XHR9LFxuXHRcdF0sXG5cdH0pO1xuXG5cdC8vIFByb2plY3QtbGV2ZWwgbW9kZWxzIChwYXRocyByZWxhdGl2ZSB0byBwcm9qZWN0cy9hcGkpXG5cdGNvbnN0IGFwaVByb2plY3QgPSBuZXcgUHJvamVjdFNjYWZmb2xkKFdFQkFQSV9QUk9KRUNUX0RJUik7XG5cdGFwaVByb2plY3QuYWRkTW9kZWwobmV3IEFwaVBhY2thZ2VKc29uKG5hbWUpKTtcblx0YXBpUHJvamVjdC5hZGRNb2RlbChuZXcgTWFpblNvdXJjZUZpbGUoYCR7bmFtZX0uYXBpYCkpO1xuXHRhcGlQcm9qZWN0LmFkZE1vZGVsKG5ldyBDb250cm9sbGVyU291cmNlRmlsZSgpKTtcblxuXHQvLyBTYW1wbGVTZXJ2aWNlICsgU2FtcGxlQ29uZmlnIGFyZSBwYXJ0IG9mIHRoZSBjb3JlIHNjYWZmb2xkIOKAlCBIZWxsb0NvbnRyb2xsZXJcblx0Ly8gaW5qZWN0cyBTYW1wbGVTZXJ2aWNlIHRvIGRlbW9uc3RyYXRlIGNvbmZpZy1kcml2ZW4gYmVoYXZpb3VyIG91dCBvZiB0aGUgYm94LlxuXHRhcGlQcm9qZWN0LmFkZEZpbGUobmV3IFNhbXBsZUNvbmZpZ01vZGVsKCkpO1xuXHRhcGlQcm9qZWN0LmFkZEZpbGUobmV3IFNhbXBsZVNlcnZpY2VNb2RlbCgpKTtcblxuXHRtb25vUmVwby5hZGRQcm9qZWN0KGFwaVByb2plY3QpO1xuXG5cdHJldHVybiBtb25vUmVwbztcbn1cbiJdLCJuYW1lcyI6WyJXRUJBUElfUFJPSkVDVF9ESVIiLCJzY2FmZm9sZEFwaSIsImZlYXR1cmVzIiwiRGF0YWJhc2VGZWF0dXJlIiwiQXV0aEZlYXR1cmUiLCJQb3N0bWFuRmVhdHVyZSIsIkZpbmFsaXplRmVhdHVyZSIsImNsaU9wdGlvbnMiLCJ0YXJnZXREaXIiLCJyZXNvbHZlIiwiZCIsIndvcmtzcGFjZSIsImNyZWF0ZVdvcmtzcGFjZSIsIlNjYWZmb2xkU2VydmljZSIsInNjYWZmb2xkIiwibW9ub1JlcG8iLCJNb25vUmVwb1NjYWZmb2xkIiwibmFtZSIsImNvbXBvc2UiLCJEb2NrZXJDb21wb3NlIiwiYWRkU2VydmljZSIsImJ1aWxkIiwidm9sdW1lcyIsImVudmlyb25tZW50IiwiTlBNX0NPTkZJR19VU0VSQ09ORklHIiwiY29tbWFuZCIsImFkZFZvbHVtZSIsImRldkNvbnRhaW5lciIsIkRldkNvbnRhaW5lciIsImFkZEV4dGVuc2lvbiIsInNldFBvc3RTdGFydENvbW1hbmQiLCJ1c2VDb21wb3NlIiwiYWRkTW9kZWwiLCJXZWJhcGlEZXZDb250YWluZXIiLCJWU0NvZGVTZXR0aW5ncyIsIkxhdW5jaEpzb24iLCJUc0NvbmZpZyIsIlBhY2thZ2VKc29uIiwiQ29uZmlnWWFtbCIsIldFTExfS05PV05fRklMRVMiLCJDT05GSUdfWUFNTCIsIkNPTkZJR19ERVZfWUFNTCIsIkdpdGlnbm9yZSIsIkVudkZpbGUiLCJhZGRGaWxlIiwiZmlsZXMiLCJmaWxlUGF0aCIsImNvbnRlbnQiLCJKU09OIiwic3RyaW5naWZ5IiwiJHNjaGVtYSIsImluY2x1ZGVzIiwiYXNzaXN0IiwiYWN0aW9ucyIsInNvdXJjZSIsIm9yZ2FuaXplSW1wb3J0cyIsInZjcyIsImVuYWJsZWQiLCJjbGllbnRLaW5kIiwidXNlSWdub3JlRmlsZSIsImZvcm1hdHRlciIsImZvcm1hdFdpdGhFcnJvcnMiLCJpbmRlbnRTdHlsZSIsImxpbmVXaWR0aCIsImphdmFzY3JpcHQiLCJwYXJzZXIiLCJ1bnNhZmVQYXJhbWV0ZXJEZWNvcmF0b3JzRW5hYmxlZCIsImxpbnRlciIsInJ1bGVzIiwic3R5bGUiLCJ1c2VDb25zaXN0ZW50TWVtYmVyQWNjZXNzaWJpbGl0eSIsImxldmVsIiwib3B0aW9ucyIsImFjY2Vzc2liaWxpdHkiLCJvdmVycmlkZXMiLCJpbmRlbnRXaWR0aCIsImFwaVByb2plY3QiLCJQcm9qZWN0U2NhZmZvbGQiLCJBcGlQYWNrYWdlSnNvbiIsIk1haW5Tb3VyY2VGaWxlIiwiQ29udHJvbGxlclNvdXJjZUZpbGUiLCJTYW1wbGVDb25maWdNb2RlbCIsIlNhbXBsZVNlcnZpY2VNb2RlbCIsImFkZFByb2plY3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBdUJhQTtlQUFBQTs7UUFZU0M7ZUFBQUE7OzswQkFuQ0U7OEJBQ007aUNBQ0g7dUJBQ007bUNBQ0o7OEJBQ0w7Z0NBQ0U7aUNBQ0M7a0NB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
|
|
@@ -13,15 +13,22 @@ const _prompt = require("../../domain/prompt.js");
|
|
|
13
13
|
// State resolved during scaffold(), consumed by finalize().
|
|
14
14
|
let _pm = null;
|
|
15
15
|
let _shouldInstall = true;
|
|
16
|
-
async function getOptions(_workspace,
|
|
16
|
+
async function getOptions(_workspace, cliOptions) {
|
|
17
|
+
if (cliOptions.installDependencies != null) {
|
|
18
|
+
_shouldInstall = cliOptions.installDependencies === "yes";
|
|
19
|
+
}
|
|
17
20
|
return {};
|
|
18
21
|
}
|
|
19
|
-
async function scaffold(workspace,
|
|
22
|
+
async function scaffold(workspace, options) {
|
|
20
23
|
if (process.env.DECOHERE_BUILDER === "1") {
|
|
21
24
|
_shouldInstall = false;
|
|
22
25
|
return;
|
|
23
26
|
}
|
|
24
27
|
_pm = (0, _interop.detectPackageManager)(workspace.targetDir) ?? await (0, _interop.promptForPackageManager)();
|
|
28
|
+
if (options.installDependencies != null) {
|
|
29
|
+
_shouldInstall = options.installDependencies === "yes";
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
25
32
|
const answer = await (0, _prompt.ask)("\nInstall dependencies now? [yes/no] (yes): ", "yes");
|
|
26
33
|
_shouldInstall = answer.toLowerCase() !== "no";
|
|
27
34
|
}
|
|
@@ -48,4 +55,4 @@ const FinalizeFeature = {
|
|
|
48
55
|
finalize
|
|
49
56
|
};
|
|
50
57
|
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS9zcmMvd2ViYXBpL2ZlYXR1cmVzL2ZpbmFsaXplLmZlYXR1cmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYWNrYWdlTWFuYWdlciB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW50ZXJvcFwiO1xuaW1wb3J0IHsgZGV0ZWN0UGFja2FnZU1hbmFnZXIsIHByb21wdEZvclBhY2thZ2VNYW5hZ2VyIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pbnRlcm9wXCI7XG5pbXBvcnQgeyBhc2sgfSBmcm9tIFwiLi4vLi4vZG9tYWluL3Byb21wdC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBXb3Jrc3BhY2VTY2FmZm9sZCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvcHJvamVjdC5tb2RlbC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBGZWF0dXJlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3NjYWZmb2xkLnNlcnZpY2UuanNcIjtcblxuLy8gU3RhdGUgcmVzb2x2ZWQgZHVyaW5nIHNjYWZmb2xkKCksIGNvbnN1bWVkIGJ5IGZpbmFsaXplKCkuXG5sZXQgX3BtOiBQYWNrYWdlTWFuYWdlciB8IG51bGwgPSBudWxsO1xubGV0IF9zaG91bGRJbnN0YWxsID0gdHJ1ZTtcblxudHlwZSBGaW5hbGl6ZU9wdGlvbnMgPSB7XG5cdGluc3RhbGxEZXBlbmRlbmNpZXM/OiBcInllc1wiIHwgXCJub1wiO1xufTtcblxuYXN5bmMgZnVuY3Rpb24gZ2V0T3B0aW9ucyhcblx0X3dvcmtzcGFjZTogV29ya3NwYWNlU2NhZmZvbGQsXG5cdGNsaU9wdGlvbnM6IFBhcnRpYWw8RmluYWxpemVPcHRpb25zPixcbik6IFByb21pc2U8b2JqZWN0PiB7XG5cdGlmIChjbGlPcHRpb25zLmluc3RhbGxEZXBlbmRlbmNpZXMgIT0gbnVsbCkge1xuXHRcdF9zaG91bGRJbnN0YWxsID0gY2xpT3B0aW9ucy5pbnN0YWxsRGVwZW5kZW5jaWVzID09PSBcInllc1wiO1xuXHR9XG5cdHJldHVybiB7fTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2NhZmZvbGQoXG5cdHdvcmtzcGFjZTogV29ya3NwYWNlU2NhZmZvbGQsXG5cdG9wdGlvbnM6IEZpbmFsaXplT3B0aW9ucyxcbik6IFByb21pc2U8dm9pZD4ge1xuXHRpZiAocHJvY2Vzcy5lbnYuREVDT0hFUkVfQlVJTERFUiA9PT0gXCIxXCIpIHtcblx0XHRfc2hvdWxkSW5zdGFsbCA9IGZhbHNlO1xuXHRcdHJldHVybjtcblx0fVxuXHRfcG0gPSBkZXRlY3RQYWNrYWdlTWFuYWdlcih3b3Jrc3BhY2UudGFyZ2V0RGlyKSA/PyAoYXdhaXQgcHJvbXB0Rm9yUGFja2FnZU1hbmFnZXIoKSk7XG5cdGlmIChvcHRpb25zLmluc3RhbGxEZXBlbmRlbmNpZXMgIT0gbnVsbCkge1xuXHRcdF9zaG91bGRJbnN0YWxsID0gb3B0aW9ucy5pbnN0YWxsRGVwZW5kZW5jaWVzID09PSBcInllc1wiO1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGNvbnN0IGFuc3dlciA9IGF3YWl0IGFzayhcIlxcbkluc3RhbGwgZGVwZW5kZW5jaWVzIG5vdz8gW3llcy9ub10gKHllcyk6IFwiLCBcInllc1wiKTtcblx0X3Nob3VsZEluc3RhbGwgPSBhbnN3ZXIudG9Mb3dlckNhc2UoKSAhPT0gXCJub1wiO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmaW5hbGl6ZSh3b3Jrc3BhY2U6IFdvcmtzcGFjZVNjYWZmb2xkLCBfb3B0aW9uczogb2JqZWN0KTogUHJvbWlzZTx2b2lkPiB7XG5cdGlmIChfc2hvdWxkSW5zdGFsbCkge1xuXHRcdGNvbnN0IHBtID0gX3BtITtcblx0XHRjb25zb2xlLmxvZyhgXFxuU2NhZmZvbGRlZCAke3dvcmtzcGFjZS5uYW1lfS4gSW5zdGFsbGluZyBkZXBlbmRlbmNpZXMuLi5cXG5gKTtcblx0XHRhd2FpdCBwbS5pbnN0YWxsKHsgY3dkOiB3b3Jrc3BhY2UudGFyZ2V0RGlyIH0pO1xuXHR9XG5cblx0Y29uc29sZS5sb2coYFxcbkRvbmUhICR7X3Nob3VsZEluc3RhbGwgPyBcIk5leHRcIiA6IFwiVG8gZ2V0IHN0YXJ0ZWQ6XCJ9IHN0ZXBzOlxcbmApO1xuXHRjb25zb2xlLmxvZyhgICBjZCAke3dvcmtzcGFjZS5uYW1lfWApO1xuXHRpZiAoIV9zaG91bGRJbnN0YWxsKSB7XG5cdFx0Y29uc3QgcG1OYW1lID0gX3BtPy5uYW1lID8/IFwicG5wbVwiO1xuXHRcdGNvbnNvbGUubG9nKGAgICR7cG1OYW1lfSBpbnN0YWxsYCk7XG5cdH1cblx0Y29uc29sZS5sb2coXCIgIGNvZGUgLiAgICAgICAgICMgb3BlbiBpbiBWUyBDb2RlXCIpO1xuXHRjb25zb2xlLmxvZyhcIiAgICAgICAgICAgICAgICAgIyB0aGVuOiBSZW9wZW4gaW4gQ29udGFpbmVyXFxuXCIpO1xufVxuXG5leHBvcnQgY29uc3QgRmluYWxpemVGZWF0dXJlOiBGZWF0dXJlID0geyBnZXRPcHRpb25zLCBzY2FmZm9sZCwgZmluYWxpemUgfTtcbiJdLCJuYW1lcyI6WyJGaW5hbGl6ZUZlYXR1cmUiLCJfcG0iLCJfc2hvdWxkSW5zdGFsbCIsImdldE9wdGlvbnMiLCJfd29ya3NwYWNlIiwiY2xpT3B0aW9ucyIsImluc3RhbGxEZXBlbmRlbmNpZXMiLCJzY2FmZm9sZCIsIndvcmtzcGFjZSIsIm9wdGlvbnMiLCJwcm9jZXNzIiwiZW52IiwiREVDT0hFUkVfQlVJTERFUiIsImRldGVjdFBhY2thZ2VNYW5hZ2VyIiwidGFyZ2V0RGlyIiwicHJvbXB0Rm9yUGFja2FnZU1hbmFnZXIiLCJhbnN3ZXIiLCJhc2siLCJ0b0xvd2VyQ2FzZSIsImZpbmFsaXplIiwiX29wdGlvbnMiLCJwbSIsImNvbnNvbGUiLCJsb2ciLCJuYW1lIiwiaW5zdGFsbCIsImN3ZCIsInBtTmFtZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkEyRGFBOzs7ZUFBQUE7Ozt5QkExRGlEO3dCQUMxQztBQUlwQiw0REFBNEQ7QUFDNUQsSUFBSUMsTUFBNkI7QUFDakMsSUFBSUMsaUJBQWlCO0FBTXJCLGVBQWVDLFdBQ2RDLFVBQTZCLEVBQzdCQyxVQUFvQztJQUVwQyxJQUFJQSxXQUFXQyxtQkFBbUIsSUFBSSxNQUFNO1FBQzNDSixpQkFBaUJHLFdBQVdDLG1CQUFtQixLQUFLO0lBQ3JEO0lBQ0EsT0FBTyxDQUFDO0FBQ1Q7QUFFQSxlQUFlQyxTQUNkQyxTQUE0QixFQUM1QkMsT0FBd0I7SUFFeEIsSUFBSUMsUUFBUUMsR0FBRyxDQUFDQyxnQkFBZ0IsS0FBSyxLQUFLO1FBQ3pDVixpQkFBaUI7UUFDakI7SUFDRDtJQUNBRCxNQUFNWSxJQUFBQSw2QkFBb0IsRUFBQ0wsVUFBVU0sU0FBUyxLQUFNLE1BQU1DLElBQUFBLGdDQUF1QjtJQUNqRixJQUFJTixRQUFRSCxtQkFBbUIsSUFBSSxNQUFNO1FBQ3hDSixpQkFBaUJPLFFBQVFILG1CQUFtQixLQUFLO1FBQ2pEO0lBQ0Q7SUFFQSxNQUFNVSxTQUFTLE1BQU1DLElBQUFBLFdBQUcsRUFBQyxnREFBZ0Q7SUFDekVmLGlCQUFpQmMsT0FBT0UsV0FBVyxPQUFPO0FBQzNDO0FBRUEsZUFBZUMsU0FBU1gsU0FBNEIsRUFBRVksUUFBZ0I7SUFDckUsSUFBSWxCLGdCQUFnQjtRQUNuQixNQUFNbUIsS0FBS3BCO1FBQ1hxQixRQUFRQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUVmLFVBQVVnQixJQUFJLENBQUMsOEJBQThCLENBQUM7UUFDMUUsTUFBTUgsR0FBR0ksT0FBTyxDQUFDO1lBQUVDLEtBQUtsQixVQUFVTSxTQUFTO1FBQUM7SUFDN0M7SUFFQVEsUUFBUUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFckIsaUJBQWlCLFNBQVMsa0JBQWtCLFNBQVMsQ0FBQztJQUM3RW9CLFFBQVFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRWYsVUFBVWdCLElBQUksRUFBRTtJQUNwQyxJQUFJLENBQUN0QixnQkFBZ0I7UUFDcEIsTUFBTXlCLFNBQVMxQixLQUFLdUIsUUFBUTtRQUM1QkYsUUFBUUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFSSxPQUFPLFFBQVEsQ0FBQztJQUNsQztJQUNBTCxRQUFRQyxHQUFHLENBQUM7SUFDWkQsUUFBUUMsR0FBRyxDQUFDO0FBQ2I7QUFFTyxNQUFNdkIsa0JBQTJCO0lBQUVHO0lBQVlJO0lBQVVZO0FBQVMifQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "WebapiDevContainer", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return WebapiDevContainer;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _dockerimagemodel = require("../../models/docker-image.model.js");
|
|
12
|
+
class WebapiDevContainer extends _dockerimagemodel.DevContainerImageModel {
|
|
13
|
+
constructor(baseImage = "node:24"){
|
|
14
|
+
super(baseImage);
|
|
15
|
+
}
|
|
16
|
+
registerBaseLayers() {
|
|
17
|
+
super.registerBaseLayers();
|
|
18
|
+
this.addLayer((0, _dockerimagemodel.withNodeUser)()).addLayer((0, _dockerimagemodel.withPnpm)()).addLayer((0, _dockerimagemodel.withWorkspaceNodeModulesOwnership)());
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS9zcmMvd2ViYXBpL21vZGVscy93ZWJhcGktaW1hZ2UubW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0RGV2Q29udGFpbmVySW1hZ2VNb2RlbCxcblx0d2l0aE5vZGVVc2VyLFxuXHR3aXRoUG5wbSxcblx0d2l0aFdvcmtzcGFjZU5vZGVNb2R1bGVzT3duZXJzaGlwLFxufSBmcm9tIFwiLi4vLi4vbW9kZWxzL2RvY2tlci1pbWFnZS5tb2RlbC5qc1wiO1xuXG5leHBvcnQgY2xhc3MgV2ViYXBpRGV2Q29udGFpbmVyIGV4dGVuZHMgRGV2Q29udGFpbmVySW1hZ2VNb2RlbCB7XG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihiYXNlSW1hZ2UgPSBcIm5vZGU6MjRcIikge1xuXHRcdHN1cGVyKGJhc2VJbWFnZSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVnaXN0ZXJCYXNlTGF5ZXJzKCk6IHZvaWQge1xuXHRcdHN1cGVyLnJlZ2lzdGVyQmFzZUxheWVycygpO1xuXHRcdHRoaXMuYWRkTGF5ZXIod2l0aE5vZGVVc2VyKCkpXG5cdFx0XHQuYWRkTGF5ZXIod2l0aFBucG0oKSlcblx0XHRcdC5hZGRMYXllcih3aXRoV29ya3NwYWNlTm9kZU1vZHVsZXNPd25lcnNoaXAoKSk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJXZWJhcGlEZXZDb250YWluZXIiLCJEZXZDb250YWluZXJJbWFnZU1vZGVsIiwiYmFzZUltYWdlIiwicmVnaXN0ZXJCYXNlTGF5ZXJzIiwiYWRkTGF5ZXIiLCJ3aXRoTm9kZVVzZXIiLCJ3aXRoUG5wbSIsIndpdGhXb3Jrc3BhY2VOb2RlTW9kdWxlc093bmVyc2hpcCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFPYUE7OztlQUFBQTs7O2tDQUZOO0FBRUEsTUFBTUEsMkJBQTJCQyx3Q0FBc0I7SUFDN0QsWUFBbUJDLFlBQVksU0FBUyxDQUFFO1FBQ3pDLEtBQUssQ0FBQ0E7SUFDUDtJQUVtQkMscUJBQTJCO1FBQzdDLEtBQUssQ0FBQ0E7UUFDTixJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsSUFBQUEsOEJBQVksS0FDeEJELFFBQVEsQ0FBQ0UsSUFBQUEsMEJBQVEsS0FDakJGLFFBQVEsQ0FBQ0csSUFBQUEsbURBQWlDO0lBQzdDO0FBQ0QifQ==
|
package/es6/src/cli.js
CHANGED
|
@@ -4,13 +4,21 @@ import { runInBuilder } from "./runner.js";
|
|
|
4
4
|
import { scaffoldApi } from "./webapi/create-api.js";
|
|
5
5
|
const program = new Command();
|
|
6
6
|
program.name("decohere").description("Scaffold a new Decohere project").option("-d <directory>", "Target directory (default: current directory)", ".");
|
|
7
|
-
program.command("webapi").action(async (_name, cmd)=>{
|
|
7
|
+
program.command("webapi").option("--database <provider>", "Database provider: none | postgres/typeorm").option("--auth <provider>", "Auth provider: none | auth0").option("--postman <provider>", "Postman provider: none | local | api").option("-y, --yes", "Install dependencies without prompting").option("--install <mode>", "Dependency install mode: ask | yes | no", "ask").action(async (_name, cmd)=>{
|
|
8
8
|
const opts = cmd.optsWithGlobals();
|
|
9
|
+
const installMode = String(opts.install ?? "ask").toLowerCase();
|
|
10
|
+
const normalized = {
|
|
11
|
+
d: opts.d,
|
|
12
|
+
databaseProvider: opts.database,
|
|
13
|
+
authProvider: opts.auth,
|
|
14
|
+
postmanProvider: opts.postman,
|
|
15
|
+
installDependencies: opts.yes === true ? "yes" : installMode === "yes" || installMode === "no" ? installMode : undefined
|
|
16
|
+
};
|
|
9
17
|
if (process.env.DECOHERE_BUILDER !== "1") {
|
|
10
|
-
runInBuilder(
|
|
18
|
+
runInBuilder(normalized);
|
|
11
19
|
return;
|
|
12
20
|
}
|
|
13
|
-
await scaffoldApi(
|
|
21
|
+
await scaffoldApi(normalized);
|
|
14
22
|
});
|
|
15
23
|
// .option("-y, --yes", "Skip confirmation prompts")
|
|
16
24
|
// .option("-t, --template <template>", "Project template: api (default) or cli")
|
|
@@ -33,4 +41,4 @@ program.command("webapi").action(async (_name, cmd)=>{
|
|
|
33
41
|
// );
|
|
34
42
|
program.parse();
|
|
35
43
|
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS9zcmMvY2xpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tIFwiY29tbWFuZGVyXCI7XG5pbXBvcnQgeyBydW5JbkJ1aWxkZXIgfSBmcm9tIFwiLi9ydW5uZXIuanNcIjtcbmltcG9ydCB0eXBlIHsgQXBpT3B0aW9ucyB9IGZyb20gXCIuL3dlYmFwaS9jcmVhdGUtYXBpLmpzXCI7XG5pbXBvcnQgeyBzY2FmZm9sZEFwaSB9IGZyb20gXCIuL3dlYmFwaS9jcmVhdGUtYXBpLmpzXCI7XG5cbmNvbnN0IHByb2dyYW0gPSBuZXcgQ29tbWFuZCgpO1xuXG5wcm9ncmFtXG5cdC5uYW1lKFwiZGVjb2hlcmVcIilcblx0LmRlc2NyaXB0aW9uKFwiU2NhZmZvbGQgYSBuZXcgRGVjb2hlcmUgcHJvamVjdFwiKVxuXHQub3B0aW9uKFwiLWQgPGRpcmVjdG9yeT5cIiwgXCJUYXJnZXQgZGlyZWN0b3J5IChkZWZhdWx0OiBjdXJyZW50IGRpcmVjdG9yeSlcIiwgXCIuXCIpO1xuXG5wcm9ncmFtXG5cdC5jb21tYW5kKFwid2ViYXBpXCIpXG5cdC5vcHRpb24oXCItLWRhdGFiYXNlIDxwcm92aWRlcj5cIiwgXCJEYXRhYmFzZSBwcm92aWRlcjogbm9uZSB8IHBvc3RncmVzL3R5cGVvcm1cIilcblx0Lm9wdGlvbihcIi0tYXV0aCA8cHJvdmlkZXI+XCIsIFwiQXV0aCBwcm92aWRlcjogbm9uZSB8IGF1dGgwXCIpXG5cdC5vcHRpb24oXCItLXBvc3RtYW4gPHByb3ZpZGVyPlwiLCBcIlBvc3RtYW4gcHJvdmlkZXI6IG5vbmUgfCBsb2NhbCB8IGFwaVwiKVxuXHQub3B0aW9uKFwiLXksIC0teWVzXCIsIFwiSW5zdGFsbCBkZXBlbmRlbmNpZXMgd2l0aG91dCBwcm9tcHRpbmdcIilcblx0Lm9wdGlvbihcIi0taW5zdGFsbCA8bW9kZT5cIiwgXCJEZXBlbmRlbmN5IGluc3RhbGwgbW9kZTogYXNrIHwgeWVzIHwgbm9cIiwgXCJhc2tcIilcblx0LmFjdGlvbihhc3luYyAoX25hbWUsIGNtZDogQ29tbWFuZCkgPT4ge1xuXHRcdGNvbnN0IG9wdHMgPSBjbWQub3B0c1dpdGhHbG9iYWxzKCk7XG5cdFx0Y29uc3QgaW5zdGFsbE1vZGUgPSBTdHJpbmcob3B0cy5pbnN0YWxsID8/IFwiYXNrXCIpLnRvTG93ZXJDYXNlKCk7XG5cdFx0Y29uc3Qgbm9ybWFsaXplZDogQXBpT3B0aW9ucyA9IHtcblx0XHRcdGQ6IG9wdHMuZCxcblx0XHRcdGRhdGFiYXNlUHJvdmlkZXI6IG9wdHMuZGF0YWJhc2UsXG5cdFx0XHRhdXRoUHJvdmlkZXI6IG9wdHMuYXV0aCxcblx0XHRcdHBvc3RtYW5Qcm92aWRlcjogb3B0cy5wb3N0bWFuLFxuXHRcdFx0aW5zdGFsbERlcGVuZGVuY2llczpcblx0XHRcdFx0b3B0cy55ZXMgPT09IHRydWVcblx0XHRcdFx0XHQ/IFwieWVzXCJcblx0XHRcdFx0XHQ6IGluc3RhbGxNb2RlID09PSBcInllc1wiIHx8IGluc3RhbGxNb2RlID09PSBcIm5vXCJcblx0XHRcdFx0XHRcdD8gaW5zdGFsbE1vZGVcblx0XHRcdFx0XHRcdDogdW5kZWZpbmVkLFxuXHRcdH07XG5cblx0XHRpZiAocHJvY2Vzcy5lbnYuREVDT0hFUkVfQlVJTERFUiAhPT0gXCIxXCIpIHtcblx0XHRcdHJ1bkluQnVpbGRlcihub3JtYWxpemVkKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0YXdhaXQgc2NhZmZvbGRBcGkobm9ybWFsaXplZCk7XG5cdH0pO1xuXG4vLyAub3B0aW9uKFwiLXksIC0teWVzXCIsIFwiU2tpcCBjb25maXJtYXRpb24gcHJvbXB0c1wiKVxuLy8gLm9wdGlvbihcIi10LCAtLXRlbXBsYXRlIDx0ZW1wbGF0ZT5cIiwgXCJQcm9qZWN0IHRlbXBsYXRlOiBhcGkgKGRlZmF1bHQpIG9yIGNsaVwiKVxuLy8gLm9wdGlvbihcIi1kLCAtLWRhdGFiYXNlIDxwcm92aWRlcj5cIiwgXCJEYXRhYmFzZSBwcm92aWRlciB0byBpbmNsdWRlIChhcGkgb25seSk6IHR5cGVvcm1cIilcbi8vIC5vcHRpb24oXCItaSwgLS1pZHAgPHByb3ZpZGVyPlwiLCBcIklkZW50aXR5IHByb3ZpZGVyIHRvIGNvbmZpZ3VyZSAoYXBpIG9ubHkpOiBhdXRoMFwiKVxuLy8gLm9wdGlvbihcIi1wLCAtLXBvc3RtYW5cIiwgXCJDb25maWd1cmUgYSBQb3N0bWFuIHdvcmtzcGFjZSwgY29sbGVjdGlvbiwgYW5kIGVudmlyb25tZW50XCIpXG4vLyAuYWN0aW9uKFxuLy8gXHRhc3luYyAoXG4vLyBcdFx0ZGlyZWN0b3J5OiBzdHJpbmcsXG4vLyBcdFx0b3B0czoge1xuLy8gXHRcdFx0eWVzPzogYm9vbGVhbjtcbi8vIFx0XHRcdHRlbXBsYXRlPzogXCJhcGlcIiB8IFwiY2xpXCI7XG4vLyBcdFx0XHRkYXRhYmFzZT86IFwidHlwZW9ybVwiO1xuLy8gXHRcdFx0aWRwPzogXCJhdXRoMFwiO1xuLy8gXHRcdFx0cG9zdG1hbj86IGJvb2xlYW47XG4vLyBcdFx0fSxcbi8vIFx0KSA9PiB7XG4vLyBcdFx0YXdhaXQgc2NhZmZvbGQocmVzb2x2ZShkaXJlY3RvcnkpLCBvcHRzKTtcbi8vIFx0fSxcbi8vICk7XG5cbnByb2dyYW0ucGFyc2UoKTtcbiJdLCJuYW1lcyI6WyJDb21tYW5kIiwicnVuSW5CdWlsZGVyIiwic2NhZmZvbGRBcGkiLCJwcm9ncmFtIiwibmFtZSIsImRlc2NyaXB0aW9uIiwib3B0aW9uIiwiY29tbWFuZCIsImFjdGlvbiIsIl9uYW1lIiwiY21kIiwib3B0cyIsIm9wdHNXaXRoR2xvYmFscyIsImluc3RhbGxNb2RlIiwiU3RyaW5nIiwiaW5zdGFsbCIsInRvTG93ZXJDYXNlIiwibm9ybWFsaXplZCIsImQiLCJkYXRhYmFzZVByb3ZpZGVyIiwiZGF0YWJhc2UiLCJhdXRoUHJvdmlkZXIiLCJhdXRoIiwicG9zdG1hblByb3ZpZGVyIiwicG9zdG1hbiIsImluc3RhbGxEZXBlbmRlbmNpZXMiLCJ5ZXMiLCJ1bmRlZmluZWQiLCJwcm9jZXNzIiwiZW52IiwiREVDT0hFUkVfQlVJTERFUiIsInBhcnNlIl0sIm1hcHBpbmdzIjoiO0FBQ0EsU0FBU0EsT0FBTyxRQUFRLFlBQVk7QUFDcEMsU0FBU0MsWUFBWSxRQUFRLGNBQWM7QUFFM0MsU0FBU0MsV0FBVyxRQUFRLHlCQUF5QjtBQUVyRCxNQUFNQyxVQUFVLElBQUlIO0FBRXBCRyxRQUNFQyxJQUFJLENBQUMsWUFDTEMsV0FBVyxDQUFDLG1DQUNaQyxNQUFNLENBQUMsa0JBQWtCLGlEQUFpRDtBQUU1RUgsUUFDRUksT0FBTyxDQUFDLFVBQ1JELE1BQU0sQ0FBQyx5QkFBeUIsOENBQ2hDQSxNQUFNLENBQUMscUJBQXFCLCtCQUM1QkEsTUFBTSxDQUFDLHdCQUF3Qix3Q0FDL0JBLE1BQU0sQ0FBQyxhQUFhLDBDQUNwQkEsTUFBTSxDQUFDLG9CQUFvQiwyQ0FBMkMsT0FDdEVFLE1BQU0sQ0FBQyxPQUFPQyxPQUFPQztJQUNyQixNQUFNQyxPQUFPRCxJQUFJRSxlQUFlO0lBQ2hDLE1BQU1DLGNBQWNDLE9BQU9ILEtBQUtJLE9BQU8sSUFBSSxPQUFPQyxXQUFXO0lBQzdELE1BQU1DLGFBQXlCO1FBQzlCQyxHQUFHUCxLQUFLTyxDQUFDO1FBQ1RDLGtCQUFrQlIsS0FBS1MsUUFBUTtRQUMvQkMsY0FBY1YsS0FBS1csSUFBSTtRQUN2QkMsaUJBQWlCWixLQUFLYSxPQUFPO1FBQzdCQyxxQkFDQ2QsS0FBS2UsR0FBRyxLQUFLLE9BQ1YsUUFDQWIsZ0JBQWdCLFNBQVNBLGdCQUFnQixPQUN4Q0EsY0FDQWM7SUFDTjtJQUVBLElBQUlDLFFBQVFDLEdBQUcsQ0FBQ0MsZ0JBQWdCLEtBQUssS0FBSztRQUN6QzdCLGFBQWFnQjtRQUNiO0lBQ0Q7SUFDQSxNQUFNZixZQUFZZTtBQUNuQjtBQUVELG9EQUFvRDtBQUNwRCxpRkFBaUY7QUFDakYsMkZBQTJGO0FBQzNGLHNGQUFzRjtBQUN0Rix5RkFBeUY7QUFDekYsV0FBVztBQUNYLFdBQVc7QUFDWCx1QkFBdUI7QUFDdkIsWUFBWTtBQUNaLG9CQUFvQjtBQUNwQiwrQkFBK0I7QUFDL0IsMkJBQTJCO0FBQzNCLG9CQUFvQjtBQUNwQix3QkFBd0I7QUFDeEIsT0FBTztBQUNQLFVBQVU7QUFDViw4Q0FBOEM7QUFDOUMsTUFBTTtBQUNOLEtBQUs7QUFFTGQsUUFBUTRCLEtBQUsifQ==
|