@decohere/scaffold 0.0.1-dev.91 → 0.0.1-dev.93
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/add-api.action.js +0 -2
- package/commonjs/src/add-api.command.js +0 -2
- package/commonjs/src/add.command.js +0 -2
- package/commonjs/src/add.module.js +0 -2
- package/commonjs/src/auth0-configure.action.js +0 -2
- package/commonjs/src/auth0-configure.command.js +0 -2
- package/commonjs/src/auth0-login.action.js +0 -2
- package/commonjs/src/auth0-login.command.js +0 -2
- package/commonjs/src/auth0.command.js +0 -2
- package/commonjs/src/auth0.module.js +0 -2
- package/commonjs/src/cli.js +0 -2
- package/commonjs/src/create.command.js +0 -2
- package/commonjs/src/create.module.js +0 -2
- package/commonjs/src/domain/prompt.js +0 -2
- package/commonjs/src/index.js +0 -2
- package/commonjs/src/models/compose.model.js +111 -3
- package/commonjs/src/models/config-yaml.model.js +0 -2
- package/commonjs/src/models/const.js +0 -2
- package/commonjs/src/models/dev-container.model.js +53 -8
- package/commonjs/src/models/docker-image.model.js +24 -6
- package/commonjs/src/models/env-file.model.js +0 -2
- package/commonjs/src/models/gitignore.model.js +6 -2
- package/commonjs/src/models/launch-json.model.js +0 -2
- package/commonjs/src/models/package-json.model.js +0 -2
- package/commonjs/src/models/project.model.js +0 -2
- package/commonjs/src/models/source-file.js +0 -2
- package/commonjs/src/models/tsconfig.model.js +0 -2
- package/commonjs/src/models/vitest-config.model.js +0 -2
- package/commonjs/src/models/vscode-settings.model.js +0 -2
- package/commonjs/src/program.js +0 -2
- package/commonjs/src/resolve-target-dir.js +0 -2
- package/commonjs/src/services/scaffold.service.js +0 -2
- package/commonjs/src/version.js +0 -2
- package/commonjs/src/webapi/api-name.js +0 -2
- package/commonjs/src/webapi/auth0-commands.js +0 -2
- package/commonjs/src/webapi/authorize-scopes.js +0 -2
- package/commonjs/src/webapi/cli-options.js +0 -2
- package/commonjs/src/webapi/const.js +0 -2
- package/commonjs/src/webapi/create-api.js +28 -10
- package/commonjs/src/webapi/devcontainer/codebase-rag-mcp.js +0 -2
- package/commonjs/src/webapi/devcontainer/host-scripts.js +0 -2
- package/commonjs/src/webapi/features/auth.feature.js +0 -2
- package/commonjs/src/webapi/features/auth0-cli.js +0 -2
- package/commonjs/src/webapi/features/biome-format.js +0 -2
- package/commonjs/src/webapi/features/database.feature.js +2 -3
- package/commonjs/src/webapi/features/finalize.feature.js +0 -2
- package/commonjs/src/webapi/features/postman.feature.js +0 -2
- package/commonjs/src/webapi/models/api-package-json.model.js +0 -2
- package/commonjs/src/webapi/models/auth-config.model.js +0 -2
- package/commonjs/src/webapi/models/controller-source-file.model.js +0 -2
- package/commonjs/src/webapi/models/github-ci.model.js +0 -2
- package/commonjs/src/webapi/models/main-source-file.model.js +0 -2
- package/commonjs/src/webapi/models/production-dockerfile.model.js +5 -5
- package/commonjs/src/webapi/models/sample-files.model.js +0 -2
- package/commonjs/src/webapi/models/webapi-image.model.js +0 -2
- package/commonjs/src/webapi/postman/hello-openapi.js +0 -2
- package/commonjs/src/webapi/postman/local-view.js +0 -2
- package/commonjs/src/webapi/postman/openapi-to-postman.js +0 -2
- package/commonjs/src/webapi/workspace-readme.js +0 -2
- package/commonjs/src/webapi.action.js +0 -2
- package/commonjs/src/webapi.command.js +0 -2
- package/es6/src/add-api.action.js +0 -2
- package/es6/src/add-api.command.js +0 -2
- package/es6/src/add.command.js +0 -2
- package/es6/src/add.module.js +0 -2
- package/es6/src/auth0-configure.action.js +0 -2
- package/es6/src/auth0-configure.command.js +0 -2
- package/es6/src/auth0-login.action.js +0 -2
- package/es6/src/auth0-login.command.js +0 -2
- package/es6/src/auth0.command.js +0 -2
- package/es6/src/auth0.module.js +0 -2
- package/es6/src/cli.js +0 -2
- package/es6/src/create.command.js +0 -2
- package/es6/src/create.module.js +0 -2
- package/es6/src/domain/prompt.js +0 -2
- package/es6/src/index.js +0 -2
- package/es6/src/models/compose.model.js +113 -3
- package/es6/src/models/config-yaml.model.js +0 -2
- package/es6/src/models/const.js +0 -2
- package/es6/src/models/dev-container.model.js +53 -8
- package/es6/src/models/docker-image.model.js +24 -6
- package/es6/src/models/env-file.model.js +0 -2
- package/es6/src/models/gitignore.model.js +6 -2
- package/es6/src/models/launch-json.model.js +0 -2
- package/es6/src/models/package-json.model.js +0 -2
- package/es6/src/models/project.model.js +0 -2
- package/es6/src/models/source-file.js +0 -2
- package/es6/src/models/tsconfig.model.js +0 -2
- package/es6/src/models/vitest-config.model.js +0 -2
- package/es6/src/models/vscode-settings.model.js +0 -2
- package/es6/src/program.js +0 -2
- package/es6/src/resolve-target-dir.js +0 -2
- package/es6/src/services/scaffold.service.js +0 -2
- package/es6/src/version.js +0 -2
- package/es6/src/webapi/api-name.js +0 -2
- package/es6/src/webapi/auth0-commands.js +0 -2
- package/es6/src/webapi/authorize-scopes.js +0 -2
- package/es6/src/webapi/cli-options.js +0 -2
- package/es6/src/webapi/const.js +0 -2
- package/es6/src/webapi/create-api.js +29 -11
- package/es6/src/webapi/devcontainer/codebase-rag-mcp.js +0 -2
- package/es6/src/webapi/devcontainer/host-scripts.js +0 -2
- package/es6/src/webapi/features/auth.feature.js +0 -2
- package/es6/src/webapi/features/auth0-cli.js +0 -2
- package/es6/src/webapi/features/biome-format.js +0 -2
- package/es6/src/webapi/features/database.feature.js +2 -3
- package/es6/src/webapi/features/finalize.feature.js +0 -2
- package/es6/src/webapi/features/postman.feature.js +0 -2
- package/es6/src/webapi/models/api-package-json.model.js +0 -2
- package/es6/src/webapi/models/auth-config.model.js +0 -2
- package/es6/src/webapi/models/controller-source-file.model.js +0 -2
- package/es6/src/webapi/models/github-ci.model.js +0 -2
- package/es6/src/webapi/models/main-source-file.model.js +0 -2
- package/es6/src/webapi/models/production-dockerfile.model.js +5 -5
- package/es6/src/webapi/models/sample-files.model.js +0 -2
- package/es6/src/webapi/models/webapi-image.model.js +0 -2
- package/es6/src/webapi/postman/hello-openapi.js +0 -2
- package/es6/src/webapi/postman/local-view.js +0 -2
- package/es6/src/webapi/postman/openapi-to-postman.js +0 -2
- package/es6/src/webapi/workspace-readme.js +0 -2
- package/es6/src/webapi.action.js +0 -2
- package/es6/src/webapi.command.js +0 -2
- package/package.json +5 -4
- package/types/src/models/compose.model.d.ts +9 -0
- package/types/src/models/dev-container.model.d.ts +8 -0
- package/types/src/models/docker-image.model.d.ts +6 -0
- package/types/src/models/gitignore.model.d.ts +2 -0
|
@@ -35,5 +35,3 @@ class AddApiAction {
|
|
|
35
35
|
AddApiAction = _ts_decorate([
|
|
36
36
|
(0, _decorators.injectable)()
|
|
37
37
|
], AddApiAction);
|
|
38
|
-
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9hZGQtYXBpLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNvaGVyZS9jcnVjaWJsZS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyB0eXBlIEFjdGlvbiwgQWN0aW9uUmVzcG9uc2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgcnVuU2NhZmZvbGRBcGksIHRvQXBpT3B0aW9ucyB9IGZyb20gXCIuL3dlYmFwaS9jbGktb3B0aW9ucy5qc1wiO1xuXG5leHBvcnQgdHlwZSBBZGRBcGlPcHRpb25zID0ge1xuXHRhcGlOYW1lPzogc3RyaW5nO1xuXHRkPzogc3RyaW5nO1xuXHRkYXRhYmFzZT86IHN0cmluZztcblx0YXV0aD86IHN0cmluZztcblx0cG9zdG1hbj86IHN0cmluZztcblx0eWVzPzogYm9vbGVhbjtcblx0aW5zdGFsbD86IHN0cmluZztcbn07XG5cbkBpbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBZGRBcGlBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb248QWRkQXBpT3B0aW9ucz4ge1xuXHRwdWJsaWMgYXN5bmMgcnVuKG9wdGlvbnM6IEFkZEFwaU9wdGlvbnMpOiBQcm9taXNlPEFjdGlvblJlc3BvbnNlPiB7XG5cdFx0Y29uc3QgbmFtZSA9IG9wdGlvbnMuYXBpTmFtZTtcblx0XHRpZiAobmFtZSA9PSBudWxsIHx8IG5hbWUgPT09IFwiXCIpIHtcblx0XHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5FcnJvcihcImFwaVwiLCBcIkFQSSBuYW1lIGlzIHJlcXVpcmVkXCIpO1xuXHRcdH1cblx0XHRhd2FpdCBydW5TY2FmZm9sZEFwaSh0b0FwaU9wdGlvbnModW5kZWZpbmVkLCBvcHRpb25zLCB7IG5hbWVzOiBbbmFtZV0sIGFkZDogdHJ1ZSB9KSk7XG5cdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoXCJhcGlcIik7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJBZGRBcGlBY3Rpb24iLCJydW4iLCJvcHRpb25zIiwibmFtZSIsImFwaU5hbWUiLCJBY3Rpb25SZXNwb25zZSIsIkVycm9yIiwicnVuU2NhZmZvbGRBcGkiLCJ0b0FwaU9wdGlvbnMiLCJ1bmRlZmluZWQiLCJuYW1lcyIsImFkZCIsIlN1Y2Nlc3MiXSwibWFwcGluZ3MiOiI7Ozs7K0JBZWFBOzs7ZUFBQUE7Ozs0QkFmYztxQkFDaUI7NEJBQ0M7Ozs7Ozs7QUFhdEMsTUFBTUE7SUFDWixNQUFhQyxJQUFJQyxPQUFzQixFQUEyQjtRQUNqRSxNQUFNQyxPQUFPRCxRQUFRRSxPQUFPO1FBQzVCLElBQUlELFFBQVEsUUFBUUEsU0FBUyxJQUFJO1lBQ2hDLE9BQU9FLG1CQUFjLENBQUNDLEtBQUssQ0FBQyxPQUFPO1FBQ3BDO1FBQ0EsTUFBTUMsSUFBQUEsMEJBQWMsRUFBQ0MsSUFBQUEsd0JBQVksRUFBQ0MsV0FBV1AsU0FBUztZQUFFUSxPQUFPO2dCQUFDUDthQUFLO1lBQUVRLEtBQUs7UUFBSztRQUNqRixPQUFPTixtQkFBYyxDQUFDTyxPQUFPLENBQUM7SUFDL0I7QUFDRCJ9
|
|
@@ -37,5 +37,3 @@ class AddApiCommand extends _cli.DecohereCommand {
|
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9hZGQtYXBpLmNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjb2hlcmVDb21tYW5kIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB0eXBlIHsgT3B0aW9uVmFsdWVzIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuaW1wb3J0IHsgQWRkQXBpQWN0aW9uIH0gZnJvbSBcIi4vYWRkLWFwaS5hY3Rpb24uanNcIjtcbmltcG9ydCB7IGFkZFdlYmFwaUZlYXR1cmVPcHRpb25zIH0gZnJvbSBcIi4vd2ViYXBpL2NsaS1vcHRpb25zLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBBZGRBcGlDb21tYW5kIGV4dGVuZHMgRGVjb2hlcmVDb21tYW5kIHtcblx0cHVibGljIG92ZXJyaWRlIGdldCBhY3Rpb25zKCkge1xuXHRcdHJldHVybiBbQWRkQXBpQWN0aW9uXTtcblx0fVxuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcpIHtcblx0XHRzdXBlcihuYW1lKTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uKFwiQWRkIGFuIEFQSSB0byBhbiBleGlzdGluZyBEZWNvaGVyZSB3b3Jrc3BhY2VcIik7XG5cdFx0dGhpcy5hcmd1bWVudChcIjxuYW1lPlwiLCBcIkFQSSBuYW1lIHVuZGVyIHByb2plY3RzL1wiKTtcblx0XHR0aGlzLm9wdGlvbihcIi1kIDxkaXJlY3Rvcnk+XCIsIFwiV29ya3NwYWNlIGRpcmVjdG9yeSAoZGVmYXVsdDogY3VycmVudCBkaXJlY3RvcnkpXCIsIFwiLlwiKTtcblx0XHRhZGRXZWJhcGlGZWF0dXJlT3B0aW9ucyh0aGlzKTtcblx0fVxuXG5cdHB1YmxpYyBvdmVycmlkZSBhY3Rpb24oZm46ICguLi5hcmdzOiB1bmtub3duW10pID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+KTogdGhpcyB7XG5cdFx0cmV0dXJuIHN1cGVyLmFjdGlvbigoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG5cdFx0XHRjb25zdCBjbWQgPSBhcmdzLmF0KC0xKSBhcyBEZWNvaGVyZUNvbW1hbmQ7XG5cdFx0XHRjb25zdCBmaXJzdCA9IGFyZ3NbMF07XG5cdFx0XHRjb25zdCBoYXNQb3NpdGlvbmFsID0gdHlwZW9mIGZpcnN0ID09PSBcInN0cmluZ1wiIHx8IGZpcnN0ID09PSB1bmRlZmluZWQ7XG5cdFx0XHRjb25zdCBvcHRzID0gaGFzUG9zaXRpb25hbCA/IChhcmdzWzFdIGFzIE9wdGlvblZhbHVlcykgOiAoYXJnc1swXSBhcyBPcHRpb25WYWx1ZXMpO1xuXHRcdFx0aWYgKHR5cGVvZiBmaXJzdCA9PT0gXCJzdHJpbmdcIiAmJiBmaXJzdCAhPT0gXCJcIikge1xuXHRcdFx0XHRjbWQuc2V0T3B0aW9uVmFsdWUoXCJhcGlOYW1lXCIsIGZpcnN0KTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBmbihvcHRzLCBjbWQpO1xuXHRcdH0pO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiQWRkQXBpQ29tbWFuZCIsIkRlY29oZXJlQ29tbWFuZCIsImFjdGlvbnMiLCJBZGRBcGlBY3Rpb24iLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJhcmd1bWVudCIsIm9wdGlvbiIsImFkZFdlYmFwaUZlYXR1cmVPcHRpb25zIiwiYWN0aW9uIiwiZm4iLCJhcmdzIiwiY21kIiwiYXQiLCJmaXJzdCIsImhhc1Bvc2l0aW9uYWwiLCJ1bmRlZmluZWQiLCJvcHRzIiwic2V0T3B0aW9uVmFsdWUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBS2FBOzs7ZUFBQUE7OztxQkFMbUI7OEJBRUg7NEJBQ1c7QUFFakMsTUFBTUEsc0JBQXNCQyxvQkFBZTtJQUNqRCxJQUFvQkMsVUFBVTtRQUM3QixPQUFPO1lBQUNDLDBCQUFZO1NBQUM7SUFDdEI7SUFFQSxZQUFtQkMsSUFBWSxDQUFFO1FBQ2hDLEtBQUssQ0FBQ0E7UUFDTixJQUFJLENBQUNDLFdBQVcsQ0FBQztRQUNqQixJQUFJLENBQUNDLFFBQVEsQ0FBQyxVQUFVO1FBQ3hCLElBQUksQ0FBQ0MsTUFBTSxDQUFDLGtCQUFrQixvREFBb0Q7UUFDbEZDLElBQUFBLG1DQUF1QixFQUFDLElBQUk7SUFDN0I7SUFFZ0JDLE9BQU9DLEVBQWdELEVBQVE7UUFDOUUsT0FBTyxLQUFLLENBQUNELE9BQU8sQ0FBQyxHQUFHRTtZQUN2QixNQUFNQyxNQUFNRCxLQUFLRSxFQUFFLENBQUMsQ0FBQztZQUNyQixNQUFNQyxRQUFRSCxJQUFJLENBQUMsRUFBRTtZQUNyQixNQUFNSSxnQkFBZ0IsT0FBT0QsVUFBVSxZQUFZQSxVQUFVRTtZQUM3RCxNQUFNQyxPQUFPRixnQkFBaUJKLElBQUksQ0FBQyxFQUFFLEdBQXFCQSxJQUFJLENBQUMsRUFBRTtZQUNqRSxJQUFJLE9BQU9HLFVBQVUsWUFBWUEsVUFBVSxJQUFJO2dCQUM5Q0YsSUFBSU0sY0FBYyxDQUFDLFdBQVdKO1lBQy9CO1lBQ0EsT0FBT0osR0FBR08sTUFBTUw7UUFDakI7SUFDRDtBQUNEIn0=
|
|
@@ -20,5 +20,3 @@ class AddCommand extends _cli.DecohereCommand {
|
|
|
20
20
|
return this.help();
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9hZGQuY29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFjdGlvbnMgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHtcblx0dHlwZSBDb21tYW5kSGFuZGxlcixcblx0dHlwZSBDb21tYW5kUmVzcG9uc2UsXG5cdHR5cGUgQ29tbWFuZFR5cGUsXG5cdERlY29oZXJlQ29tbWFuZCxcbn0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcblxuZXhwb3J0IGNsYXNzIEFkZENvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQge1xuXHRwdWJsaWMgY29uc3RydWN0b3IoY29tbWFuZHM6IFJlY29yZDxzdHJpbmcsIENvbW1hbmRUeXBlPiwgaGFuZGxlcjogQ29tbWFuZEhhbmRsZXIpIHtcblx0XHRzdXBlcihBZGRDb21tYW5kKTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uKFwiQWRkIHRvIGFuIGV4aXN0aW5nIERlY29oZXJlIHdvcmtzcGFjZVwiKTtcblx0XHR0aGlzLmV4aXRPdmVycmlkZSgpO1xuXHRcdHRoaXMucmVnaXN0ZXJTdWJjb21tYW5kKGNvbW1hbmRzLCBoYW5kbGVyKTtcblx0fVxuXG5cdHB1YmxpYyBydW4oX2FjdGlvbnM6IEFjdGlvbnMsIF9vcHRpb25zOiBuZXZlcik6IFByb21pc2U8Q29tbWFuZFJlc3BvbnNlPiB7XG5cdFx0cmV0dXJuIHRoaXMuaGVscCgpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiQWRkQ29tbWFuZCIsIkRlY29oZXJlQ29tbWFuZCIsImNvbW1hbmRzIiwiaGFuZGxlciIsImRlc2NyaXB0aW9uIiwiZXhpdE92ZXJyaWRlIiwicmVnaXN0ZXJTdWJjb21tYW5kIiwicnVuIiwiX2FjdGlvbnMiLCJfb3B0aW9ucyIsImhlbHAiXSwibWFwcGluZ3MiOiI7Ozs7K0JBUWFBOzs7ZUFBQUE7OztxQkFGTjtBQUVBLE1BQU1BLG1CQUFtQkMsb0JBQWU7SUFDOUMsWUFBbUJDLFFBQXFDLEVBQUVDLE9BQXVCLENBQUU7UUFDbEYsS0FBSyxDQUFDSDtRQUNOLElBQUksQ0FBQ0ksV0FBVyxDQUFDO1FBQ2pCLElBQUksQ0FBQ0MsWUFBWTtRQUNqQixJQUFJLENBQUNDLGtCQUFrQixDQUFDSixVQUFVQztJQUNuQztJQUVPSSxJQUFJQyxRQUFpQixFQUFFQyxRQUFlLEVBQTRCO1FBQ3hFLE9BQU8sSUFBSSxDQUFDQyxJQUFJO0lBQ2pCO0FBQ0QifQ==
|
|
@@ -22,5 +22,3 @@ class AddModule extends _cli.ModuleManifest {
|
|
|
22
22
|
api: _addapiaction.AddApiAction
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9hZGQubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZU1hbmlmZXN0IH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IEFkZENvbW1hbmQgfSBmcm9tIFwiLi9hZGQuY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgQWRkQXBpQWN0aW9uIH0gZnJvbSBcIi4vYWRkLWFwaS5hY3Rpb24uanNcIjtcbmltcG9ydCB7IEFkZEFwaUNvbW1hbmQgfSBmcm9tIFwiLi9hZGQtYXBpLmNvbW1hbmQuanNcIjtcblxuZXhwb3J0IGNsYXNzIEFkZE1vZHVsZSBleHRlbmRzIE1vZHVsZU1hbmlmZXN0IHtcblx0cHVibGljIHJlYWRvbmx5IGlkID0gXCJhZGRcIjtcblx0cHVibGljIHJlYWRvbmx5IGNvbW1hbmQgPSBBZGRDb21tYW5kO1xuXHRwdWJsaWMgcmVhZG9ubHkgY29tbWFuZHMgPSB7IGFwaTogQWRkQXBpQ29tbWFuZCB9O1xuXHRwdWJsaWMgcmVhZG9ubHkgYWN0aW9ucyA9IHsgYXBpOiBBZGRBcGlBY3Rpb24gfTtcbn1cbiJdLCJuYW1lcyI6WyJBZGRNb2R1bGUiLCJNb2R1bGVNYW5pZmVzdCIsImlkIiwiY29tbWFuZCIsIkFkZENvbW1hbmQiLCJjb21tYW5kcyIsImFwaSIsIkFkZEFwaUNvbW1hbmQiLCJhY3Rpb25zIiwiQWRkQXBpQWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQUthQTs7O2VBQUFBOzs7cUJBTGtCOzRCQUNKOzhCQUNFOytCQUNDO0FBRXZCLE1BQU1BLGtCQUFrQkMsbUJBQWM7SUFDNUJDLEtBQUssTUFBTTtJQUNYQyxVQUFVQyxzQkFBVSxDQUFDO0lBQ3JCQyxXQUFXO1FBQUVDLEtBQUtDLDRCQUFhO0lBQUMsRUFBRTtJQUNsQ0MsVUFBVTtRQUFFRixLQUFLRywwQkFBWTtJQUFDLEVBQUU7QUFDakQifQ==
|
|
@@ -26,5 +26,3 @@ class Auth0ConfigureAction {
|
|
|
26
26
|
Auth0ConfigureAction = _ts_decorate([
|
|
27
27
|
(0, _decorators.injectable)()
|
|
28
28
|
], Auth0ConfigureAction);
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9hdXRoMC1jb25maWd1cmUuYWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdGFibGUgfSBmcm9tIFwiQGRlY29oZXJlL2NydWNpYmxlL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IHR5cGUgQWN0aW9uLCBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBydW5BdXRoMENvbmZpZ3VyZSB9IGZyb20gXCIuL3dlYmFwaS9hdXRoMC1jb21tYW5kcy5qc1wiO1xuXG5leHBvcnQgdHlwZSBBdXRoMENvbmZpZ3VyZU9wdGlvbnMgPSB7XG5cdGQ/OiBzdHJpbmc7XG59O1xuXG5AaW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aDBDb25maWd1cmVBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb248QXV0aDBDb25maWd1cmVPcHRpb25zPiB7XG5cdHB1YmxpYyBhc3luYyBydW4ob3B0aW9uczogQXV0aDBDb25maWd1cmVPcHRpb25zKTogUHJvbWlzZTxBY3Rpb25SZXNwb25zZT4ge1xuXHRcdHJ1bkF1dGgwQ29uZmlndXJlKHR5cGVvZiBvcHRpb25zLmQgPT09IFwic3RyaW5nXCIgPyBvcHRpb25zLmQgOiBcIi5cIik7XG5cdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoXCJjb25maWd1cmVcIik7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJBdXRoMENvbmZpZ3VyZUFjdGlvbiIsInJ1biIsIm9wdGlvbnMiLCJydW5BdXRoMENvbmZpZ3VyZSIsImQiLCJBY3Rpb25SZXNwb25zZSIsIlN1Y2Nlc3MiXSwibWFwcGluZ3MiOiI7Ozs7K0JBU2FBOzs7ZUFBQUE7Ozs0QkFUYztxQkFDaUI7K0JBQ1Y7Ozs7Ozs7QUFPM0IsTUFBTUE7SUFDWixNQUFhQyxJQUFJQyxPQUE4QixFQUEyQjtRQUN6RUMsSUFBQUEsZ0NBQWlCLEVBQUMsT0FBT0QsUUFBUUUsQ0FBQyxLQUFLLFdBQVdGLFFBQVFFLENBQUMsR0FBRztRQUM5RCxPQUFPQyxtQkFBYyxDQUFDQyxPQUFPLENBQUM7SUFDL0I7QUFDRCJ9
|
|
@@ -22,5 +22,3 @@ class Auth0ConfigureCommand extends _cli.DecohereCommand {
|
|
|
22
22
|
this.option("-d <directory>", "Workspace directory (default: current directory)", ".");
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9hdXRoMC1jb25maWd1cmUuY29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWNvaGVyZUNvbW1hbmQgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgQXV0aDBDb25maWd1cmVBY3Rpb24gfSBmcm9tIFwiLi9hdXRoMC1jb25maWd1cmUuYWN0aW9uLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBBdXRoMENvbmZpZ3VyZUNvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQge1xuXHRwdWJsaWMgb3ZlcnJpZGUgZ2V0IGFjdGlvbnMoKSB7XG5cdFx0cmV0dXJuIFtBdXRoMENvbmZpZ3VyZUFjdGlvbl07XG5cdH1cblxuXHRwdWJsaWMgY29uc3RydWN0b3IobmFtZTogc3RyaW5nKSB7XG5cdFx0c3VwZXIobmFtZSk7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbihcblx0XHRcdFwiVXBkYXRlIEF1dGgwIEFQSSBwZXJtaXNzaW9ucyBhbmQgUG9zdG1hbiBTUEEgZnJvbSBAQXV0aG9yaXplIGluIHRoaXMgd29ya3NwYWNlXCIsXG5cdFx0KTtcblx0XHR0aGlzLm9wdGlvbihcIi1kIDxkaXJlY3Rvcnk+XCIsIFwiV29ya3NwYWNlIGRpcmVjdG9yeSAoZGVmYXVsdDogY3VycmVudCBkaXJlY3RvcnkpXCIsIFwiLlwiKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkF1dGgwQ29uZmlndXJlQ29tbWFuZCIsIkRlY29oZXJlQ29tbWFuZCIsImFjdGlvbnMiLCJBdXRoMENvbmZpZ3VyZUFjdGlvbiIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsIm9wdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFHYUE7OztlQUFBQTs7O3FCQUhtQjtzQ0FDSztBQUU5QixNQUFNQSw4QkFBOEJDLG9CQUFlO0lBQ3pELElBQW9CQyxVQUFVO1FBQzdCLE9BQU87WUFBQ0MsMENBQW9CO1NBQUM7SUFDOUI7SUFFQSxZQUFtQkMsSUFBWSxDQUFFO1FBQ2hDLEtBQUssQ0FBQ0E7UUFDTixJQUFJLENBQUNDLFdBQVcsQ0FDZjtRQUVELElBQUksQ0FBQ0MsTUFBTSxDQUFDLGtCQUFrQixvREFBb0Q7SUFDbkY7QUFDRCJ9
|
|
@@ -26,5 +26,3 @@ class Auth0LoginAction {
|
|
|
26
26
|
Auth0LoginAction = _ts_decorate([
|
|
27
27
|
(0, _decorators.injectable)()
|
|
28
28
|
], Auth0LoginAction);
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9hdXRoMC1sb2dpbi5hY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0YWJsZSB9IGZyb20gXCJAZGVjb2hlcmUvY3J1Y2libGUvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgdHlwZSBBY3Rpb24sIEFjdGlvblJlc3BvbnNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IHJ1bkF1dGgwTG9naW4gfSBmcm9tIFwiLi93ZWJhcGkvYXV0aDAtY29tbWFuZHMuanNcIjtcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGgwTG9naW5BY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xuXHRwdWJsaWMgYXN5bmMgcnVuKCk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U+IHtcblx0XHRydW5BdXRoMExvZ2luKCk7XG5cdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoXCJsb2dpblwiKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkF1dGgwTG9naW5BY3Rpb24iLCJydW4iLCJydW5BdXRoMExvZ2luIiwiQWN0aW9uUmVzcG9uc2UiLCJTdWNjZXNzIl0sIm1hcHBpbmdzIjoiOzs7OytCQUthQTs7O2VBQUFBOzs7NEJBTGM7cUJBQ2lCOytCQUNkOzs7Ozs7O0FBR3ZCLE1BQU1BO0lBQ1osTUFBYUMsTUFBK0I7UUFDM0NDLElBQUFBLDRCQUFhO1FBQ2IsT0FBT0MsbUJBQWMsQ0FBQ0MsT0FBTyxDQUFDO0lBQy9CO0FBQ0QifQ==
|
|
@@ -21,5 +21,3 @@ class Auth0LoginCommand extends _cli.DecohereCommand {
|
|
|
21
21
|
this.description("Authenticate the Auth0 CLI (device URL; tokens persist on the host)");
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9hdXRoMC1sb2dpbi5jb21tYW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY29oZXJlQ29tbWFuZCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBdXRoMExvZ2luQWN0aW9uIH0gZnJvbSBcIi4vYXV0aDAtbG9naW4uYWN0aW9uLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBBdXRoMExvZ2luQ29tbWFuZCBleHRlbmRzIERlY29oZXJlQ29tbWFuZCB7XG5cdHB1YmxpYyBvdmVycmlkZSBnZXQgYWN0aW9ucygpIHtcblx0XHRyZXR1cm4gW0F1dGgwTG9naW5BY3Rpb25dO1xuXHR9XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZykge1xuXHRcdHN1cGVyKG5hbWUpO1xuXHRcdHRoaXMuZGVzY3JpcHRpb24oXCJBdXRoZW50aWNhdGUgdGhlIEF1dGgwIENMSSAoZGV2aWNlIFVSTDsgdG9rZW5zIHBlcnNpc3Qgb24gdGhlIGhvc3QpXCIpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiQXV0aDBMb2dpbkNvbW1hbmQiLCJEZWNvaGVyZUNvbW1hbmQiLCJhY3Rpb25zIiwiQXV0aDBMb2dpbkFjdGlvbiIsIm5hbWUiLCJkZXNjcmlwdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFHYUE7OztlQUFBQTs7O3FCQUhtQjtrQ0FDQztBQUUxQixNQUFNQSwwQkFBMEJDLG9CQUFlO0lBQ3JELElBQW9CQyxVQUFVO1FBQzdCLE9BQU87WUFBQ0Msa0NBQWdCO1NBQUM7SUFDMUI7SUFFQSxZQUFtQkMsSUFBWSxDQUFFO1FBQ2hDLEtBQUssQ0FBQ0E7UUFDTixJQUFJLENBQUNDLFdBQVcsQ0FBQztJQUNsQjtBQUNEIn0=
|
|
@@ -20,5 +20,3 @@ class Auth0Command extends _cli.DecohereCommand {
|
|
|
20
20
|
return this.help();
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9hdXRoMC5jb21tYW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWN0aW9ucyB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQge1xuXHR0eXBlIENvbW1hbmRIYW5kbGVyLFxuXHR0eXBlIENvbW1hbmRSZXNwb25zZSxcblx0dHlwZSBDb21tYW5kVHlwZSxcblx0RGVjb2hlcmVDb21tYW5kLFxufSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuXG5leHBvcnQgY2xhc3MgQXV0aDBDb21tYW5kIGV4dGVuZHMgRGVjb2hlcmVDb21tYW5kIHtcblx0cHVibGljIGNvbnN0cnVjdG9yKGNvbW1hbmRzOiBSZWNvcmQ8c3RyaW5nLCBDb21tYW5kVHlwZT4sIGhhbmRsZXI6IENvbW1hbmRIYW5kbGVyKSB7XG5cdFx0c3VwZXIoQXV0aDBDb21tYW5kKTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uKFwiTG9nIGluIHRvIEF1dGgwIGFuZCB1cGRhdGUgYSBzY2FmZm9sZGVkIGNsaWVudFwiKTtcblx0XHR0aGlzLmV4aXRPdmVycmlkZSgpO1xuXHRcdHRoaXMucmVnaXN0ZXJTdWJjb21tYW5kKGNvbW1hbmRzLCBoYW5kbGVyKTtcblx0fVxuXG5cdHB1YmxpYyBydW4oX2FjdGlvbnM6IEFjdGlvbnMsIF9vcHRpb25zOiBuZXZlcik6IFByb21pc2U8Q29tbWFuZFJlc3BvbnNlPiB7XG5cdFx0cmV0dXJuIHRoaXMuaGVscCgpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiQXV0aDBDb21tYW5kIiwiRGVjb2hlcmVDb21tYW5kIiwiY29tbWFuZHMiLCJoYW5kbGVyIiwiZGVzY3JpcHRpb24iLCJleGl0T3ZlcnJpZGUiLCJyZWdpc3RlclN1YmNvbW1hbmQiLCJydW4iLCJfYWN0aW9ucyIsIl9vcHRpb25zIiwiaGVscCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFRYUE7OztlQUFBQTs7O3FCQUZOO0FBRUEsTUFBTUEscUJBQXFCQyxvQkFBZTtJQUNoRCxZQUFtQkMsUUFBcUMsRUFBRUMsT0FBdUIsQ0FBRTtRQUNsRixLQUFLLENBQUNIO1FBQ04sSUFBSSxDQUFDSSxXQUFXLENBQUM7UUFDakIsSUFBSSxDQUFDQyxZQUFZO1FBQ2pCLElBQUksQ0FBQ0Msa0JBQWtCLENBQUNKLFVBQVVDO0lBQ25DO0lBRU9JLElBQUlDLFFBQWlCLEVBQUVDLFFBQWUsRUFBNEI7UUFDeEUsT0FBTyxJQUFJLENBQUNDLElBQUk7SUFDakI7QUFDRCJ9
|
|
@@ -26,5 +26,3 @@ class Auth0Module extends _cli.ModuleManifest {
|
|
|
26
26
|
configure: _auth0configureaction.Auth0ConfigureAction
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9hdXRoMC5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlTWFuaWZlc3QgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgQXV0aDBDb21tYW5kIH0gZnJvbSBcIi4vYXV0aDAuY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgQXV0aDBDb25maWd1cmVBY3Rpb24gfSBmcm9tIFwiLi9hdXRoMC1jb25maWd1cmUuYWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBBdXRoMENvbmZpZ3VyZUNvbW1hbmQgfSBmcm9tIFwiLi9hdXRoMC1jb25maWd1cmUuY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgQXV0aDBMb2dpbkFjdGlvbiB9IGZyb20gXCIuL2F1dGgwLWxvZ2luLmFjdGlvbi5qc1wiO1xuaW1wb3J0IHsgQXV0aDBMb2dpbkNvbW1hbmQgfSBmcm9tIFwiLi9hdXRoMC1sb2dpbi5jb21tYW5kLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBBdXRoME1vZHVsZSBleHRlbmRzIE1vZHVsZU1hbmlmZXN0IHtcblx0cHVibGljIHJlYWRvbmx5IGlkID0gXCJhdXRoMFwiO1xuXHRwdWJsaWMgcmVhZG9ubHkgY29tbWFuZCA9IEF1dGgwQ29tbWFuZDtcblx0cHVibGljIHJlYWRvbmx5IGNvbW1hbmRzID0geyBsb2dpbjogQXV0aDBMb2dpbkNvbW1hbmQsIGNvbmZpZ3VyZTogQXV0aDBDb25maWd1cmVDb21tYW5kIH07XG5cdHB1YmxpYyByZWFkb25seSBhY3Rpb25zID0geyBsb2dpbjogQXV0aDBMb2dpbkFjdGlvbiwgY29uZmlndXJlOiBBdXRoMENvbmZpZ3VyZUFjdGlvbiB9O1xufVxuIl0sIm5hbWVzIjpbIkF1dGgwTW9kdWxlIiwiTW9kdWxlTWFuaWZlc3QiLCJpZCIsImNvbW1hbmQiLCJBdXRoMENvbW1hbmQiLCJjb21tYW5kcyIsImxvZ2luIiwiQXV0aDBMb2dpbkNvbW1hbmQiLCJjb25maWd1cmUiLCJBdXRoMENvbmZpZ3VyZUNvbW1hbmQiLCJhY3Rpb25zIiwiQXV0aDBMb2dpbkFjdGlvbiIsIkF1dGgwQ29uZmlndXJlQWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQU9hQTs7O2VBQUFBOzs7cUJBUGtCOzhCQUNGO3NDQUNRO3VDQUNDO2tDQUNMO21DQUNDO0FBRTNCLE1BQU1BLG9CQUFvQkMsbUJBQWM7SUFDOUJDLEtBQUssUUFBUTtJQUNiQyxVQUFVQywwQkFBWSxDQUFDO0lBQ3ZCQyxXQUFXO1FBQUVDLE9BQU9DLG9DQUFpQjtRQUFFQyxXQUFXQyw0Q0FBcUI7SUFBQyxFQUFFO0lBQzFFQyxVQUFVO1FBQUVKLE9BQU9LLGtDQUFnQjtRQUFFSCxXQUFXSSwwQ0FBb0I7SUFBQyxFQUFFO0FBQ3hGIn0=
|
package/commonjs/src/cli.js
CHANGED
|
@@ -5,5 +5,3 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
const _program = require("./program.js");
|
|
7
7
|
void (0, _program.runCli)();
|
|
8
|
-
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9jbGkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuaW1wb3J0IHsgcnVuQ2xpIH0gZnJvbSBcIi4vcHJvZ3JhbS5qc1wiO1xuXG52b2lkIHJ1bkNsaSgpO1xuIl0sIm5hbWVzIjpbInJ1bkNsaSJdLCJtYXBwaW5ncyI6Ijs7Ozs7eUJBQ3VCO0FBRXZCLEtBQUtBLElBQUFBLGVBQU0ifQ==
|
|
@@ -20,5 +20,3 @@ class CreateCommand extends _cli.DecohereCommand {
|
|
|
20
20
|
return this.help();
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9jcmVhdGUuY29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFjdGlvbnMgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHtcblx0dHlwZSBDb21tYW5kSGFuZGxlcixcblx0dHlwZSBDb21tYW5kUmVzcG9uc2UsXG5cdHR5cGUgQ29tbWFuZFR5cGUsXG5cdERlY29oZXJlQ29tbWFuZCxcbn0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcblxuZXhwb3J0IGNsYXNzIENyZWF0ZUNvbW1hbmQgZXh0ZW5kcyBEZWNvaGVyZUNvbW1hbmQge1xuXHRwdWJsaWMgY29uc3RydWN0b3IoY29tbWFuZHM6IFJlY29yZDxzdHJpbmcsIENvbW1hbmRUeXBlPiwgaGFuZGxlcjogQ29tbWFuZEhhbmRsZXIpIHtcblx0XHRzdXBlcihDcmVhdGVDb21tYW5kKTtcblx0XHR0aGlzLmRlc2NyaXB0aW9uKFwiQ3JlYXRlIGEgbmV3IERlY29oZXJlIHdvcmtzcGFjZVwiKTtcblx0XHR0aGlzLmV4aXRPdmVycmlkZSgpO1xuXHRcdHRoaXMucmVnaXN0ZXJTdWJjb21tYW5kKGNvbW1hbmRzLCBoYW5kbGVyKTtcblx0fVxuXG5cdHB1YmxpYyBydW4oX2FjdGlvbnM6IEFjdGlvbnMsIF9vcHRpb25zOiBuZXZlcik6IFByb21pc2U8Q29tbWFuZFJlc3BvbnNlPiB7XG5cdFx0cmV0dXJuIHRoaXMuaGVscCgpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiQ3JlYXRlQ29tbWFuZCIsIkRlY29oZXJlQ29tbWFuZCIsImNvbW1hbmRzIiwiaGFuZGxlciIsImRlc2NyaXB0aW9uIiwiZXhpdE92ZXJyaWRlIiwicmVnaXN0ZXJTdWJjb21tYW5kIiwicnVuIiwiX2FjdGlvbnMiLCJfb3B0aW9ucyIsImhlbHAiXSwibWFwcGluZ3MiOiI7Ozs7K0JBUWFBOzs7ZUFBQUE7OztxQkFGTjtBQUVBLE1BQU1BLHNCQUFzQkMsb0JBQWU7SUFDakQsWUFBbUJDLFFBQXFDLEVBQUVDLE9BQXVCLENBQUU7UUFDbEYsS0FBSyxDQUFDSDtRQUNOLElBQUksQ0FBQ0ksV0FBVyxDQUFDO1FBQ2pCLElBQUksQ0FBQ0MsWUFBWTtRQUNqQixJQUFJLENBQUNDLGtCQUFrQixDQUFDSixVQUFVQztJQUNuQztJQUVPSSxJQUFJQyxRQUFpQixFQUFFQyxRQUFlLEVBQTRCO1FBQ3hFLE9BQU8sSUFBSSxDQUFDQyxJQUFJO0lBQ2pCO0FBQ0QifQ==
|
|
@@ -22,5 +22,3 @@ class CreateModule extends _cli.ModuleManifest {
|
|
|
22
22
|
webapi: _webapiaction.WebapiAction
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9jcmVhdGUubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZU1hbmlmZXN0IH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IENyZWF0ZUNvbW1hbmQgfSBmcm9tIFwiLi9jcmVhdGUuY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgV2ViYXBpQWN0aW9uIH0gZnJvbSBcIi4vd2ViYXBpLmFjdGlvbi5qc1wiO1xuaW1wb3J0IHsgV2ViYXBpQ29tbWFuZCB9IGZyb20gXCIuL3dlYmFwaS5jb21tYW5kLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVNb2R1bGUgZXh0ZW5kcyBNb2R1bGVNYW5pZmVzdCB7XG5cdHB1YmxpYyByZWFkb25seSBpZCA9IFwiY3JlYXRlXCI7XG5cdHB1YmxpYyByZWFkb25seSBjb21tYW5kID0gQ3JlYXRlQ29tbWFuZDtcblx0cHVibGljIHJlYWRvbmx5IGNvbW1hbmRzID0geyB3ZWJhcGk6IFdlYmFwaUNvbW1hbmQgfTtcblx0cHVibGljIHJlYWRvbmx5IGFjdGlvbnMgPSB7IHdlYmFwaTogV2ViYXBpQWN0aW9uIH07XG59XG4iXSwibmFtZXMiOlsiQ3JlYXRlTW9kdWxlIiwiTW9kdWxlTWFuaWZlc3QiLCJpZCIsImNvbW1hbmQiLCJDcmVhdGVDb21tYW5kIiwiY29tbWFuZHMiLCJ3ZWJhcGkiLCJXZWJhcGlDb21tYW5kIiwiYWN0aW9ucyIsIldlYmFwaUFjdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFLYUE7OztlQUFBQTs7O3FCQUxrQjsrQkFDRDs4QkFDRDsrQkFDQztBQUV2QixNQUFNQSxxQkFBcUJDLG1CQUFjO0lBQy9CQyxLQUFLLFNBQVM7SUFDZEMsVUFBVUMsNEJBQWEsQ0FBQztJQUN4QkMsV0FBVztRQUFFQyxRQUFRQyw0QkFBYTtJQUFDLEVBQUU7SUFDckNDLFVBQVU7UUFBRUYsUUFBUUcsMEJBQVk7SUFBQyxFQUFFO0FBQ3BEIn0=
|
|
@@ -60,5 +60,3 @@ async function pick(label, items, display) {
|
|
|
60
60
|
if (Number.isNaN(idx) || idx < 1 || idx > items.length) return null;
|
|
61
61
|
return items[idx - 1];
|
|
62
62
|
}
|
|
63
|
-
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9kb21haW4vcHJvbXB0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUludGVyZmFjZSwgdHlwZSBJbnRlcmZhY2UgfSBmcm9tIFwibm9kZTpyZWFkbGluZVwiO1xuXG4vLyByZWFkbGluZS9wcm9taXNlcyBybC5xdWVzdGlvbigpIGhhcyBhIHJhY2UgY29uZGl0aW9uIHdpdGggcGlwZWQgKG5vbi1UVFkpIHN0ZGluXG4vLyBpbiBOb2RlIOKJpSAyMjogYWZ0ZXIgdGhlIGZpcnN0IGxpbmUgaXMgcmVhZCwgc3RkaW4gZW1pdHMgJ2VuZCcsIHJlYWRsaW5lIGNsb3Nlcyxcbi8vIGFuZCBhbGwgc3Vic2VxdWVudCBxdWVzdGlvbigpIGNhbGxzIHJlc29sdmUgdG8gXCJcIi5cbi8vIEZpeDogdXNlIHRoZSBhc3luYy1pdGVyYXRvciBBUEksIHdoaWNoIGJ1ZmZlcnMgYWxsIGxpbmVzIGJlZm9yZSB0aGUgY2xvc2UgZXZlbnQgZmlyZXMuXG5cbmxldCBfcmw6IEludGVyZmFjZSB8IG51bGwgPSBudWxsO1xubGV0IF9saW5lczogQXN5bmNJdGVyYXRvcjxzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG5cbmZ1bmN0aW9uIGdldExpbmVzKCk6IEFzeW5jSXRlcmF0b3I8c3RyaW5nPiB7XG5cdGlmIChfbGluZXMgPT0gbnVsbCkge1xuXHRcdF9ybCA9IGNyZWF0ZUludGVyZmFjZSh7IGlucHV0OiBwcm9jZXNzLnN0ZGluLCB0ZXJtaW5hbDogZmFsc2UgfSk7XG5cdFx0X2xpbmVzID0gX3JsW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSgpO1xuXHR9XG5cdHJldHVybiBfbGluZXM7XG59XG5cbi8qKiBSZWxlYXNlIHN0ZGluIHNvIHRoZSBwcm9jZXNzIGNhbiBleGl0IGFmdGVyIGludGVyYWN0aXZlIHByb21wdHMuICovXG5leHBvcnQgZnVuY3Rpb24gY2xvc2VQcm9tcHQoKTogdm9pZCB7XG5cdF9ybD8uY2xvc2UoKTtcblx0X3JsID0gbnVsbDtcblx0X2xpbmVzID0gbnVsbDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVhZExpbmUocHJvbXB0OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuXHRwcm9jZXNzLnN0ZG91dC53cml0ZShwcm9tcHQpO1xuXHRjb25zdCB7IHZhbHVlLCBkb25lIH0gPSBhd2FpdCBnZXRMaW5lcygpLm5leHQoKTtcblx0cmV0dXJuIGRvbmUgPyBcIlwiIDogdmFsdWUudHJpbSgpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXNrKHF1ZXN0aW9uOiBzdHJpbmcsIGZhbGxiYWNrID0gXCJcIik6IFByb21pc2U8c3RyaW5nPiB7XG5cdGNvbnN0IGFuc3dlciA9IGF3YWl0IHJlYWRMaW5lKHF1ZXN0aW9uKTtcblx0cmV0dXJuIGFuc3dlciB8fCBmYWxsYmFjaztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBpY2s8VD4oXG5cdGxhYmVsOiBzdHJpbmcsXG5cdGl0ZW1zOiBUW10sXG5cdGRpc3BsYXk6IChpdGVtOiBUKSA9PiBzdHJpbmcsXG4pOiBQcm9taXNlPFQgfCBudWxsPiB7XG5cdGNvbnNvbGUubG9nKGxhYmVsLnRyaW1FbmQoKSk7XG5cdGZvciAoY29uc3QgW2ksIGl0ZW1dIG9mIGl0ZW1zLmVudHJpZXMoKSkge1xuXHRcdGNvbnNvbGUubG9nKGAgICAgJHtpICsgMX0uICR7ZGlzcGxheShpdGVtKX1gKTtcblx0fVxuXHRjb25zdCBhbnN3ZXIgPSBhd2FpdCByZWFkTGluZShcIiAgPiBcIik7XG5cdGNvbnN0IGlkeCA9IE51bWJlci5wYXJzZUludChhbnN3ZXIsIDEwKTtcblx0aWYgKE51bWJlci5pc05hTihpZHgpIHx8IGlkeCA8IDEgfHwgaWR4ID4gaXRlbXMubGVuZ3RoKSByZXR1cm4gbnVsbDtcblx0cmV0dXJuIGl0ZW1zW2lkeCAtIDFdO1xufVxuIl0sIm5hbWVzIjpbImFzayIsImNsb3NlUHJvbXB0IiwicGljayIsIl9ybCIsIl9saW5lcyIsImdldExpbmVzIiwiY3JlYXRlSW50ZXJmYWNlIiwiaW5wdXQiLCJwcm9jZXNzIiwic3RkaW4iLCJ0ZXJtaW5hbCIsIlN5bWJvbCIsImFzeW5jSXRlcmF0b3IiLCJjbG9zZSIsInJlYWRMaW5lIiwicHJvbXB0Iiwic3Rkb3V0Iiwid3JpdGUiLCJ2YWx1ZSIsImRvbmUiLCJuZXh0IiwidHJpbSIsInF1ZXN0aW9uIiwiZmFsbGJhY2siLCJhbnN3ZXIiLCJsYWJlbCIsIml0ZW1zIiwiZGlzcGxheSIsImNvbnNvbGUiLCJsb2ciLCJ0cmltRW5kIiwiaSIsIml0ZW0iLCJlbnRyaWVzIiwiaWR4IiwiTnVtYmVyIiwicGFyc2VJbnQiLCJpc05hTiIsImxlbmd0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUErQnNCQTtlQUFBQTs7UUFaTkM7ZUFBQUE7O1FBaUJNQztlQUFBQTs7OzhCQXBDMEI7QUFFaEQsa0ZBQWtGO0FBQ2xGLGtGQUFrRjtBQUNsRixxREFBcUQ7QUFDckQseUZBQXlGO0FBRXpGLElBQUlDLE1BQXdCO0FBQzVCLElBQUlDLFNBQXVDO0FBRTNDLFNBQVNDO0lBQ1IsSUFBSUQsVUFBVSxNQUFNO1FBQ25CRCxNQUFNRyxJQUFBQSw2QkFBZSxFQUFDO1lBQUVDLE9BQU9DLFFBQVFDLEtBQUs7WUFBRUMsVUFBVTtRQUFNO1FBQzlETixTQUFTRCxHQUFHLENBQUNRLE9BQU9DLGFBQWEsQ0FBQztJQUNuQztJQUNBLE9BQU9SO0FBQ1I7QUFHTyxTQUFTSDtJQUNmRSxLQUFLVTtJQUNMVixNQUFNO0lBQ05DLFNBQVM7QUFDVjtBQUVBLGVBQWVVLFNBQVNDLE1BQWM7SUFDckNQLFFBQVFRLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDRjtJQUNyQixNQUFNLEVBQUVHLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUcsTUFBTWQsV0FBV2UsSUFBSTtJQUM3QyxPQUFPRCxPQUFPLEtBQUtELE1BQU1HLElBQUk7QUFDOUI7QUFFTyxlQUFlckIsSUFBSXNCLFFBQWdCLEVBQUVDLFdBQVcsRUFBRTtJQUN4RCxNQUFNQyxTQUFTLE1BQU1WLFNBQVNRO0lBQzlCLE9BQU9FLFVBQVVEO0FBQ2xCO0FBRU8sZUFBZXJCLEtBQ3JCdUIsS0FBYSxFQUNiQyxLQUFVLEVBQ1ZDLE9BQTRCO0lBRTVCQyxRQUFRQyxHQUFHLENBQUNKLE1BQU1LLE9BQU87SUFDekIsS0FBSyxNQUFNLENBQUNDLEdBQUdDLEtBQUssSUFBSU4sTUFBTU8sT0FBTyxHQUFJO1FBQ3hDTCxRQUFRQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUVFLElBQUksRUFBRSxFQUFFLEVBQUVKLFFBQVFLLE9BQU87SUFDN0M7SUFDQSxNQUFNUixTQUFTLE1BQU1WLFNBQVM7SUFDOUIsTUFBTW9CLE1BQU1DLE9BQU9DLFFBQVEsQ0FBQ1osUUFBUTtJQUNwQyxJQUFJVyxPQUFPRSxLQUFLLENBQUNILFFBQVFBLE1BQU0sS0FBS0EsTUFBTVIsTUFBTVksTUFBTSxFQUFFLE9BQU87SUFDL0QsT0FBT1osS0FBSyxDQUFDUSxNQUFNLEVBQUU7QUFDdEIifQ==
|
package/commonjs/src/index.js
CHANGED
|
@@ -46,5 +46,3 @@ const _createmodule = require("./create.module.js");
|
|
|
46
46
|
const _program = require("./program.js");
|
|
47
47
|
const _createapi = require("./webapi/create-api.js");
|
|
48
48
|
const _webapiaction = require("./webapi.action.js");
|
|
49
|
-
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBZGRNb2R1bGUgfSBmcm9tIFwiLi9hZGQubW9kdWxlLmpzXCI7XG5leHBvcnQgdHlwZSB7IEFkZEFwaU9wdGlvbnMgfSBmcm9tIFwiLi9hZGQtYXBpLmFjdGlvbi5qc1wiO1xuZXhwb3J0IHsgQWRkQXBpQWN0aW9uIH0gZnJvbSBcIi4vYWRkLWFwaS5hY3Rpb24uanNcIjtcbmV4cG9ydCB7IEF1dGgwTW9kdWxlIH0gZnJvbSBcIi4vYXV0aDAubW9kdWxlLmpzXCI7XG5leHBvcnQgdHlwZSB7IEF1dGgwQ29uZmlndXJlT3B0aW9ucyB9IGZyb20gXCIuL2F1dGgwLWNvbmZpZ3VyZS5hY3Rpb24uanNcIjtcbmV4cG9ydCB7IEF1dGgwQ29uZmlndXJlQWN0aW9uIH0gZnJvbSBcIi4vYXV0aDAtY29uZmlndXJlLmFjdGlvbi5qc1wiO1xuZXhwb3J0IHsgQXV0aDBMb2dpbkFjdGlvbiB9IGZyb20gXCIuL2F1dGgwLWxvZ2luLmFjdGlvbi5qc1wiO1xuZXhwb3J0IHsgQ3JlYXRlTW9kdWxlIH0gZnJvbSBcIi4vY3JlYXRlLm1vZHVsZS5qc1wiO1xuZXhwb3J0IHsgcnVuQ2xpIH0gZnJvbSBcIi4vcHJvZ3JhbS5qc1wiO1xuZXhwb3J0IHR5cGUgeyBBcGlPcHRpb25zIH0gZnJvbSBcIi4vd2ViYXBpL2NyZWF0ZS1hcGkuanNcIjtcbmV4cG9ydCB7IHNjYWZmb2xkQXBpIH0gZnJvbSBcIi4vd2ViYXBpL2NyZWF0ZS1hcGkuanNcIjtcbmV4cG9ydCB0eXBlIHsgV2ViYXBpT3B0aW9ucyB9IGZyb20gXCIuL3dlYmFwaS5hY3Rpb24uanNcIjtcbmV4cG9ydCB7IFdlYmFwaUFjdGlvbiB9IGZyb20gXCIuL3dlYmFwaS5hY3Rpb24uanNcIjtcbiJdLCJuYW1lcyI6WyJBZGRBcGlBY3Rpb24iLCJBZGRNb2R1bGUiLCJBdXRoMENvbmZpZ3VyZUFjdGlvbiIsIkF1dGgwTG9naW5BY3Rpb24iLCJBdXRoME1vZHVsZSIsIkNyZWF0ZU1vZHVsZSIsIldlYmFwaUFjdGlvbiIsInJ1bkNsaSIsInNjYWZmb2xkQXBpIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQUVTQTtlQUFBQSwwQkFBWTs7UUFGWkM7ZUFBQUEsb0JBQVM7O1FBS1RDO2VBQUFBLDBDQUFvQjs7UUFDcEJDO2VBQUFBLGtDQUFnQjs7UUFIaEJDO2VBQUFBLHdCQUFXOztRQUlYQztlQUFBQSwwQkFBWTs7UUFLWkM7ZUFBQUEsMEJBQVk7O1FBSlpDO2VBQUFBLGVBQU07O1FBRU5DO2VBQUFBLHNCQUFXOzs7MkJBVk07OEJBRUc7NkJBQ0Q7c0NBRVM7a0NBQ0o7OEJBQ0o7eUJBQ047MkJBRUs7OEJBRUMifQ==
|
|
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "DockerCompose", {
|
|
|
8
8
|
return DockerCompose;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _nodefs = require("node:fs");
|
|
12
|
+
const _yaml = require("yaml");
|
|
11
13
|
const _const = require("./const.js");
|
|
12
14
|
class DockerCompose {
|
|
13
15
|
key = _const.WELL_KNOWN_FILES.DOCKER_COMPOSE;
|
|
@@ -16,6 +18,19 @@ class DockerCompose {
|
|
|
16
18
|
_services = new Map();
|
|
17
19
|
_volumes = new Set();
|
|
18
20
|
_networks = new Map();
|
|
21
|
+
_envFiles = [];
|
|
22
|
+
_existing;
|
|
23
|
+
/** Load an existing compose file so `decohere add api` can merge into it. */ static fromFile(absolutePath) {
|
|
24
|
+
const compose = new DockerCompose();
|
|
25
|
+
compose._existing = (0, _yaml.parseDocument)((0, _nodefs.readFileSync)(absolutePath, "utf8"));
|
|
26
|
+
return compose;
|
|
27
|
+
}
|
|
28
|
+
/** True when the service is defined (in the loaded file or added since). */ hasService(name) {
|
|
29
|
+
return this._services.has(name) || this._existing?.hasIn([
|
|
30
|
+
"services",
|
|
31
|
+
name
|
|
32
|
+
]) === true;
|
|
33
|
+
}
|
|
19
34
|
/** Compose project name (`name:` top-level) — isolates containers/volumes. */ setProjectName(name) {
|
|
20
35
|
this._projectName = name;
|
|
21
36
|
return this;
|
|
@@ -45,14 +60,23 @@ class DockerCompose {
|
|
|
45
60
|
return this;
|
|
46
61
|
}
|
|
47
62
|
/** Append an env_file path to an existing service. */ addEnvFile(serviceName, filePath) {
|
|
48
|
-
|
|
63
|
+
// A service already in the loaded file wins over an `addService` of the same name.
|
|
64
|
+
const svc = this._existing?.hasIn([
|
|
65
|
+
"services",
|
|
66
|
+
serviceName
|
|
67
|
+
]) ? undefined : this._services.get(serviceName);
|
|
49
68
|
if (svc) svc.env_file = [
|
|
50
69
|
...svc.env_file ?? [],
|
|
51
70
|
filePath
|
|
52
71
|
];
|
|
72
|
+
else this._envFiles.push([
|
|
73
|
+
serviceName,
|
|
74
|
+
filePath
|
|
75
|
+
]);
|
|
53
76
|
return this;
|
|
54
77
|
}
|
|
55
78
|
getContent() {
|
|
79
|
+
if (this._existing) return this.mergeIntoExisting(this._existing);
|
|
56
80
|
const lines = [];
|
|
57
81
|
for (const comment of this._headerComments){
|
|
58
82
|
lines.push(comment.startsWith("#") ? comment : `# ${comment}`);
|
|
@@ -145,6 +169,90 @@ class DockerCompose {
|
|
|
145
169
|
}
|
|
146
170
|
return `${lines.join("\n")}\n`;
|
|
147
171
|
}
|
|
172
|
+
mergeIntoExisting(doc) {
|
|
173
|
+
if (!(0, _yaml.isMap)(doc.contents)) throw new Error("docker-compose.yml is not a YAML mapping");
|
|
174
|
+
for (const line of this._headerComments){
|
|
175
|
+
const text = line.replace(/^#\s?/, "");
|
|
176
|
+
const before = doc.commentBefore ?? "";
|
|
177
|
+
if (!before.includes(text)) doc.commentBefore = before ? `${before}\n ${text}` : ` ${text}`;
|
|
178
|
+
}
|
|
179
|
+
for (const [name, svc] of this._services){
|
|
180
|
+
if (!doc.hasIn([
|
|
181
|
+
"services",
|
|
182
|
+
name
|
|
183
|
+
])) doc.setIn([
|
|
184
|
+
"services",
|
|
185
|
+
name
|
|
186
|
+
], doc.createNode(toComposeYaml(svc)));
|
|
187
|
+
}
|
|
188
|
+
for (const [service, path] of this._envFiles){
|
|
189
|
+
if (!doc.hasIn([
|
|
190
|
+
"services",
|
|
191
|
+
service
|
|
192
|
+
])) continue;
|
|
193
|
+
const envFiles = doc.getIn([
|
|
194
|
+
"services",
|
|
195
|
+
service,
|
|
196
|
+
"env_file"
|
|
197
|
+
]);
|
|
198
|
+
if ((0, _yaml.isSeq)(envFiles)) {
|
|
199
|
+
if (!envFiles.items.some((item)=>String(item) === path)) envFiles.add(path);
|
|
200
|
+
} else if (envFiles == null) {
|
|
201
|
+
doc.setIn([
|
|
202
|
+
"services",
|
|
203
|
+
service,
|
|
204
|
+
"env_file"
|
|
205
|
+
], doc.createNode([
|
|
206
|
+
path
|
|
207
|
+
]));
|
|
208
|
+
} else if (String(envFiles) !== path) {
|
|
209
|
+
doc.setIn([
|
|
210
|
+
"services",
|
|
211
|
+
service,
|
|
212
|
+
"env_file"
|
|
213
|
+
], doc.createNode([
|
|
214
|
+
String(envFiles),
|
|
215
|
+
path
|
|
216
|
+
]));
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
for (const [key, network] of this._networks){
|
|
220
|
+
if (!doc.hasIn([
|
|
221
|
+
"networks",
|
|
222
|
+
key
|
|
223
|
+
])) doc.setIn([
|
|
224
|
+
"networks",
|
|
225
|
+
key
|
|
226
|
+
], doc.createNode(network));
|
|
227
|
+
}
|
|
228
|
+
for (const volume of this._volumes){
|
|
229
|
+
if (!doc.hasIn([
|
|
230
|
+
"volumes",
|
|
231
|
+
volume
|
|
232
|
+
])) doc.setIn([
|
|
233
|
+
"volumes",
|
|
234
|
+
volume
|
|
235
|
+
], null);
|
|
236
|
+
}
|
|
237
|
+
return doc.toString({
|
|
238
|
+
lineWidth: 0
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
/** Plain compose YAML shape for a service (networks with aliases become a map). */ function toComposeYaml(svc) {
|
|
243
|
+
const { networks, ...rest } = svc;
|
|
244
|
+
if (!networks || networks.length === 0) return rest;
|
|
245
|
+
if (networks.every((n)=>typeof n === "string")) return {
|
|
246
|
+
...rest,
|
|
247
|
+
networks
|
|
248
|
+
};
|
|
249
|
+
const networkMap = {};
|
|
250
|
+
for (const network of networks){
|
|
251
|
+
if (typeof network === "string") networkMap[network] = null;
|
|
252
|
+
else Object.assign(networkMap, network);
|
|
253
|
+
}
|
|
254
|
+
return {
|
|
255
|
+
...rest,
|
|
256
|
+
networks: networkMap
|
|
257
|
+
};
|
|
148
258
|
}
|
|
149
|
-
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvY29tcG9zZS5tb2RlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXRUxMX0tOT1dOX0ZJTEVTIH0gZnJvbSBcIi4vY29uc3QuanNcIjtcbmltcG9ydCB0eXBlIHsgS2V5ZWRNb2RlbCB9IGZyb20gXCIuL3NvdXJjZS1maWxlLmpzXCI7XG5cbmV4cG9ydCB0eXBlIENvbXBvc2VOZXR3b3JrUmVmID1cblx0fCBzdHJpbmdcblx0fCB7XG5cdFx0XHQvKiogTmV0d29yayBrZXkgdW5kZXIgYG5ldHdvcmtzOmAgb24gdGhpcyBzZXJ2aWNlICovXG5cdFx0XHRbbmV0d29ya0tleTogc3RyaW5nXTogeyBhbGlhc2VzPzogc3RyaW5nW10gfTtcblx0ICB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvc2VIZWFsdGhjaGVjayB7XG5cdHRlc3Q6IHN0cmluZ1tdO1xuXHRpbnRlcnZhbD86IHN0cmluZztcblx0dGltZW91dD86IHN0cmluZztcblx0cmV0cmllcz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wb3NlU2VydmljZSB7XG5cdGJ1aWxkPzogc3RyaW5nO1xuXHRpbWFnZT86IHN0cmluZztcblx0Y29udGFpbmVyX25hbWU/OiBzdHJpbmc7XG5cdC8qKiBRdW90ZWQgaW4gWUFNTCAoYDA6MGAgbXVzdCBub3QgcGFyc2UgYXMgYSBudW1iZXIpLiAqL1xuXHR1c2VyPzogc3RyaW5nO1xuXHRlbnZfZmlsZT86IHN0cmluZ1tdO1xuXHRlbnZpcm9ubWVudD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cdHBvcnRzPzogc3RyaW5nW107XG5cdHZvbHVtZXM/OiBzdHJpbmdbXTtcblx0Y29tbWFuZD86IHN0cmluZztcblx0cmVzdGFydD86IHN0cmluZztcblx0ZGVwZW5kc19vbj86IHN0cmluZ1tdO1xuXHQvKiogQ29tcG9zZSBwcm9maWxlcyAoc2VydmljZSBvbmx5IHN0YXJ0cyB3aGVuIHByb2ZpbGUgaXMgZW5hYmxlZCkuICovXG5cdHByb2ZpbGVzPzogc3RyaW5nW107XG5cdC8qKiBBdHRhY2ggdG8gY29tcG9zZSBuZXR3b3JrcyAoc3RyaW5nIG5hbWUgb3IgbWFwIHdpdGggYWxpYXNlcykuICovXG5cdG5ldHdvcmtzPzogQ29tcG9zZU5ldHdvcmtSZWZbXTtcblx0aGVhbHRoY2hlY2s/OiBDb21wb3NlSGVhbHRoY2hlY2s7XG59XG5cbmV4cG9ydCB0eXBlIENvbXBvc2VOZXR3b3JrID0ge1xuXHQvKiogRml4ZWQgRG9ja2VyIG5ldHdvcmsgbmFtZSAoc2hhcmVhYmxlIGFjcm9zcyBjb21wb3NlIHByb2plY3RzKS4gKi9cblx0bmFtZTogc3RyaW5nO1xuXHRleHRlcm5hbD86IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIExpdmUgYnVpbGRlciBmb3IgYGRvY2tlci1jb21wb3NlLnltbGAuXG4gKlxuICogRmVhdHVyZXMgY2FsbCBgYWRkU2VydmljZWAgLyBgYWRkVm9sdW1lYCAvIGBhZGROZXR3b3JrYCBpbiB0aGVpciBzY2FmZm9sZCBwaGFzZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEb2NrZXJDb21wb3NlIGltcGxlbWVudHMgS2V5ZWRNb2RlbCB7XG5cdHB1YmxpYyByZWFkb25seSBrZXkgPSBXRUxMX0tOT1dOX0ZJTEVTLkRPQ0tFUl9DT01QT1NFO1xuXHRwcml2YXRlIF9wcm9qZWN0TmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9oZWFkZXJDb21tZW50czogc3RyaW5nW10gPSBbXTtcblx0cHJpdmF0ZSByZWFkb25seSBfc2VydmljZXM6IE1hcDxzdHJpbmcsIENvbXBvc2VTZXJ2aWNlPiA9IG5ldyBNYXAoKTtcblx0cHJpdmF0ZSByZWFkb25seSBfdm9sdW1lczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG5cdHByaXZhdGUgcmVhZG9ubHkgX25ldHdvcmtzOiBNYXA8c3RyaW5nLCBDb21wb3NlTmV0d29yaz4gPSBuZXcgTWFwKCk7XG5cblx0LyoqIENvbXBvc2UgcHJvamVjdCBuYW1lIChgbmFtZTpgIHRvcC1sZXZlbCkg4oCUIGlzb2xhdGVzIGNvbnRhaW5lcnMvdm9sdW1lcy4gKi9cblx0cHVibGljIHNldFByb2plY3ROYW1lKG5hbWU6IHN0cmluZyk6IHRoaXMge1xuXHRcdHRoaXMuX3Byb2plY3ROYW1lID0gbmFtZTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKiBGaWxlLWxldmVsIGAjYCBjb21tZW50cyByZW5kZXJlZCBhYm92ZSBgbmFtZTpgIC8gYHNlcnZpY2VzOmAuICovXG5cdHB1YmxpYyBhZGRIZWFkZXJDb21tZW50KC4uLmxpbmVzOiBzdHJpbmdbXSk6IHRoaXMge1xuXHRcdHRoaXMuX2hlYWRlckNvbW1lbnRzLnB1c2goLi4ubGluZXMpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cHVibGljIGFkZFNlcnZpY2UobmFtZTogc3RyaW5nLCBjb25maWc6IENvbXBvc2VTZXJ2aWNlKTogdGhpcyB7XG5cdFx0dGhpcy5fc2VydmljZXMuc2V0KG5hbWUsIGNvbmZpZyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgZmlsZXMoKSB7XG5cdFx0cmV0dXJuIFtcblx0XHRcdHtcblx0XHRcdFx0ZmlsZVBhdGg6IFwiLmRldmNvbnRhaW5lci9kb2NrZXItY29tcG9zZS55bWxcIixcblx0XHRcdFx0Y29udGVudDogdGhpcy5nZXRDb250ZW50KCksXG5cdFx0XHR9LFxuXHRcdF07XG5cdH1cblxuXHRwdWJsaWMgYWRkVm9sdW1lKG5hbWU6IHN0cmluZyk6IHRoaXMge1xuXHRcdHRoaXMuX3ZvbHVtZXMuYWRkKG5hbWUpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cHVibGljIGFkZE5ldHdvcmsoa2V5OiBzdHJpbmcsIG5ldHdvcms6IENvbXBvc2VOZXR3b3JrKTogdGhpcyB7XG5cdFx0dGhpcy5fbmV0d29ya3Muc2V0KGtleSwgbmV0d29yayk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKiogQXBwZW5kIGFuIGVudl9maWxlIHBhdGggdG8gYW4gZXhpc3Rpbmcgc2VydmljZS4gKi9cblx0cHVibGljIGFkZEVudkZpbGUoc2VydmljZU5hbWU6IHN0cmluZywgZmlsZVBhdGg6IHN0cmluZyk6IHRoaXMge1xuXHRcdGNvbnN0IHN2YyA9IHRoaXMuX3NlcnZpY2VzLmdldChzZXJ2aWNlTmFtZSk7XG5cdFx0aWYgKHN2Yykgc3ZjLmVudl9maWxlID0gWy4uLihzdmMuZW52X2ZpbGUgPz8gW10pLCBmaWxlUGF0aF07XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgZ2V0Q29udGVudCgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGxpbmVzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdGZvciAoY29uc3QgY29tbWVudCBvZiB0aGlzLl9oZWFkZXJDb21tZW50cykge1xuXHRcdFx0bGluZXMucHVzaChjb21tZW50LnN0YXJ0c1dpdGgoXCIjXCIpID8gY29tbWVudCA6IGAjICR7Y29tbWVudH1gKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuX2hlYWRlckNvbW1lbnRzLmxlbmd0aCA+IDApIHtcblx0XHRcdGxpbmVzLnB1c2goXCJcIik7XG5cdFx0fVxuXHRcdGlmICh0aGlzLl9wcm9qZWN0TmFtZSkge1xuXHRcdFx0bGluZXMucHVzaChgbmFtZTogJHt0aGlzLl9wcm9qZWN0TmFtZX1gLCBcIlwiKTtcblx0XHR9XG5cdFx0bGluZXMucHVzaChcInNlcnZpY2VzOlwiKTtcblxuXHRcdGZvciAoY29uc3QgW25hbWUsIHN2Y10gb2YgdGhpcy5fc2VydmljZXMpIHtcblx0XHRcdGxpbmVzLnB1c2goYCAgJHtuYW1lfTpgKTtcblx0XHRcdGlmIChzdmMuYnVpbGQpIGxpbmVzLnB1c2goYCAgICBidWlsZDogJHtzdmMuYnVpbGR9YCk7XG5cdFx0XHRpZiAoc3ZjLmltYWdlKSBsaW5lcy5wdXNoKGAgICAgaW1hZ2U6ICR7c3ZjLmltYWdlfWApO1xuXHRcdFx0aWYgKHN2Yy5jb250YWluZXJfbmFtZSkgbGluZXMucHVzaChgICAgIGNvbnRhaW5lcl9uYW1lOiAke3N2Yy5jb250YWluZXJfbmFtZX1gKTtcblx0XHRcdGlmIChzdmMuY29tbWFuZCkgbGluZXMucHVzaChgICAgIGNvbW1hbmQ6ICR7c3ZjLmNvbW1hbmR9YCk7XG5cdFx0XHRpZiAoc3ZjLnVzZXIpIGxpbmVzLnB1c2goYCAgICB1c2VyOiBcIiR7c3ZjLnVzZXJ9XCJgKTtcblx0XHRcdGlmIChzdmMucmVzdGFydCkgbGluZXMucHVzaChgICAgIHJlc3RhcnQ6ICR7c3ZjLnJlc3RhcnR9YCk7XG5cblx0XHRcdGlmIChzdmMucHJvZmlsZXMgJiYgc3ZjLnByb2ZpbGVzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0bGluZXMucHVzaChcIiAgICBwcm9maWxlczpcIik7XG5cdFx0XHRcdGZvciAoY29uc3QgcCBvZiBzdmMucHJvZmlsZXMpIGxpbmVzLnB1c2goYCAgICAgIC0gJHtwfWApO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoc3ZjLmVudl9maWxlICYmIHN2Yy5lbnZfZmlsZS5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdGxpbmVzLnB1c2goXCIgICAgZW52X2ZpbGU6XCIpO1xuXHRcdFx0XHRmb3IgKGNvbnN0IGYgb2Ygc3ZjLmVudl9maWxlKSBsaW5lcy5wdXNoKGAgICAgICAtICR7Zn1gKTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKHN2Yy5lbnZpcm9ubWVudCAmJiBPYmplY3Qua2V5cyhzdmMuZW52aXJvbm1lbnQpLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0bGluZXMucHVzaChcIiAgICBlbnZpcm9ubWVudDpcIik7XG5cdFx0XHRcdGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHN2Yy5lbnZpcm9ubWVudCkpIHtcblx0XHRcdFx0XHRsaW5lcy5wdXNoKGAgICAgICAke2t9OiAke3Z9YCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0aWYgKHN2Yy5wb3J0cyAmJiBzdmMucG9ydHMubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRsaW5lcy5wdXNoKFwiICAgIHBvcnRzOlwiKTtcblx0XHRcdFx0Zm9yIChjb25zdCBwIG9mIHN2Yy5wb3J0cykgbGluZXMucHVzaChgICAgICAgLSBcIiR7cH1cImApO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoc3ZjLnZvbHVtZXMgJiYgc3ZjLnZvbHVtZXMubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRsaW5lcy5wdXNoKFwiICAgIHZvbHVtZXM6XCIpO1xuXHRcdFx0XHRmb3IgKGNvbnN0IHYgb2Ygc3ZjLnZvbHVtZXMpIGxpbmVzLnB1c2goYCAgICAgIC0gJHt2fWApO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoc3ZjLm5ldHdvcmtzICYmIHN2Yy5uZXR3b3Jrcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdGNvbnN0IG9ubHlTdHJpbmdzID0gc3ZjLm5ldHdvcmtzLmV2ZXJ5KChuKSA9PiB0eXBlb2YgbiA9PT0gXCJzdHJpbmdcIik7XG5cdFx0XHRcdGlmIChvbmx5U3RyaW5ncykge1xuXHRcdFx0XHRcdGxpbmVzLnB1c2goXCIgICAgbmV0d29ya3M6XCIpO1xuXHRcdFx0XHRcdGZvciAoY29uc3QgbiBvZiBzdmMubmV0d29ya3MpIGxpbmVzLnB1c2goYCAgICAgIC0gJHtuIGFzIHN0cmluZ31gKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRsaW5lcy5wdXNoKFwiICAgIG5ldHdvcmtzOlwiKTtcblx0XHRcdFx0XHRmb3IgKGNvbnN0IG4gb2Ygc3ZjLm5ldHdvcmtzKSB7XG5cdFx0XHRcdFx0XHRpZiAodHlwZW9mIG4gPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdFx0XHRcdFx0bGluZXMucHVzaChgICAgICAgJHtufTpgKTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdGZvciAoY29uc3QgW25ldEtleSwgY2ZnXSBvZiBPYmplY3QuZW50cmllcyhuKSkge1xuXHRcdFx0XHRcdFx0XHRcdGxpbmVzLnB1c2goYCAgICAgICR7bmV0S2V5fTpgKTtcblx0XHRcdFx0XHRcdFx0XHRpZiAoY2ZnLmFsaWFzZXMgJiYgY2ZnLmFsaWFzZXMubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0bGluZXMucHVzaChcIiAgICAgICAgYWxpYXNlczpcIik7XG5cdFx0XHRcdFx0XHRcdFx0XHRmb3IgKGNvbnN0IGEgb2YgY2ZnLmFsaWFzZXMpIGxpbmVzLnB1c2goYCAgICAgICAgICAtICR7YX1gKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0aWYgKHN2Yy5kZXBlbmRzX29uICYmIHN2Yy5kZXBlbmRzX29uLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0bGluZXMucHVzaChcIiAgICBkZXBlbmRzX29uOlwiKTtcblx0XHRcdFx0Zm9yIChjb25zdCBkIG9mIHN2Yy5kZXBlbmRzX29uKSBsaW5lcy5wdXNoKGAgICAgICAtICR7ZH1gKTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKHN2Yy5oZWFsdGhjaGVjaykge1xuXHRcdFx0XHRjb25zdCBoYyA9IHN2Yy5oZWFsdGhjaGVjaztcblx0XHRcdFx0bGluZXMucHVzaChcIiAgICBoZWFsdGhjaGVjazpcIik7XG5cdFx0XHRcdGxpbmVzLnB1c2goYCAgICAgIHRlc3Q6ICR7SlNPTi5zdHJpbmdpZnkoaGMudGVzdCl9YCk7XG5cdFx0XHRcdGlmIChoYy5pbnRlcnZhbCkgbGluZXMucHVzaChgICAgICAgaW50ZXJ2YWw6ICR7aGMuaW50ZXJ2YWx9YCk7XG5cdFx0XHRcdGlmIChoYy50aW1lb3V0KSBsaW5lcy5wdXNoKGAgICAgICB0aW1lb3V0OiAke2hjLnRpbWVvdXR9YCk7XG5cdFx0XHRcdGlmIChoYy5yZXRyaWVzICE9IG51bGwpIGxpbmVzLnB1c2goYCAgICAgIHJldHJpZXM6ICR7aGMucmV0cmllc31gKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAodGhpcy5fbmV0d29ya3Muc2l6ZSA+IDApIHtcblx0XHRcdGxpbmVzLnB1c2goXCJcIik7XG5cdFx0XHRsaW5lcy5wdXNoKFwibmV0d29ya3M6XCIpO1xuXHRcdFx0Zm9yIChjb25zdCBba2V5LCBuZXRdIG9mIHRoaXMuX25ldHdvcmtzKSB7XG5cdFx0XHRcdGxpbmVzLnB1c2goYCAgJHtrZXl9OmApO1xuXHRcdFx0XHRsaW5lcy5wdXNoKGAgICAgbmFtZTogJHtuZXQubmFtZX1gKTtcblx0XHRcdFx0aWYgKG5ldC5leHRlcm5hbCkgbGluZXMucHVzaChcIiAgICBleHRlcm5hbDogdHJ1ZVwiKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAodGhpcy5fdm9sdW1lcy5zaXplID4gMCkge1xuXHRcdFx0bGluZXMucHVzaChcIlwiKTtcblx0XHRcdGxpbmVzLnB1c2goXCJ2b2x1bWVzOlwiKTtcblx0XHRcdGZvciAoY29uc3QgdiBvZiB0aGlzLl92b2x1bWVzKSBsaW5lcy5wdXNoKGAgICR7dn06YCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGAke2xpbmVzLmpvaW4oXCJcXG5cIil9XFxuYDtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkRvY2tlckNvbXBvc2UiLCJrZXkiLCJXRUxMX0tOT1dOX0ZJTEVTIiwiRE9DS0VSX0NPTVBPU0UiLCJfcHJvamVjdE5hbWUiLCJfaGVhZGVyQ29tbWVudHMiLCJfc2VydmljZXMiLCJNYXAiLCJfdm9sdW1lcyIsIlNldCIsIl9uZXR3b3JrcyIsInNldFByb2plY3ROYW1lIiwibmFtZSIsImFkZEhlYWRlckNvbW1lbnQiLCJsaW5lcyIsInB1c2giLCJhZGRTZXJ2aWNlIiwiY29uZmlnIiwic2V0IiwiZmlsZXMiLCJmaWxlUGF0aCIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwiYWRkVm9sdW1lIiwiYWRkIiwiYWRkTmV0d29yayIsIm5ldHdvcmsiLCJhZGRFbnZGaWxlIiwic2VydmljZU5hbWUiLCJzdmMiLCJnZXQiLCJlbnZfZmlsZSIsImNvbW1lbnQiLCJzdGFydHNXaXRoIiwibGVuZ3RoIiwiYnVpbGQiLCJpbWFnZSIsImNvbnRhaW5lcl9uYW1lIiwiY29tbWFuZCIsInVzZXIiLCJyZXN0YXJ0IiwicHJvZmlsZXMiLCJwIiwiZiIsImVudmlyb25tZW50IiwiT2JqZWN0Iiwia2V5cyIsImsiLCJ2IiwiZW50cmllcyIsInBvcnRzIiwidm9sdW1lcyIsIm5ldHdvcmtzIiwib25seVN0cmluZ3MiLCJldmVyeSIsIm4iLCJuZXRLZXkiLCJjZmciLCJhbGlhc2VzIiwiYSIsImRlcGVuZHNfb24iLCJkIiwiaGVhbHRoY2hlY2siLCJoYyIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0ZXN0IiwiaW50ZXJ2YWwiLCJ0aW1lb3V0IiwicmV0cmllcyIsInNpemUiLCJuZXQiLCJleHRlcm5hbCIsImpvaW4iXSwibWFwcGluZ3MiOiI7Ozs7K0JBZ0RhQTs7O2VBQUFBOzs7dUJBaERvQjtBQWdEMUIsTUFBTUE7SUFDSUMsTUFBTUMsdUJBQWdCLENBQUNDLGNBQWMsQ0FBQztJQUM5Q0MsYUFBaUM7SUFDeEJDLGtCQUE0QixFQUFFLENBQUM7SUFDL0JDLFlBQXlDLElBQUlDLE1BQU07SUFDbkRDLFdBQXdCLElBQUlDLE1BQU07SUFDbENDLFlBQXlDLElBQUlILE1BQU07SUFFcEUsNEVBQTRFLEdBQzVFLEFBQU9JLGVBQWVDLElBQVksRUFBUTtRQUN6QyxJQUFJLENBQUNSLFlBQVksR0FBR1E7UUFDcEIsT0FBTyxJQUFJO0lBQ1o7SUFFQSxrRUFBa0UsR0FDbEUsQUFBT0MsaUJBQWlCLEdBQUdDLEtBQWUsRUFBUTtRQUNqRCxJQUFJLENBQUNULGVBQWUsQ0FBQ1UsSUFBSSxJQUFJRDtRQUM3QixPQUFPLElBQUk7SUFDWjtJQUVPRSxXQUFXSixJQUFZLEVBQUVLLE1BQXNCLEVBQVE7UUFDN0QsSUFBSSxDQUFDWCxTQUFTLENBQUNZLEdBQUcsQ0FBQ04sTUFBTUs7UUFDekIsT0FBTyxJQUFJO0lBQ1o7SUFFT0UsUUFBUTtRQUNkLE9BQU87WUFDTjtnQkFDQ0MsVUFBVTtnQkFDVkMsU0FB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
|
|
@@ -84,5 +84,3 @@ function injectYamlDataSource(yaml, item) {
|
|
|
84
84
|
lines.splice(insertAt, 0, ...insertLines);
|
|
85
85
|
return lines.join("\n");
|
|
86
86
|
}
|
|
87
|
-
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvY29uZmlnLXlhbWwubW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB0eXBlIHsgS2V5ZWRNb2RlbCwgU291cmNlRmlsZSB9IGZyb20gXCIuL3NvdXJjZS1maWxlLmpzXCI7XG5cbi8qKlxuICogQnVpbGRlciBmb3IgYSBZQU1MIGNvbmZpZyBmaWxlIChlLmcuIGNvbmZpZy9jb25maWcueWFtbCBvciBjb25maWcvY29uZmlnLmRldi55YW1sKS5cbiAqXG4gKiBTdGFydHMgd2l0aCBhIGJhc2Ugc2VjdGlvbiBwYXNzZWQgdG8gdGhlIGNvbnN0cnVjdG9yLiBGZWF0dXJlcyBjYWxsXG4gKiBgYWRkU2VjdGlvbih5YW1sKWAgZHVyaW5nIHRoZWlyIHNjYWZmb2xkIHBoYXNlIHRvIGFwcGVuZCB0aGVpciBvd24gYmxvY2suXG4gKiBgZmlsZXMoKWAgam9pbnMgYWxsIHNlY3Rpb25zIHdpdGggYSBibGFuayBsaW5lIHNlcGFyYXRvci5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbmZpZ1lhbWwgaW1wbGVtZW50cyBLZXllZE1vZGVsIHtcblx0cHJpdmF0ZSByZWFkb25seSBfc2VjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKFxuXHRcdHB1YmxpYyByZWFkb25seSBrZXk6IHN0cmluZyxcblx0XHRwcml2YXRlIHJlYWRvbmx5IGZpbGVQYXRoOiBzdHJpbmcsXG5cdFx0YmFzZUNvbnRlbnQ6IHN0cmluZyxcblx0KSB7XG5cdFx0dGhpcy5fc2VjdGlvbnMucHVzaChiYXNlQ29udGVudCk7XG5cdH1cblxuXHRwdWJsaWMgYWRkU2VjdGlvbih5YW1sOiBzdHJpbmcpOiB0aGlzIHtcblx0XHR0aGlzLl9zZWN0aW9ucy5wdXNoKHlhbWwpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqIFRydWUgd2hlbiBhIGRhdGFzb3VyY2Ugd2l0aCB0aGlzIGBuYW1lOmAgYWxyZWFkeSBhcHBlYXJzIGluIHRoZSBmaWxlLiAqL1xuXHRwdWJsaWMgaGFzRGF0YVNvdXJjZShuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5fc2VjdGlvbnMuam9pbihcIlxcblwiKS5pbmNsdWRlcyhgbmFtZTogJHtuYW1lfVxcbmApO1xuXHR9XG5cblx0cHVibGljIGhhc0RhdGFTb3VyY2VzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLl9zZWN0aW9ucy5qb2luKFwiXFxuXCIpLmluY2x1ZGVzKFwiZGF0YVNvdXJjZXM6XCIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEluc2VydCBhIGBkYXRhU291cmNlc2AgbGlzdCBpdGVtLiBVc2VkIGJ5IGB3ZWJhcGkgYWRkYCBzbyB3ZSBkbyBub3Qgd3JpdGUgYVxuXHQgKiBzZWNvbmQgdG9wLWxldmVsIGBkYXRhYmFzZTpgIGtleSAoWUFNTCBsYXN0LWtleS13aW5zKS5cblx0ICovXG5cdHB1YmxpYyBhcHBlbmREYXRhU291cmNlKGl0ZW06IHN0cmluZyk6IHRoaXMge1xuXHRcdGNvbnN0IGN1cnJlbnQgPSB0aGlzLl9zZWN0aW9ucy5qb2luKFwiXFxuXCIpO1xuXHRcdHRoaXMuX3NlY3Rpb25zLmxlbmd0aCA9IDA7XG5cdFx0dGhpcy5fc2VjdGlvbnMucHVzaChpbmplY3RZYW1sRGF0YVNvdXJjZShjdXJyZW50LCBpdGVtKSk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGZyb21GaWxlKGtleTogc3RyaW5nLCByZWxhdGl2ZVBhdGg6IHN0cmluZywgYWJzb2x1dGVQYXRoOiBzdHJpbmcpOiBDb25maWdZYW1sIHtcblx0XHRjb25zdCBjb250ZW50ID0gcmVhZEZpbGVTeW5jKGFic29sdXRlUGF0aCwgXCJ1dGY4XCIpO1xuXHRcdHJldHVybiBuZXcgQ29uZmlnWWFtbChrZXksIHJlbGF0aXZlUGF0aCwgY29udGVudCk7XG5cdH1cblxuXHRwdWJsaWMgZmlsZXMoKTogU291cmNlRmlsZVtdIHtcblx0XHRyZXR1cm4gW3sgZmlsZVBhdGg6IHRoaXMuZmlsZVBhdGgsIGNvbnRlbnQ6IHRoaXMuX3NlY3Rpb25zLmpvaW4oXCJcXG5cIikgfV07XG5cdH1cbn1cblxuLyoqIEluc2VydCBhIFlBTUwgbGlzdCBpdGVtIHVuZGVyIGBkYXRhU291cmNlczpgOyBhcHBlbmQgYSBuZXcgYGRhdGFiYXNlOmAgYmxvY2sgaWYgbWlzc2luZy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RZYW1sRGF0YVNvdXJjZSh5YW1sOiBzdHJpbmcsIGl0ZW06IHN0cmluZyk6IHN0cmluZyB7XG5cdGNvbnN0IGJsb2NrID0gaXRlbS5yZXBsYWNlKC9cXG4kLywgXCJcIik7XG5cdGlmICgheWFtbC5pbmNsdWRlcyhcImRhdGFTb3VyY2VzOlwiKSkge1xuXHRcdGNvbnN0IHByZWZpeCA9IHlhbWwudHJpbUVuZCgpO1xuXHRcdGNvbnN0IHNlY3Rpb24gPSBgZGF0YWJhc2U6XFxuICBkYXRhU291cmNlczpcXG4ke2Jsb2NrfVxcbmA7XG5cdFx0cmV0dXJuIHByZWZpeC5sZW5ndGggPiAwID8gYCR7cHJlZml4fVxcblxcbiR7c2VjdGlvbn1gIDogc2VjdGlvbjtcblx0fVxuXHRjb25zdCBsaW5lcyA9IHlhbWwuc3BsaXQoXCJcXG5cIik7XG5cdGNvbnN0IGRzSW5kZXggPSBsaW5lcy5maW5kSW5kZXgoKGxpbmUpID0+IC9eXFxzKmRhdGFTb3VyY2VzOlxccyokLy50ZXN0KGxpbmUpKTtcblx0aWYgKGRzSW5kZXggPCAwKSB7XG5cdFx0cmV0dXJuIGAke3lhbWwudHJpbUVuZCgpfVxcblxcbmRhdGFiYXNlOlxcbiAgZGF0YVNvdXJjZXM6XFxuJHtibG9ja31cXG5gO1xuXHR9XG5cdGxldCBpbnNlcnRBdCA9IGxpbmVzLmxlbmd0aDtcblx0Zm9yIChsZXQgaSA9IGRzSW5kZXggKyAxOyBpIDwgbGluZXMubGVuZ3RoOyBpKyspIHtcblx0XHRpZiAoL15bQS1aYS16XS8udGVzdChsaW5lc1tpXSA/PyBcIlwiKSkge1xuXHRcdFx0aW5zZXJ0QXQgPSBpO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHR9XG5cdGNvbnN0IGluc2VydExpbmVzID0gYmxvY2suc3BsaXQoXCJcXG5cIik7XG5cdGlmIChpbnNlcnRBdCA8IGxpbmVzLmxlbmd0aCAmJiBsaW5lc1tpbnNlcnRBdCAtIDFdICE9PSBcIlwiKSB7XG5cdFx0aW5zZXJ0TGluZXMucHVzaChcIlwiKTtcblx0fVxuXHRsaW5lcy5zcGxpY2UoaW5zZXJ0QXQsIDAsIC4uLmluc2VydExpbmVzKTtcblx0cmV0dXJuIGxpbmVzLmpvaW4oXCJcXG5cIik7XG59XG4iXSwibmFtZXMiOlsiQ29uZmlnWWFtbCIsImluamVjdFlhbWxEYXRhU291cmNlIiwiX3NlY3Rpb25zIiwia2V5IiwiZmlsZVBhdGgiLCJiYXNlQ29udGVudCIsInB1c2giLCJhZGRTZWN0aW9uIiwieWFtbCIsImhhc0RhdGFTb3VyY2UiLCJuYW1lIiwiam9pbiIsImluY2x1ZGVzIiwiaGFzRGF0YVNvdXJjZXMiLCJhcHBlbmREYXRhU291cmNlIiwiaXRlbSIsImN1cnJlbnQiLCJsZW5ndGgiLCJmcm9tRmlsZSIsInJlbGF0aXZlUGF0aCIsImFic29sdXRlUGF0aCIsImNvbnRlbnQiLCJyZWFkRmlsZVN5bmMiLCJmaWxlcyIsImJsb2NrIiwicmVwbGFjZSIsInByZWZpeCIsInRyaW1FbmQiLCJzZWN0aW9uIiwibGluZXMiLCJzcGxpdCIsImRzSW5kZXgiLCJmaW5kSW5kZXgiLCJsaW5lIiwidGVzdCIsImluc2VydEF0IiwiaSIsImluc2VydExpbmVzIiwic3BsaWNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQVVhQTtlQUFBQTs7UUErQ0dDO2VBQUFBOzs7d0JBekRhO0FBVXRCLE1BQU1EOzs7SUFDS0UsWUFBc0IsRUFBRSxDQUFDO0lBRTFDLFlBQ0MsQUFBZ0JDLEdBQVcsRUFDM0Is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
|
|
@@ -28,5 +28,3 @@ const WELL_KNOWN_FILES = {
|
|
|
28
28
|
AUTH_CONFIG: "AUTH_CONFIG",
|
|
29
29
|
ENV_FILE: "ENV_FILE"
|
|
30
30
|
};
|
|
31
|
-
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvY29uc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFdFTExfS05PV05fRklMRVMgPSB7XG5cdFZTQ09ERV9TRVRUSU5HUzogXCJWU0NPREVfU0VUVElOR1NcIixcblx0TEFVTkNIX0pTT046IFwiTEFVTkNIX0pTT05cIixcblx0RE9DS0VSX0NPTVBPU0U6IFwiRE9DS0VSX0NPTVBPU0VcIixcblx0REVWQ09OVEFJTkVSX0pTT046IFwiREVWQ09OVEFJTkVSX0pTT05cIixcblx0RE9DS0VSRklMRTogXCJET0NLRVJGSUxFXCIsXG5cdFBST0RVQ1RJT05fRE9DS0VSRklMRTogXCJQUk9EVUNUSU9OX0RPQ0tFUkZJTEVcIixcblx0R0lUSFVCX0NJOiBcIkdJVEhVQl9DSVwiLFxuXHRQQUNLQUdFX0pTT046IFwiUEFDS0FHRV9KU09OXCIsXG5cdEFQSV9QQUNLQUdFX0pTT046IFwiQVBJX1BBQ0tBR0VfSlNPTlwiLFxuXHRUU0NPTkZJRzogXCJUU0NPTkZJR1wiLFxuXHRWSVRFU1RfQ09ORklHOiBcIlZJVEVTVF9DT05GSUdcIixcblx0TUFJTl9UUzogXCJNQUlOX1RTXCIsXG5cdENPTlRST0xMRVJfVFM6IFwiQ09OVFJPTExFUl9UU1wiLFxuXHRDT05GSUdfWUFNTDogXCJDT05GSUdfWUFNTFwiLFxuXHRDT05GSUdfREVWX1lBTUw6IFwiQ09ORklHX0RFVl9ZQU1MXCIsXG5cdEdJVElHTk9SRTogXCJHSVRJR05PUkVcIixcblx0QVVUSF9DT05GSUc6IFwiQVVUSF9DT05GSUdcIixcblx0RU5WX0ZJTEU6IFwiRU5WX0ZJTEVcIixcbn07XG4iXSwibmFtZXMiOlsiV0VMTF9LTk9XTl9GSUxFUyIsIlZTQ09ERV9TRVRUSU5HUyIsIkxBVU5DSF9KU09OIiwiRE9DS0VSX0NPTVBPU0UiLCJERVZDT05UQUlORVJfSlNPTiIsIkRPQ0tFUkZJTEUiLCJQUk9EVUNUSU9OX0RPQ0tFUkZJTEUiLCJHSVRIVUJfQ0kiLCJQQUNLQUdFX0pTT04iLCJBUElfUEFDS0FHRV9KU09OIiwiVFNDT05GSUciLCJWSVRFU1RfQ09ORklHIiwiTUFJTl9UUyIsIkNPTlRST0xMRVJfVFMiLCJDT05GSUdfWUFNTCIsIkNPTkZJR19ERVZfWUFNTCIsIkdJVElHTk9SRSIsIkFVVEhfQ09ORklHIiwiRU5WX0ZJTEUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBQWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLG1CQUFtQjtJQUMvQkMsaUJBQWlCO0lBQ2pCQyxhQUFhO0lBQ2JDLGdCQUFnQjtJQUNoQkMsbUJBQW1CO0lBQ25CQyxZQUFZO0lBQ1pDLHVCQUF1QjtJQUN2QkMsV0FBVztJQUNYQyxjQUFjO0lBQ2RDLGtCQUFrQjtJQUNsQkMsVUFBVTtJQUNWQyxlQUFlO0lBQ2ZDLFNBQVM7SUFDVEMsZUFBZTtJQUNmQyxhQUFhO0lBQ2JDLGlCQUFpQjtJQUNqQkMsV0FBVztJQUNYQyxhQUFhO0lBQ2JDLFVBQVU7QUFDWCJ9
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "DevContainer", {
|
|
|
8
8
|
return DevContainer;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _nodefs = require("node:fs");
|
|
11
12
|
const _const = require("./const.js");
|
|
12
13
|
class DevContainer {
|
|
13
14
|
key = _const.WELL_KNOWN_FILES.DEVCONTAINER_JSON;
|
|
@@ -22,6 +23,19 @@ class DevContainer {
|
|
|
22
23
|
_initializeCommand;
|
|
23
24
|
_remoteUser = "node";
|
|
24
25
|
_useCompose = false;
|
|
26
|
+
_existing;
|
|
27
|
+
/**
|
|
28
|
+
* Load an existing devcontainer.json so `decohere add api` can merge into it.
|
|
29
|
+
* Only extensions, forwarded ports and port attributes are merged; everything else is kept.
|
|
30
|
+
*/ static fromFile(absolutePath) {
|
|
31
|
+
const devContainer = new DevContainer();
|
|
32
|
+
try {
|
|
33
|
+
devContainer._existing = JSON.parse((0, _nodefs.readFileSync)(absolutePath, "utf8"));
|
|
34
|
+
} catch (error) {
|
|
35
|
+
throw new Error(`Can't update ${absolutePath}: it isn't plain JSON (${error.message}). Remove any comments or trailing commas and try again.`);
|
|
36
|
+
}
|
|
37
|
+
return devContainer;
|
|
38
|
+
}
|
|
25
39
|
constructor(){
|
|
26
40
|
this._mounts = [
|
|
27
41
|
this.bindMount(this._workspaceFolder)
|
|
@@ -74,6 +88,33 @@ class DevContainer {
|
|
|
74
88
|
return this;
|
|
75
89
|
}
|
|
76
90
|
files() {
|
|
91
|
+
const config = this._existing ? this.mergeIntoExisting(this._existing) : this.build();
|
|
92
|
+
return [
|
|
93
|
+
{
|
|
94
|
+
filePath: ".devcontainer/devcontainer.json",
|
|
95
|
+
content: JSON.stringify(config, null, 2)
|
|
96
|
+
}
|
|
97
|
+
];
|
|
98
|
+
}
|
|
99
|
+
mergeIntoExisting(existing) {
|
|
100
|
+
const config = structuredClone(existing);
|
|
101
|
+
if (this._extensions.length > 0) {
|
|
102
|
+
const customizations = objectAt(config, "customizations");
|
|
103
|
+
const vscode = objectAt(customizations, "vscode");
|
|
104
|
+
vscode.extensions = union(vscode.extensions, this._extensions);
|
|
105
|
+
}
|
|
106
|
+
if (this._ports.length > 0) {
|
|
107
|
+
config.forwardPorts = union(config.forwardPorts, this._ports);
|
|
108
|
+
}
|
|
109
|
+
if (this._portAttributes.size > 0) {
|
|
110
|
+
const attributes = objectAt(config, "portsAttributes");
|
|
111
|
+
for (const [port, attrs] of this._portAttributes){
|
|
112
|
+
attributes[String(port)] ??= attrs;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return config;
|
|
116
|
+
}
|
|
117
|
+
build() {
|
|
77
118
|
const config = {};
|
|
78
119
|
if (this._useCompose) {
|
|
79
120
|
config.dockerComposeFile = "docker-compose.yml";
|
|
@@ -115,13 +156,17 @@ class DevContainer {
|
|
|
115
156
|
if (this._remoteUser) {
|
|
116
157
|
config.remoteUser = this._remoteUser;
|
|
117
158
|
}
|
|
118
|
-
return
|
|
119
|
-
{
|
|
120
|
-
filePath: ".devcontainer/devcontainer.json",
|
|
121
|
-
content: JSON.stringify(config, null, 2)
|
|
122
|
-
}
|
|
123
|
-
];
|
|
159
|
+
return config;
|
|
124
160
|
}
|
|
125
161
|
}
|
|
126
|
-
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvZGV2LWNvbnRhaW5lci5tb2RlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXRUxMX0tOT1dOX0ZJTEVTIH0gZnJvbSBcIi4vY29uc3QuanNcIjtcbmltcG9ydCB0eXBlIHsgS2V5ZWRNb2RlbCwgU291cmNlRmlsZSB9IGZyb20gXCIuL3NvdXJjZS1maWxlLmpzXCI7XG5cbi8qKlxuICogTW9kZWwgZm9yIGAuZGV2Y29udGFpbmVyL2RldmNvbnRhaW5lci5qc29uYC5cbiAqXG4gKiBGZWF0dXJlcyBjYWxsIGJ1aWxkZXIgbWV0aG9kcyAoYGFkZEV4dGVuc2lvbmAsIGBmb3J3YXJkUG9ydGAsIGV0Yy4pIGR1cmluZ1xuICogdGhlaXIgY29uZmlndXJlIHBoYXNlLiBgTW9ub1JlcG9TY2FmZm9sZGAgY2FsbHMgYGZpbGVzKClgIGF0IHJlbmRlciB0aW1lLlxuICovXG5cbmV4cG9ydCB0eXBlIFBvcnRBdHRyaWJ1dGVzID0ge1xuXHRsYWJlbD86IHN0cmluZztcblx0LyoqIFdoZW4gdHJ1ZSwgaG9zdCBwb3J0IG11c3QgbWF0Y2ggdGhlIGNvbnRhaW5lciBwb3J0IChubyByYW5kb20gcmVtYXApLiAqL1xuXHRyZXF1aXJlTG9jYWxQb3J0PzogYm9vbGVhbjtcblx0b25BdXRvRm9yd2FyZD86IFwibm90aWZ5XCIgfCBcIm9wZW5Ccm93c2VyXCIgfCBcIm9wZW5QcmV2aWV3XCIgfCBcInNpbGVudFwiIHwgXCJpZ25vcmVcIjtcbn07XG5cbmV4cG9ydCBjbGFzcyBEZXZDb250YWluZXIgaW1wbGVtZW50cyBLZXllZE1vZGVsIHtcblx0cHVibGljIHJlYWRvbmx5IGtleSA9IFdFTExfS05PV05fRklMRVMuREVWQ09OVEFJTkVSX0pTT047XG5cdHByaXZhdGUgcmVhZG9ubHkgX2V4dGVuc2lvbnM6IHN0cmluZ1tdID0gW107XG5cdHByaXZhdGUgcmVhZG9ubHkgX3BvcnRzOiBudW1iZXJbXSA9IFtdO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9wb3J0QXR0cmlidXRlcyA9IG5ldyBNYXA8bnVtYmVyLCBQb3J0QXR0cmlidXRlcz4oKTtcblx0cHJpdmF0ZSBfbW91bnRzOiBzdHJpbmdbXTtcblx0cHJpdmF0ZSBfd29ya3NwYWNlRm9sZGVyID0gXCIvd29ya3NwYWNlXCI7XG5cdHByaXZhdGUgX3Bvc3RDcmVhdGVDb21tYW5kPzogc3RyaW5nO1xuXHRwcml2YXRlIF91cGRhdGVDb250ZW50Q29tbWFuZD86IHN0cmluZztcblx0cHJpdmF0ZSBfcG9zdFN0YXJ0Q29tbWFuZD86IHN0cmluZztcblx0cHJpdmF0ZSBfaW5pdGlhbGl6ZUNvbW1hbmQ/OiBzdHJpbmc7XG5cdHByaXZhdGUgX3JlbW90ZVVzZXIgPSBcIm5vZGVcIjtcblx0cHJpdmF0ZSBfdXNlQ29tcG9zZSA9IGZhbHNlO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLl9tb3VudHMgPSBbdGhpcy5iaW5kTW91bnQodGhpcy5fd29ya3NwYWNlRm9sZGVyKV07XG5cdH1cblxuXHQvKiogSW4tY29udGFpbmVyIHBhdGggQ3Vyc29yL1ZTIENvZGUgb3BlbnMgKEFnZW50cyB3aW5kb3cgdXNlcyB0aGUgYmFzZW5hbWUpLiAqL1xuXHRwdWJsaWMgc2V0V29ya3NwYWNlRm9sZGVyKGZvbGRlcjogc3RyaW5nKTogdGhpcyB7XG5cdFx0dGhpcy5fd29ya3NwYWNlRm9sZGVyID0gZm9sZGVyO1xuXHRcdHRoaXMuX21vdW50cyA9IFt0aGlzLmJpbmRNb3VudChmb2xkZXIpXTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHByaXZhdGUgYmluZE1vdW50KHRhcmdldDogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYHNvdXJjZT0uLix0YXJnZXQ9JHt0YXJnZXR9LHR5cGU9YmluZCxjb25zaXN0ZW5jeT1jYWNoZWRgO1xuXHR9XG5cblx0cHVibGljIGFkZEV4dGVuc2lvbiguLi5pZHM6IHN0cmluZ1tdKTogdGhpcyB7XG5cdFx0dGhpcy5fZXh0ZW5zaW9ucy5wdXNoKC4uLmlkcyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgZm9yd2FyZFBvcnQoLi4ucG9ydHM6IG51bWJlcltdKTogdGhpcyB7XG5cdFx0dGhpcy5fcG9ydHMucHVzaCguLi5wb3J0cyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgc2V0UG9ydEF0dHJpYnV0ZXMocG9ydDogbnVtYmVyLCBhdHRyczogUG9ydEF0dHJpYnV0ZXMpOiB0aGlzIHtcblx0XHR0aGlzLl9wb3J0QXR0cmlidXRlcy5zZXQocG9ydCwgYXR0cnMpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cHVibGljIHNldFBvc3RDcmVhdGVDb21tYW5kKGNtZDogc3RyaW5nKTogdGhpcyB7XG5cdFx0dGhpcy5fcG9zdENyZWF0ZUNvbW1hbmQgPSBjbWQ7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgc2V0VXBkYXRlQ29udGVudENvbW1hbmQoY21kOiBzdHJpbmcpOiB0aGlzIHtcblx0XHR0aGlzLl91cGRhdGVDb250ZW50Q29tbWFuZCA9IGNtZDtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHB1YmxpYyBzZXRQb3N0U3RhcnRDb21tYW5kKGNtZDogc3RyaW5nKTogdGhpcyB7XG5cdFx0dGhpcy5fcG9zdFN0YXJ0Q29tbWFuZCA9IGNtZDtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHB1YmxpYyBzZXRJbml0aWFsaXplQ29tbWFuZChjbWQ6IHN0cmluZyk6IHRoaXMge1xuXHRcdHRoaXMuX2luaXRpYWxpemVDb21tYW5kID0gY21kO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cHVibGljIHNldFJlbW90ZVVzZXIodXNlcjogc3RyaW5nKTogdGhpcyB7XG5cdFx0dGhpcy5fcmVtb3RlVXNlciA9IHVzZXI7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgdXNlQ29tcG9zZSgpOiB0aGlzIHtcblx0XHR0aGlzLl91c2VDb21wb3NlID0gdHJ1ZTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHB1YmxpYyBmaWxlcygpOiBTb3VyY2VGaWxlW10ge1xuXHRcdGNvbnN0IGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuXHRcdGlmICh0aGlzLl91c2VDb21wb3NlKSB7XG5cdFx0XHRjb25maWcuZG9ja2VyQ29tcG9zZUZpbGUgPSBcImRvY2tlci1jb21wb3NlLnltbFwiO1xuXHRcdFx0Y29uZmlnLnNlcnZpY2UgPSBcImRldmNvbnRhaW5lclwiO1xuXHRcdFx0Y29uZmlnLndvcmtzcGFjZUZvbGRlciA9IHRoaXMuX3dvcmtzcGFjZUZvbGRlcjtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5faW5pdGlhbGl6ZUNvbW1hbmQpIHtcblx0XHRcdGNvbmZpZy5pbml0aWFsaXplQ29tbWFuZCA9IHRoaXMuX2luaXRpYWxpemVDb21tYW5kO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLl9tb3VudHMpIHtcblx0XHRcdGNvbmZpZy5tb3VudHMgPSB0aGlzLl9tb3VudHM7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuX2V4dGVuc2lvbnMubGVuZ3RoID4gMCkge1xuXHRcdFx0Y29uZmlnLmN1c3RvbWl6YXRpb25zID0geyB2c2NvZGU6IHsgZXh0ZW5zaW9uczogdGhpcy5fZXh0ZW5zaW9ucyB9IH07XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuX3BvcnRzLmxlbmd0aCA+IDApIHtcblx0XHRcdGNvbmZpZy5mb3J3YXJkUG9ydHMgPSB0aGlzLl9wb3J0cztcblx0XHR9XG5cblx0XHRpZiAodGhpcy5fcG9ydEF0dHJpYnV0ZXMuc2l6ZSA+IDApIHtcblx0XHRcdGNvbnN0IHBvcnRzQXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgUG9ydEF0dHJpYnV0ZXM+ID0ge307XG5cdFx0XHRmb3IgKGNvbnN0IFtwb3J0LCBhdHRyc10gb2YgdGhpcy5fcG9ydEF0dHJpYnV0ZXMpIHtcblx0XHRcdFx0cG9ydHNBdHRyaWJ1dGVzW1N0cmluZyhwb3J0KV0gPSBhdHRycztcblx0XHRcdH1cblx0XHRcdGNvbmZpZy5wb3J0c0F0dHJpYnV0ZXMgPSBwb3J0c0F0dHJpYnV0ZXM7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuX3Bvc3RDcmVhdGVDb21tYW5kKSB7XG5cdFx0XHRjb25maWcucG9zdENyZWF0ZUNvbW1hbmQgPSB0aGlzLl9wb3N0Q3JlYXRlQ29tbWFuZDtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5fdXBkYXRlQ29udGVudENvbW1hbmQpIHtcblx0XHRcdGNvbmZpZy51cGRhdGVDb250ZW50Q29tbWFuZCA9IHRoaXMuX3VwZGF0ZUNvbnRlbnRDb21tYW5kO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLl9wb3N0U3RhcnRDb21tYW5kKSB7XG5cdFx0XHRjb25maWcucG9zdFN0YXJ0Q29tbWFuZCA9IHRoaXMuX3Bvc3RTdGFydENvbW1hbmQ7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuX3JlbW90ZVVzZXIpIHtcblx0XHRcdGNvbmZpZy5yZW1vdGVVc2VyID0gdGhpcy5fcmVtb3RlVXNlcjtcblx0XHR9XG5cblx0XHRyZXR1cm4gW1xuXHRcdFx0e1xuXHRcdFx0XHRmaWxlUGF0aDogXCIuZGV2Y29udGFpbmVyL2RldmNvbnRhaW5lci5qc29uXCIsXG5cdFx0XHRcdGNvbnRlbnQ6IEpTT04uc3RyaW5naWZ5KGNvbmZpZywgbnVsbCwgMiksXG5cdFx0XHR9LFxuXHRcdF07XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJEZXZDb250YWluZXIiLCJrZXkiLCJXRUxMX0tOT1dOX0ZJTEVTIiwiREVWQ09OVEFJTkVSX0pTT04iLCJfZXh0ZW5zaW9ucyIsIl9wb3J0cyIsIl9wb3J0QXR0cmlidXRlcyIsIk1hcCIsIl9tb3VudHMiLCJfd29ya3NwYWNlRm9sZGVyIiwiX3Bvc3RDcmVhdGVDb21tYW5kIiwiX3VwZGF0ZUNvbnRlbnRDb21tYW5kIiwiX3Bvc3RTdGFydENvbW1hbmQiLCJfaW5pdGlhbGl6ZUNvbW1hbmQiLCJfcmVtb3RlVXNlciIsIl91c2VDb21wb3NlIiwiYmluZE1vdW50Iiwic2V0V29ya3NwYWNlRm9sZGVyIiwiZm9sZGVyIiwidGFyZ2V0IiwiYWRkRXh0ZW5zaW9uIiwiaWRzIiwicHVzaCIsImZvcndhcmRQb3J0IiwicG9ydHMiLCJzZXRQb3J0QXR0cmlidXRlcyIsInBvcnQiLCJhdHRycyIsInNldCIsInNldFBvc3RDcmVhdGVDb21tYW5kIiwiY21kIiwic2V0VXBkYXRlQ29udGVudENvbW1hbmQiLCJzZXRQb3N0U3RhcnRDb21tYW5kIiwic2V0SW5pdGlhbGl6ZUNvbW1hbmQiLCJzZXRSZW1vdGVVc2VyIiwidXNlciIsInVzZUNvbXBvc2UiLCJmaWxlcyIsImNvbmZpZyIsImRvY2tlckNvbXBvc2VGaWxlIiwic2VydmljZSIsIndvcmtzcGFjZUZvbGRlciIsImluaXRpYWxpemVDb21tYW5kIiwibW91bnRzIiwibGVuZ3RoIiwiY3VzdG9taXphdGlvbnMiLCJ2c2NvZGUiLCJleHRlbnNpb25zIiwiZm9yd2FyZFBvcnRzIiwic2l6ZSIsInBvcnRzQXR0cmlidXRlcyIsIlN0cmluZyIsInBvc3RDcmVhdGVDb21tYW5kIiwidXBkYXRlQ29udGVudENvbW1hbmQiLCJwb3N0U3RhcnRDb21tYW5kIiwicmVtb3RlVXNlciIsImZpbGVQYXRoIiwiY29udGVudCIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7K0JBaUJhQTs7O2VBQUFBOzs7dUJBakJvQjtBQWlCMUIsTUFBTUE7SUFDSUMsTUFBTUMsdUJBQWdCLENBQUNDLGlCQUFpQixDQUFDO0lBQ3hDQyxjQUF3QixFQUFFLENBQUM7SUFDM0JDLFNBQW1CLEVBQUUsQ0FBQztJQUN0QkMsa0JBQWtCLElBQUlDLE1BQThCO0lBQzdEQyxRQUFrQjtJQUNsQkMsbUJBQW1CLGFBQWE7SUFDaENDLG1CQUE0QjtJQUM1QkMsc0JBQStCO0lBQy9CQyxrQkFBMkI7SUFDM0JDLG1CQUE0QjtJQUM1QkMsY0FB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
|
|
162
|
+
/** The object at `parent[key]`, created when missing. */ function objectAt(parent, key) {
|
|
163
|
+
parent[key] ??= {};
|
|
164
|
+
return parent[key];
|
|
165
|
+
}
|
|
166
|
+
function union(existing, additions) {
|
|
167
|
+
const items = Array.isArray(existing) ? [
|
|
168
|
+
...existing
|
|
169
|
+
] : [];
|
|
170
|
+
for (const item of additions)if (!items.includes(item)) items.push(item);
|
|
171
|
+
return items;
|
|
172
|
+
}
|
|
@@ -46,6 +46,7 @@ _export(exports, {
|
|
|
46
46
|
return withWorkspaceNodeModulesOwnership;
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
|
+
const _nodefs = require("node:fs");
|
|
49
50
|
const _const = require("./const.js");
|
|
50
51
|
class DockerStep {
|
|
51
52
|
key;
|
|
@@ -168,10 +169,22 @@ class DockerfileModel {
|
|
|
168
169
|
_layerWriters = [];
|
|
169
170
|
_fromImage;
|
|
170
171
|
_layerCounter = 0;
|
|
172
|
+
_existing;
|
|
171
173
|
constructor(baseImage){
|
|
172
174
|
this._fromImage = baseImage;
|
|
173
175
|
this.registerBaseLayers();
|
|
174
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Load an existing Dockerfile so `decohere add api` can append feature layers.
|
|
179
|
+
* The new steps are appended as one block, unless the file already contains it.
|
|
180
|
+
*/ static fromFile(absolutePath, filePath) {
|
|
181
|
+
const dockerfile = new DockerfileModel("");
|
|
182
|
+
dockerfile._existing = {
|
|
183
|
+
content: (0, _nodefs.readFileSync)(absolutePath, "utf8"),
|
|
184
|
+
filePath
|
|
185
|
+
};
|
|
186
|
+
return dockerfile;
|
|
187
|
+
}
|
|
175
188
|
from(baseImage) {
|
|
176
189
|
this._fromImage = baseImage;
|
|
177
190
|
return this;
|
|
@@ -207,9 +220,6 @@ class DockerfileModel {
|
|
|
207
220
|
for (const layerWriter of this._layerWriters){
|
|
208
221
|
layerWriter(this);
|
|
209
222
|
}
|
|
210
|
-
const lines = [
|
|
211
|
-
`FROM ${this._fromImage}`
|
|
212
|
-
];
|
|
213
223
|
const sortedSteps = [
|
|
214
224
|
...this._steps.values()
|
|
215
225
|
].sort((left, right)=>{
|
|
@@ -218,6 +228,16 @@ class DockerfileModel {
|
|
|
218
228
|
}
|
|
219
229
|
return left.key.localeCompare(right.key, "en");
|
|
220
230
|
});
|
|
231
|
+
if (this._existing) {
|
|
232
|
+
// All or nothing: skipping one step of a layer (e.g. its `USER root`) would break the rest.
|
|
233
|
+
const { content } = this._existing;
|
|
234
|
+
const block = sortedSteps.map((step)=>step.content).join("\n\n");
|
|
235
|
+
if (block === "" || content.includes(block)) return content;
|
|
236
|
+
return `${content.replace(/\n*$/, "\n")}\n${block}\n`;
|
|
237
|
+
}
|
|
238
|
+
const lines = [
|
|
239
|
+
`FROM ${this._fromImage}`
|
|
240
|
+
];
|
|
221
241
|
for (const step of sortedSteps){
|
|
222
242
|
lines.push("", step.content);
|
|
223
243
|
}
|
|
@@ -229,7 +249,7 @@ class DockerfileModel {
|
|
|
229
249
|
files() {
|
|
230
250
|
return [
|
|
231
251
|
{
|
|
232
|
-
filePath: "./Dockerfile",
|
|
252
|
+
filePath: this._existing?.filePath ?? "./Dockerfile",
|
|
233
253
|
content: this.build()
|
|
234
254
|
}
|
|
235
255
|
];
|
|
@@ -255,5 +275,3 @@ class DevContainerImageModel extends DockerfileModel {
|
|
|
255
275
|
];
|
|
256
276
|
}
|
|
257
277
|
}
|
|
258
|
-
|
|
259
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvZG9ja2VyLWltYWdlLm1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdFTExfS05PV05fRklMRVMgfSBmcm9tIFwiLi9jb25zdC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBLZXllZE1vZGVsLCBTb3VyY2VGaWxlIH0gZnJvbSBcIi4vc291cmNlLWZpbGUuanNcIjtcblxuZXhwb3J0IHR5cGUgTGF5ZXJXcml0ZXIgPSAoZG9ja2VyZmlsZTogRG9ja2VyZmlsZU1vZGVsKSA9PiB2b2lkO1xuXG5leHBvcnQgY2xhc3MgRG9ja2VyU3RlcCB7XG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihcblx0XHRwdWJsaWMgcmVhZG9ubHkga2V5OiBzdHJpbmcsXG5cdFx0cHVibGljIHJlYWRvbmx5IGNvbnRlbnQ6IHN0cmluZyxcblx0XHRwdWJsaWMgcmVhZG9ubHkgb3JkZXIgPSAwLFxuXHQpIHt9XG5cblx0cHVibGljIHN0YXRpYyBydW4oa2V5OiBzdHJpbmcsIGNvbW1hbmQ6IHN0cmluZywgb3JkZXIgPSAwKSB7XG5cdFx0cmV0dXJuIG5ldyBEb2NrZXJTdGVwKGtleSwgYFJVTiAke2NvbW1hbmR9YCwgb3JkZXIpO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyByYXcoa2V5OiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZywgb3JkZXIgPSAwKSB7XG5cdFx0cmV0dXJuIG5ldyBEb2NrZXJTdGVwKGtleSwgY29udGVudCwgb3JkZXIpO1xuXHR9XG5cblx0cHVibGljIHN0YXRpYyBlbnRyeXBvaW50KGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgcmVhZG9ubHkgc3RyaW5nW10sIG9yZGVyID0gMCkge1xuXHRcdGNvbnN0IGNvbnRlbnQgPVxuXHRcdFx0dHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiXG5cdFx0XHRcdD8gYEVOVFJZUE9JTlQgJHt2YWx1ZX1gXG5cdFx0XHRcdDogYEVOVFJZUE9JTlQgJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9YDtcblx0XHRyZXR1cm4gbmV3IERvY2tlclN0ZXAoa2V5LCBjb250ZW50LCBvcmRlcik7XG5cdH1cbn1cblxuY29uc3QgU3RlcE9yZGVyID0ge1xuXHRiYXNlOiAxXzAwMCxcblx0ZmVhdHVyZXM6IDVfMDAwLFxuXHR1c2VyOiA5XzAwMCxcblx0ZW50cnlwb2ludDogMTBfMDAwLFxufSBhcyBjb25zdDtcblxuY29uc3QgVlNDT0RFX0JPT1RMT0FERVJfRklYX0JBU0hfU05JUFBFVCA9IGBpZiBbWyAtbiBcIlxcJHtOT0RFX09QVElPTlM6LX1cIiAmJiBcIlxcJHtOT0RFX09QVElPTlN9XCIgPT0gKlwiYm9vdGxvYWRlci5qc1wiKiBdXTsgdGhlblxuICAgIF9ib290bG9hZGVyX3BhdGg9XCIkKHByaW50ZiAnJXNcXFxcbicgXCIkTk9ERV9PUFRJT05TXCIgfCBzZWQgLW4gJ3MvLiotLXJlcXVpcmVbPSBdXFxcXChbXls6c3BhY2U6XV0qYm9vdGxvYWRlclxcXFwuanNcXFxcKS4qL1xcXFwxL3AnKVwiXG4gICAgaWYgW1sgLW4gXCJcXCR7X2Jvb3Rsb2FkZXJfcGF0aH1cIiAmJiAhIC1mIFwiXFwke19ib290bG9hZGVyX3BhdGh9XCIgXV07IHRoZW5cbiAgICAgICAgX3N0YWJsZV9ib290bG9hZGVyPVwiJChmaW5kIC92c2NvZGUvdnNjb2RlLXNlcnZlciAvaG9tZS9ub2RlLy52c2NvZGUtc2VydmVyL2V4dGVuc2lvbnMgLW5hbWUgXCJib290bG9hZGVyLmpzXCIgLXBhdGggXCIqL21zLXZzY29kZS5qcy1kZWJ1Zy8qXCIgMj4vZGV2L251bGwgfCBoZWFkIC0xKVwiXG4gICAgICAgIGlmIFtbIC1uIFwiXFwke19zdGFibGVfYm9vdGxvYWRlcn1cIiBdXTsgdGhlblxuICAgICAgICAgICAgTk9ERV9PUFRJT05TPVwiXFwke05PREVfT1BUSU9OUy8vXFwke19ib290bG9hZGVyX3BhdGh9L1xcJHtfc3RhYmxlX2Jvb3Rsb2FkZXJ9fVwiXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIE5PREVfT1BUSU9OUz1cIiQocHJpbnRmICclc1xcXFxuJyBcIiROT0RFX09QVElPTlNcIiB8IHNlZCAtRSAncyMoXnwgKS0tcmVxdWlyZSg9fCApW1s6Z3JhcGg6XV0qYm9vdGxvYWRlclxcXFwuanMoIHwkKSMgI2c7IHMjICArIyAjZzsgcyNeICMjOyBzIyAkIyMnKVwiXG4gICAgICAgICAgICB1bnNldCBWU0NPREVfSU5TUEVDVE9SX09QVElPTlNcbiAgICAgICAgZmlcbiAgICAgICAgZXhwb3J0IE5PREVfT1BUSU9OU1xuICAgICAgICBpZiBbWyAteiBcIiROT0RFX09QVElPTlNcIiBdXTsgdGhlblxuICAgICAgICAgICAgdW5zZXQgTk9ERV9PUFRJT05TXG4gICAgICAgIGZpXG4gICAgZmlcbiAgICB1bnNldCBfYm9vdGxvYWRlcl9wYXRoIF9zdGFibGVfYm9vdGxvYWRlclxuZmlgO1xuXG4vKiogTmFtZWQgdm9sdW1lICsgcGF0aHMgZm9yIGludGVyYWN0aXZlIGJhc2ggaGlzdG9yeSBpbiBhcHAgRGV2IENvbnRhaW5lcnMuICovXG5leHBvcnQgY29uc3QgY29tbWFuZEhpc3RvcnkgPSB7XG5cdHZvbHVtZU5hbWU6IFwiYmFzaGhpc3RvcnlcIixcblx0ZGlyOiBcIi9jb21tYW5kaGlzdG9yeVwiLFxuXHRmaWxlTmFtZTogXCIuYmFzaF9oaXN0b3J5XCIsXG5cdGhpc3RGaWxlOiBcIi9jb21tYW5kaGlzdG9yeS8uYmFzaF9oaXN0b3J5XCIsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgZnVuY3Rpb24gd2l0aENvbW1hbmRIaXN0b3J5KG9wdGlvbnM/OiB7XG5cdGhpc3RvcnlEaXI/OiBzdHJpbmc7XG5cdGhpc3RvcnlGaWxlTmFtZT86IHN0cmluZztcblx0dXNlcm5hbWU/OiBzdHJpbmc7XG5cdG9yZGVyPzogbnVtYmVyO1xufSk6IExheWVyV3JpdGVyIHtcblx0Y29uc3QgaGlzdG9yeURpciA9IG9wdGlvbnM/Lmhpc3RvcnlEaXIgPz8gY29tbWFuZEhpc3RvcnkuZGlyO1xuXHRjb25zdCBoaXN0b3J5RmlsZU5hbWUgPSBvcHRpb25zPy5oaXN0b3J5RmlsZU5hbWUgPz8gY29tbWFuZEhpc3RvcnkuZmlsZU5hbWU7XG5cdGNvbnN0IHVzZXJuYW1lID0gb3B0aW9ucz8udXNlcm5hbWUgPz8gXCJub2RlXCI7XG5cdGNvbnN0IG9yZGVyID0gb3B0aW9ucz8ub3JkZXIgPz8gU3RlcE9yZGVyLmJhc2U7XG5cdGNvbnN0IGhpc3RvcnlGaWxlID0gYCR7aGlzdG9yeURpcn0vJHtoaXN0b3J5RmlsZU5hbWV9YDtcblxuXHRyZXR1cm4gKGRvY2tlcmZpbGUpID0+IHtcblx0XHRkb2NrZXJmaWxlXG5cdFx0XHQuYWRkU3RlcChcblx0XHRcdFx0RG9ja2VyU3RlcC5ydW4oXG5cdFx0XHRcdFx0XCJoaXN0b3J5LWRpclwiLFxuXHRcdFx0XHRcdGBta2RpciAtcCAke2hpc3RvcnlEaXJ9ICYmIHRvdWNoICR7aGlzdG9yeUZpbGV9ICYmIGNob3duIC1SICR7dXNlcm5hbWV9ICR7aGlzdG9yeURpcn1gLFxuXHRcdFx0XHRcdG9yZGVyLFxuXHRcdFx0XHQpLFxuXHRcdFx0KVxuXHRcdFx0LmFkZFN0ZXAoRG9ja2VyU3RlcC5yYXcoXCJoaXN0b3J5LWVudlwiLCBgRU5WIEhJU1RGSUxFPSR7aGlzdG9yeUZpbGV9YCwgb3JkZXIgKyAxKSlcblx0XHRcdC5hZGRTdGVwKFxuXHRcdFx0XHREb2NrZXJTdGVwLnJhdyhcblx0XHRcdFx0XHRcImhpc3RvcnktYmFzaHJjXCIsXG5cdFx0XHRcdFx0YFJVTiBTTklQUEVUPVwiZXhwb3J0IFBST01QVF9DT01NQU5EPSdoaXN0b3J5IC1hJyAmJiBleHBvcnQgSElTVEZJTEU9JHtoaXN0b3J5RmlsZX1cIiBcXFxcXFxuXFx0JiYgZWNobyBcIiRTTklQUEVUXCIgPj4gXCIvaG9tZS8ke3VzZXJuYW1lfS8uYmFzaHJjXCJgLFxuXHRcdFx0XHRcdG9yZGVyICsgMixcblx0XHRcdFx0KSxcblx0XHRcdCk7XG5cdH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTm9kZVVzZXIob3B0aW9ucz86IHtcblx0dXNlcm5hbWU/OiBzdHJpbmc7XG5cdGluY2x1ZGVVc2VySW5zdHJ1Y3Rpb24/OiBib29sZWFuO1xuXHRvcmRlcj86IG51bWJlcjtcbn0pOiBMYXllcldyaXRlciB7XG5cdGNvbnN0IHVzZXJuYW1lID0gb3B0aW9ucz8udXNlcm5hbWUgPz8gXCJub2RlXCI7XG5cdGNvbnN0IGluY2x1ZGVVc2VySW5zdHJ1Y3Rpb24gPSBvcHRpb25zPy5pbmNsdWRlVXNlckluc3RydWN0aW9uID8/IHRydWU7XG5cdGNvbnN0IG9yZGVyID0gb3B0aW9ucz8ub3JkZXIgPz8gU3RlcE9yZGVyLmZlYXR1cmVzO1xuXG5cdHJldHVybiAoZG9ja2VyZmlsZSkgPT4ge1xuXHRcdGRvY2tlcmZpbGUuYWRkU3RlcChEb2NrZXJTdGVwLnJhdyhcImFyZy11c2VybmFtZVwiLCBgQVJHIFVTRVJOQU1FPSR7dXNlcm5hbWV9YCwgb3JkZXIpKTtcblxuXHRcdGlmIChpbmNsdWRlVXNlckluc3RydWN0aW9uKSB7XG5cdFx0XHRkb2NrZXJmaWxlLmFkZFN0ZXAoRG9ja2VyU3RlcC5yYXcoXCJ1c2VyXCIsIFwiVVNFUiAke1VTRVJOQU1FfVwiLCBTdGVwT3JkZXIudXNlcikpO1xuXHRcdH1cblx0fTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhQbnBtKG9wdGlvbnM/OiB7XG5cdHZlcnNpb24/OiBzdHJpbmc7XG5cdHVzZXJuYW1lRXhwcj86IHN0cmluZztcblx0b3JkZXI/OiBudW1iZXI7XG59KTogTGF5ZXJXcml0ZXIge1xuXHRjb25zdCB2ZXJzaW9uID0gb3B0aW9ucz8udmVyc2lvbiA/PyBcIjEwXCI7XG5cdGNvbnN0IHVzZXJuYW1lRXhwciA9IG9wdGlvbnM/LnVzZXJuYW1lRXhwciA/PyBcIiR7VVNFUk5BTUV9XCI7XG5cdGNvbnN0IG9yZGVyID0gb3B0aW9ucz8ub3JkZXIgPz8gU3RlcE9yZGVyLmZlYXR1cmVzICsgMTAwO1xuXG5cdHJldHVybiAoZG9ja2VyZmlsZSkgPT4ge1xuXHRcdGRvY2tlcmZpbGVcblx0XHRcdC5hZGRTdGVwKFxuXHRcdFx0XHREb2NrZXJTdGVwLnJ1bihcblx0XHRcdFx0XHRcInBucG0taW5zdGFsbFwiLFxuXHRcdFx0XHRcdGBucG0gaW5zdGFsbCAtLWdsb2JhbCBucG1AbGF0ZXN0ICYmIG5wbSBhZGQgLS1nbG9iYWwgcG5wbUAke3ZlcnNpb259YCxcblx0XHRcdFx0XHRvcmRlcixcblx0XHRcdFx0KSxcblx0XHRcdClcblx0XHRcdC5hZGRTdGVwKFxuXHRcdFx0XHREb2NrZXJTdGVwLnJ1bihcblx0XHRcdFx0XHRcInBucG0tY29uZmlnXCIsXG5cdFx0XHRcdFx0YG1rZGlyIC1wIC9ob21lLyR7dXNlcm5hbWVFeHByfS8uY29uZmlnL3BucG0gL2hvbWUvJHt1c2VybmFtZUV4cHJ9Ly5wbnBtLXN0b3JlICYmIGNob3duIC1SICR7dXNlcm5hbWVFeHByfToke3VzZXJuYW1lRXhwcn0gL2hvbWUvJHt1c2VybmFtZUV4cHJ9Ly5jb25maWcgL2hvbWUvJHt1c2VybmFtZUV4cHJ9Ly5wbnBtLXN0b3JlICYmIHByaW50ZiBcInN0b3JlLWRpcj0vaG9tZS8ke3VzZXJuYW1lRXhwcn0vLnBucG0tc3RvcmVcXFxcblwiID4gL2hvbWUvJHt1c2VybmFtZUV4cHJ9Ly5jb25maWcvcG5wbS9yY2AsXG5cdFx0XHRcdFx0b3JkZXIgKyAxLFxuXHRcdFx0XHQpLFxuXHRcdFx0KTtcblx0fTtcbn1cblxuLyoqXG4gKiBDbGllbnQtb25seSAoYHBzcWxgLCBldGMuKS4gRXNjYWxhdGVzIHRvIHJvb3Qgc28gdGhpcyBhbHNvIHdvcmtzIHdoZW4gbGF5ZXJlZCBvblxuICogYSBwdWJsaXNoZWQgYmFzZSBpbWFnZSB0aGF0IGFscmVhZHkgc3dpdGNoZWQgdG8gYFVTRVIgbm9kZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoUG9zdGdyZXNxbENsaWVudChvcHRpb25zPzoge1xuXHRvcmRlcj86IG51bWJlcjtcblx0dXNlcm5hbWU/OiBzdHJpbmc7XG59KTogTGF5ZXJXcml0ZXIge1xuXHRjb25zdCBvcmRlciA9IG9wdGlvbnM/Lm9yZGVyID8/IFN0ZXBPcmRlci5mZWF0dXJlcyArIDE1MDtcblx0Y29uc3QgdXNlcm5hbWUgPSBvcHRpb25zPy51c2VybmFtZSA/PyBcIm5vZGVcIjtcblxuXHRyZXR1cm4gKGRvY2tlcmZpbGUpID0+IHtcblx0XHRkb2NrZXJmaWxlXG5cdFx0XHQuYWRkU3RlcChEb2NrZXJTdGVwLnJhdyhcInBvc3RncmVzcWwtY2xpZW50LXJvb3RcIiwgXCJVU0VSIHJvb3RcIiwgb3JkZXIpKVxuXHRcdFx0LmFkZFN0ZXAoXG5cdFx0XHRcdERvY2tlclN0ZXAucnVuKFxuXHRcdFx0XHRcdFwicG9zdGdyZXNxbC1jbGllbnRcIixcblx0XHRcdFx0XHRcImFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSAtLW5vLWluc3RhbGwtcmVjb21tZW5kcyBwb3N0Z3Jlc3FsLWNsaWVudCAmJiBybSAtcmYgL3Zhci9saWIvYXB0L2xpc3RzLypcIixcblx0XHRcdFx0XHRvcmRlciArIDEsXG5cdFx0XHRcdCksXG5cdFx0XHQpXG5cdFx0XHQuYWRkU3RlcChEb2NrZXJTdGVwLnJhdyhcInBvc3RncmVzcWwtY2xpZW50LXVzZXJcIiwgYFVTRVIgJHt1c2VybmFtZX1gLCBvcmRlciArIDIpKTtcblx0fTtcbn1cblxuLyoqIEdpdEh1YiBDTEkg4oCUIGluc3RhbGwgYmVmb3JlIFVTRVIgc3dpdGNoZXMgYXdheSBmcm9tIHJvb3QuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aEdpdGh1YkNsaShvcHRpb25zPzogeyBvcmRlcj86IG51bWJlciB9KTogTGF5ZXJXcml0ZXIge1xuXHRjb25zdCBvcmRlciA9IG9wdGlvbnM/Lm9yZGVyID8/IFN0ZXBPcmRlci5mZWF0dXJlcyArIDE0MDtcblxuXHRyZXR1cm4gKGRvY2tlcmZpbGUpID0+IHtcblx0XHRkb2NrZXJmaWxlLmFkZFN0ZXAoXG5cdFx0XHREb2NrZXJTdGVwLnJ1bihcblx0XHRcdFx0XCJnaXRodWItY2xpXCIsXG5cdFx0XHRcdFwiYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IC0tbm8taW5zdGFsbC1yZWNvbW1lbmRzIGdoICYmIHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKlwiLFxuXHRcdFx0XHRvcmRlcixcblx0XHRcdCksXG5cdFx0KTtcblx0fTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhXb3Jrc3BhY2VOb2RlTW9kdWxlc093bmVyc2hpcChvcHRpb25zPzoge1xuXHR3b3Jrc3BhY2VEaXI/OiBzdHJpbmc7XG5cdHVzZXJuYW1lRXhwcj86IHN0cmluZztcblx0b3JkZXI/OiBudW1iZXI7XG59KTogTGF5ZXJXcml0ZXIge1xuXHRjb25zdCB3b3Jrc3BhY2VEaXIgPSBvcHRpb25zPy53b3Jrc3BhY2VEaXIgPz8gXCIvd29ya3NwYWNlXCI7XG5cdGNvbnN0IHVzZXJuYW1lRXhwciA9IG9wdGlvbnM/LnVzZXJuYW1lRXhwciA/PyBcIiR7VVNFUk5BTUV9XCI7XG5cdGNvbnN0IG9yZGVyID0gb3B0aW9ucz8ub3JkZXIgPz8gU3RlcE9yZGVyLmZlYXR1cmVzICsgMjAwO1xuXG5cdHJldHVybiAoZG9ja2VyZmlsZSkgPT4ge1xuXHRcdGRvY2tlcmZpbGUuYWRkU3RlcChcblx0XHRcdERvY2tlclN0ZXAucmF3KFxuXHRcdFx0XHRcIndvcmtzcGFjZS1ub2RlLW1vZHVsZXNcIixcblx0XHRcdFx0YFJVTiBta2RpciAtcCAke3dvcmtzcGFjZURpcn0vbm9kZV9tb2R1bGVzICYmIGNob3duICR7dXNlcm5hbWVFeHByfToke3VzZXJuYW1lRXhwcn0gJHt3b3Jrc3BhY2VEaXJ9L25vZGVfbW9kdWxlc2AsXG5cdFx0XHRcdG9yZGVyLFxuXHRcdFx0KSxcblx0XHQpO1xuXHR9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aFZzQ29kZUpzRGVidWdCb290bG9hZGVyRml4KG9wdGlvbnM/OiB7XG5cdGJhc2hyY1BhdGg/OiBzdHJpbmc7XG5cdG9yZGVyPzogbnVtYmVyO1xufSk6IExheWVyV3JpdGVyIHtcblx0Y29uc3QgYmFzaHJjUGF0aCA9IG9wdGlvbnM/LmJhc2hyY1BhdGggPz8gXCIvaG9tZS8ke1VTRVJOQU1FfS8uYmFzaHJjXCI7XG5cdGNvbnN0IG9yZGVyID0gb3B0aW9ucz8ub3JkZXIgPz8gU3RlcE9yZGVyLmZlYXR1cmVzICsgMzAwO1xuXG5cdHJldHVybiAoZG9ja2VyZmlsZSkgPT4ge1xuXHRcdGRvY2tlcmZpbGUuYWRkU3RlcChcblx0XHRcdERvY2tlclN0ZXAucmF3KFxuXHRcdFx0XHRcInZzY29kZS1ib290bG9hZGVyLWZpeFwiLFxuXHRcdFx0XHRbXG5cdFx0XHRcdFx0XCIjIFZTIENvZGUgLyBDdXJzb3IganMtZGVidWcgQXV0byBBdHRhY2ggaW5qZWN0cyAtLXJlcXVpcmUg4oCmL2Jvb3Rsb2FkZXIuanMgaW50b1wiLFxuXHRcdFx0XHRcdFwiIyBOT0RFX09QVElPTlMuIE9uIGEgZnJlc2ggRGV2IENvbnRhaW5lciB0aGF0IHBhdGggb2Z0ZW4gZG9lcyBub3QgZXhpc3QgeWV0XCIsXG5cdFx0XHRcdFx0XCIjICh3b3Jrc3BhY2VTdG9yYWdlIGZpbGUgaXMgb25seSBjcmVhdGVkIGFmdGVyIHRvZ2dsaW5nIEF1dG8gQXR0YWNoKSwgd2hpY2ggY3Jhc2hlc1wiLFxuXHRcdFx0XHRcdFwiIyBldmVyeSBOb2RlIGNvbW1hbmQuIElmIHRoZSBpbmplY3RlZCBwYXRoIGlzIG1pc3NpbmcsIHByZWZlciB0aGUgc3RhYmxlXCIsXG5cdFx0XHRcdFx0XCIjIGJvb3Rsb2FkZXIgZnJvbSB0aGUgc2VydmVyIGV4dGVuc2lvbiBpbnN0YWxsOyBvdGhlcndpc2Ugc3RyaXAgdGhlIGJhZCByZXF1aXJlLlwiLFxuXHRcdFx0XHRcdGBSVU4gY2F0IDw8J0VPRicgPj4gXCIke2Jhc2hyY1BhdGh9XCJgLFxuXHRcdFx0XHRcdFZTQ09ERV9CT09UTE9BREVSX0ZJWF9CQVNIX1NOSVBQRVQsXG5cdFx0XHRcdFx0XCJFT0ZcIixcblx0XHRcdFx0XS5qb2luKFwiXFxuXCIpLFxuXHRcdFx0XHRvcmRlcixcblx0XHRcdCksXG5cdFx0KTtcblx0fTtcbn1cblxuZXhwb3J0IGNsYXNzIERvY2tlcmZpbGVNb2RlbCBpbXBsZW1lbnRzIEtleWVkTW9kZWwge1xuXHRwdWJsaWMgcmVhZG9ubHkga2V5ID0gV0VMTF9LTk9XTl9GSUxFUy5ET0NLRVJGSUxFO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9zdGVwcyA9IG5ldyBNYXA8c3RyaW5nLCBEb2NrZXJTdGVwPigpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9sYXllcldyaXRlcnM6IExheWVyV3JpdGVyW10gPSBbXTtcblx0cHJpdmF0ZSBfZnJvbUltYWdlOiBzdHJpbmc7XG5cdHByaXZhdGUgX2xheWVyQ291bnRlciA9IDA7XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKGJhc2VJbWFnZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5fZnJvbUltYWdlID0gYmFzZUltYWdlO1xuXHRcdHRoaXMucmVnaXN0ZXJCYXNlTGF5ZXJzKCk7XG5cdH1cblxuXHRwdWJsaWMgZnJvbShiYXNlSW1hZ2U6IHN0cmluZyk6IHRoaXMge1xuXHRcdHRoaXMuX2Zyb21JbWFnZSA9IGJhc2VJbWFnZTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHB1YmxpYyBhZGRMYXllcihsYXllcjogTGF5ZXJXcml0ZXIgfCBzdHJpbmcsIG9yZGVyID0gU3RlcE9yZGVyLmZlYXR1cmVzKTogdGhpcyB7XG5cdFx0aWYgKHR5cGVvZiBsYXllciA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0Y29uc3QgaWR4ID0gKyt0aGlzLl9sYXllckNvdW50ZXI7XG5cdFx0XHRjb25zdCBrZXkgPSBgbGF5ZXItcnVuLSR7aWR4fWA7XG5cdFx0XHR0aGlzLl9sYXllcldyaXRlcnMucHVzaCgoZG9ja2VyZmlsZSkgPT4ge1xuXHRcdFx0XHRkb2NrZXJmaWxlLmFkZFN0ZXAoRG9ja2VyU3RlcC5ydW4oa2V5LCBsYXllciwgb3JkZXIgKyBpZHgpKTtcblx0XHRcdH0pO1xuXHRcdFx0cmV0dXJuIHRoaXM7XG5cdFx0fVxuXG5cdFx0dGhpcy5fbGF5ZXJXcml0ZXJzLnB1c2gobGF5ZXIpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cHVibGljIGFkZFN0ZXAoc3RlcDogRG9ja2VyU3RlcCk6IHRoaXMge1xuXHRcdHRoaXMuX3N0ZXBzLnNldChzdGVwLmtleSwgc3RlcCk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgcmVtb3ZlU3RlcChrZXk6IHN0cmluZyk6IHRoaXMge1xuXHRcdHRoaXMuX3N0ZXBzLmRlbGV0ZShrZXkpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cHVibGljIGVudHJ5cG9pbnQodmFsdWU6IHN0cmluZyB8IHJlYWRvbmx5IHN0cmluZ1tdLCBvcmRlciA9IFN0ZXBPcmRlci5lbnRyeXBvaW50KTogdGhpcyB7XG5cdFx0dGhpcy5hZGRTdGVwKERvY2tlclN0ZXAuZW50cnlwb2ludChcImVudHJ5cG9pbnRcIiwgdmFsdWUsIG9yZGVyKSk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgYWRkUnVuU3RlcChjbWQ6IHN0cmluZyk6IHRoaXMge1xuXHRcdHJldHVybiB0aGlzLmFkZExheWVyKGNtZCk7XG5cdH1cblxuXHRwdWJsaWMgYnVpbGQoKTogc3RyaW5nIHtcblx0XHRmb3IgKGNvbnN0IGxheWVyV3JpdGVyIG9mIHRoaXMuX2xheWVyV3JpdGVycykge1xuXHRcdFx0bGF5ZXJXcml0ZXIodGhpcyk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgbGluZXMgPSBbYEZST00gJHt0aGlzLl9mcm9tSW1hZ2V9YF07XG5cdFx0Y29uc3Qgc29ydGVkU3RlcHMgPSBbLi4udGhpcy5fc3RlcHMudmFsdWVzKCldLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiB7XG5cdFx0XHRpZiAobGVmdC5vcmRlciAhPT0gcmlnaHQub3JkZXIpIHtcblx0XHRcdFx0cmV0dXJuIGxlZnQub3JkZXIgLSByaWdodC5vcmRlcjtcblx0XHRcdH1cblx0XHRcdHJldHVybiBsZWZ0LmtleS5sb2NhbGVDb21wYXJlKHJpZ2h0LmtleSwgXCJlblwiKTtcblx0XHR9KTtcblxuXHRcdGZvciAoY29uc3Qgc3RlcCBvZiBzb3J0ZWRTdGVwcykge1xuXHRcdFx0bGluZXMucHVzaChcIlwiLCBzdGVwLmNvbnRlbnQpO1xuXHRcdH1cblxuXHRcdHJldHVybiBgJHtsaW5lcy5qb2luKFwiXFxuXCIpfVxcbmA7XG5cdH1cblxuXHRwcm90ZWN0ZWQgcmVnaXN0ZXJCYXNlTGF5ZXJzKCk6IHZvaWQge1xuXHRcdC8vIEdlbmVyaWMgYmFzZSBtb2RlbCBpbnRlbnRpb25hbGx5IGhhcyBubyBkZWZhdWx0IGxheWVycy5cblx0fVxuXG5cdHB1YmxpYyBmaWxlcygpOiBTb3VyY2VGaWxlW10ge1xuXHRcdHJldHVybiBbXG5cdFx0XHR7XG5cdFx0XHRcdGZpbGVQYXRoOiBcIi4vRG9ja2VyZmlsZVwiLFxuXHRcdFx0XHRjb250ZW50OiB0aGlzLmJ1aWxkKCksXG5cdFx0XHR9LFxuXHRcdF07XG5cdH1cbn1cblxuLyoqXG4gKiBTaGFyZWQgbGF5ZXJzIGZvciB0aGUgcHVibGlzaGVkIGBnaGNyLmlvL3R5cGVzbWl0aHMvZGVjb2hlcmUvZGV2Y29udGFpbmVyYCBpbWFnZS5cbiAqIENoZWNrZWQgaW4gYXQgYHByb2plY3RzL2RldmNvbnRhaW5lci9Eb2NrZXJmaWxlYCDigJQga2VlcCBpbiBzeW5jIHZpYSB0aGUgdW5pdCB0ZXN0LlxuICovXG5leHBvcnQgY2xhc3MgQXBwRGV2Q29udGFpbmVyQmFzZUltYWdlIGV4dGVuZHMgRG9ja2VyZmlsZU1vZGVsIHtcblx0cHJvdGVjdGVkIG92ZXJyaWRlIHJlZ2lzdGVyQmFzZUxheWVycygpOiB2b2lkIHtcblx0XHRzdXBlci5yZWdpc3RlckJhc2VMYXllcnMoKTtcblx0XHR0aGlzLmFkZExheWVyKHdpdGhDb21tYW5kSGlzdG9yeSgpKVxuXHRcdFx0LmFkZExheWVyKHdpdGhOb2RlVXNlcigpKVxuXHRcdFx0LmFkZExheWVyKHdpdGhQbnBtKCkpXG5cdFx0XHQuYWRkTGF5ZXIod2l0aEdpdGh1YkNsaSgpKVxuXHRcdFx0LmFkZExheWVyKHdpdGhXb3Jrc3BhY2VOb2RlTW9kdWxlc093bmVyc2hpcCgpKVxuXHRcdFx0LmFkZExheWVyKHdpdGhWc0NvZGVKc0RlYnVnQm9vdGxvYWRlckZpeCgpKTtcblx0fVxufVxuXG4vKiogR2VuZXJpYyBEZXYgQ29udGFpbmVyIGltYWdlIGhlbHBlcnMgKGhpc3RvcnkgKyBib290bG9hZGVyKSB3aXRob3V0IHdlYmFwaSBkZWZhdWx0cy4gKi9cbmV4cG9ydCBjbGFzcyBEZXZDb250YWluZXJJbWFnZU1vZGVsIGV4dGVuZHMgRG9ja2VyZmlsZU1vZGVsIHtcblx0cHJvdGVjdGVkIG92ZXJyaWRlIHJlZ2lzdGVyQmFzZUxheWVycygpOiB2b2lkIHtcblx0XHRzdXBlci5yZWdpc3RlckJhc2VMYXllcnMoKTtcblx0XHR0aGlzLmFkZExheWVyKHdpdGhDb21tYW5kSGlzdG9yeSgpKS5hZGRMYXllcih3aXRoVnNDb2RlSnNEZWJ1Z0Jvb3Rsb2FkZXJGaXgoKSk7XG5cdH1cblxuXHRwdWJsaWMgZmlsZXMoKTogU291cmNlRmlsZVtdIHtcblx0XHRyZXR1cm4gW1xuXHRcdFx0e1xuXHRcdFx0XHRmaWxlUGF0aDogXCIuZGV2Y29udGFpbmVyL0RvY2tlcmZpbGVcIixcblx0XHRcdFx0Y29udGVudDogdGhpcy5idWlsZCgpLFxuXHRcdFx0fSxcblx0XHRdO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiQXBwRGV2Q29udGFpbmVyQmFzZUltYWdlIiwiRGV2Q29udGFpbmVySW1hZ2VNb2RlbCIsIkRvY2tlclN0ZXAiLCJEb2NrZXJmaWxlTW9kZWwiLCJjb21tYW5kSGlzdG9yeSIsIndpdGhDb21tYW5kSGlzdG9yeSIsIndpdGhHaXRodWJDbGkiLCJ3aXRoTm9kZVVzZXIiLCJ3aXRoUG5wbSIsIndpdGhQb3N0Z3Jlc3FsQ2xpZW50Iiwid2l0aFZzQ29kZUpzRGVidWdCb290bG9hZGVyRml4Iiwid2l0aFdvcmtzcGFjZU5vZGVNb2R1bGVzT3duZXJzaGlwIiwia2V5IiwiY29udGVudCIsIm9yZGVyIiwicnVuIiwiY29tbWFuZCIsInJhdyIsImVudHJ5cG9pbnQiLCJ2YWx1ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJTdGVwT3JkZXIiLCJiYXNlIiwiZmVhdHVyZXMiLCJ1c2VyIiwiVlNDT0RFX0JPT1RMT0FERVJfRklYX0JBU0hfU05JUFBFVCIsInZvbHVtZU5hbWUiLCJkaXIiLCJmaWxlTmFtZSIsImhpc3RGaWxlIiwib3B0aW9ucyIsImhpc3RvcnlEaXIiLCJoaXN0b3J5RmlsZU5hbWUiLCJ1c2VybmFtZSIsImhpc3RvcnlGaWxlIiwiZG9ja2VyZmlsZSIsImFkZFN0ZXAiLCJpbmNsdWRlVXNlckluc3RydWN0aW9uIiwidmVyc2lvbiIsInVzZXJuYW1lRXhwciIsIndvcmtzcGFjZURpciIsImJhc2hyY1BhdGgiLCJqb2luIiwiV0VMTF9LTk9XTl9GSUxFUyIsIkRPQ0tFUkZJTEUiLCJfc3RlcHMiLCJNYXAiLCJfbGF5ZXJXcml0ZXJzIiwiX2Zyb21JbWFnZSIsIl9sYXllckNvdW50ZXIiLCJiYXNlSW1hZ2UiLCJyZWdpc3RlckJhc2VMYXllcnMiLCJmcm9tIiwiYWRkTGF5ZXIiLCJsYXllciIsImlkeCIsInB1c2giLCJzdGVwIiwic2V0IiwicmVtb3ZlU3RlcCIsImRlbGV0ZSIsImFkZFJ1blN0ZXAiLCJjbWQiLCJidWlsZCIsImxheWVyV3JpdGVyIiwibGluZXMiLCJzb3J0ZWRTdGVwcyIsInZhbHVlcyIsInNvcnQiLCJsZWZ0IiwicmlnaHQiLCJsb2NhbGVDb21wYXJlIiwiZmlsZXMiLCJmaWxlUGF0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUEyVGFBO2VBQUFBOztRQWFBQztlQUFBQTs7UUFuVUFDO2VBQUFBOztRQThOQUM7ZUFBQUE7O1FBNUtBQztlQUFBQTs7UUFPR0M7ZUFBQUE7O1FBd0dBQztlQUFBQTs7UUF4RUFDO2VBQUFBOztRQWtCQUM7ZUFBQUE7O1FBZ0NBQztlQUFBQTs7UUF3REFDO2VBQUFBOztRQXBCQUM7ZUFBQUE7Ozt1QkFwTGlCO0FBSzFCLE1BQU1UOzs7O0lBQ1osWUFDQyxBQUFnQlUsR0FBVyxFQUMzQixBQUFnQkMsT0FBZSxFQUMvQixBQUFnQkMsUUFBUSxDQUFDLENBQ3hCO2FBSGVGLE1BQUFBO2FBQ0FDLFVBQUFBO2FBQ0FDLFFBQUFBO0lBQ2Q7SUFFSCxPQUFjQyxJQUFJSCxHQUFXLEVBQUVJLE9BQWUsRUFBRUYsUUFBUSxDQUFDLEVBQUU7UUFDMUQsT0FBTyxJQUFJWixXQUFXVSxLQUFLLENBQUMsSUFBSSxFQUFFSSxTQUFTLEVBQUVGO0lBQzlDO0lBRUEsT0FBY0csSUFBSUwsR0FBVyxFQUFFQyxPQUFlLEVBQUVDLFFBQVEsQ0FBQyxFQUFFO1FBQzFELE9BQU8sSUFBSVosV0FBV1UsS0FBS0MsU0FBU0M7SUFDckM7SUFFQSxPQUFjSSxXQUFXTixHQUFXLEVBQUVPLEtBQWlDLEVBQUVMLFFBQVEsQ0FBQyxFQUFFO1FBQ25GLE1BQU1ELFVBQ0wsT0FBT00sVUFBVSxXQUNkLENBQUMsV0FBVyxFQUFFQSxPQUFPLEdBQ3JCLENBQUMsV0FBVyxFQUFFQyxLQUFLQyxTQUFTLENBQUNGLFFBQVE7UUFDekMsT0FBTyxJQUFJakIsV0FBV1UsS0FBS0MsU0FBU0M7SUFDckM7QUFDRDtBQUVBLE1BQU1RLFlBQVk7SUFDakJDLE1BQU07SUFDTkMsVUFBVTtJQUNWQyxNQUFNO0lBQ05QLFlBQVk7QUFDYjtBQUVBLE1BQU1RLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0VBZ0IxQyxDQUFDO0FBR0ksTUFBTXRCLGlCQUFpQjtJQUM3QnVCLFlBQVk7SUFDWkMsS0FBSztJQUNMQyxVQUFVO0lBQ1ZDLFVBQVU7QUFDWDtBQUVPLFNBQVN6QixtQkFBbUIwQixPQUtsQztJQUNBLE1BQU1DLGFBQWFELFNBQVNDLGNBQWM1QixlQUFld0IsR0FBRztJQUM1RCxNQUFNSyxrQkFBa0JGLFNBQVNFLG1CQUFtQjdCLGVBQWV5QixRQUFRO0lBQzNFLE1BQU1LLFdBQVdILFNBQVNHLFlBQVk7SUFDdEMsTUFBTXBCLFFBQVFpQixTQUFTakIsU0FBU1EsVUFBVUMsSUFBSTtJQUM5QyxNQUFNWSxjQUFjLEdBQUdILFdBQVcsQ0FBQyxFQUFFQyxpQkFBaUI7SUFFdEQsT0FBTyxDQUFDRztRQUNQQSxXQUNFQyxPQUFPLENBQ1BuQyxXQUFXYSxHQUFHLENBQ2IsZUFDQSxDQUFDLFNBQVMsRUFBRWlCLFdBQVcsVUFBVSxFQUFFRyxZQUFZLGFBQWEsRUFBRUQsU0FBUyxDQUFDLEVBQUVGLFlBQVksRUFDdEZsQixRQUdEdUIsT0FBTyxDQUFDbkMsV0FBV2UsR0FBRyxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUVrQixhQUFhLEVBQUVyQixRQUFRLElBQzdFdUIsT0FBTyxDQUNQbkMsV0FBV2UsR0FBRyxDQUNiLGtCQUNBLENBQUMsbUVBQW1FLEVBQUVrQixZQUFZLHFDQUFxQyxFQUFFRCxTQUFTLFNBQVMsQ0FBQyxFQUM1SXBCLFFBQVE7SUFHWjtBQUNEO0FBRU8sU0FBU1AsYUFBYXdCLE9BSTVCO0lBQ0EsTUFBTUcsV0FBV0gsU0FBU0csWUFBWTtJQUN0QyxNQUFNSSx5QkFBeUJQLFNBQVNPLDBCQUEwQjtJQUNsRSxNQUFNeEIsUUFBUWlCLFNBQVNqQixTQUFTUSxVQUFVRSxRQUFRO0lBRWxELE9BQU8sQ0FBQ1k7UUFDUEEsV0FBV0MsT0FBTyxDQUFDbkMsV0FBV2UsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRWlCLFVBQVUsRUFBRXBCO1FBRTlFLElBQUl3Qix3QkFBd0I7WUFDM0JGLFdBQVdDLE9BQU8sQ0FBQ25DLFdBQVdlLEdBQUcsQ0FBQyxRQUFRLG9CQUFvQkssVUFBVUcsSUFBSTtRQUM3RTtJQUNEO0FBQ0Q7QUFFTyxTQUFTakIsU0FBU3VCLE9BSXhCO0lBQ0EsTUFBTVEsVUFBVVIsU0FBU1EsV0FBVztJQUNwQyxNQUFNQyxlQUFlVCxTQUFTUyxnQkFBZ0I7SUFDOUMsTUFBTTFCLFFBQVFpQixTQUFTakIsU0FBU1EsVUFBVUUsUUFBUSxHQUFHO0lBRXJELE9BQU8sQ0FBQ1k7UUFDUEEsV0FDRUMsT0FBTyxDQUNQbkMsV0FBV2EsR0FBRyxDQUNiLGdCQUNBLENBQUMseURBQXlELEVBQUV3QixTQUFTLEVBQ3JFekIsUUFHRHVCLE9BQU8sQ0FDUG5DLFdBQVdhLEdBQUcsQ0FDYixlQUNBLENBQUMsZUFBZSxFQUFFeUIsYUFBYSxvQkFBb0IsRUFBRUEsYUFBYSx5QkFBeUIsRUFBRUEsYUFBYSxDQUFDLEVBQUVBLGFBQWEsT0FBTyxFQUFFQSxhQUFhLGVBQWUsRUFBRUEsYUFBYSx3Q0FBd0MsRUFBRUEsYUFBYSx5QkFBeUIsRUFBRUEsYUFBYSxnQkFBZ0IsQ0FBQyxFQUM5UjFCLFFBQVE7SUFHWjtBQUNEO0FBTU8sU0FBU0wscUJBQXFCc0IsT0FHcEM7SUFDQSxNQUFNakIsUUFBUWlCLFNBQVNqQixTQUFTUSxVQUFVRSxRQUFRLEdBQUc7SUFDckQsTUFBTVUsV0FBV0gsU0FBU0csWUFBWTtJQUV0QyxPQUFPLENBQUNFO1FBQ1BBLFdBQ0VDLE9BQU8sQ0FBQ25DLFdBQVdlLEdBQUcsQ0FBQywwQkFBMEIsYUFBYUgsUUFDOUR1QixPQUFPLENBQ1BuQyxXQUFXYSxHQUFHLENBQ2IscUJBQ0EsaUhBQ0FELFFBQVEsSUFHVHVCLE9BQU8sQ0FBQ25DLFdBQVdlLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUVpQixVQUFVLEVBQUVwQixRQUFRO0lBQ2hGO0FBQ0Q7QUFHTyxTQUFTUixjQUFjeUIsT0FBNEI7SUFDekQsTUFBTWpCLFFBQVFpQixTQUFTakIsU0FBU1EsVUFBVUUsUUFBUSxHQUFHO0lBRXJELE9BQU8sQ0FBQ1k7UUFDUEEsV0FBV0MsT0FBTyxDQUNqQm5DLFdBQVdhLEdBQUcsQ0FDYixjQUNBLGtHQUNBRDtJQUdIO0FBQ0Q7QUFFTyxTQUFTSCxrQ0FBa0NvQixPQUlqRDtJQUNBLE1BQU1VLGVBQWVWLFNBQVNVLGdCQUFnQjtJQUM5QyxNQUFNRCxlQUFlVCxTQUFTUyxnQkFBZ0I7SUFDOUMsTUFBTTFCLFFBQVFpQixTQUFTakIsU0FBU1EsVUFBVUUsUUFBUSxHQUFHO0lBRXJELE9BQU8sQ0FBQ1k7UUFDUEEsV0FBV0MsT0FBTyxDQUNqQm5DLFdBQVdlLEdBQUcsQ0FDYiwwQkFDQSxDQUFDLGFBQWEsRUFBRXdCLGFBQWEsdUJBQXVCLEVBQUVELGFBQWEsQ0FBQyxFQUFFQSxhQUFhLENBQUMsRUFBRUMsYUFBYSxhQUFhLENBQUMsRUFDakgzQjtJQUdIO0FBQ0Q7QUFFTyxTQUFTSiwrQkFBK0JxQixPQUc5QztJQUNBLE1BQU1XLGFBQWFYLFNBQVNXLGNBQWM7SUFDMUMsTUFBTTVCLFFBQVFpQixTQUFTakIsU0FBU1EsVUFBVUUsUUFBUSxHQUFHO0lBRXJELE9BQU8sQ0FBQ1k7UUFDUEEsV0FBV0MsT0FBTyxDQUNqQm5DLFdBQVdlLEdBQUcsQ0FDYix5QkFDQTtZQUNDO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQSxDQUFDLG9CQUFvQixFQUFFeUIsV0FBVyxDQUFDLENBQUM7WUFDcENoQjtZQUNBO1NBQ0EsQ0FBQ2lCLElBQUksQ0FBQyxPQUNQN0I7SUFHSDtBQUNEO0FBRU8sTUFBTVg7SUFDSVMsTUFBTWdDLHVCQUFnQixDQUFDQyxVQUFVLENBQUM7SUFDakNDLFNBQVMsSUFBSUMsTUFBMEI7SUFDdkNDLGdCQUErQixFQUFFLENBQUM7SUFDM0NDLFdBQW1CO0lBQ25CQyxnQkFBZ0IsRUFBRTtJQUUxQixZQUFtQkMsU0FBaUIsQ0FBRTtRQUNyQyxJQUFJLENBQUNGLFVBQVUsR0FBR0U7UUFDbEIsSUFBSSxDQUFDQyxrQkFBa0I7SUFDeEI7SUFFT0MsS0FBS0YsU0FBaUIsRUFBUTtRQUNwQyxJQUFJLENBQUNGLFVBQVUsR0FBR0U7UUFDbEIsT0FBTyxJQUFJO0lBQ1o7SUFFT0csU0FBU0MsS0FBMkIsRUFBRXpDLFFBQVFRLFVBQVVFLFFBQVEsRUFBUTtRQUM5RSxJQUFJLE9BQU8rQixVQUFVLFVBQVU7WUFDOUIsTUFBTUMsTUFBTSxFQUFFLElBQUksQ0FBQ04sYUFBYTtZQUNoQyxNQUFNdEMsTUFBTSxDQUFDLFVBQVUsRUFBRTRDLEtBQUs7WUFDOUIsSUFBSSxDQUFDUixhQUFhLENBQUNTLElBQUksQ0FBQyxDQUFDckI7Z0JBQ3hCQSxXQUFXQyxPQUFPLENBQUNuQyxXQUFXYSxHQUFHLENBQUNILEtBQUsyQyxPQUFPekMsUUFBUTBDO1lBQ3ZEO1lBQ0EsT0FBTyxJQUFJO1FBQ1o7UUFFQSxJQUFJLENBQUNSLGFBQWEsQ0FBQ1MsSUFBSSxDQUFDRjtRQUN4QixPQUFPLElBQUk7SUFDWjtJQUVPbEIsUUFBUXFCLElBQWdCLEVBQVE7UUFDdEMsSUFBSSxDQUFDWixNQUFNLENBQUNhLEdBQUcsQ0FBQ0QsS0FBSzlDLEdBQUcsRUFBRThDO1FBQzFCLE9BQU8sSUFBSTtJQUNaO0lBRU9FLFdBQVdoRCxHQUFXLEVBQVE7UUFDcEMsSUFBSSxDQUFDa0MsTUFBTSxDQUFDZSxNQUFNLENBQUNqRDtRQUNuQixPQUFPLElBQUk7SUFDWjtJQUVPTSxXQUFXQyxLQUFpQyxFQUFFTCxRQUFRUSxVQUFVSixVQUFVLEVBQVE7UUFDeEYsSUFBSSxDQUFDbUIsT0FBTyxDQUFDbkMsV0FBV2dCLFVBQVUsQ0FBQyxjQUFjQyxPQUFPTDtRQUN4RCxPQUFPLElBQUk7SUFDWjtJQUVPZ0QsV0FBV0MsR0FBVyxFQUFRO1FBQ3BDLE9BQU8sSUFBSSxDQUFDVCxRQUFRLENBQUNTO0lBQ3RCO0lBRU9DLFFBQWdCO1FBQ3RCLEtBQUssTUFBTUMsZUFBZSxJQUFJLENBQUNqQixhQUFhLENBQUU7WUFDN0NpQixZQUFZLElBQUk7UUFDakI7UUFFQSxNQUFNQyxRQUFRO1lBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDakIsVUFBVSxFQUFFO1NBQUM7UUFDekMsTUFBTWtCLGNBQWM7ZUFBSSxJQUFJLENBQUNyQixNQUFNLENBQUNzQixNQUFNO1NBQUcsQ0FBQ0MsSUFBSSxDQUFDLENBQUNDLE1BQU1DO1lBQ3pELElBQUlELEtBQUt4RCxLQUFLLEtBQUt5RCxNQUFNekQsS0FBSyxFQUFFO2dCQUMvQixPQUFPd0QsS0FBS3hELEtBQUssR0FBR3lELE1BQU16RCxLQUFLO1lBQ2hDO1lBQ0EsT0FBT3dELEtBQUsxRCxHQUFHLENBQUM0RCxhQUFhLENBQUNELE1BQU0zRCxHQUFHLEVBQUU7UUFDMUM7UUFFQSxLQUFLLE1BQU04QyxRQUFRUyxZQUFhO1lBQy9CRCxNQUFNVCxJQUFJLENBQUMsSUFBSUMsS0FBSzdDLE9BQU87UUFDNUI7UUFFQSxPQUFPLEdBQUdxRCxNQUFNdkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQy9CO0lBRVVTLHFCQUEyQjtJQUNwQywwREFBMEQ7SUFDM0Q7SUFFT3FCLFFBQXNCO1FBQzVCLE9BQU87WUFDTjtnQkFDQ0MsVUFBVTtnQkFDVjdELFNBQVMsSUFBSSxDQUFDbUQsS0FBSztZQUNwQjtTQUNBO0lBQ0Y7QUFDRDtBQU1PLE1BQU1oRSxpQ0FBaUNHO0lBQzFCaUQscUJBQTJCO1FBQzdDLEtBQUssQ0FBQ0E7UUFDTixJQUFJLENBQUNFLFFBQVEsQ0FBQ2pELHNCQUNaaUQsUUFBUSxDQUFDL0MsZ0JBQ1QrQyxRQUFRLENBQUM5QyxZQUNUOEMsUUFBUSxDQUFDaEQsaUJBQ1RnRCxRQUFRLENBQUMzQyxxQ0FDVDJDLFFBQVEsQ0FBQzVDO0lBQ1o7QUFDRDtBQUdPLE1BQU1ULCtCQUErQkU7SUFDeEJpRCxxQkFBMkI7UUFDN0MsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ0UsUUFBUSxDQUFDakQsc0JBQXNCaUQsUUFBUSxDQUFDNUM7SUFDOUM7SUFFTytELFFBQXNCO1FBQzVCLE9BQU87WUFDTjtnQkFDQ0MsVUFBVTtnQkFDVjdELFNBQVMsSUFBSSxDQUFDbUQsS0FBSztZQUNwQjtTQUNBO0lBQ0Y7QUFDRCJ9
|
|
@@ -46,5 +46,3 @@ class EnvFile {
|
|
|
46
46
|
];
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL3NjYWZmb2xkL3NyYy9tb2RlbHMvZW52LWZpbGUubW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB7IFdFTExfS05PV05fRklMRVMgfSBmcm9tIFwiLi9jb25zdC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBLZXllZE1vZGVsLCBTb3VyY2VGaWxlIH0gZnJvbSBcIi4vc291cmNlLWZpbGUuanNcIjtcblxuLyoqXG4gKiBBY2N1bXVsYXRlcyBrZXk9dmFsdWUgcGFpcnMgYW5kIHJlbmRlcnMgdGhlbSBhcyBhIGAuZW52YCBmaWxlLlxuICpcbiAqIFJlZ2lzdGVyIG9uY2UgaW4gdGhlIHdvcmtzcGFjZTsgZmVhdHVyZXMgY2FsbCBgYWRkRW50cnlgIGR1cmluZyB0aGVpclxuICogc2NhZmZvbGQgcGhhc2UgdG8gY29udHJpYnV0ZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuIFRoZSBmaW5hbCBmaWxlIGlzXG4gKiB3cml0dGVuIGF0IHJlbmRlciB0aW1lIHdoZW4gYHdvcmtzcGFjZS5zY2FmZm9sZCgpYCBpcyBjYWxsZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBFbnZGaWxlIGltcGxlbWVudHMgS2V5ZWRNb2RlbCB7XG5cdHB1YmxpYyByZWFkb25seSBrZXkgPSBXRUxMX0tOT1dOX0ZJTEVTLkVOVl9GSUxFO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgX2VudHJpZXMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG5cdHB1YmxpYyBhZGRFbnRyeShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHRoaXMge1xuXHRcdHRoaXMuX2VudHJpZXMuc2V0KGtleSwgdmFsdWUpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cHVibGljIGhhc0VudHJ5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2VudHJpZXMuaGFzKGtleSk7XG5cdH1cblxuXHRwdWJsaWMgc3RhdGljIGZyb21GaWxlKGFic29sdXRlUGF0aDogc3RyaW5nKTogRW52RmlsZSB7XG5cdFx0Y29uc3QgZW52ID0gbmV3IEVudkZpbGUoKTtcblx0XHRjb25zdCByYXcgPSByZWFkRmlsZVN5bmMoYWJzb2x1dGVQYXRoLCBcInV0ZjhcIik7XG5cdFx0Zm9yIChjb25zdCBsaW5lIG9mIHJhdy5zcGxpdChcIlxcblwiKSkge1xuXHRcdFx0Y29uc3QgdHJpbW1lZCA9IGxpbmUudHJpbSgpO1xuXHRcdFx0aWYgKHRyaW1tZWQgPT09IFwiXCIgfHwgdHJpbW1lZC5zdGFydHNXaXRoKFwiI1wiKSkgY29udGludWU7XG5cdFx0XHRjb25zdCBlcSA9IGxpbmUuaW5kZXhPZihcIj1cIik7XG5cdFx0XHRpZiAoZXEgPD0gMCkgY29udGludWU7XG5cdFx0XHRlbnYuYWRkRW50cnkobGluZS5zbGljZSgwLCBlcSkudHJpbSgpLCBsaW5lLnNsaWNlKGVxICsgMSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gZW52O1xuXHR9XG5cblx0cHVibGljIGZpbGVzKCk6IFNvdXJjZUZpbGVbXSB7XG5cdFx0aWYgKHRoaXMuX2VudHJpZXMuc2l6ZSA9PT0gMCkgcmV0dXJuIFtdO1xuXHRcdGNvbnN0IGJvZHkgPSBbLi4udGhpcy5fZW50cmllcy5lbnRyaWVzKCldLm1hcCgoW2ssIHZdKSA9PiBgJHtrfT0ke3Z9YCkuam9pbihcIlxcblwiKTtcblx0XHRjb25zdCBjb250ZW50ID0gYCR7Ym9keX1cXG5gO1xuXHRcdHJldHVybiBbeyBmaWxlUGF0aDogXCIuZW52XCIsIGNvbnRlbnQgfV07XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJFbnZGaWxlIiwia2V5IiwiV0VMTF9LTk9XTl9GSUxFUyIsIkVOVl9GSUxFIiwiX2VudHJpZXMiLCJNYXAiLCJhZGRFbnRyeSIsInZhbHVlIiwic2V0IiwiaGFzRW50cnkiLCJoYXMiLCJmcm9tRmlsZSIsImFic29sdXRlUGF0aCIsImVudiIsInJhdyIsInJlYWRGaWxlU3luYyIsImxpbmUiLCJzcGxpdCIsInRyaW1tZWQiLCJ0cmltIiwic3RhcnRzV2l0aCIsImVxIiwiaW5kZXhPZiIsInNsaWNlIiwiZmlsZXMiLCJzaXplIiwiYm9keSIsImVudHJpZXMiLCJtYXAiLCJrIiwidiIsImpvaW4iLCJjb250ZW50IiwiZmlsZVBhdGgiXSwibWFwcGluZ3MiOiI7Ozs7K0JBV2FBOzs7ZUFBQUE7Ozt3QkFYZ0I7dUJBQ0k7QUFVMUIsTUFBTUE7SUFDSUMsTUFBTUMsdUJBQWdCLENBQUNDLFFBQVEsQ0FBQztJQUUvQkMsV0FBVyxJQUFJQyxNQUFzQjtJQUUvQ0MsU0FBU0wsR0FBVyxFQUFFTSxLQUFhLEVBQVE7UUFDakQsSUFBSSxDQUFDSCxRQUFRLENBQUNJLEdBQUcsQ0FBQ1AsS0FBS007UUFDdkIsT0FBTyxJQUFJO0lBQ1o7SUFFT0UsU0FBU1IsR0FBVyxFQUFXO1FBQ3JDLE9BQU8sSUFBSSxDQUFDRyxRQUFRLENBQUNNLEdBQUcsQ0FBQ1Q7SUFDMUI7SUFFQSxPQUFjVSxTQUFTQyxZQUFvQixFQUFXO1FBQ3JELE1BQU1DLE1BQU0sSUFBSWI7UUFDaEIsTUFBTWMsTUFBTUMsSUFBQUEsb0JBQVksRUFBQ0gsY0FBYztRQUN2QyxLQUFLLE1BQU1JLFFBQVFGLElBQUlHLEtBQUssQ0FBQyxNQUFPO1lBQ25DLE1BQU1DLFVBQVVGLEtBQUtHLElBQUk7WUFDekIsSUFBSUQsWUFBWSxNQUFNQSxRQUFRRSxVQUFVLENBQUMsTUFBTTtZQUMvQyxNQUFNQyxLQUFLTCxLQUFLTSxPQUFPLENBQUM7WUFDeEIsSUFBSUQsTUFBTSxHQUFHO1lBQ2JSLElBQUlQLFFBQVEsQ0FBQ1UsS0FBS08sS0FBSyxDQUFDLEdBQUdGLElBQUlGLElBQUksSUFBSUgsS0FBS08sS0FBSyxDQUFDRixLQUFLO1FBQ3hEO1FBQ0EsT0FBT1I7SUFDUjtJQUVPVyxRQUFzQjtRQUM1QixJQUFJLElBQUksQ0FBQ3BCLFFBQVEsQ0FBQ3FCLElBQUksS0FBSyxHQUFHLE9BQU8sRUFBRTtRQUN2QyxNQUFNQyxPQUFPO2VBQUksSUFBSSxDQUFDdEIsUUFBUSxDQUFDdUIsT0FBTztTQUFHLENBQUNDLEdBQUcsQ0FBQyxDQUFDLENBQUNDLEdBQUdDLEVBQUUsR0FBSyxHQUFHRCxFQUFFLENBQUMsRUFBRUMsR0FBRyxFQUFFQyxJQUFJLENBQUM7UUFDNUUsTUFBTUMsVUFBVSxHQUFHTixLQUFLLEVBQUUsQ0FBQztRQUMzQixPQUFPO1lBQUM7Z0JBQUVPLFVBQVU7Z0JBQVFEO1lBQVE7U0FBRTtJQUN2QztBQUNEIn0=
|