@decohere/create 0.0.1-dev.17 → 0.0.1-dev.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/commonjs/src/cli.js +26 -5
- package/commonjs/src/models/compose.model.js +82 -0
- package/commonjs/src/models/config-yaml.model.js +34 -0
- package/commonjs/src/models/const.js +29 -0
- package/commonjs/src/models/container-image.model.js +88 -0
- package/commonjs/src/models/dev-container.model.js +73 -0
- package/commonjs/src/models/env-file.model.js +33 -0
- package/commonjs/src/models/gitignore.model.js +32 -0
- package/commonjs/src/models/launch-json.model.js +52 -0
- package/commonjs/src/models/package-json.model.js +64 -0
- package/commonjs/src/models/project.model.js +126 -0
- package/commonjs/src/models/source-file.js +6 -0
- package/commonjs/src/models/tsconfig.model.js +34 -0
- package/commonjs/src/models/vscode-settings.model.js +31 -0
- package/commonjs/src/services/scaffold.service.js +62 -0
- package/commonjs/src/webapi/create-api.js +169 -0
- package/commonjs/src/webapi/features/auth.feature.js +166 -0
- package/commonjs/src/webapi/features/auth0-cli.js +151 -0
- package/commonjs/src/webapi/features/database.feature.js +151 -0
- package/commonjs/src/webapi/features/finalize.feature.js +46 -0
- package/commonjs/src/webapi/features/postman.feature.js +309 -0
- package/commonjs/src/webapi/models/api-package-json.model.js +57 -0
- package/commonjs/src/webapi/models/auth-config.model.js +23 -0
- package/commonjs/src/webapi/models/controller-source-file.model.js +180 -0
- package/commonjs/src/webapi/models/main-source-file.model.js +132 -0
- package/commonjs/src/webapi/models/sample-files.model.js +60 -0
- package/commonjs/v1/cli.js +15 -0
- package/commonjs/v1/domain/class-model.js +106 -0
- package/commonjs/v1/domain/compose.model.js +74 -0
- package/commonjs/v1/domain/context.js +53 -0
- package/commonjs/v1/domain/devcontainer.model.js +116 -0
- package/commonjs/v1/domain/dockerfile.model.js +62 -0
- package/commonjs/v1/domain/feature.js +19 -0
- package/commonjs/v1/domain/import-map.js +74 -0
- package/commonjs/v1/domain/index.js +68 -0
- package/commonjs/v1/domain/prompt.js +45 -0
- package/commonjs/v1/domain/workflow.js +37 -0
- package/commonjs/v1/features/api-core/feature.js +103 -0
- package/commonjs/v1/features/api-core/hello-controller.model.js +100 -0
- package/commonjs/v1/features/api-core/main-ts.model.js +85 -0
- package/commonjs/v1/features/api-core/scaffold-files.template.js +158 -0
- package/commonjs/v1/features/auth0/auth0-cli.js +151 -0
- package/commonjs/v1/features/auth0/feature.js +187 -0
- package/commonjs/v1/features/auth0/models.js +14 -0
- package/commonjs/v1/features/auth0/prod-config.template.js +19 -0
- package/commonjs/v1/features/cli-core/feature.js +37 -0
- package/commonjs/v1/features/cli-core/scaffold-files.template.js +103 -0
- package/commonjs/v1/features/devcontainer/feature.js +38 -0
- package/commonjs/v1/features/finalize/feature.js +48 -0
- package/commonjs/v1/features/postgresql/feature.js +81 -0
- package/commonjs/v1/features/postgresql/models.js +14 -0
- package/commonjs/v1/features/postman/collection.template.js +80 -0
- package/commonjs/v1/features/postman/environment.template.js +24 -0
- package/commonjs/v1/features/postman/feature.js +192 -0
- package/commonjs/v1/features/typeorm/feature.js +66 -0
- package/commonjs/v1/features/typeorm/scaffold-files.template.js +80 -0
- package/commonjs/v1/scaffold.js +50 -0
- package/commonjs/v1/version.js +32 -0
- package/commonjs/v1/workflows/api.js +29 -0
- package/commonjs/v1/workflows/cli.js +19 -0
- package/es6/src/cli.js +26 -5
- package/es6/src/models/compose.model.js +77 -0
- package/es6/src/models/config-yaml.model.js +30 -0
- package/es6/src/models/const.js +19 -0
- package/es6/src/models/container-image.model.js +84 -0
- package/es6/src/models/dev-container.model.js +68 -0
- package/es6/src/models/env-file.model.js +29 -0
- package/es6/src/models/gitignore.model.js +22 -0
- package/es6/src/models/launch-json.model.js +42 -0
- package/es6/src/models/package-json.model.js +60 -0
- package/es6/src/models/project.model.js +111 -0
- package/es6/src/models/source-file.js +3 -0
- package/es6/src/models/tsconfig.model.js +24 -0
- package/es6/src/models/vscode-settings.model.js +21 -0
- package/es6/src/services/scaffold.service.js +52 -0
- package/es6/src/webapi/create-api.js +151 -0
- package/es6/src/webapi/features/auth.feature.js +115 -0
- package/es6/src/webapi/features/auth0-cli.js +116 -0
- package/es6/src/webapi/features/database.feature.js +141 -0
- package/es6/src/webapi/features/finalize.feature.js +36 -0
- package/es6/src/webapi/features/postman.feature.js +258 -0
- package/es6/src/webapi/models/api-package-json.model.js +52 -0
- package/es6/src/webapi/models/auth-config.model.js +19 -0
- package/es6/src/webapi/models/controller-source-file.model.js +171 -0
- package/es6/src/webapi/models/main-source-file.model.js +128 -0
- package/es6/src/webapi/models/sample-files.model.js +42 -0
- package/es6/v1/cli.js +11 -0
- package/es6/v1/domain/class-model.js +104 -0
- package/es6/v1/domain/compose.model.js +61 -0
- package/es6/v1/domain/context.js +37 -0
- package/es6/v1/domain/devcontainer.model.js +104 -0
- package/es6/v1/domain/dockerfile.model.js +52 -0
- package/es6/v1/domain/feature.js +9 -0
- package/es6/v1/domain/import-map.js +64 -0
- package/es6/v1/domain/index.js +11 -0
- package/es6/v1/domain/prompt.js +27 -0
- package/es6/v1/domain/workflow.js +24 -0
- package/es6/v1/features/api-core/feature.js +93 -0
- package/es6/v1/features/api-core/hello-controller.model.js +96 -0
- package/es6/v1/features/api-core/main-ts.model.js +74 -0
- package/es6/v1/features/api-core/scaffold-files.template.js +116 -0
- package/es6/v1/features/auth0/auth0-cli.js +116 -0
- package/es6/v1/features/auth0/feature.js +136 -0
- package/es6/v1/features/auth0/models.js +4 -0
- package/es6/v1/features/auth0/prod-config.template.js +9 -0
- package/es6/v1/features/cli-core/feature.js +27 -0
- package/es6/v1/features/cli-core/scaffold-files.template.js +73 -0
- package/es6/v1/features/devcontainer/feature.js +28 -0
- package/es6/v1/features/finalize/feature.js +38 -0
- package/es6/v1/features/postgresql/feature.js +71 -0
- package/es6/v1/features/postgresql/models.js +4 -0
- package/es6/v1/features/postman/collection.template.js +70 -0
- package/es6/v1/features/postman/environment.template.js +14 -0
- package/es6/v1/features/postman/feature.js +141 -0
- package/es6/v1/features/typeorm/feature.js +56 -0
- package/es6/v1/features/typeorm/scaffold-files.template.js +56 -0
- package/es6/v1/scaffold.js +40 -0
- package/es6/v1/version.js +22 -0
- package/es6/v1/workflows/api.js +25 -0
- package/es6/v1/workflows/cli.js +9 -0
- package/package.json +2 -2
- package/types/src/models/compose.model.d.ts +32 -0
- package/types/src/models/config-yaml.model.d.ts +16 -0
- package/types/src/models/const.d.ts +17 -0
- package/types/src/models/container-image.model.d.ts +15 -0
- package/types/src/models/dev-container.model.d.ts +21 -0
- package/types/src/models/env-file.model.d.ts +14 -0
- package/types/src/models/gitignore.model.d.ts +6 -0
- package/types/src/models/launch-json.model.d.ts +5 -0
- package/types/src/models/package-json.model.d.ts +18 -0
- package/types/src/models/project.model.d.ts +55 -0
- package/types/src/models/source-file.d.ts +11 -0
- package/types/src/models/tsconfig.model.d.ts +5 -0
- package/types/src/models/vscode-settings.model.d.ts +7 -0
- package/types/src/services/scaffold.service.d.ts +22 -0
- package/types/src/webapi/create-api.d.ts +7 -0
- package/types/src/webapi/features/auth.feature.d.ts +7 -0
- package/types/src/webapi/features/auth0-cli.d.ts +22 -0
- package/types/src/webapi/features/database.feature.d.ts +5 -0
- package/types/src/webapi/features/finalize.feature.d.ts +2 -0
- package/types/src/webapi/features/postman.feature.d.ts +7 -0
- package/types/src/webapi/models/api-package-json.model.d.ts +17 -0
- package/types/src/webapi/models/auth-config.model.d.ts +18 -0
- package/types/src/webapi/models/controller-source-file.model.d.ts +42 -0
- package/types/src/webapi/models/main-source-file.model.d.ts +36 -0
- package/types/src/webapi/models/sample-files.model.d.ts +7 -0
- package/types/v1/cli.d.ts +2 -0
- package/types/v1/domain/class-model.d.ts +70 -0
- package/types/v1/domain/compose.model.d.ts +25 -0
- package/types/v1/domain/context.d.ts +36 -0
- package/types/v1/domain/devcontainer.model.d.ts +35 -0
- package/types/v1/domain/dockerfile.model.d.ts +11 -0
- package/types/v1/domain/feature.d.ts +29 -0
- package/types/v1/domain/import-map.d.ts +24 -0
- package/types/v1/domain/index.d.ts +12 -0
- package/types/v1/domain/prompt.d.ts +2 -0
- package/types/v1/domain/workflow.d.ts +14 -0
- package/types/v1/features/api-core/feature.d.ts +2 -0
- package/types/v1/features/api-core/hello-controller.model.d.ts +9 -0
- package/types/v1/features/api-core/main-ts.model.d.ts +31 -0
- package/types/v1/features/api-core/scaffold-files.template.d.ts +10 -0
- package/types/v1/features/auth0/auth0-cli.d.ts +22 -0
- package/types/v1/features/auth0/feature.d.ts +2 -0
- package/types/v1/features/auth0/models.d.ts +5 -0
- package/types/v1/features/auth0/prod-config.template.d.ts +1 -0
- package/types/v1/features/cli-core/feature.d.ts +2 -0
- package/types/v1/features/cli-core/scaffold-files.template.d.ts +6 -0
- package/types/v1/features/devcontainer/feature.d.ts +2 -0
- package/types/v1/features/finalize/feature.d.ts +2 -0
- package/types/v1/features/postgresql/feature.d.ts +2 -0
- package/types/v1/features/postgresql/models.d.ts +6 -0
- package/types/v1/features/postman/collection.template.d.ts +1 -0
- package/types/v1/features/postman/environment.template.d.ts +6 -0
- package/types/v1/features/postman/feature.d.ts +2 -0
- package/types/v1/features/typeorm/feature.d.ts +2 -0
- package/types/v1/features/typeorm/scaffold-files.template.d.ts +9 -0
- package/types/v1/scaffold.d.ts +3 -0
- package/types/v1/version.d.ts +2 -0
- package/types/v1/workflows/api.d.ts +8 -0
- package/types/v1/workflows/cli.d.ts +1 -0
- package/commonjs/src/scaffold.js +0 -89
- package/commonjs/src/templates.js +0 -306
- package/es6/src/scaffold.js +0 -79
- package/es6/src/templates.js +0 -246
- package/types/src/scaffold.d.ts +0 -6
- package/types/src/templates.d.ts +0 -20
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "DockerfileModel", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return DockerfileModel;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
class DockerfileModel {
|
|
12
|
+
_baseImage;
|
|
13
|
+
_runs = [];
|
|
14
|
+
constructor(baseImage = "node:24"){
|
|
15
|
+
this._baseImage = baseImage;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Append a RUN instruction executed as root, inserted after the base
|
|
19
|
+
* toolchain setup and before the USER switch.
|
|
20
|
+
*/ addRun(cmd) {
|
|
21
|
+
this._runs.push(cmd);
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
const extras = this._runs.length > 0 ? `\n${this._runs.map((cmd)=>`RUN ${cmd}`).join("\n\n")}\n` : "";
|
|
26
|
+
return `FROM ${this._baseImage}
|
|
27
|
+
|
|
28
|
+
ARG USERNAME=node
|
|
29
|
+
|
|
30
|
+
# System tools: jq + ripgrep for scripting/search, python3 for AI tooling,
|
|
31
|
+
# gh for GitHub workflows, curl/gnupg for package sources.
|
|
32
|
+
RUN apt-get update \\
|
|
33
|
+
&& apt-get install -y --no-install-recommends ca-certificates curl gnupg jq ripgrep python3 \\
|
|
34
|
+
&& curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg -o /usr/share/keyrings/githubcli-archive-keyring.gpg \\
|
|
35
|
+
&& chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \\
|
|
36
|
+
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list \\
|
|
37
|
+
&& apt-get update \\
|
|
38
|
+
&& apt-get install -y --no-install-recommends gh \\
|
|
39
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
40
|
+
|
|
41
|
+
RUN npm install --global npm@latest \\
|
|
42
|
+
&& npm add --global pnpm@10
|
|
43
|
+
|
|
44
|
+
RUN mkdir -p /home/\${USERNAME}/.config/pnpm /home/\${USERNAME}/.pnpm-store \\
|
|
45
|
+
&& chown -R \${USERNAME}:\${USERNAME} /home/\${USERNAME}/.config /home/\${USERNAME}/.pnpm-store \\
|
|
46
|
+
&& printf "store-dir=/home/\${USERNAME}/.pnpm-store\\n" > /home/\${USERNAME}/.config/pnpm/rc
|
|
47
|
+
|
|
48
|
+
# Pre-create workspace node_modules so the named volume mount is owned by the user
|
|
49
|
+
RUN mkdir -p /workspace/node_modules && chown \${USERNAME}:\${USERNAME} /workspace/node_modules
|
|
50
|
+
|
|
51
|
+
RUN mkdir /commandhistory && touch /commandhistory/.bash_history \\
|
|
52
|
+
&& chown -R \${USERNAME} /commandhistory
|
|
53
|
+
|
|
54
|
+
RUN SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" \\
|
|
55
|
+
&& echo "$SNIPPET" >> "/home/\${USERNAME}/.bashrc"
|
|
56
|
+
${extras}
|
|
57
|
+
USER \${USERNAME}
|
|
58
|
+
`;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS92MS9kb21haW4vZG9ja2VyZmlsZS5tb2RlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRG9ja2VyZmlsZU1vZGVsIHtcblx0cHJpdmF0ZSByZWFkb25seSBfYmFzZUltYWdlOiBzdHJpbmc7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3J1bnM6IHN0cmluZ1tdID0gW107XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKGJhc2VJbWFnZSA9IFwibm9kZToyNFwiKSB7XG5cdFx0dGhpcy5fYmFzZUltYWdlID0gYmFzZUltYWdlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFwcGVuZCBhIFJVTiBpbnN0cnVjdGlvbiBleGVjdXRlZCBhcyByb290LCBpbnNlcnRlZCBhZnRlciB0aGUgYmFzZVxuXHQgKiB0b29sY2hhaW4gc2V0dXAgYW5kIGJlZm9yZSB0aGUgVVNFUiBzd2l0Y2guXG5cdCAqL1xuXHRwdWJsaWMgYWRkUnVuKGNtZDogc3RyaW5nKTogdGhpcyB7XG5cdFx0dGhpcy5fcnVucy5wdXNoKGNtZCk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwdWJsaWMgcmVuZGVyKCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgZXh0cmFzID1cblx0XHRcdHRoaXMuX3J1bnMubGVuZ3RoID4gMCA/IGBcXG4ke3RoaXMuX3J1bnMubWFwKChjbWQpID0+IGBSVU4gJHtjbWR9YCkuam9pbihcIlxcblxcblwiKX1cXG5gIDogXCJcIjtcblxuXHRcdHJldHVybiBgRlJPTSAke3RoaXMuX2Jhc2VJbWFnZX1cblxuQVJHIFVTRVJOQU1FPW5vZGVcblxuIyBTeXN0ZW0gdG9vbHM6IGpxICsgcmlwZ3JlcCBmb3Igc2NyaXB0aW5nL3NlYXJjaCwgcHl0aG9uMyBmb3IgQUkgdG9vbGluZyxcbiMgZ2ggZm9yIEdpdEh1YiB3b3JrZmxvd3MsIGN1cmwvZ251cGcgZm9yIHBhY2thZ2Ugc291cmNlcy5cblJVTiBhcHQtZ2V0IHVwZGF0ZSBcXFxcXG4gICAgJiYgYXB0LWdldCBpbnN0YWxsIC15IC0tbm8taW5zdGFsbC1yZWNvbW1lbmRzIGNhLWNlcnRpZmljYXRlcyBjdXJsIGdudXBnIGpxIHJpcGdyZXAgcHl0aG9uMyBcXFxcXG4gICAgJiYgY3VybCAtZnNTTCBodHRwczovL2NsaS5naXRodWIuY29tL3BhY2thZ2VzL2dpdGh1YmNsaS1hcmNoaXZlLWtleXJpbmcuZ3BnIC1vIC91c3Ivc2hhcmUva2V5cmluZ3MvZ2l0aHViY2xpLWFyY2hpdmUta2V5cmluZy5ncGcgXFxcXFxuICAgICYmIGNobW9kIGdvK3IgL3Vzci9zaGFyZS9rZXlyaW5ncy9naXRodWJjbGktYXJjaGl2ZS1rZXlyaW5nLmdwZyBcXFxcXG4gICAgJiYgZWNobyBcImRlYiBbYXJjaD0kKGRwa2cgLS1wcmludC1hcmNoaXRlY3R1cmUpIHNpZ25lZC1ieT0vdXNyL3NoYXJlL2tleXJpbmdzL2dpdGh1YmNsaS1hcmNoaXZlLWtleXJpbmcuZ3BnXSBodHRwczovL2NsaS5naXRodWIuY29tL3BhY2thZ2VzIHN0YWJsZSBtYWluXCIgPiAvZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC9naXRodWItY2xpLmxpc3QgXFxcXFxuICAgICYmIGFwdC1nZXQgdXBkYXRlIFxcXFxcbiAgICAmJiBhcHQtZ2V0IGluc3RhbGwgLXkgLS1uby1pbnN0YWxsLXJlY29tbWVuZHMgZ2ggXFxcXFxuICAgICYmIHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKlxuXG5SVU4gbnBtIGluc3RhbGwgLS1nbG9iYWwgbnBtQGxhdGVzdCBcXFxcXG4gICAgJiYgbnBtIGFkZCAtLWdsb2JhbCBwbnBtQDEwXG5cblJVTiBta2RpciAtcCAvaG9tZS9cXCR7VVNFUk5BTUV9Ly5jb25maWcvcG5wbSAvaG9tZS9cXCR7VVNFUk5BTUV9Ly5wbnBtLXN0b3JlIFxcXFxcbiAgICAmJiBjaG93biAtUiBcXCR7VVNFUk5BTUV9OlxcJHtVU0VSTkFNRX0gL2hvbWUvXFwke1VTRVJOQU1FfS8uY29uZmlnIC9ob21lL1xcJHtVU0VSTkFNRX0vLnBucG0tc3RvcmUgXFxcXFxuICAgICYmIHByaW50ZiBcInN0b3JlLWRpcj0vaG9tZS9cXCR7VVNFUk5BTUV9Ly5wbnBtLXN0b3JlXFxcXG5cIiA+IC9ob21lL1xcJHtVU0VSTkFNRX0vLmNvbmZpZy9wbnBtL3JjXG5cbiMgUHJlLWNyZWF0ZSB3b3Jrc3BhY2Ugbm9kZV9tb2R1bGVzIHNvIHRoZSBuYW1lZCB2b2x1bWUgbW91bnQgaXMgb3duZWQgYnkgdGhlIHVzZXJcblJVTiBta2RpciAtcCAvd29ya3NwYWNlL25vZGVfbW9kdWxlcyAmJiBjaG93biBcXCR7VVNFUk5BTUV9OlxcJHtVU0VSTkFNRX0gL3dvcmtzcGFjZS9ub2RlX21vZHVsZXNcblxuUlVOIG1rZGlyIC9jb21tYW5kaGlzdG9yeSAmJiB0b3VjaCAvY29tbWFuZGhpc3RvcnkvLmJhc2hfaGlzdG9yeSBcXFxcXG4gICAgJiYgY2hvd24gLVIgXFwke1VTRVJOQU1FfSAvY29tbWFuZGhpc3RvcnlcblxuUlVOIFNOSVBQRVQ9XCJleHBvcnQgUFJPTVBUX0NPTU1BTkQ9J2hpc3RvcnkgLWEnICYmIGV4cG9ydCBISVNURklMRT0vY29tbWFuZGhpc3RvcnkvLmJhc2hfaGlzdG9yeVwiIFxcXFxcbiAgICAmJiBlY2hvIFwiJFNOSVBQRVRcIiA+PiBcIi9ob21lL1xcJHtVU0VSTkFNRX0vLmJhc2hyY1wiXG4ke2V4dHJhc31cblVTRVIgXFwke1VTRVJOQU1FfVxuYDtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkRvY2tlcmZpbGVNb2RlbCIsIl9iYXNlSW1hZ2UiLCJfcnVucyIsImJhc2VJbWFnZSIsImFkZFJ1biIsImNtZCIsInB1c2giLCJyZW5kZXIiLCJleHRyYXMiLCJsZW5ndGgiLCJtYXAiLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7OytCQUFhQTs7O2VBQUFBOzs7QUFBTixNQUFNQTtJQUNLQyxXQUFtQjtJQUNuQkMsUUFBa0IsRUFBRSxDQUFDO0lBRXRDLFlBQW1CQyxZQUFZLFNBQVMsQ0FBRTtRQUN6QyxJQUFJLENBQUNGLFVBQVUsR0FBR0U7SUFDbkI7SUFFQTs7O0VBR0MsR0FDRCxBQUFPQyxPQUFPQyxHQUFXLEVBQVE7UUFDaEMsSUFBSSxDQUFDSCxLQUFLLENBQUNJLElBQUksQ0FBQ0Q7UUFDaEIsT0FBTyxJQUFJO0lBQ1o7SUFFT0UsU0FBaUI7UUFDdkIsTUFBTUMsU0FDTCxJQUFJLENBQUNOLEtBQUssQ0FBQ08sTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDUCxLQUFLLENBQUNRLEdBQUcsQ0FBQyxDQUFDTCxNQUFRLENBQUMsSUFBSSxFQUFFQSxLQUFLLEVBQUVNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHO1FBRXZGLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDVixVQUFVLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCakMsRUFBRU8sT0FBTzs7QUFFVCxDQUFDO0lBQ0E7QUFDRCJ9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "PHASES", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return PHASES;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const PHASES = [
|
|
12
|
+
"resolve",
|
|
13
|
+
"configure",
|
|
14
|
+
"render",
|
|
15
|
+
"integrate",
|
|
16
|
+
"finalize"
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS92MS9kb21haW4vZmVhdHVyZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNjYWZmb2xkQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHQuanNcIjtcblxuZXhwb3J0IHR5cGUgU2NhZmZvbGRTdGVwID0gKGN0eDogU2NhZmZvbGRDb250ZXh0KSA9PiBQcm9taXNlPFNjYWZmb2xkQ29udGV4dD47XG5cbi8qKlxuICogQSBGZWF0dXJlIGlzIGEgc2VsZi1jb250YWluZWQgdW5pdCBvZiBzY2FmZm9sZGluZyBiZWhhdmlvci4gRWFjaCBmZWF0dXJlXG4gKiBtYXkgY29udHJpYnV0ZSB0byBvbmUgb3IgbW9yZSBwaGFzZXMuIFBoYXNlcyBydW4gaW4gb3JkZXIgYWNyb3NzIGFsbFxuICogZmVhdHVyZXMsIHNvIGFueSBjcm9zcy1mZWF0dXJlIGRlcGVuZGVuY3kgb24gc2hhcmVkIG1vZGVscyBpcyBuYXR1cmFsbHlcbiAqIHNhdGlzZmllZCAoZS5nLiBgdHlwZW9ybS5jb25maWd1cmVgIHJ1bnMgYmVmb3JlIGBhcGlDb3JlLnJlbmRlcmApLlxuICpcbiAqIFBoYXNlcyAoaW4gZXhlY3V0aW9uIG9yZGVyKTpcbiAqICAgMS4gcmVzb2x2ZSAgIOKAlCBpbnRlcmFjdGl2ZSBwcm9tcHRzOyBtYXkgdXBkYXRlIGN0eC5vcHRzIG9yIHNlZWQgbW9kZWxzXG4gKiAgIDIuIGNvbmZpZ3VyZSDigJQgcHVyZSBtb2RlbCBjb250cmlidXRpb25zIHRvIHRoZSBGZWF0dXJlTW9kZWxTdG9yZVxuICogICAzLiByZW5kZXIgICAg4oCUIHJlYWQgbW9kZWxzLCB3cml0ZSBmaWxlcyB0byBkaXNrXG4gKiAgIDQuIGludGVncmF0ZSDigJQgZXh0ZXJuYWwgc3lzdGVtIGNhbGxzIChDTEkgYmluYXJpZXMsIFJFU1QgQVBJcylcbiAqICAgNS4gZmluYWxpemUgIOKAlCBpbnN0YWxsIGRlcHMsIHByaW50IG5leHQgc3RlcHMsIGV0Yy5cbiAqXG4gKiBgZW5hYmxlZChjdHgpYCBpcyByZS1ldmFsdWF0ZWQgYmVmb3JlIGVhY2ggcGhhc2Ugc28gZmVhdHVyZXMgY2FuIG9wdCBpblxuICogYmFzZWQgb24gb3B0aW9ucyBzZXQgYnkgZWFybGllciBgcmVzb2x2ZWAgcGhhc2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmUge1xuXHRuYW1lOiBzdHJpbmc7XG5cdGVuYWJsZWQ/OiAoY3R4OiBTY2FmZm9sZENvbnRleHQpID0+IGJvb2xlYW47XG5cdHJlc29sdmU/OiBTY2FmZm9sZFN0ZXA7XG5cdGNvbmZpZ3VyZT86IFNjYWZmb2xkU3RlcDtcblx0cmVuZGVyPzogU2NhZmZvbGRTdGVwO1xuXHRpbnRlZ3JhdGU/OiBTY2FmZm9sZFN0ZXA7XG5cdGZpbmFsaXplPzogU2NhZmZvbGRTdGVwO1xufVxuXG5leHBvcnQgdHlwZSBQaGFzZSA9IFwicmVzb2x2ZVwiIHwgXCJjb25maWd1cmVcIiB8IFwicmVuZGVyXCIgfCBcImludGVncmF0ZVwiIHwgXCJmaW5hbGl6ZVwiO1xuXG5leHBvcnQgY29uc3QgUEhBU0VTOiByZWFkb25seSBQaGFzZVtdID0gW1xuXHRcInJlc29sdmVcIixcblx0XCJjb25maWd1cmVcIixcblx0XCJyZW5kZXJcIixcblx0XCJpbnRlZ3JhdGVcIixcblx0XCJmaW5hbGl6ZVwiLFxuXTtcbiJdLCJuYW1lcyI6WyJQSEFTRVMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBZ0NhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxTQUEyQjtJQUN2QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0EifQ==
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Groups imports from the same package, rendering mixed value+type imports
|
|
3
|
+
* as `import { A, type B } from "pkg"` rather than two separate statements.
|
|
4
|
+
*/ "use strict";
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "ImportMap", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function() {
|
|
11
|
+
return ImportMap;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
class ImportMap {
|
|
15
|
+
_packages = new Map();
|
|
16
|
+
_entry(pkg) {
|
|
17
|
+
const existing = this._packages.get(pkg);
|
|
18
|
+
if (existing) return existing;
|
|
19
|
+
const e = {
|
|
20
|
+
named: new Set(),
|
|
21
|
+
types: new Set(),
|
|
22
|
+
sideEffect: false
|
|
23
|
+
};
|
|
24
|
+
this._packages.set(pkg, e);
|
|
25
|
+
return e;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Add named value imports.
|
|
29
|
+
* Called with no names, registers a side-effect `import "pkg"`.
|
|
30
|
+
*/ add(pkg, ...names) {
|
|
31
|
+
const e = this._entry(pkg);
|
|
32
|
+
if (names.length === 0) e.sideEffect = true;
|
|
33
|
+
else for (const n of names)e.named.add(n);
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
/** Add type-only named imports. */ addType(pkg, ...names) {
|
|
37
|
+
const e = this._entry(pkg);
|
|
38
|
+
for (const n of names)e.types.add(n);
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Render to an array of import statement strings (insertion order preserved).
|
|
43
|
+
*
|
|
44
|
+
* - All-type package → `import type { A, B } from "pkg";`
|
|
45
|
+
* - All-value package → `import { A, B } from "pkg";`
|
|
46
|
+
* - Mixed package → `import { A, type B } from "pkg";`
|
|
47
|
+
* - Side-effect only → `import "pkg";`
|
|
48
|
+
*/ render() {
|
|
49
|
+
const lines = [];
|
|
50
|
+
for (const [pkg, e] of this._packages){
|
|
51
|
+
if (e.sideEffect) lines.push(`import "${pkg}";`);
|
|
52
|
+
const named = [
|
|
53
|
+
...e.named
|
|
54
|
+
].sort();
|
|
55
|
+
const types = [
|
|
56
|
+
...e.types
|
|
57
|
+
].sort();
|
|
58
|
+
if (named.length === 0 && types.length > 0) {
|
|
59
|
+
lines.push(`import type { ${types.join(", ")} } from "${pkg}";`);
|
|
60
|
+
} else if (named.length > 0 && types.length === 0) {
|
|
61
|
+
lines.push(`import { ${named.join(", ")} } from "${pkg}";`);
|
|
62
|
+
} else if (named.length > 0 && types.length > 0) {
|
|
63
|
+
const all = [
|
|
64
|
+
...named,
|
|
65
|
+
...types.map((t)=>`type ${t}`)
|
|
66
|
+
].join(", ");
|
|
67
|
+
lines.push(`import { ${all} } from "${pkg}";`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return lines;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS92MS9kb21haW4vaW1wb3J0LW1hcC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdyb3VwcyBpbXBvcnRzIGZyb20gdGhlIHNhbWUgcGFja2FnZSwgcmVuZGVyaW5nIG1peGVkIHZhbHVlK3R5cGUgaW1wb3J0c1xuICogYXMgYGltcG9ydCB7IEEsIHR5cGUgQiB9IGZyb20gXCJwa2dcImAgcmF0aGVyIHRoYW4gdHdvIHNlcGFyYXRlIHN0YXRlbWVudHMuXG4gKi9cblxuaW50ZXJmYWNlIFBhY2thZ2VFbnRyeSB7XG5cdG5hbWVkOiBTZXQ8c3RyaW5nPjtcblx0dHlwZXM6IFNldDxzdHJpbmc+O1xuXHRzaWRlRWZmZWN0OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgSW1wb3J0TWFwIHtcblx0cHJpdmF0ZSByZWFkb25seSBfcGFja2FnZXMgPSBuZXcgTWFwPHN0cmluZywgUGFja2FnZUVudHJ5PigpO1xuXG5cdHByaXZhdGUgX2VudHJ5KHBrZzogc3RyaW5nKTogUGFja2FnZUVudHJ5IHtcblx0XHRjb25zdCBleGlzdGluZyA9IHRoaXMuX3BhY2thZ2VzLmdldChwa2cpO1xuXHRcdGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nO1xuXHRcdGNvbnN0IGU6IFBhY2thZ2VFbnRyeSA9IHsgbmFtZWQ6IG5ldyBTZXQoKSwgdHlwZXM6IG5ldyBTZXQoKSwgc2lkZUVmZmVjdDogZmFsc2UgfTtcblx0XHR0aGlzLl9wYWNrYWdlcy5zZXQocGtnLCBlKTtcblx0XHRyZXR1cm4gZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgbmFtZWQgdmFsdWUgaW1wb3J0cy5cblx0ICogQ2FsbGVkIHdpdGggbm8gbmFtZXMsIHJlZ2lzdGVycyBhIHNpZGUtZWZmZWN0IGBpbXBvcnQgXCJwa2dcImAuXG5cdCAqL1xuXHRwdWJsaWMgYWRkKHBrZzogc3RyaW5nLCAuLi5uYW1lczogc3RyaW5nW10pOiB0aGlzIHtcblx0XHRjb25zdCBlID0gdGhpcy5fZW50cnkocGtnKTtcblx0XHRpZiAobmFtZXMubGVuZ3RoID09PSAwKSBlLnNpZGVFZmZlY3QgPSB0cnVlO1xuXHRcdGVsc2UgZm9yIChjb25zdCBuIG9mIG5hbWVzKSBlLm5hbWVkLmFkZChuKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKiBBZGQgdHlwZS1vbmx5IG5hbWVkIGltcG9ydHMuICovXG5cdHB1YmxpYyBhZGRUeXBlKHBrZzogc3RyaW5nLCAuLi5uYW1lczogc3RyaW5nW10pOiB0aGlzIHtcblx0XHRjb25zdCBlID0gdGhpcy5fZW50cnkocGtnKTtcblx0XHRmb3IgKGNvbnN0IG4gb2YgbmFtZXMpIGUudHlwZXMuYWRkKG4pO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbmRlciB0byBhbiBhcnJheSBvZiBpbXBvcnQgc3RhdGVtZW50IHN0cmluZ3MgKGluc2VydGlvbiBvcmRlciBwcmVzZXJ2ZWQpLlxuXHQgKlxuXHQgKiAtIEFsbC10eXBlIHBhY2thZ2UgIOKGkiBgaW1wb3J0IHR5cGUgeyBBLCBCIH0gZnJvbSBcInBrZ1wiO2Bcblx0ICogLSBBbGwtdmFsdWUgcGFja2FnZSDihpIgYGltcG9ydCB7IEEsIEIgfSBmcm9tIFwicGtnXCI7YFxuXHQgKiAtIE1peGVkIHBhY2thZ2UgICAgIOKGkiBgaW1wb3J0IHsgQSwgdHlwZSBCIH0gZnJvbSBcInBrZ1wiO2Bcblx0ICogLSBTaWRlLWVmZmVjdCBvbmx5ICDihpIgYGltcG9ydCBcInBrZ1wiO2Bcblx0ICovXG5cdHB1YmxpYyByZW5kZXIoKTogc3RyaW5nW10ge1xuXHRcdGNvbnN0IGxpbmVzOiBzdHJpbmdbXSA9IFtdO1xuXHRcdGZvciAoY29uc3QgW3BrZywgZV0gb2YgdGhpcy5fcGFja2FnZXMpIHtcblx0XHRcdGlmIChlLnNpZGVFZmZlY3QpIGxpbmVzLnB1c2goYGltcG9ydCBcIiR7cGtnfVwiO2ApO1xuXG5cdFx0XHRjb25zdCBuYW1lZCA9IFsuLi5lLm5hbWVkXS5zb3J0KCk7XG5cdFx0XHRjb25zdCB0eXBlcyA9IFsuLi5lLnR5cGVzXS5zb3J0KCk7XG5cblx0XHRcdGlmIChuYW1lZC5sZW5ndGggPT09IDAgJiYgdHlwZXMubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRsaW5lcy5wdXNoKGBpbXBvcnQgdHlwZSB7ICR7dHlwZXMuam9pbihcIiwgXCIpfSB9IGZyb20gXCIke3BrZ31cIjtgKTtcblx0XHRcdH0gZWxzZSBpZiAobmFtZWQubGVuZ3RoID4gMCAmJiB0eXBlcy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0bGluZXMucHVzaChgaW1wb3J0IHsgJHtuYW1lZC5qb2luKFwiLCBcIil9IH0gZnJvbSBcIiR7cGtnfVwiO2ApO1xuXHRcdFx0fSBlbHNlIGlmIChuYW1lZC5sZW5ndGggPiAwICYmIHR5cGVzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0Y29uc3QgYWxsID0gWy4uLm5hbWVkLCAuLi50eXBlcy5tYXAoKHQpID0+IGB0eXBlICR7dH1gKV0uam9pbihcIiwgXCIpO1xuXHRcdFx0XHRsaW5lcy5wdXNoKGBpbXBvcnQgeyAke2FsbH0gfSBmcm9tIFwiJHtwa2d9XCI7YCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBsaW5lcztcblx0fVxufVxuIl0sIm5hbWVzIjpbIkltcG9ydE1hcCIsIl9wYWNrYWdlcyIsIk1hcCIsIl9lbnRyeSIsInBrZyIsImV4aXN0aW5nIiwiZ2V0IiwiZSIsIm5hbWVkIiwiU2V0IiwidHlwZXMiLCJzaWRlRWZmZWN0Iiwic2V0IiwiYWRkIiwibmFtZXMiLCJsZW5ndGgiLCJuIiwiYWRkVHlwZSIsInJlbmRlciIsImxpbmVzIiwicHVzaCIsInNvcnQiLCJqb2luIiwiYWxsIiwibWFwIiwidCJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDOzs7OytCQVFZQTs7O2VBQUFBOzs7QUFBTixNQUFNQTtJQUNLQyxZQUFZLElBQUlDLE1BQTRCO0lBRXJEQyxPQUFPQyxHQUFXLEVBQWdCO1FBQ3pDLE1BQU1DLFdBQVcsSUFBSSxDQUFDSixTQUFTLENBQUNLLEdBQUcsQ0FBQ0Y7UUFDcEMsSUFBSUMsVUFBVSxPQUFPQTtRQUNyQixNQUFNRSxJQUFrQjtZQUFFQyxPQUFPLElBQUlDO1lBQU9DLE9BQU8sSUFBSUQ7WUFBT0UsWUFBWTtRQUFNO1FBQ2hGLElBQUksQ0FBQ1YsU0FBUyxDQUFDVyxHQUFHLENBQUNSLEtBQUtHO1FBQ3hCLE9BQU9BO0lBQ1I7SUFFQTs7O0VBR0MsR0FDRCxBQUFPTSxJQUFJVCxHQUFXLEVBQUUsR0FBR1UsS0FBZSxFQUFRO1FBQ2pELE1BQU1QLElBQUksSUFBSSxDQUFDSixNQUFNLENBQUNDO1FBQ3RCLElBQUlVLE1BQU1DLE1BQU0sS0FBSyxHQUFHUixFQUFFSSxVQUFVLEdBQUc7YUFDbEMsS0FBSyxNQUFNSyxLQUFLRixNQUFPUCxFQUFFQyxLQUFLLENBQUNLLEdBQUcsQ0FBQ0c7UUFDeEMsT0FBTyxJQUFJO0lBQ1o7SUFFQSxpQ0FBaUMsR0FDakMsQUFBT0MsUUFBUWIsR0FBVyxFQUFFLEdBQUdVLEtBQWUsRUFBUTtRQUNyRCxNQUFNUCxJQUFJLElBQUksQ0FBQ0osTUFBTSxDQUFDQztRQUN0QixLQUFLLE1BQU1ZLEtBQUtGLE1BQU9QLEVBQUVHLEtBQUssQ0FBQ0csR0FBRyxDQUFDRztRQUNuQyxPQUFPLElBQUk7SUFDWjtJQUVBOzs7Ozs7O0VBT0MsR0FDRCxBQUFPRSxTQUFtQjtRQUN6QixNQUFNQyxRQUFrQixFQUFFO1FBQzFCLEtBQUssTUFBTSxDQUFDZixLQUFLRyxFQUFFLElBQUksSUFBSSxDQUFDTixTQUFTLENBQUU7WUFDdEMsSUFBSU0sRUFBRUksVUFBVSxFQUFFUSxNQUFNQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUVoQixJQUFJLEVBQUUsQ0FBQztZQUUvQyxNQUFNSSxRQUFRO21CQUFJRCxFQUFFQyxLQUFLO2FBQUMsQ0FBQ2EsSUFBSTtZQUMvQixNQUFNWCxRQUFRO21CQUFJSCxFQUFFRyxLQUFLO2FBQUMsQ0FBQ1csSUFBSTtZQUUvQixJQUFJYixNQUFNTyxNQUFNLEtBQUssS0FBS0wsTUFBTUssTUFBTSxHQUFHLEdBQUc7Z0JBQzNDSSxNQUFNQyxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUVWLE1BQU1ZLElBQUksQ0FBQyxNQUFNLFNBQVMsRUFBRWxCLElBQUksRUFBRSxDQUFDO1lBQ2hFLE9BQU8sSUFBSUksTUFBTU8sTUFBTSxHQUFHLEtBQUtMLE1BQU1LLE1BQU0sS0FBSyxHQUFHO2dCQUNsREksTUFBTUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFWixNQUFNYyxJQUFJLENBQUMsTUFBTSxTQUFTLEVBQUVsQixJQUFJLEVBQUUsQ0FBQztZQUMzRCxPQUFPLElBQUlJLE1BQU1PLE1BQU0sR0FBRyxLQUFLTCxNQUFNSyxNQUFNLEdBQUcsR0FBRztnQkFDaEQsTUFBTVEsTUFBTTt1QkFBSWY7dUJBQVVFLE1BQU1jLEdBQUcsQ0FBQyxDQUFDQyxJQUFNLENBQUMsS0FBSyxFQUFFQSxHQUFHO2lCQUFFLENBQUNILElBQUksQ0FBQztnQkFDOURILE1BQU1DLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRUcsSUFBSSxTQUFTLEVBQUVuQixJQUFJLEVBQUUsQ0FBQztZQUM5QztRQUNEO1FBQ0EsT0FBT2U7SUFDUjtBQUNEIn0=
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get COMPOSE_KEY () {
|
|
13
|
+
return _composemodel.COMPOSE_KEY;
|
|
14
|
+
},
|
|
15
|
+
get ClassModel () {
|
|
16
|
+
return _classmodel.ClassModel;
|
|
17
|
+
},
|
|
18
|
+
get ComposeModel () {
|
|
19
|
+
return _composemodel.ComposeModel;
|
|
20
|
+
},
|
|
21
|
+
get DEVCONTAINER_KEY () {
|
|
22
|
+
return _devcontainermodel.DEVCONTAINER_KEY;
|
|
23
|
+
},
|
|
24
|
+
get DevcontainerModel () {
|
|
25
|
+
return _devcontainermodel.DevcontainerModel;
|
|
26
|
+
},
|
|
27
|
+
get DockerfileModel () {
|
|
28
|
+
return _dockerfilemodel.DockerfileModel;
|
|
29
|
+
},
|
|
30
|
+
get FeatureModelStore () {
|
|
31
|
+
return _context.FeatureModelStore;
|
|
32
|
+
},
|
|
33
|
+
get ImportMap () {
|
|
34
|
+
return _importmap.ImportMap;
|
|
35
|
+
},
|
|
36
|
+
get PHASES () {
|
|
37
|
+
return _feature.PHASES;
|
|
38
|
+
},
|
|
39
|
+
get ask () {
|
|
40
|
+
return _prompt.ask;
|
|
41
|
+
},
|
|
42
|
+
get createContext () {
|
|
43
|
+
return _context.createContext;
|
|
44
|
+
},
|
|
45
|
+
get defineWorkflow () {
|
|
46
|
+
return _workflow.defineWorkflow;
|
|
47
|
+
},
|
|
48
|
+
get modelKey () {
|
|
49
|
+
return _context.modelKey;
|
|
50
|
+
},
|
|
51
|
+
get pick () {
|
|
52
|
+
return _prompt.pick;
|
|
53
|
+
},
|
|
54
|
+
get runWorkflow () {
|
|
55
|
+
return _workflow.runWorkflow;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
const _classmodel = require("./class-model.js");
|
|
59
|
+
const _composemodel = require("./compose.model.js");
|
|
60
|
+
const _context = require("./context.js");
|
|
61
|
+
const _devcontainermodel = require("./devcontainer.model.js");
|
|
62
|
+
const _dockerfilemodel = require("./dockerfile.model.js");
|
|
63
|
+
const _feature = require("./feature.js");
|
|
64
|
+
const _importmap = require("./import-map.js");
|
|
65
|
+
const _prompt = require("./prompt.js");
|
|
66
|
+
const _workflow = require("./workflow.js");
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS92MS9kb21haW4vaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcblx0dHlwZSBCb2R5Q2xhc3NEZWYsXG5cdHR5cGUgQm9keUNsYXNzRmllbGQsXG5cdENsYXNzTW9kZWwsXG5cdHR5cGUgQ29uc3RydWN0b3JQYXJhbSxcblx0dHlwZSBNZXRob2REZWYsXG5cdHR5cGUgTWV0aG9kUGFyYW0sXG59IGZyb20gXCIuL2NsYXNzLW1vZGVsLmpzXCI7XG5leHBvcnQgeyBDT01QT1NFX0tFWSwgQ29tcG9zZU1vZGVsLCB0eXBlIENvbXBvc2VTZXJ2aWNlIH0gZnJvbSBcIi4vY29tcG9zZS5tb2RlbC5qc1wiO1xuZXhwb3J0IHR5cGUge1xuXHRGZWF0dXJlTW9kZWxLZXksXG5cdFNjYWZmb2xkQ29udGV4dCxcblx0U2NhZmZvbGRPcHRpb25zLFxufSBmcm9tIFwiLi9jb250ZXh0LmpzXCI7XG5leHBvcnQgeyBjcmVhdGVDb250ZXh0LCBGZWF0dXJlTW9kZWxTdG9yZSwgbW9kZWxLZXkgfSBmcm9tIFwiLi9jb250ZXh0LmpzXCI7XG5leHBvcnQgeyBERVZDT05UQUlORVJfS0VZLCBEZXZjb250YWluZXJNb2RlbCB9IGZyb20gXCIuL2RldmNvbnRhaW5lci5tb2RlbC5qc1wiO1xuZXhwb3J0IHsgRG9ja2VyZmlsZU1vZGVsIH0gZnJvbSBcIi4vZG9ja2VyZmlsZS5tb2RlbC5qc1wiO1xuZXhwb3J0IHR5cGUgeyBGZWF0dXJlLCBQaGFzZSwgU2NhZmZvbGRTdGVwIH0gZnJvbSBcIi4vZmVhdHVyZS5qc1wiO1xuZXhwb3J0IHsgUEhBU0VTIH0gZnJvbSBcIi4vZmVhdHVyZS5qc1wiO1xuZXhwb3J0IHsgSW1wb3J0TWFwIH0gZnJvbSBcIi4vaW1wb3J0LW1hcC5qc1wiO1xuZXhwb3J0IHsgYXNrLCBwaWNrIH0gZnJvbSBcIi4vcHJvbXB0LmpzXCI7XG5leHBvcnQgdHlwZSB7IFdvcmtmbG93IH0gZnJvbSBcIi4vd29ya2Zsb3cuanNcIjtcbmV4cG9ydCB7IGRlZmluZVdvcmtmbG93LCBydW5Xb3JrZmxvdyB9IGZyb20gXCIuL3dvcmtmbG93LmpzXCI7XG4iXSwibmFtZXMiOlsiQ09NUE9TRV9LRVkiLCJDbGFzc01vZGVsIiwiQ29tcG9zZU1vZGVsIiwiREVWQ09OVEFJTkVSX0tFWSIsIkRldmNvbnRhaW5lck1vZGVsIiwiRG9ja2VyZmlsZU1vZGVsIiwiRmVhdHVyZU1vZGVsU3RvcmUiLCJJbXBvcnRNYXAiLCJQSEFTRVMiLCJhc2siLCJjcmVhdGVDb250ZXh0IiwiZGVmaW5lV29ya2Zsb3ciLCJtb2RlbEtleSIsInBpY2siLCJydW5Xb3JrZmxvdyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFRU0E7ZUFBQUEseUJBQVc7O1FBTG5CQztlQUFBQSxzQkFBVTs7UUFLV0M7ZUFBQUEsMEJBQVk7O1FBT3pCQztlQUFBQSxtQ0FBZ0I7O1FBQUVDO2VBQUFBLG9DQUFpQjs7UUFDbkNDO2VBQUFBLGdDQUFlOztRQUZBQztlQUFBQSwwQkFBaUI7O1FBS2hDQztlQUFBQSxvQkFBUzs7UUFEVEM7ZUFBQUEsZUFBTTs7UUFFTkM7ZUFBQUEsV0FBRzs7UUFOSEM7ZUFBQUEsc0JBQWE7O1FBUWJDO2VBQUFBLHdCQUFjOztRQVJvQkM7ZUFBQUEsaUJBQVE7O1FBTXJDQztlQUFBQSxZQUFJOztRQUVPQztlQUFBQSxxQkFBVzs7OzRCQWY3Qjs4QkFDd0Q7eUJBTUo7bUNBQ1A7aUNBQ3BCO3lCQUVUOzJCQUNHO3dCQUNBOzBCQUVrQiJ9
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get ask () {
|
|
13
|
+
return ask;
|
|
14
|
+
},
|
|
15
|
+
get pick () {
|
|
16
|
+
return pick;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _promises = require("node:readline/promises");
|
|
20
|
+
async function ask(question, fallback = "") {
|
|
21
|
+
const rl = (0, _promises.createInterface)({
|
|
22
|
+
input: process.stdin,
|
|
23
|
+
output: process.stdout
|
|
24
|
+
});
|
|
25
|
+
const answer = (await rl.question(question)).trim();
|
|
26
|
+
rl.close();
|
|
27
|
+
return answer || fallback;
|
|
28
|
+
}
|
|
29
|
+
async function pick(label, items, display) {
|
|
30
|
+
console.log(label.trimEnd());
|
|
31
|
+
for (const [i, item] of items.entries()){
|
|
32
|
+
console.log(` ${i + 1}. ${display(item)}`);
|
|
33
|
+
}
|
|
34
|
+
const rl = (0, _promises.createInterface)({
|
|
35
|
+
input: process.stdin,
|
|
36
|
+
output: process.stdout
|
|
37
|
+
});
|
|
38
|
+
const answer = (await rl.question(" > ")).trim();
|
|
39
|
+
rl.close();
|
|
40
|
+
const idx = Number.parseInt(answer, 10);
|
|
41
|
+
if (Number.isNaN(idx) || idx < 1 || idx > items.length) return null;
|
|
42
|
+
return items[idx - 1];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS92MS9kb21haW4vcHJvbXB0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUludGVyZmFjZSB9IGZyb20gXCJub2RlOnJlYWRsaW5lL3Byb21pc2VzXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc2socXVlc3Rpb246IHN0cmluZywgZmFsbGJhY2sgPSBcIlwiKTogUHJvbWlzZTxzdHJpbmc+IHtcblx0Y29uc3QgcmwgPSBjcmVhdGVJbnRlcmZhY2UoeyBpbnB1dDogcHJvY2Vzcy5zdGRpbiwgb3V0cHV0OiBwcm9jZXNzLnN0ZG91dCB9KTtcblx0Y29uc3QgYW5zd2VyID0gKGF3YWl0IHJsLnF1ZXN0aW9uKHF1ZXN0aW9uKSkudHJpbSgpO1xuXHRybC5jbG9zZSgpO1xuXHRyZXR1cm4gYW5zd2VyIHx8IGZhbGxiYWNrO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGljazxUPihcblx0bGFiZWw6IHN0cmluZyxcblx0aXRlbXM6IFRbXSxcblx0ZGlzcGxheTogKGl0ZW06IFQpID0+IHN0cmluZyxcbik6IFByb21pc2U8VCB8IG51bGw+IHtcblx0Y29uc29sZS5sb2cobGFiZWwudHJpbUVuZCgpKTtcblx0Zm9yIChjb25zdCBbaSwgaXRlbV0gb2YgaXRlbXMuZW50cmllcygpKSB7XG5cdFx0Y29uc29sZS5sb2coYCAgICAke2kgKyAxfS4gJHtkaXNwbGF5KGl0ZW0pfWApO1xuXHR9XG5cdGNvbnN0IHJsID0gY3JlYXRlSW50ZXJmYWNlKHsgaW5wdXQ6IHByb2Nlc3Muc3RkaW4sIG91dHB1dDogcHJvY2Vzcy5zdGRvdXQgfSk7XG5cdGNvbnN0IGFuc3dlciA9IChhd2FpdCBybC5xdWVzdGlvbihcIiAgPiBcIikpLnRyaW0oKTtcblx0cmwuY2xvc2UoKTtcblx0Y29uc3QgaWR4ID0gTnVtYmVyLnBhcnNlSW50KGFuc3dlciwgMTApO1xuXHRpZiAoTnVtYmVyLmlzTmFOKGlkeCkgfHwgaWR4IDwgMSB8fCBpZHggPiBpdGVtcy5sZW5ndGgpIHJldHVybiBudWxsO1xuXHRyZXR1cm4gaXRlbXNbaWR4IC0gMV07XG59XG4iXSwibmFtZXMiOlsiYXNrIiwicGljayIsInF1ZXN0aW9uIiwiZmFsbGJhY2siLCJybCIsImNyZWF0ZUludGVyZmFjZSIsImlucHV0IiwicHJvY2VzcyIsInN0ZGluIiwib3V0cHV0Iiwic3Rkb3V0IiwiYW5zd2VyIiwidHJpbSIsImNsb3NlIiwibGFiZWwiLCJpdGVtcyIsImRpc3BsYXkiLCJjb25zb2xlIiwibG9nIiwidHJpbUVuZCIsImkiLCJpdGVtIiwiZW50cmllcyIsImlkeCIsIk51bWJlciIsInBhcnNlSW50IiwiaXNOYU4iLCJsZW5ndGgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBRXNCQTtlQUFBQTs7UUFPQUM7ZUFBQUE7OzswQkFUVTtBQUV6QixlQUFlRCxJQUFJRSxRQUFnQixFQUFFQyxXQUFXLEVBQUU7SUFDeEQsTUFBTUMsS0FBS0MsSUFBQUEseUJBQWUsRUFBQztRQUFFQyxPQUFPQyxRQUFRQyxLQUFLO1FBQUVDLFFBQVFGLFFBQVFHLE1BQU07SUFBQztJQUMxRSxNQUFNQyxTQUFTLEFBQUMsQ0FBQSxNQUFNUCxHQUFHRixRQUFRLENBQUNBLFNBQVEsRUFBR1UsSUFBSTtJQUNqRFIsR0FBR1MsS0FBSztJQUNSLE9BQU9GLFVBQVVSO0FBQ2xCO0FBRU8sZUFBZUYsS0FDckJhLEtBQWEsRUFDYkMsS0FBVSxFQUNWQyxPQUE0QjtJQUU1QkMsUUFBUUMsR0FBRyxDQUFDSixNQUFNSyxPQUFPO0lBQ3pCLEtBQUssTUFBTSxDQUFDQyxHQUFHQyxLQUFLLElBQUlOLE1BQU1PLE9BQU8sR0FBSTtRQUN4Q0wsUUFBUUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFRSxJQUFJLEVBQUUsRUFBRSxFQUFFSixRQUFRSyxPQUFPO0lBQzdDO0lBQ0EsTUFBTWpCLEtBQUtDLElBQUFBLHlCQUFlLEVBQUM7UUFBRUMsT0FBT0MsUUFBUUMsS0FBSztRQUFFQyxRQUFRRixRQUFRRyxNQUFNO0lBQUM7SUFDMUUsTUFBTUMsU0FBUyxBQUFDLENBQUEsTUFBTVAsR0FBR0YsUUFBUSxDQUFDLE9BQU0sRUFBR1UsSUFBSTtJQUMvQ1IsR0FBR1MsS0FBSztJQUNSLE1BQU1VLE1BQU1DLE9BQU9DLFFBQVEsQ0FBQ2QsUUFBUTtJQUNwQyxJQUFJYSxPQUFPRSxLQUFLLENBQUNILFFBQVFBLE1BQU0sS0FBS0EsTUFBTVIsTUFBTVksTUFBTSxFQUFFLE9BQU87SUFDL0QsT0FBT1osS0FBSyxDQUFDUSxNQUFNLEVBQUU7QUFDdEIifQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get defineWorkflow () {
|
|
13
|
+
return defineWorkflow;
|
|
14
|
+
},
|
|
15
|
+
get runWorkflow () {
|
|
16
|
+
return runWorkflow;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _feature = require("./feature.js");
|
|
20
|
+
function defineWorkflow(name, features) {
|
|
21
|
+
return {
|
|
22
|
+
name,
|
|
23
|
+
features
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
async function runWorkflow(workflow, ctx) {
|
|
27
|
+
for (const phase of _feature.PHASES){
|
|
28
|
+
for (const feature of workflow.features){
|
|
29
|
+
const step = feature[phase];
|
|
30
|
+
if (step == null) continue;
|
|
31
|
+
if (feature.enabled != null && !feature.enabled(ctx)) continue;
|
|
32
|
+
ctx = await step(ctx);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS92MS9kb21haW4vd29ya2Zsb3cudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTY2FmZm9sZENvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0LmpzXCI7XG5pbXBvcnQgeyB0eXBlIEZlYXR1cmUsIFBIQVNFUyB9IGZyb20gXCIuL2ZlYXR1cmUuanNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvdyB7XG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblx0cmVhZG9ubHkgZmVhdHVyZXM6IHJlYWRvbmx5IEZlYXR1cmVbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZVdvcmtmbG93KG5hbWU6IHN0cmluZywgZmVhdHVyZXM6IEZlYXR1cmVbXSk6IFdvcmtmbG93IHtcblx0cmV0dXJuIHsgbmFtZSwgZmVhdHVyZXMgfTtcbn1cblxuLyoqXG4gKiBSdW5zIGEgd29ya2Zsb3cgYnkgaXRlcmF0aW5nIHBoYXNlcyDDlyBmZWF0dXJlcy4gV2l0aGluIGVhY2ggcGhhc2UsIGV2ZXJ5XG4gKiBlbmFibGVkIGZlYXR1cmUncyBzdGVwIGZvciB0aGF0IHBoYXNlIGlzIGV4ZWN1dGVkIGluIGZlYXR1cmUgb3JkZXIuIFRoZVxuICogYGVuYWJsZWRgIHByZWRpY2F0ZSBpcyByZS1ldmFsdWF0ZWQgYmVmb3JlIGVhY2ggcGhhc2Ugc28gYSBmZWF0dXJlIGNhblxuICogYmVjb21lIGFjdGl2ZSBiYXNlZCBvbiBvcHRpb25zIHNldCBieSBlYXJsaWVyIGByZXNvbHZlYCBwaGFzZXMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5Xb3JrZmxvdyh3b3JrZmxvdzogV29ya2Zsb3csIGN0eDogU2NhZmZvbGRDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG5cdGZvciAoY29uc3QgcGhhc2Ugb2YgUEhBU0VTKSB7XG5cdFx0Zm9yIChjb25zdCBmZWF0dXJlIG9mIHdvcmtmbG93LmZlYXR1cmVzKSB7XG5cdFx0XHRjb25zdCBzdGVwID0gZmVhdHVyZVtwaGFzZV07XG5cdFx0XHRpZiAoc3RlcCA9PSBudWxsKSBjb250aW51ZTtcblx0XHRcdGlmIChmZWF0dXJlLmVuYWJsZWQgIT0gbnVsbCAmJiAhZmVhdHVyZS5lbmFibGVkKGN0eCkpIGNvbnRpbnVlO1xuXHRcdFx0Y3R4ID0gYXdhaXQgc3RlcChjdHgpO1xuXHRcdH1cblx0fVxufVxuIl0sIm5hbWVzIjpbImRlZmluZVdvcmtmbG93IiwicnVuV29ya2Zsb3ciLCJuYW1lIiwiZmVhdHVyZXMiLCJ3b3JrZmxvdyIsImN0eCIsInBoYXNlIiwiUEhBU0VTIiwiZmVhdHVyZSIsInN0ZXAiLCJlbmFibGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQVFnQkE7ZUFBQUE7O1FBVU1DO2VBQUFBOzs7eUJBakJlO0FBTzlCLFNBQVNELGVBQWVFLElBQVksRUFBRUMsUUFBbUI7SUFDL0QsT0FBTztRQUFFRDtRQUFNQztJQUFTO0FBQ3pCO0FBUU8sZUFBZUYsWUFBWUcsUUFBa0IsRUFBRUMsR0FBb0I7SUFDekUsS0FBSyxNQUFNQyxTQUFTQyxlQUFNLENBQUU7UUFDM0IsS0FBSyxNQUFNQyxXQUFXSixTQUFTRCxRQUFRLENBQUU7WUFDeEMsTUFBTU0sT0FBT0QsT0FBTyxDQUFDRixNQUFNO1lBQzNCLElBQUlHLFFBQVEsTUFBTTtZQUNsQixJQUFJRCxRQUFRRSxPQUFPLElBQUksUUFBUSxDQUFDRixRQUFRRSxPQUFPLENBQUNMLE1BQU07WUFDdERBLE1BQU0sTUFBTUksS0FBS0o7UUFDbEI7SUFDRDtBQUNEIn0=
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "apiCoreFeature", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return apiCoreFeature;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _promises = require("node:fs/promises");
|
|
12
|
+
const _nodepath = require("node:path");
|
|
13
|
+
const _devcontainermodel = require("../../domain/devcontainer.model.js");
|
|
14
|
+
const _index = require("../../domain/index.js");
|
|
15
|
+
const _hellocontrollermodel = require("./hello-controller.model.js");
|
|
16
|
+
const _maintsmodel = require("./main-ts.model.js");
|
|
17
|
+
const _scaffoldfilestemplate = require("./scaffold-files.template.js");
|
|
18
|
+
async function resolve(ctx) {
|
|
19
|
+
if (ctx.opts.yes) return ctx;
|
|
20
|
+
let { database, idp, postman } = ctx.opts;
|
|
21
|
+
if (database == null) {
|
|
22
|
+
console.log("\n Select database:");
|
|
23
|
+
const db = await (0, _index.pick)(" Choice (enter for none): ", [
|
|
24
|
+
"postgresql/typeorm"
|
|
25
|
+
], (id)=>id);
|
|
26
|
+
database = db === "postgresql/typeorm" ? "typeorm" : undefined;
|
|
27
|
+
}
|
|
28
|
+
if (idp == null) {
|
|
29
|
+
console.log("\n Select identity provider:");
|
|
30
|
+
const provider = await (0, _index.pick)(" Choice (enter for none): ", [
|
|
31
|
+
"Auth0"
|
|
32
|
+
], (id)=>id);
|
|
33
|
+
idp = provider === "Auth0" ? "auth0" : undefined;
|
|
34
|
+
}
|
|
35
|
+
if (!postman) {
|
|
36
|
+
const answer = await (0, _index.ask)("\n Configure Postman workspace? [yes/no] (no): ");
|
|
37
|
+
postman = answer === "yes" || undefined;
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
...ctx,
|
|
41
|
+
opts: {
|
|
42
|
+
...ctx.opts,
|
|
43
|
+
database,
|
|
44
|
+
idp,
|
|
45
|
+
postman
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
async function configure(ctx) {
|
|
50
|
+
const helloController = (0, _hellocontrollermodel.createHelloController)();
|
|
51
|
+
const devcontainer = new _devcontainermodel.DevcontainerModel(`${ctx.projectName}.api`).addExtension("biomejs.biome", "vitest.explorer").forwardPort(3000).addPostStartCommand("npm whoami 2>/dev/null || npm login");
|
|
52
|
+
return {
|
|
53
|
+
...ctx,
|
|
54
|
+
models: ctx.models.set(_maintsmodel.MAIN_TS_KEY, new _maintsmodel.MainTsModel(`${ctx.projectName}.api`)).set(_devcontainermodel.DEVCONTAINER_KEY, devcontainer),
|
|
55
|
+
controllers: [
|
|
56
|
+
...ctx.controllers,
|
|
57
|
+
helloController
|
|
58
|
+
]
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
async function render(ctx) {
|
|
62
|
+
const { targetDir, projectName } = ctx;
|
|
63
|
+
await Promise.all([
|
|
64
|
+
(0, _promises.mkdir)((0, _nodepath.join)(targetDir, ".vscode"), {
|
|
65
|
+
recursive: true
|
|
66
|
+
}),
|
|
67
|
+
(0, _promises.mkdir)((0, _nodepath.join)(targetDir, "projects", "api", "src", "controllers"), {
|
|
68
|
+
recursive: true
|
|
69
|
+
}),
|
|
70
|
+
(0, _promises.mkdir)((0, _nodepath.join)(targetDir, "config"), {
|
|
71
|
+
recursive: true
|
|
72
|
+
})
|
|
73
|
+
]);
|
|
74
|
+
const { controllers } = ctx;
|
|
75
|
+
const mainTsModel = ctx.models.get(_maintsmodel.MAIN_TS_KEY);
|
|
76
|
+
const writes = [
|
|
77
|
+
(0, _promises.writeFile)((0, _nodepath.join)(targetDir, "package.json"), (0, _scaffoldfilestemplate.rootPackageJson)(projectName)),
|
|
78
|
+
(0, _promises.writeFile)((0, _nodepath.join)(targetDir, "tsconfig.json"), _scaffoldfilestemplate.TSCONFIG),
|
|
79
|
+
(0, _promises.writeFile)((0, _nodepath.join)(targetDir, "projects", "api", "package.json"), (0, _scaffoldfilestemplate.apiPackageJson)(projectName)),
|
|
80
|
+
(0, _promises.writeFile)((0, _nodepath.join)(targetDir, "projects", "api", "src", "sample.config.ts"), _scaffoldfilestemplate.SAMPLE_CONFIG_TS),
|
|
81
|
+
(0, _promises.writeFile)((0, _nodepath.join)(targetDir, "projects", "api", "src", "sample.service.ts"), _scaffoldfilestemplate.SAMPLE_SERVICE_TS),
|
|
82
|
+
(0, _promises.writeFile)((0, _nodepath.join)(targetDir, "config", "config.yaml"), (0, _scaffoldfilestemplate.configYaml)()),
|
|
83
|
+
(0, _promises.writeFile)((0, _nodepath.join)(targetDir, "config", "config.dev.yaml"), _scaffoldfilestemplate.CONFIG_DEV_YAML),
|
|
84
|
+
(0, _promises.writeFile)((0, _nodepath.join)(targetDir, ".vscode", "launch.json"), _scaffoldfilestemplate.VSCODE_LAUNCH_JSON),
|
|
85
|
+
(0, _promises.writeFile)((0, _nodepath.join)(targetDir, ".vscode", "settings.json"), (0, _scaffoldfilestemplate.vscodeSettingsJson)(projectName)),
|
|
86
|
+
(0, _promises.writeFile)((0, _nodepath.join)(targetDir, ".gitignore"), _scaffoldfilestemplate.GITIGNORE),
|
|
87
|
+
...controllers.map((c)=>(0, _promises.writeFile)((0, _nodepath.join)(targetDir, "projects", "api", "src", "controllers", c.fileName), c.render()))
|
|
88
|
+
];
|
|
89
|
+
if (mainTsModel) {
|
|
90
|
+
for (const c of controllers)mainTsModel.addController(c);
|
|
91
|
+
writes.push((0, _promises.writeFile)((0, _nodepath.join)(targetDir, "projects", "api", "src", "main.ts"), mainTsModel.render()));
|
|
92
|
+
}
|
|
93
|
+
await Promise.all(writes);
|
|
94
|
+
return ctx;
|
|
95
|
+
}
|
|
96
|
+
const apiCoreFeature = {
|
|
97
|
+
name: "api-core",
|
|
98
|
+
resolve,
|
|
99
|
+
configure,
|
|
100
|
+
render
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS92MS9mZWF0dXJlcy9hcGktY29yZS9mZWF0dXJlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1rZGlyLCB3cml0ZUZpbGUgfSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IERFVkNPTlRBSU5FUl9LRVksIERldmNvbnRhaW5lck1vZGVsIH0gZnJvbSBcIi4uLy4uL2RvbWFpbi9kZXZjb250YWluZXIubW9kZWwuanNcIjtcbmltcG9ydCB7IGFzaywgdHlwZSBGZWF0dXJlLCBwaWNrLCB0eXBlIFNjYWZmb2xkQ29udGV4dCB9IGZyb20gXCIuLi8uLi9kb21haW4vaW5kZXguanNcIjtcbmltcG9ydCB7IGNyZWF0ZUhlbGxvQ29udHJvbGxlciB9IGZyb20gXCIuL2hlbGxvLWNvbnRyb2xsZXIubW9kZWwuanNcIjtcbmltcG9ydCB7IE1BSU5fVFNfS0VZLCBNYWluVHNNb2RlbCB9IGZyb20gXCIuL21haW4tdHMubW9kZWwuanNcIjtcbmltcG9ydCB7XG5cdGFwaVBhY2thZ2VKc29uLFxuXHRDT05GSUdfREVWX1lBTUwsXG5cdGNvbmZpZ1lhbWwsXG5cdEdJVElHTk9SRSxcblx0cm9vdFBhY2thZ2VKc29uLFxuXHRTQU1QTEVfQ09ORklHX1RTLFxuXHRTQU1QTEVfU0VSVklDRV9UUyxcblx0VFNDT05GSUcsXG5cdFZTQ09ERV9MQVVOQ0hfSlNPTixcblx0dnNjb2RlU2V0dGluZ3NKc29uLFxufSBmcm9tIFwiLi9zY2FmZm9sZC1maWxlcy50ZW1wbGF0ZS5qc1wiO1xuXG5hc3luYyBmdW5jdGlvbiByZXNvbHZlKGN0eDogU2NhZmZvbGRDb250ZXh0KTogUHJvbWlzZTxTY2FmZm9sZENvbnRleHQ+IHtcblx0aWYgKGN0eC5vcHRzLnllcykgcmV0dXJuIGN0eDtcblxuXHRsZXQgeyBkYXRhYmFzZSwgaWRwLCBwb3N0bWFuIH0gPSBjdHgub3B0cztcblxuXHRpZiAoZGF0YWJhc2UgPT0gbnVsbCkge1xuXHRcdGNvbnNvbGUubG9nKFwiXFxuICBTZWxlY3QgZGF0YWJhc2U6XCIpO1xuXHRcdGNvbnN0IGRiID0gYXdhaXQgcGljayhcIiAgQ2hvaWNlIChlbnRlciBmb3Igbm9uZSk6IFwiLCBbXCJwb3N0Z3Jlc3FsL3R5cGVvcm1cIl0sIChpZCkgPT4gaWQpO1xuXHRcdGRhdGFiYXNlID0gZGIgPT09IFwicG9zdGdyZXNxbC90eXBlb3JtXCIgPyBcInR5cGVvcm1cIiA6IHVuZGVmaW5lZDtcblx0fVxuXG5cdGlmIChpZHAgPT0gbnVsbCkge1xuXHRcdGNvbnNvbGUubG9nKFwiXFxuICBTZWxlY3QgaWRlbnRpdHkgcHJvdmlkZXI6XCIpO1xuXHRcdGNvbnN0IHByb3ZpZGVyID0gYXdhaXQgcGljayhcIiAgQ2hvaWNlIChlbnRlciBmb3Igbm9uZSk6IFwiLCBbXCJBdXRoMFwiXSwgKGlkKSA9PiBpZCk7XG5cdFx0aWRwID0gcHJvdmlkZXIgPT09IFwiQXV0aDBcIiA/IFwiYXV0aDBcIiA6IHVuZGVmaW5lZDtcblx0fVxuXG5cdGlmICghcG9zdG1hbikge1xuXHRcdGNvbnN0IGFuc3dlciA9IGF3YWl0IGFzayhcIlxcbiAgQ29uZmlndXJlIFBvc3RtYW4gd29ya3NwYWNlPyBbeWVzL25vXSAobm8pOiBcIik7XG5cdFx0cG9zdG1hbiA9IGFuc3dlciA9PT0gXCJ5ZXNcIiB8fCB1bmRlZmluZWQ7XG5cdH1cblxuXHRyZXR1cm4geyAuLi5jdHgsIG9wdHM6IHsgLi4uY3R4Lm9wdHMsIGRhdGFiYXNlLCBpZHAsIHBvc3RtYW4gfSB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBjb25maWd1cmUoY3R4OiBTY2FmZm9sZENvbnRleHQpOiBQcm9taXNlPFNjYWZmb2xkQ29udGV4dD4ge1xuXHRjb25zdCBoZWxsb0NvbnRyb2xsZXIgPSBjcmVhdGVIZWxsb0NvbnRyb2xsZXIoKTtcblx0Y29uc3QgZGV2Y29udGFpbmVyID0gbmV3IERldmNvbnRhaW5lck1vZGVsKGAke2N0eC5wcm9qZWN0TmFtZX0uYXBpYClcblx0XHQuYWRkRXh0ZW5zaW9uKFwiYmlvbWVqcy5iaW9tZVwiLCBcInZpdGVzdC5leHBsb3JlclwiKVxuXHRcdC5mb3J3YXJkUG9ydCgzMDAwKVxuXHRcdC5hZGRQb3N0U3RhcnRDb21tYW5kKFwibnBtIHdob2FtaSAyPi9kZXYvbnVsbCB8fCBucG0gbG9naW5cIik7XG5cdHJldHVybiB7XG5cdFx0Li4uY3R4LFxuXHRcdG1vZGVsczogY3R4Lm1vZGVsc1xuXHRcdFx0LnNldChNQUlOX1RTX0tFWSwgbmV3IE1haW5Uc01vZGVsKGAke2N0eC5wcm9qZWN0TmFtZX0uYXBpYCkpXG5cdFx0XHQuc2V0KERFVkNPTlRBSU5FUl9LRVksIGRldmNvbnRhaW5lciksXG5cdFx0Y29udHJvbGxlcnM6IFsuLi5jdHguY29udHJvbGxlcnMsIGhlbGxvQ29udHJvbGxlcl0sXG5cdH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlbmRlcihjdHg6IFNjYWZmb2xkQ29udGV4dCk6IFByb21pc2U8U2NhZmZvbGRDb250ZXh0PiB7XG5cdGNvbnN0IHsgdGFyZ2V0RGlyLCBwcm9qZWN0TmFtZSB9ID0gY3R4O1xuXG5cdGF3YWl0IFByb21pc2UuYWxsKFtcblx0XHRta2Rpcihqb2luKHRhcmdldERpciwgXCIudnNjb2RlXCIpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KSxcblx0XHRta2Rpcihqb2luKHRhcmdldERpciwgXCJwcm9qZWN0c1wiLCBcImFwaVwiLCBcInNyY1wiLCBcImNvbnRyb2xsZXJzXCIpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KSxcblx0XHRta2Rpcihqb2luKHRhcmdldERpciwgXCJjb25maWdcIiksIHsgcmVjdXJzaXZlOiB0cnVlIH0pLFxuXHRdKTtcblxuXHRjb25zdCB7IGNvbnRyb2xsZXJzIH0gPSBjdHg7XG5cdGNvbnN0IG1haW5Uc01vZGVsID0gY3R4Lm1vZGVscy5nZXQoTUFJTl9UU19LRVkpO1xuXG5cdGNvbnN0IHdyaXRlczogQXJyYXk8UHJvbWlzZTx1bmtub3duPj4gPSBbXG5cdFx0d3JpdGVGaWxlKGpvaW4odGFyZ2V0RGlyLCBcInBhY2thZ2UuanNvblwiKSwgcm9vdFBhY2thZ2VKc29uKHByb2plY3ROYW1lKSksXG5cdFx0d3JpdGVGaWxlKGpvaW4odGFyZ2V0RGlyLCBcInRzY29uZmlnLmpzb25cIiksIFRTQ09ORklHKSxcblx0XHR3cml0ZUZpbGUoam9pbih0YXJnZXREaXIsIFwicHJvamVjdHNcIiwgXCJhcGlcIiwgXCJwYWNrYWdlLmpzb25cIiksIGFwaVBhY2thZ2VKc29uKHByb2plY3ROYW1lKSksXG5cdFx0d3JpdGVGaWxlKGpvaW4odGFyZ2V0RGlyLCBcInByb2plY3RzXCIsIFwiYXBpXCIsIFwic3JjXCIsIFwic2FtcGxlLmNvbmZpZy50c1wiKSwgU0FNUExFX0NPTkZJR19UUyksXG5cdFx0d3JpdGVGaWxlKFxuXHRcdFx0am9pbih0YXJnZXREaXIsIFwicHJvamVjdHNcIiwgXCJhcGlcIiwgXCJzcmNcIiwgXCJzYW1wbGUuc2VydmljZS50c1wiKSxcblx0XHRcdFNBTVBMRV9TRVJWSUNFX1RTLFxuXHRcdCksXG5cdFx0d3JpdGVGaWxlKGpvaW4odGFyZ2V0RGlyLCBcImNvbmZpZ1wiLCBcImNvbmZpZy55YW1sXCIpLCBjb25maWdZYW1sKCkpLFxuXHRcdHdyaXRlRmlsZShqb2luKHRhcmdldERpciwgXCJjb25maWdcIiwgXCJjb25maWcuZGV2LnlhbWxcIiksIENPTkZJR19ERVZfWUFNTCksXG5cdFx0d3JpdGVGaWxlKGpvaW4odGFyZ2V0RGlyLCBcIi52c2NvZGVcIiwgXCJsYXVuY2guanNvblwiKSwgVlNDT0RFX0xBVU5DSF9KU09OKSxcblx0XHR3cml0ZUZpbGUoam9pbih0YXJnZXREaXIsIFwiLnZzY29kZVwiLCBcInNldHRpbmdzLmpzb25cIiksIHZzY29kZVNldHRpbmdzSnNvbihwcm9qZWN0TmFtZSkpLFxuXHRcdHdyaXRlRmlsZShqb2luKHRhcmdldERpciwgXCIuZ2l0aWdub3JlXCIpLCBHSVRJR05PUkUpLFxuXHRcdC4uLmNvbnRyb2xsZXJzLm1hcCgoYykgPT5cblx0XHRcdHdyaXRlRmlsZShcblx0XHRcdFx0am9pbih0YXJnZXREaXIsIFwicHJvamVjdHNcIiwgXCJhcGlcIiwgXCJzcmNcIiwgXCJjb250cm9sbGVyc1wiLCBjLmZpbGVOYW1lKSxcblx0XHRcdFx0Yy5yZW5kZXIoKSxcblx0XHRcdCksXG5cdFx0KSxcblx0XTtcblxuXHRpZiAobWFpblRzTW9kZWwpIHtcblx0XHRmb3IgKGNvbnN0IGMgb2YgY29udHJvbGxlcnMpIG1haW5Uc01vZGVsLmFkZENvbnRyb2xsZXIoYyk7XG5cdFx0d3JpdGVzLnB1c2goXG5cdFx0XHR3cml0ZUZpbGUoam9pbih0YXJnZXREaXIsIFwicHJvamVjdHNcIiwgXCJhcGlcIiwgXCJzcmNcIiwgXCJtYWluLnRzXCIpLCBtYWluVHNNb2RlbC5yZW5kZXIoKSksXG5cdFx0KTtcblx0fVxuXG5cdGF3YWl0IFByb21pc2UuYWxsKHdyaXRlcyk7XG5cdHJldHVybiBjdHg7XG59XG5cbmV4cG9ydCBjb25zdCBhcGlDb3JlRmVhdHVyZTogRmVhdHVyZSA9IHtcblx0bmFtZTogXCJhcGktY29yZVwiLFxuXHRyZXNvbHZlLFxuXHRjb25maWd1cmUsXG5cdHJlbmRlcixcbn07XG4iXSwibmFtZXMiOlsiYXBpQ29yZUZlYXR1cmUiLCJyZXNvbHZlIiwiY3R4Iiwib3B0cyIsInllcyIsImRhdGFiYXNlIiwiaWRwIiwicG9zdG1hbiIsImNvbnNvbGUiLCJsb2ciLCJkYiIsInBpY2siLCJpZCIsInVuZGVmaW5lZCIsInByb3ZpZGVyIiwiYW5zd2VyIiwiYXNrIiwiY29uZmlndXJlIiwiaGVsbG9Db250cm9sbGVyIiwiY3JlYXRlSGVsbG9Db250cm9sbGVyIiwiZGV2Y29udGFpbmVyIiwiRGV2Y29udGFpbmVyTW9kZWwiLCJwcm9qZWN0TmFtZSIsImFkZEV4dGVuc2lvbiIsImZvcndhcmRQb3J0IiwiYWRkUG9zdFN0YXJ0Q29tbWFuZCIsIm1vZGVscyIsInNldCIsIk1BSU5fVFNfS0VZIiwiTWFpblRzTW9kZWwiLCJERVZDT05UQUlORVJfS0VZIiwiY29udHJvbGxlcnMiLCJyZW5kZXIiLCJ0YXJnZXREaXIiLCJQcm9taXNlIiwiYWxsIiwibWtkaXIiLCJqb2luIiwicmVjdXJzaXZlIiwibWFpblRzTW9kZWwiLCJnZXQiLCJ3cml0ZXMiLCJ3cml0ZUZpbGUiLCJyb290UGFja2FnZUpzb24iLCJUU0NPTkZJRyIsImFwaVBhY2thZ2VKc29uIiwiU0FNUExFX0NPTkZJR19UUyIsIlNBTVBMRV9TRVJWSUNFX1RTIiwiY29uZmlnWWFtbCIsIkNPTkZJR19ERVZfWUFNTCIsIlZTQ09ERV9MQVVOQ0hfSlNPTiIsInZzY29kZVNldHRpbmdzSnNvbiIsIkdJVElHTk9SRSIsIm1hcCIsImMiLCJmaWxlTmFtZSIsImFkZENvbnRyb2xsZXIiLCJwdXNoIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkF3R2FBOzs7ZUFBQUE7OzswQkF4R29COzBCQUNaO21DQUMrQjt1QkFDVTtzQ0FDeEI7NkJBQ0c7dUNBWWxDO0FBRVAsZUFBZUMsUUFBUUMsR0FBb0I7SUFDMUMsSUFBSUEsSUFBSUMsSUFBSSxDQUFDQyxHQUFHLEVBQUUsT0FBT0Y7SUFFekIsSUFBSSxFQUFFRyxRQUFRLEVBQUVDLEdBQUcsRUFBRUMsT0FBTyxFQUFFLEdBQUdMLElBQUlDLElBQUk7SUFFekMsSUFBSUUsWUFBWSxNQUFNO1FBQ3JCRyxRQUFRQyxHQUFHLENBQUM7UUFDWixNQUFNQyxLQUFLLE1BQU1DLElBQUFBLFdBQUksRUFBQywrQkFBK0I7WUFBQztTQUFxQixFQUFFLENBQUNDLEtBQU9BO1FBQ3JGUCxXQUFXSyxPQUFPLHVCQUF1QixZQUFZRztJQUN0RDtJQUVBLElBQUlQLE9BQU8sTUFBTTtRQUNoQkUsUUFBUUMsR0FBRyxDQUFDO1FBQ1osTUFBTUssV0FBVyxNQUFNSCxJQUFBQSxXQUFJLEVBQUMsK0JBQStCO1lBQUM7U0FBUSxFQUFFLENBQUNDLEtBQU9BO1FBQzlFTixNQUFN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
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "createHelloController", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return createHelloController;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _classmodel = require("../../domain/class-model.js");
|
|
12
|
+
function createHelloController() {
|
|
13
|
+
return new _classmodel.ClassModel("HelloController", "hello.controller.ts").addImport("@decohere/cortex", "Controller", "Delete", "Field", "Get", "Param", "Post", "Put", "Query").addImport("../sample.service.js", "SampleService").decorateClass(`@Controller({ prefix: "/hello" })`).addBodyClass({
|
|
14
|
+
name: "HelloBody",
|
|
15
|
+
fields: [
|
|
16
|
+
{
|
|
17
|
+
decorator: `@Field("body", "message")`,
|
|
18
|
+
name: "message",
|
|
19
|
+
typeName: "string"
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}).addConstructorParam({
|
|
23
|
+
paramDecorators: [],
|
|
24
|
+
name: "sample",
|
|
25
|
+
typeName: "SampleService",
|
|
26
|
+
isPrivate: true,
|
|
27
|
+
isReadonly: true
|
|
28
|
+
}).defineMethod({
|
|
29
|
+
decorators: [
|
|
30
|
+
"@Get()"
|
|
31
|
+
],
|
|
32
|
+
name: "getAll",
|
|
33
|
+
isAsync: true,
|
|
34
|
+
params: [
|
|
35
|
+
{
|
|
36
|
+
decorator: `@Query("filter")`,
|
|
37
|
+
name: "filter",
|
|
38
|
+
typeName: "string"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
body: `const greeting = await this.sample.getGreeting();\n\t\treturn { filter, message: greeting };`
|
|
42
|
+
}).defineMethod({
|
|
43
|
+
decorators: [
|
|
44
|
+
`@Get("/:id")`
|
|
45
|
+
],
|
|
46
|
+
name: "getOne",
|
|
47
|
+
params: [
|
|
48
|
+
{
|
|
49
|
+
decorator: `@Param("id")`,
|
|
50
|
+
name: "id",
|
|
51
|
+
typeName: "string"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
body: `return { id, message: \`Hello \${id}!\` };`
|
|
55
|
+
}).defineMethod({
|
|
56
|
+
decorators: [
|
|
57
|
+
`@Post("/")`
|
|
58
|
+
],
|
|
59
|
+
name: "create",
|
|
60
|
+
params: [
|
|
61
|
+
{
|
|
62
|
+
name: "body",
|
|
63
|
+
typeName: "HelloBody"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
body: `return { message: body.message };`
|
|
67
|
+
}).defineMethod({
|
|
68
|
+
decorators: [
|
|
69
|
+
`@Put("/:id")`
|
|
70
|
+
],
|
|
71
|
+
name: "update",
|
|
72
|
+
params: [
|
|
73
|
+
{
|
|
74
|
+
decorator: `@Param("id")`,
|
|
75
|
+
name: "id",
|
|
76
|
+
typeName: "string"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: "body",
|
|
80
|
+
typeName: "HelloBody"
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
body: `return { id, message: body.message };`
|
|
84
|
+
}).defineMethod({
|
|
85
|
+
decorators: [
|
|
86
|
+
`@Delete("/:id")`
|
|
87
|
+
],
|
|
88
|
+
name: "remove",
|
|
89
|
+
params: [
|
|
90
|
+
{
|
|
91
|
+
decorator: `@Param("id")`,
|
|
92
|
+
name: "id",
|
|
93
|
+
typeName: "string"
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
body: `return { id, deleted: true };`
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS92MS9mZWF0dXJlcy9hcGktY29yZS9oZWxsby1jb250cm9sbGVyLm1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsYXNzTW9kZWwgfSBmcm9tIFwiLi4vLi4vZG9tYWluL2NsYXNzLW1vZGVsLmpzXCI7XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBzZWVkIGNvbnRyb2xsZXIgc2NhZmZvbGRlZCBpbnRvIGV2ZXJ5IG5ldyBhcGkgcHJvamVjdC5cbiAqXG4gKiBEZWZpbmVzIG9ubHkgdGhlIGJhc2UgQ1JVRCBzdHJ1Y3R1cmUuICBBdXRoIGRlY29yYXRvcnMsIElQcmluY2lwYWxQcm92aWRlclxuICogaW5qZWN0aW9uLCBhbmQgb3RoZXIgY3Jvc3MtY3V0dGluZyBjb25jZXJucyBhcmUgYWRkZWQgYnkgdGhlIHJlbGV2YW50XG4gKiBmZWF0dXJlIGR1cmluZyBpdHMgY29uZmlndXJlIHBoYXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSGVsbG9Db250cm9sbGVyKCk6IENsYXNzTW9kZWwge1xuXHRyZXR1cm4gbmV3IENsYXNzTW9kZWwoXCJIZWxsb0NvbnRyb2xsZXJcIiwgXCJoZWxsby5jb250cm9sbGVyLnRzXCIpXG5cdFx0LmFkZEltcG9ydChcblx0XHRcdFwiQGRlY29oZXJlL2NvcnRleFwiLFxuXHRcdFx0XCJDb250cm9sbGVyXCIsXG5cdFx0XHRcIkRlbGV0ZVwiLFxuXHRcdFx0XCJGaWVsZFwiLFxuXHRcdFx0XCJHZXRcIixcblx0XHRcdFwiUGFyYW1cIixcblx0XHRcdFwiUG9zdFwiLFxuXHRcdFx0XCJQdXRcIixcblx0XHRcdFwiUXVlcnlcIixcblx0XHQpXG5cdFx0LmFkZEltcG9ydChcIi4uL3NhbXBsZS5zZXJ2aWNlLmpzXCIsIFwiU2FtcGxlU2VydmljZVwiKVxuXHRcdC5kZWNvcmF0ZUNsYXNzKGBAQ29udHJvbGxlcih7IHByZWZpeDogXCIvaGVsbG9cIiB9KWApXG5cdFx0LmFkZEJvZHlDbGFzcyh7XG5cdFx0XHRuYW1lOiBcIkhlbGxvQm9keVwiLFxuXHRcdFx0ZmllbGRzOiBbXG5cdFx0XHRcdHsgZGVjb3JhdG9yOiBgQEZpZWxkKFwiYm9keVwiLCBcIm1lc3NhZ2VcIilgLCBuYW1lOiBcIm1lc3NhZ2VcIiwgdHlwZU5hbWU6IFwic3RyaW5nXCIgfSxcblx0XHRcdF0sXG5cdFx0fSlcblx0XHQuYWRkQ29uc3RydWN0b3JQYXJhbSh7XG5cdFx0XHRwYXJhbURlY29yYXRvcnM6IFtdLFxuXHRcdFx0bmFtZTogXCJzYW1wbGVcIixcblx0XHRcdHR5cGVOYW1lOiBcIlNhbXBsZVNlcnZpY2VcIixcblx0XHRcdGlzUHJpdmF0ZTogdHJ1ZSxcblx0XHRcdGlzUmVhZG9ubHk6IHRydWUsXG5cdFx0fSlcblx0XHQuZGVmaW5lTWV0aG9kKHtcblx0XHRcdGRlY29yYXRvcnM6IFtcIkBHZXQoKVwiXSxcblx0XHRcdG5hbWU6IFwiZ2V0QWxsXCIsXG5cdFx0XHRpc0FzeW5jOiB0cnVlLFxuXHRcdFx0cGFyYW1zOiBbeyBkZWNvcmF0b3I6IGBAUXVlcnkoXCJmaWx0ZXJcIilgLCBuYW1lOiBcImZpbHRlclwiLCB0eXBlTmFtZTogXCJzdHJpbmdcIiB9XSxcblx0XHRcdGJvZHk6IGBjb25zdCBncmVldGluZyA9IGF3YWl0IHRoaXMuc2FtcGxlLmdldEdyZWV0aW5nKCk7XFxuXFx0XFx0cmV0dXJuIHsgZmlsdGVyLCBtZXNzYWdlOiBncmVldGluZyB9O2AsXG5cdFx0fSlcblx0XHQuZGVmaW5lTWV0aG9kKHtcblx0XHRcdGRlY29yYXRvcnM6IFtgQEdldChcIi86aWRcIilgXSxcblx0XHRcdG5hbWU6IFwiZ2V0T25lXCIsXG5cdFx0XHRwYXJhbXM6IFt7IGRlY29yYXRvcjogYEBQYXJhbShcImlkXCIpYCwgbmFtZTogXCJpZFwiLCB0eXBlTmFtZTogXCJzdHJpbmdcIiB9XSxcblx0XHRcdGJvZHk6IGByZXR1cm4geyBpZCwgbWVzc2FnZTogXFxgSGVsbG8gXFwke2lkfSFcXGAgfTtgLFxuXHRcdH0pXG5cdFx0LmRlZmluZU1ldGhvZCh7XG5cdFx0XHRkZWNvcmF0b3JzOiBbYEBQb3N0KFwiL1wiKWBdLFxuXHRcdFx0bmFtZTogXCJjcmVhdGVcIixcblx0XHRcdHBhcmFtczogW3sgbmFtZTogXCJib2R5XCIsIHR5cGVOYW1lOiBcIkhlbGxvQm9keVwiIH1dLFxuXHRcdFx0Ym9keTogYHJldHVybiB7IG1lc3NhZ2U6IGJvZHkubWVzc2FnZSB9O2AsXG5cdFx0fSlcblx0XHQuZGVmaW5lTWV0aG9kKHtcblx0XHRcdGRlY29yYXRvcnM6IFtgQFB1dChcIi86aWRcIilgXSxcblx0XHRcdG5hbWU6IFwidXBkYXRlXCIsXG5cdFx0XHRwYXJhbXM6IFtcblx0XHRcdFx0eyBkZWNvcmF0b3I6IGBAUGFyYW0oXCJpZFwiKWAsIG5hbWU6IFwiaWRcIiwgdHlwZU5hbWU6IFwic3RyaW5nXCIgfSxcblx0XHRcdFx0eyBuYW1lOiBcImJvZHlcIiwgdHlwZU5hbWU6IFwiSGVsbG9Cb2R5XCIgfSxcblx0XHRcdF0sXG5cdFx0XHRib2R5OiBgcmV0dXJuIHsgaWQsIG1lc3NhZ2U6IGJvZHkubWVzc2FnZSB9O2AsXG5cdFx0fSlcblx0XHQuZGVmaW5lTWV0aG9kKHtcblx0XHRcdGRlY29yYXRvcnM6IFtgQERlbGV0ZShcIi86aWRcIilgXSxcblx0XHRcdG5hbWU6IFwicmVtb3ZlXCIsXG5cdFx0XHRwYXJhbXM6IFt7IGRlY29yYXRvcjogYEBQYXJhbShcImlkXCIpYCwgbmFtZTogXCJpZFwiLCB0eXBlTmFtZTogXCJzdHJpbmdcIiB9XSxcblx0XHRcdGJvZHk6IGByZXR1cm4geyBpZCwgZGVsZXRlZDogdHJ1ZSB9O2AsXG5cdFx0fSk7XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlSGVsbG9Db250cm9sbGVyIiwiQ2xhc3NNb2RlbCIsImFkZEltcG9ydCIsImRlY29yYXRlQ2xhc3MiLCJhZGRCb2R5Q2xhc3MiLCJuYW1lIiwiZmllbGRzIiwiZGVjb3JhdG9yIiwidHlwZU5hbWUiLCJhZGRDb25zdHJ1Y3RvclBhcmFtIiwicGFyYW1EZWNvcmF0b3JzIiwiaXNQcml2YXRlIiwiaXNSZWFkb25seSIsImRlZmluZU1ldGhvZCIsImRlY29yYXRvcnMiLCJpc0FzeW5jIiwicGFyYW1zIiwiYm9keSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFTZ0JBOzs7ZUFBQUE7Ozs0QkFUVztBQVNwQixTQUFTQTtJQUNmLE9BQU8sSUFBSUMsc0JBQVUsQ0FBQyxtQkFBbUIsdUJBQ3ZDQyxTQUFTLENBQ1Qsb0JBQ0EsY0FDQSxVQUNBLFNBQ0EsT0FDQSxTQUNBLFFBQ0EsT0FDQSxTQUVBQSxTQUFTLENBQUMsd0JBQXdCLGlCQUNsQ0MsYUFBYSxDQUFDLENBQUMsaUNBQWlDLENBQUMsRUFDakRDLFlBQVksQ0FBQztRQUNiQyxNQUFNO1FBQ05DLFFBQVE7WUFDUDtnQkFBRUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDO2dCQUFFRixNQUFNO2dCQUFXRyxVQUFVO1lBQVM7U0FDOUU7SUFDRixHQUNDQyxtQkFBbUIsQ0FBQztRQUNwQkMsaUJBQWlCLEVBQUU7UUFDbkJMLE1BQU07UUFDTkcsVUFBVTtRQUNWRyxXQUFXO1FBQ1hDLFlBQVk7SUFDYixHQUNDQyxZQUFZLENBQUM7UUFDYkMsWUFBWTtZQUFDO1NBQVM7UUFDdEJULE1BQU07UUFDTlUsU0FBUztRQUNUQyxRQUFRO1lBQUM7Z0JBQUVULFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFBRUYsTUFBTTtnQkFBVUcsVUFBVTtZQUFTO1NBQUU7UUFDL0VTLE1BQU0sQ0FBQyw0RkFBNEYsQ0FBQztJQUNyRyxHQUNDSixZQUFZLENBQUM7UUFDYkMsWUFBWTtZQUFDLENBQUMsWUFBWSxDQUFDO1NBQUM7UUFDNUJULE1BQU07UUFDTlcsUUFBUTtZQUFDO2dCQUFFVCxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUFFRixNQUFNO2dCQUFNRyxVQUFVO1lBQVM7U0FBRTtRQUN2RVMsTUFBTSxDQUFDLDBDQUEwQyxDQUFDO0lBQ25ELEdBQ0NKLFlBQVksQ0FBQztRQUNiQyxZQUFZO1lBQUMsQ0FBQyxVQUFVLENBQUM7U0FBQztRQUMxQlQsTUFBTTtRQUNOVyxRQUFRO1lBQUM7Z0JBQUVYLE1BQU07Z0JBQVFHLFVBQVU7WUFBWTtTQUFFO1FBQ2pEUyxNQUFNLENBQUMsaUNBQWlDLENBQUM7SUFDMUMsR0FDQ0osWUFBWSxDQUFDO1FBQ2JDLFlBQVk7WUFBQyxDQUFDLFlBQVksQ0FBQztTQUFDO1FBQzVCVCxNQUFNO1FBQ05XLFFBQVE7WUFDUDtnQkFBRVQsV0FBVyxDQUFDLFlBQVksQ0FBQztnQkFBRUYsTUFBTTtnQkFBTUcsVUFBVTtZQUFTO1lBQzVEO2dCQUFFSCxNQUFNO2dCQUFRRyxVQUFVO1lBQVk7U0FDdEM7UUFDRFMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDO0lBQzlDLEdBQ0NKLFlBQVksQ0FBQztRQUNiQyxZQUFZO1lBQUMsQ0FBQyxlQUFlLENBQUM7U0FBQztRQUMvQlQsTUFBTTtRQUNOVyxRQUFRO1lBQUM7Z0JBQUVULFdBQVcsQ0FBQyxZQUFZLENBQUM7Z0JBQUVGLE1BQU07Z0JBQU1HLFVBQVU7WUFBUztTQUFFO1FBQ3ZFUyxNQUFNLENBQUMsNkJBQTZCLENBQUM7SUFDdEM7QUFDRiJ9
|