@decohere/create 0.0.1-dev.16 → 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 -305
- package/es6/src/scaffold.js +0 -79
- package/es6/src/templates.js +0 -245
- package/types/src/scaffold.d.ts +0 -6
- package/types/src/templates.d.ts +0 -20
|
@@ -0,0 +1,85 @@
|
|
|
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 MAIN_TS_KEY () {
|
|
13
|
+
return MAIN_TS_KEY;
|
|
14
|
+
},
|
|
15
|
+
get MainTsModel () {
|
|
16
|
+
return MainTsModel;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _importmap = require("../../domain/import-map.js");
|
|
20
|
+
const _index = require("../../domain/index.js");
|
|
21
|
+
const MAIN_TS_KEY = (0, _index.modelKey)("main-ts");
|
|
22
|
+
class MainTsModel {
|
|
23
|
+
_applicationName;
|
|
24
|
+
_imports;
|
|
25
|
+
_builderChain;
|
|
26
|
+
_controllers = [];
|
|
27
|
+
constructor(applicationName){
|
|
28
|
+
this._applicationName = applicationName;
|
|
29
|
+
// Standard framework imports — insertion order matches desired output order.
|
|
30
|
+
this._imports = new _importmap.ImportMap().add("@decohere/scribe-pino").add("@decohere/cortex/http").add("@decohere/cortex/auth").add("@decohere/protocol").add("@decohere/cortex", "Builder").add("@decohere/cortex/providers", "FastifyProvider").add("@decohere/scribe", "scribe").add("@decohere/protocol", "YamlDataSource").add("./sample.service.js", "SampleService");
|
|
31
|
+
// Standard builder chain — features append; render appends .withControllers + .build.
|
|
32
|
+
this._builderChain = [
|
|
33
|
+
`.withHttpProvider(FastifyProvider)`,
|
|
34
|
+
`.withConfiguration(YamlDataSource)`,
|
|
35
|
+
`.withAuth()`,
|
|
36
|
+
`.withServices((cb) => { cb.registerSingleton(SampleService); })`
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
// ── feature API ──────────────────────────────────────────────────────────
|
|
40
|
+
/** Add named value imports (or side-effect when called with no names). */ addImport(pkg, ...names) {
|
|
41
|
+
this._imports.add(pkg, ...names);
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
44
|
+
/** Add named type-only imports. */ addTypeImport(pkg, ...names) {
|
|
45
|
+
this._imports.addType(pkg, ...names);
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Append a builder chain call inserted between `.withServices(…)` and
|
|
50
|
+
* `.withControllers(…)`. Pass the call with its leading dot,
|
|
51
|
+
* e.g. `.withTypeOrm({ … })`.
|
|
52
|
+
*/ appendBuilderChain(call) {
|
|
53
|
+
this._builderChain.push(call);
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
// ── render-phase API ─────────────────────────────────────────────────────
|
|
57
|
+
/** Register a controller; adds its import and queues it for withControllers(). */ addController(model) {
|
|
58
|
+
const importPath = `./controllers/${model.fileName.replace(/\.ts$/, ".js")}`;
|
|
59
|
+
this._imports.add(importPath, model.className);
|
|
60
|
+
this._controllers.push({
|
|
61
|
+
className: model.className,
|
|
62
|
+
importPath
|
|
63
|
+
});
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
// ── rendering ─────────────────────────────────────────────────────────────
|
|
67
|
+
render() {
|
|
68
|
+
const controllersArg = this._controllers.map((c)=>c.className).join(", ");
|
|
69
|
+
const chainCalls = [
|
|
70
|
+
...this._builderChain,
|
|
71
|
+
`.withControllers(${controllersArg})`,
|
|
72
|
+
`.build();`
|
|
73
|
+
].map((call)=>`\t${call}`).join("\n");
|
|
74
|
+
const importSection = this._imports.render().join("\n");
|
|
75
|
+
return `${[
|
|
76
|
+
importSection,
|
|
77
|
+
`scribe.extend.withPinoPretty();`,
|
|
78
|
+
`const app = await Builder.create({ applicationName: "${this._applicationName}" })\n${chainCalls}`,
|
|
79
|
+
`await app.start({ port: 3000 });`,
|
|
80
|
+
`export default app;`
|
|
81
|
+
].join("\n\n")}\n`;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS92MS9mZWF0dXJlcy9hcGktY29yZS9tYWluLXRzLm1vZGVsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2xhc3NNb2RlbCB9IGZyb20gXCIuLi8uLi9kb21haW4vY2xhc3MtbW9kZWwuanNcIjtcbmltcG9ydCB7IEltcG9ydE1hcCB9IGZyb20gXCIuLi8uLi9kb21haW4vaW1wb3J0LW1hcC5qc1wiO1xuaW1wb3J0IHsgbW9kZWxLZXkgfSBmcm9tIFwiLi4vLi4vZG9tYWluL2luZGV4LmpzXCI7XG5cbi8qKiBLZXkgZm9yIHJldHJpZXZpbmcgdGhlIE1haW5Uc01vZGVsIGZyb20gdGhlIEZlYXR1cmVNb2RlbFN0b3JlLiAqL1xuZXhwb3J0IGNvbnN0IE1BSU5fVFNfS0VZID0gbW9kZWxLZXk8TWFpblRzTW9kZWw+KFwibWFpbi10c1wiKTtcblxuLyoqXG4gKiBMaXZlIGJ1aWxkZXIgZm9yIGBwcm9qZWN0cy9hcGkvc3JjL21haW4udHNgLlxuICpcbiAqIFRoZSBhcGktY29yZSBmZWF0dXJlIGNyZWF0ZXMgYW4gaW5zdGFuY2UgaW4gaXRzIGBjb25maWd1cmVgIHBoYXNlLlxuICogT3RoZXIgZmVhdHVyZXMgKHR5cGVvcm0sIGF1dGgwLCDigKYpIGNhbGwgYGFkZEltcG9ydGAgLyBgYXBwZW5kQnVpbGRlckNoYWluYFxuICogaW4gdGhlaXIgb3duIGBjb25maWd1cmVgIHBoYXNlcy4gIFRoZSBhcGktY29yZSBgcmVuZGVyYCBwaGFzZSBjYWxsc1xuICogYGFkZENvbnRyb2xsZXIobW9kZWwpYCBmb3IgZWFjaCBjb250cm9sbGVyLCB0aGVuIGByZW5kZXIoKWAuXG4gKi9cbmV4cG9ydCBjbGFzcyBNYWluVHNNb2RlbCB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2FwcGxpY2F0aW9uTmFtZTogc3RyaW5nO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9pbXBvcnRzOiBJbXBvcnRNYXA7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2J1aWxkZXJDaGFpbjogc3RyaW5nW107XG5cdHByaXZhdGUgcmVhZG9ubHkgX2NvbnRyb2xsZXJzOiBBcnJheTx7IGNsYXNzTmFtZTogc3RyaW5nOyBpbXBvcnRQYXRoOiBzdHJpbmcgfT4gPSBbXTtcblxuXHRwdWJsaWMgY29uc3RydWN0b3IoYXBwbGljYXRpb25OYW1lOiBzdHJpbmcpIHtcblx0XHR0aGlzLl9hcHBsaWNhdGlvbk5hbWUgPSBhcHBsaWNhdGlvbk5hbWU7XG5cblx0XHQvLyBTdGFuZGFyZCBmcmFtZXdvcmsgaW1wb3J0cyDigJQgaW5zZXJ0aW9uIG9yZGVyIG1hdGNoZXMgZGVzaXJlZCBvdXRwdXQgb3JkZXIuXG5cdFx0dGhpcy5faW1wb3J0cyA9IG5ldyBJbXBvcnRNYXAoKVxuXHRcdFx0LmFkZChcIkBkZWNvaGVyZS9zY3JpYmUtcGlub1wiKVxuXHRcdFx0LmFkZChcIkBkZWNvaGVyZS9jb3J0ZXgvaHR0cFwiKVxuXHRcdFx0LmFkZChcIkBkZWNvaGVyZS9jb3J0ZXgvYXV0aFwiKVxuXHRcdFx0LmFkZChcIkBkZWNvaGVyZS9wcm90b2NvbFwiKVxuXHRcdFx0LmFkZChcIkBkZWNvaGVyZS9jb3J0ZXhcIiwgXCJCdWlsZGVyXCIpXG5cdFx0XHQuYWRkKFwiQGRlY29oZXJlL2NvcnRleC9wcm92aWRlcnNcIiwgXCJGYXN0aWZ5UHJvdmlkZXJcIilcblx0XHRcdC5hZGQoXCJAZGVjb2hlcmUvc2NyaWJlXCIsIFwic2NyaWJlXCIpXG5cdFx0XHQuYWRkKFwiQGRlY29oZXJlL3Byb3RvY29sXCIsIFwiWWFtbERhdGFTb3VyY2VcIilcblx0XHRcdC5hZGQoXCIuL3NhbXBsZS5zZXJ2aWNlLmpzXCIsIFwiU2FtcGxlU2VydmljZVwiKTtcblxuXHRcdC8vIFN0YW5kYXJkIGJ1aWxkZXIgY2hhaW4g4oCUIGZlYXR1cmVzIGFwcGVuZDsgcmVuZGVyIGFwcGVuZHMgLndpdGhDb250cm9sbGVycyArIC5idWlsZC5cblx0XHR0aGlzLl9idWlsZGVyQ2hhaW4gPSBbXG5cdFx0XHRgLndpdGhIdHRwUHJvdmlkZXIoRmFzdGlmeVByb3ZpZGVyKWAsXG5cdFx0XHRgLndpdGhDb25maWd1cmF0aW9uKFlhbWxEYXRhU291cmNlKWAsXG5cdFx0XHRgLndpdGhBdXRoKClgLFxuXHRcdFx0YC53aXRoU2VydmljZXMoKGNiKSA9PiB7IGNiLnJlZ2lzdGVyU2luZ2xldG9uKFNhbXBsZVNlcnZpY2UpOyB9KWAsXG5cdFx0XTtcblx0fVxuXG5cdC8vIOKUgOKUgCBmZWF0dXJlIEFQSSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuXHQvKiogQWRkIG5hbWVkIHZhbHVlIGltcG9ydHMgKG9yIHNpZGUtZWZmZWN0IHdoZW4gY2FsbGVkIHdpdGggbm8gbmFtZXMpLiAqL1xuXHRwdWJsaWMgYWRkSW1wb3J0KHBrZzogc3RyaW5nLCAuLi5uYW1lczogc3RyaW5nW10pOiB0aGlzIHtcblx0XHR0aGlzLl9pbXBvcnRzLmFkZChwa2csIC4uLm5hbWVzKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKiBBZGQgbmFtZWQgdHlwZS1vbmx5IGltcG9ydHMuICovXG5cdHB1YmxpYyBhZGRUeXBlSW1wb3J0KHBrZzogc3RyaW5nLCAuLi5uYW1lczogc3RyaW5nW10pOiB0aGlzIHtcblx0XHR0aGlzLl9pbXBvcnRzLmFkZFR5cGUocGtnLCAuLi5uYW1lcyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKipcblx0ICogQXBwZW5kIGEgYnVpbGRlciBjaGFpbiBjYWxsIGluc2VydGVkIGJldHdlZW4gYC53aXRoU2VydmljZXMo4oCmKWAgYW5kXG5cdCAqIGAud2l0aENvbnRyb2xsZXJzKOKApilgLiAgUGFzcyB0aGUgY2FsbCB3aXRoIGl0cyBsZWFkaW5nIGRvdCxcblx0ICogZS5nLiBgLndpdGhUeXBlT3JtKHsg4oCmIH0pYC5cblx0ICovXG5cdHB1YmxpYyBhcHBlbmRCdWlsZGVyQ2hhaW4oY2FsbDogc3RyaW5nKTogdGhpcyB7XG5cdFx0dGhpcy5fYnVpbGRlckNoYWluLnB1c2goY2FsbCk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvLyDilIDilIAgcmVuZGVyLXBoYXNlIEFQSSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuXHQvKiogUmVnaXN0ZXIgYSBjb250cm9sbGVyOyBhZGRzIGl0cyBpbXBvcnQgYW5kIHF1ZXVlcyBpdCBmb3Igd2l0aENvbnRyb2xsZXJzKCkuICovXG5cdHB1YmxpYyBhZGRDb250cm9sbGVyKG1vZGVsOiBDbGFzc01vZGVsKTogdGhpcyB7XG5cdFx0Y29uc3QgaW1wb3J0UGF0aCA9IGAuL2NvbnRyb2xsZXJzLyR7bW9kZWwuZmlsZU5hbWUucmVwbGFjZSgvXFwudHMkLywgXCIuanNcIil9YDtcblx0XHR0aGlzLl9pbXBvcnRzLmFkZChpbXBvcnRQYXRoLCBtb2RlbC5jbGFzc05hbWUpO1xuXHRcdHRoaXMuX2NvbnRyb2xsZXJzLnB1c2goeyBjbGFzc05hbWU6IG1vZGVsLmNsYXNzTmFtZSwgaW1wb3J0UGF0aCB9KTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8vIOKUgOKUgCByZW5kZXJpbmcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cblx0cHVibGljIHJlbmRlcigpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbnRyb2xsZXJzQXJnID0gdGhpcy5fY29udHJvbGxlcnMubWFwKChjKSA9PiBjLmNsYXNzTmFtZSkuam9pbihcIiwgXCIpO1xuXG5cdFx0Y29uc3QgY2hhaW5DYWxscyA9IFtcblx0XHRcdC4uLnRoaXMuX2J1aWxkZXJDaGFpbixcblx0XHRcdGAud2l0aENvbnRyb2xsZXJzKCR7Y29udHJvbGxlcnNBcmd9KWAsXG5cdFx0XHRgLmJ1aWxkKCk7YCxcblx0XHRdXG5cdFx0XHQubWFwKChjYWxsKSA9PiBgXFx0JHtjYWxsfWApXG5cdFx0XHQuam9pbihcIlxcblwiKTtcblxuXHRcdGNvbnN0IGltcG9ydFNlY3Rpb24gPSB0aGlzLl9pbXBvcnRzLnJlbmRlcigpLmpvaW4oXCJcXG5cIik7XG5cblx0XHRyZXR1cm4gYCR7W1xuXHRcdFx0aW1wb3J0U2VjdGlvbixcblx0XHRcdGBzY3JpYmUuZXh0ZW5kLndpdGhQaW5vUHJldHR5KCk7YCxcblx0XHRcdGBjb25zdCBhcHAgPSBhd2FpdCBCdWlsZGVyLmNyZWF0ZSh7IGFwcGxpY2F0aW9uTmFtZTogXCIke3RoaXMuX2FwcGxpY2F0aW9uTmFtZX1cIiB9KVxcbiR7Y2hhaW5DYWxsc31gLFxuXHRcdFx0YGF3YWl0IGFwcC5zdGFydCh7IHBvcnQ6IDMwMDAgfSk7YCxcblx0XHRcdGBleHBvcnQgZGVmYXVsdCBhcHA7YCxcblx0XHRdLmpvaW4oXCJcXG5cXG5cIil9XFxuYDtcblx0fVxufVxuIl0sIm5hbWVzIjpbIk1BSU5fVFNfS0VZIiwiTWFpblRzTW9kZWwiLCJtb2RlbEtleSIsIl9hcHBsaWNhdGlvbk5hbWUiLCJfaW1wb3J0cyIsIl9idWlsZGVyQ2hhaW4iLCJfY29udHJvbGxlcnMiLCJhcHBsaWNhdGlvbk5hbWUiLCJJbXBvcnRNYXAiLCJhZGQiLCJhZGRJbXBvcnQiLCJwa2ciLCJuYW1lcyIsImFkZFR5cGVJbXBvcnQiLCJhZGRUeXBlIiwiYXBwZW5kQnVpbGRlckNoYWluIiwiY2FsbCIsInB1c2giLCJhZGRDb250cm9sbGVyIiwibW9kZWwiLCJpbXBvcnRQYXRoIiwiZmlsZU5hbWUiLCJyZXBsYWNlIiwiY2xhc3NOYW1lIiwicmVuZGVyIiwiY29udHJvbGxlcnNBcmciLCJtYXAiLCJjIiwiam9pbiIsImNoYWluQ2FsbHMiLCJpbXBvcnRTZWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQUthQTtlQUFBQTs7UUFVQUM7ZUFBQUE7OzsyQkFkYTt1QkFDRDtBQUdsQixNQUFNRCxjQUFjRSxJQUFBQSxlQUFRLEVBQWM7QUFVMUMsTUFBTUQ7SUFDS0UsaUJBQXlCO0lBQ3pCQyxTQUFvQjtJQUNwQkMsY0FBd0I7SUFDeEJDLGVBQWlFLEVBQUUsQ0FBQztJQUVyRixZQUFtQkMsZUFBdUIsQ0FBRTtRQUMzQyxJQUFJLENBQUNKLGdCQUFnQixHQUFHSTtRQUV4Qiw2RUFBNkU7UUFDN0UsSUFBSSxDQUFDSCxRQUFRLEdBQUcsSUFBSUksb0JBQVMsR0FDM0JDLEdBQUcsQ0FBQyx5QkFDSkEsR0FBRyxDQUFDLHlCQUNKQSxHQUFHLENBQUMseUJBQ0pBLEdBQUcsQ0FBQyxzQkFDSkEsR0FBRyxDQUFDLG9CQUFvQixXQUN4QkEsR0FBRyxDQUFDLDhCQUE4QixtQkFDbENBLEdBQUcsQ0FBQyxvQkFBb0IsVUFDeEJBLEdBQUcsQ0FBQyxzQkFBc0Isa0JBQzFCQSxHQUFHLENBQUMsdUJBQXVCO1FBRTdCLHNGQUFzRjtRQUN0RixJQUFJLENBQUNKLGFBQWEsR0FBRztZQUNwQixDQUFDLGtDQUFrQyxDQUFDO1lBQ3BDLENBQUMsa0NBQWtDLENBQUM7WUFDcEMsQ0FBQyxXQUFXLENBQUM7WUFDYixDQUFDLCtEQUErRCxDQUFDO1NBQ2pFO0lBQ0Y7SUFFQSw0RUFBNEU7SUFFNUUsd0VBQXdFLEdBQ3hFLEFBQU9LLFVBQVVDLEdBQVcsRUFBRSxHQUFHQyxLQUFlLEVBQVE7UUFDdkQsSUFBSSxDQUFDUixRQUFRLENBQUNLLEdBQUcsQ0FBQ0UsUUFBUUM7UUFDMUIsT0FBTyxJQUFJO0lBQ1o7SUFFQSxpQ0FBaUMsR0FDakMsQUFBT0MsY0FBY0YsR0FBVyxFQUFFLEdBQUdDLEtBQWUsRUFBUTtRQUMzRCxJQUFJLENBQUNSLFFBQVEsQ0FBQ1UsT0FBTyxDQUFDSCxRQUFRQztRQUM5QixPQUFPLElBQUk7SUFDWjtJQUVBOzs7O0VBSUMsR0FDRCxBQUFPRyxtQkFBbUJDLElBQVksRUFBUTtRQUM3QyxJQUFJLENBQUNYLGFBQWEsQ0FBQ1ksSUFBSSxDQUFDRDtRQUN4QixPQUFPLElBQUk7SUFDWjtJQUVBLDRFQUE0RTtJQUU1RSxnRkFBZ0YsR0FDaEYsQUFBT0UsY0FBY0MsS0FBaUIsRUFBUTtRQUM3QyxNQUFNQyxhQUFhLENBQUMsY0FBYyxFQUFFRCxNQUFNRSxRQUFRLENBQUNDLE9BQU8sQ0FBQyxTQUFTLFFBQVE7UUFDNUUsSUFBSSxDQUFDbEIsUUFBUSxDQUFDSyxHQUFHLENBQUNXLFlBQVlELE1BQU1JLFNBQVM7UUFDN0MsSUFBSSxDQUFDakIsWUFBWSxDQUFDVyxJQUFJLENBQUM7WUFBRU0sV0FBV0osTUFBTUksU0FBUztZQUFFSDtRQUFXO1FBQ2hFLE9BQU8sSUFBSTtJQUNaO0lBRUEsNkVBQTZFO0lBRXRFSSxTQUFpQjtRQUN2QixNQUFNQyxpQkFBaUIsSUFBSSxDQUFDbkIsWUFBWSxDQUFDb0IsR0FBRyxDQUFDLENBQUNDLElBQU1BLEVBQUVKLFNBQVMsRUFBRUssSUFBSSxDQUFDO1FBRXRFLE1BQU1DLGFBQWE7ZUFDZixJQUFJLENBQUN4QixhQUFhO1lBQ3JCLENBQUMsaUJBQWlCLEVBQUVvQixlQUFlLENBQUMsQ0FBQztZQUNyQyxDQUFDLFNBQVMsQ0FBQztTQUNYLENBQ0NDLEdBQUcsQ0FBQyxDQUFDVixPQUFTLENBQUMsRUFBRSxFQUFFQSxNQUFNLEVBQ3pCWSxJQUFJLENBQUM7UUFFUCxNQUFNRSxnQkFBZ0IsSUFBSSxDQUFDMUIsUUFBUSxDQUFDb0IsTUFBTSxHQUFHSSxJQUFJLENBQUM7UUFFbEQsT0FBTyxHQUFHO1lBQ1RFO1lBQ0EsQ0FBQywrQkFBK0IsQ0FBQztZQUNqQyxDQUFDLHFEQUFxRCxFQUFFLElBQUksQ0FBQzNCLGdCQUFnQixDQUFDLE1BQU0sRUFBRTBCLFlBQVk7WUFDbEcsQ0FBQyxnQ0FBZ0MsQ0FBQztZQUNsQyxDQUFDLG1CQUFtQixDQUFDO1NBQ3JCLENBQUNELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQjtBQUNEIn0=
|
|
@@ -0,0 +1,158 @@
|
|
|
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 CONFIG_DEV_YAML () {
|
|
13
|
+
return CONFIG_DEV_YAML;
|
|
14
|
+
},
|
|
15
|
+
get GITIGNORE () {
|
|
16
|
+
return GITIGNORE;
|
|
17
|
+
},
|
|
18
|
+
get SAMPLE_CONFIG_TS () {
|
|
19
|
+
return SAMPLE_CONFIG_TS;
|
|
20
|
+
},
|
|
21
|
+
get SAMPLE_SERVICE_TS () {
|
|
22
|
+
return SAMPLE_SERVICE_TS;
|
|
23
|
+
},
|
|
24
|
+
get TSCONFIG () {
|
|
25
|
+
return TSCONFIG;
|
|
26
|
+
},
|
|
27
|
+
get VSCODE_LAUNCH_JSON () {
|
|
28
|
+
return VSCODE_LAUNCH_JSON;
|
|
29
|
+
},
|
|
30
|
+
get apiPackageJson () {
|
|
31
|
+
return apiPackageJson;
|
|
32
|
+
},
|
|
33
|
+
get configYaml () {
|
|
34
|
+
return configYaml;
|
|
35
|
+
},
|
|
36
|
+
get rootPackageJson () {
|
|
37
|
+
return rootPackageJson;
|
|
38
|
+
},
|
|
39
|
+
get vscodeSettingsJson () {
|
|
40
|
+
return vscodeSettingsJson;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
const _version = require("../../version.js");
|
|
44
|
+
function rootPackageJson(name) {
|
|
45
|
+
return JSON.stringify({
|
|
46
|
+
name: `${name}.api`,
|
|
47
|
+
version: "0.0.1",
|
|
48
|
+
type: "module",
|
|
49
|
+
scripts: {
|
|
50
|
+
build: "forge build",
|
|
51
|
+
"build:watch": "forge build --watch",
|
|
52
|
+
dev: "flux serve"
|
|
53
|
+
},
|
|
54
|
+
dependencies: {
|
|
55
|
+
"@decohere/cortex": _version.CREATE_VERSION,
|
|
56
|
+
"@decohere/crucible": _version.CREATE_VERSION,
|
|
57
|
+
"@decohere/nexus": _version.CREATE_VERSION,
|
|
58
|
+
"@decohere/protocol": _version.CREATE_VERSION,
|
|
59
|
+
"@decohere/scribe": _version.CREATE_VERSION,
|
|
60
|
+
"@decohere/scribe-pino": _version.CREATE_VERSION,
|
|
61
|
+
"pino-pretty": "^13.0.0"
|
|
62
|
+
},
|
|
63
|
+
devDependencies: {
|
|
64
|
+
"@decohere/terminal": _version.CREATE_VERSION,
|
|
65
|
+
typescript: "^6.0.3"
|
|
66
|
+
}
|
|
67
|
+
}, null, 2);
|
|
68
|
+
}
|
|
69
|
+
function apiPackageJson(name) {
|
|
70
|
+
return JSON.stringify({
|
|
71
|
+
name: `@${name}/api`,
|
|
72
|
+
version: "0.0.1",
|
|
73
|
+
type: "module",
|
|
74
|
+
main: "src/main.ts",
|
|
75
|
+
dependencies: {
|
|
76
|
+
"@decohere/cortex": _version.CREATE_VERSION,
|
|
77
|
+
"@decohere/crucible": _version.CREATE_VERSION
|
|
78
|
+
}
|
|
79
|
+
}, null, 2);
|
|
80
|
+
}
|
|
81
|
+
const TSCONFIG = JSON.stringify({
|
|
82
|
+
compilerOptions: {
|
|
83
|
+
target: "ES2022",
|
|
84
|
+
module: "NodeNext",
|
|
85
|
+
moduleResolution: "NodeNext",
|
|
86
|
+
strict: true,
|
|
87
|
+
skipLibCheck: true,
|
|
88
|
+
experimentalDecorators: true,
|
|
89
|
+
emitDecoratorMetadata: true
|
|
90
|
+
}
|
|
91
|
+
}, null, 2);
|
|
92
|
+
const VSCODE_LAUNCH_JSON = JSON.stringify({
|
|
93
|
+
version: "0.2.0",
|
|
94
|
+
configurations: [
|
|
95
|
+
{
|
|
96
|
+
name: "Build",
|
|
97
|
+
type: "node",
|
|
98
|
+
request: "launch",
|
|
99
|
+
runtimeExecutable: "pnpm",
|
|
100
|
+
runtimeArgs: [
|
|
101
|
+
"build"
|
|
102
|
+
],
|
|
103
|
+
console: "integratedTerminal",
|
|
104
|
+
cwd: `\${workspaceFolder}`
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: "Serve / Dev",
|
|
108
|
+
type: "node",
|
|
109
|
+
request: "launch",
|
|
110
|
+
runtimeExecutable: "pnpm",
|
|
111
|
+
runtimeArgs: [
|
|
112
|
+
"dev"
|
|
113
|
+
],
|
|
114
|
+
console: "integratedTerminal",
|
|
115
|
+
cwd: `\${workspaceFolder}`
|
|
116
|
+
}
|
|
117
|
+
]
|
|
118
|
+
}, null, 2);
|
|
119
|
+
function vscodeSettingsJson(name) {
|
|
120
|
+
return JSON.stringify({
|
|
121
|
+
"window.title": `${name}\${separator}\${activeEditorShort}`,
|
|
122
|
+
"window.titleSeparator": " | "
|
|
123
|
+
}, null, 2);
|
|
124
|
+
}
|
|
125
|
+
const GITIGNORE = `node_modules/
|
|
126
|
+
dist/
|
|
127
|
+
.env.local
|
|
128
|
+
.pnpm-store
|
|
129
|
+
`;
|
|
130
|
+
function configYaml() {
|
|
131
|
+
return `sample:\n greeting: Hello from configuration!\n`;
|
|
132
|
+
}
|
|
133
|
+
const CONFIG_DEV_YAML = `sample:
|
|
134
|
+
greeting: Hello from dev configuration!
|
|
135
|
+
`;
|
|
136
|
+
const SAMPLE_CONFIG_TS = `export class SampleConfig {
|
|
137
|
+
\tpublic greeting: string = "";
|
|
138
|
+
}
|
|
139
|
+
`;
|
|
140
|
+
const SAMPLE_SERVICE_TS = `import { inject, injectable } from "@decohere/crucible/decorators";
|
|
141
|
+
import { ConfigurationServiceToken } from "@decohere/nexus/configuration";
|
|
142
|
+
import type { IConfigurationService } from "@decohere/nexus/configuration";
|
|
143
|
+
import { SampleConfig } from "./sample.config.js";
|
|
144
|
+
|
|
145
|
+
@injectable()
|
|
146
|
+
export class SampleService {
|
|
147
|
+
\tpublic constructor(
|
|
148
|
+
\t\t@inject(ConfigurationServiceToken) private readonly config: IConfigurationService,
|
|
149
|
+
\t) {}
|
|
150
|
+
|
|
151
|
+
\tpublic async getGreeting(): Promise<string> {
|
|
152
|
+
\t\tconst config = await this.config.get(SampleConfig);
|
|
153
|
+
\t\treturn config.greeting;
|
|
154
|
+
\t}
|
|
155
|
+
}
|
|
156
|
+
`;
|
|
157
|
+
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS92MS9mZWF0dXJlcy9hcGktY29yZS9zY2FmZm9sZC1maWxlcy50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDUkVBVEVfVkVSU0lPTiB9IGZyb20gXCIuLi8uLi92ZXJzaW9uLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiByb290UGFja2FnZUpzb24obmFtZTogc3RyaW5nKTogc3RyaW5nIHtcblx0cmV0dXJuIEpTT04uc3RyaW5naWZ5KFxuXHRcdHtcblx0XHRcdG5hbWU6IGAke25hbWV9LmFwaWAsXG5cdFx0XHR2ZXJzaW9uOiBcIjAuMC4xXCIsXG5cdFx0XHR0eXBlOiBcIm1vZHVsZVwiLFxuXHRcdFx0c2NyaXB0czoge1xuXHRcdFx0XHRidWlsZDogXCJmb3JnZSBidWlsZFwiLFxuXHRcdFx0XHRcImJ1aWxkOndhdGNoXCI6IFwiZm9yZ2UgYnVpbGQgLS13YXRjaFwiLFxuXHRcdFx0XHRkZXY6IFwiZmx1eCBzZXJ2ZVwiLFxuXHRcdFx0fSxcblx0XHRcdGRlcGVuZGVuY2llczoge1xuXHRcdFx0XHRcIkBkZWNvaGVyZS9jb3J0ZXhcIjogQ1JFQVRFX1ZFUlNJT04sXG5cdFx0XHRcdFwiQGRlY29oZXJlL2NydWNpYmxlXCI6IENSRUFURV9WRVJTSU9OLFxuXHRcdFx0XHRcIkBkZWNvaGVyZS9uZXh1c1wiOiBDUkVBVEVfVkVSU0lPTixcblx0XHRcdFx0XCJAZGVjb2hlcmUvcHJvdG9jb2xcIjogQ1JFQVRFX1ZFUlNJT04sXG5cdFx0XHRcdFwiQGRlY29oZXJlL3NjcmliZVwiOiBDUkVBVEVfVkVSU0lPTixcblx0XHRcdFx0XCJAZGVjb2hlcmUvc2NyaWJlLXBpbm9cIjogQ1JFQVRFX1ZFUlNJT04sXG5cdFx0XHRcdFwicGluby1wcmV0dHlcIjogXCJeMTMuMC4wXCIsXG5cdFx0XHR9LFxuXHRcdFx0ZGV2RGVwZW5kZW5jaWVzOiB7XG5cdFx0XHRcdFwiQGRlY29oZXJlL3Rlcm1pbmFsXCI6IENSRUFURV9WRVJTSU9OLFxuXHRcdFx0XHR0eXBlc2NyaXB0OiBcIl42LjAuM1wiLFxuXHRcdFx0fSxcblx0XHR9LFxuXHRcdG51bGwsXG5cdFx0Mixcblx0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwaVBhY2thZ2VKc29uKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdHJldHVybiBKU09OLnN0cmluZ2lmeShcblx0XHR7XG5cdFx0XHRuYW1lOiBgQCR7bmFtZX0vYXBpYCxcblx0XHRcdHZlcnNpb246IFwiMC4wLjFcIixcblx0XHRcdHR5cGU6IFwibW9kdWxlXCIsXG5cdFx0XHRtYWluOiBcInNyYy9tYWluLnRzXCIsXG5cdFx0XHRkZXBlbmRlbmNpZXM6IHtcblx0XHRcdFx0XCJAZGVjb2hlcmUvY29ydGV4XCI6IENSRUFURV9WRVJTSU9OLFxuXHRcdFx0XHRcIkBkZWNvaGVyZS9jcnVjaWJsZVwiOiBDUkVBVEVfVkVSU0lPTixcblx0XHRcdH0sXG5cdFx0fSxcblx0XHRudWxsLFxuXHRcdDIsXG5cdCk7XG59XG5cbmV4cG9ydCBjb25zdCBUU0NPTkZJRyA9IEpTT04uc3RyaW5naWZ5KFxuXHR7XG5cdFx0Y29tcGlsZXJPcHRpb25zOiB7XG5cdFx0XHR0YXJnZXQ6IFwiRVMyMDIyXCIsXG5cdFx0XHRtb2R1bGU6IFwiTm9kZU5leHRcIixcblx0XHRcdG1vZHVsZVJlc29sdXRpb246IFwiTm9kZU5leHRcIixcblx0XHRcdHN0cmljdDogdHJ1ZSxcblx0XHRcdHNraXBMaWJDaGVjazogdHJ1ZSxcblx0XHRcdGV4cGVyaW1lbnRhbERlY29yYXRvcnM6IHRydWUsXG5cdFx0XHRlbWl0RGVjb3JhdG9yTWV0YWRhdGE6IHRydWUsXG5cdFx0fSxcblx0fSxcblx0bnVsbCxcblx0Mixcbik7XG5cbmV4cG9ydCBjb25zdCBWU0NPREVfTEFVTkNIX0pTT04gPSBKU09OLnN0cmluZ2lmeShcblx0e1xuXHRcdHZlcnNpb246IFwiMC4yLjBcIixcblx0XHRjb25maWd1cmF0aW9uczogW1xuXHRcdFx0e1xuXHRcdFx0XHRuYW1lOiBcIkJ1aWxkXCIsXG5cdFx0XHRcdHR5cGU6IFwibm9kZVwiLFxuXHRcdFx0XHRyZXF1ZXN0OiBcImxhdW5jaFwiLFxuXHRcdFx0XHRydW50aW1lRXhlY3V0YWJsZTogXCJwbnBtXCIsXG5cdFx0XHRcdHJ1bnRpbWVBcmdzOiBbXCJidWlsZFwiXSxcblx0XHRcdFx0Y29uc29sZTogXCJpbnRlZ3JhdGVkVGVybWluYWxcIixcblx0XHRcdFx0Y3dkOiBgXFwke3dvcmtzcGFjZUZvbGRlcn1gLFxuXHRcdFx0fSxcblx0XHRcdHtcblx0XHRcdFx0bmFtZTogXCJTZXJ2ZSAvIERldlwiLFxuXHRcdFx0XHR0eXBlOiBcIm5vZGVcIixcblx0XHRcdFx0cmVxdWVzdDogXCJsYXVuY2hcIixcblx0XHRcdFx0cnVudGltZUV4ZWN1dGFibGU6IFwicG5wbVwiLFxuXHRcdFx0XHRydW50aW1lQXJnczogW1wiZGV2XCJdLFxuXHRcdFx0XHRjb25zb2xlOiBcImludGVncmF0ZWRUZXJtaW5hbFwiLFxuXHRcdFx0XHRjd2Q6IGBcXCR7d29ya3NwYWNlRm9sZGVyfWAsXG5cdFx0XHR9LFxuXHRcdF0sXG5cdH0sXG5cdG51bGwsXG5cdDIsXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gdnNjb2RlU2V0dGluZ3NKc29uKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdHJldHVybiBKU09OLnN0cmluZ2lmeShcblx0XHR7XG5cdFx0XHRcIndpbmRvdy50aXRsZVwiOiBgJHtuYW1lfVxcJHtzZXBhcmF0b3J9XFwke2FjdGl2ZUVkaXRvclNob3J0fWAsXG5cdFx0XHRcIndpbmRvdy50aXRsZVNlcGFyYXRvclwiOiBcIiB8IFwiLFxuXHRcdH0sXG5cdFx0bnVsbCxcblx0XHQyLFxuXHQpO1xufVxuXG5leHBvcnQgY29uc3QgR0lUSUdOT1JFID0gYG5vZGVfbW9kdWxlcy9cbmRpc3QvXG4uZW52LmxvY2FsXG4ucG5wbS1zdG9yZVxuYDtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ1lhbWwoKTogc3RyaW5nIHtcblx0cmV0dXJuIGBzYW1wbGU6XFxuICBncmVldGluZzogSGVsbG8gZnJvbSBjb25maWd1cmF0aW9uIVxcbmA7XG59XG5cbmV4cG9ydCBjb25zdCBDT05GSUdfREVWX1lBTUwgPSBgc2FtcGxlOlxuICBncmVldGluZzogSGVsbG8gZnJvbSBkZXYgY29uZmlndXJhdGlvbiFcbmA7XG5cbmV4cG9ydCBjb25zdCBTQU1QTEVfQ09ORklHX1RTID0gYGV4cG9ydCBjbGFzcyBTYW1wbGVDb25maWcge1xuXFx0cHVibGljIGdyZWV0aW5nOiBzdHJpbmcgPSBcIlwiO1xufVxuYDtcblxuZXhwb3J0IGNvbnN0IFNBTVBMRV9TRVJWSUNFX1RTID0gYGltcG9ydCB7IGluamVjdCwgaW5qZWN0YWJsZSB9IGZyb20gXCJAZGVjb2hlcmUvY3J1Y2libGUvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2VUb2tlbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY29uZmlndXJhdGlvblwiO1xuaW1wb3J0IHR5cGUgeyBJQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NvbmZpZ3VyYXRpb25cIjtcbmltcG9ydCB7IFNhbXBsZUNvbmZpZyB9IGZyb20gXCIuL3NhbXBsZS5jb25maWcuanNcIjtcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNhbXBsZVNlcnZpY2Uge1xuXFx0cHVibGljIGNvbnN0cnVjdG9yKFxuXFx0XFx0QGluamVjdChDb25maWd1cmF0aW9uU2VydmljZVRva2VuKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogSUNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuXFx0KSB7fVxuXG5cXHRwdWJsaWMgYXN5bmMgZ2V0R3JlZXRpbmcoKTogUHJvbWlzZTxzdHJpbmc+IHtcblxcdFxcdGNvbnN0IGNvbmZpZyA9IGF3YWl0IHRoaXMuY29uZmlnLmdldChTYW1wbGVDb25maWcpO1xuXFx0XFx0cmV0dXJuIGNvbmZpZy5ncmVldGluZztcblxcdH1cbn1cbmA7XG4iXSwibmFtZXMiOlsiQ09ORklHX0RFVl9ZQU1MIiwiR0lUSUdOT1JFIiwiU0FNUExFX0NPTkZJR19UUyIsIlNBTVBMRV9TRVJWSUNFX1RTIiwiVFNDT05GSUciLCJWU0NPREVfTEFVTkNIX0pTT04iLCJhcGlQYWNrYWdlSnNvbiIsImNvbmZpZ1lhbWwiLCJyb290UGFja2FnZUpzb24iLCJ2c2NvZGVTZXR0aW5nc0pzb24iLCJuYW1lIiwiSlNPTiIsInN0cmluZ2lmeSIsInZlcnNpb24iLCJ0eXBlIiwic2NyaXB0cyIsImJ1aWxkIiwiZGV2IiwiZGVwZW5kZW5jaWVzIiwiQ1JFQVRFX1ZFUlNJT04iLCJkZXZEZXBlbmRlbmNpZXMiLCJ0eXBlc2NyaXB0IiwibWFpbiIsImNvbXBpbGVyT3B0aW9ucyIsInRhcmdldCIsIm1vZHVsZSIsIm1vZHVsZVJlc29sdXRpb24iLCJzdHJpY3QiLCJza2lwTGliQ2hlY2siLCJleHBlcmltZW50YWxEZWNvcmF0b3JzIiwiZW1pdERlY29yYXRvck1ldGFkYXRhIiwiY29uZmlndXJhdGlvbnMiLCJyZXF1ZXN0IiwicnVudGltZUV4ZWN1dGFibGUiLCJydW50aW1lQXJncyIsImNvbnNvbGUiLCJjd2QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBa0hhQTtlQUFBQTs7UUFWQUM7ZUFBQUE7O1FBY0FDO2VBQUFBOztRQUtBQztlQUFBQTs7UUExRUFDO2VBQUFBOztRQWdCQUM7ZUFBQUE7O1FBakNHQztlQUFBQTs7UUE4RUFDO2VBQUFBOztRQTVHQUM7ZUFBQUE7O1FBMkZBQztlQUFBQTs7O3lCQTdGZTtBQUV4QixTQUFTRCxnQkFBZ0JFLElBQVk7SUFDM0MsT0FBT0MsS0FBS0MsU0FBUyxDQUNwQjtRQUNDRixNQUFNLEdBQUdBLEtBQUssSUFBSSxDQUFDO1FBQ25CRyxTQUFTO1FBQ1RDLE1BQU07UUFDTkMsU0FBUztZQUNSQyxPQUFPO1lBQ1AsZUFBZTtZQUNmQyxLQUFLO1FBQ047UUFDQUMsY0FBYztZQUNiLG9CQUFvQkMsdUJBQWM7WUFDbEMsc0JBQXNCQSx1QkFBYztZQUNwQyxtQkFBbUJBLHVCQUFjO1lBQ2pDLHNCQUFzQkEsdUJBQWM7WUFDcEMsb0JBQW9CQSx1QkFBYztZQUNsQyx5QkFBeUJBLHVCQUFjO1lBQ3ZDLGVBQWU7UUFDaEI7UUFDQUMsaUJBQWlCO1lBQ2hCLHNCQUFzQkQsdUJBQWM7WUFDcENFLFlBQVk7UUFDYjtJQUNELEdBQ0EsTUFDQTtBQUVGO0FBRU8sU0FBU2YsZUFBZUksSUFBWTtJQUMxQyxPQUFPQyxLQUFLQyxTQUFTLENBQ3BCO1FBQ0NGLE1BQU0sQ0FBQyxDQUFDLEVBQUVBLEtBQUssSUFBSSxDQUFDO1FBQ3BCRyxTQUFTO1FBQ1RDLE1BQU07UUFDTlEsTUFBTTtRQUNOSixjQUFjO1lBQ2Isb0JBQW9CQyx1QkFBYztZQUNsQyxzQkFBc0JBLHVCQUFjO1FBQ3JDO0lBQ0QsR0FDQSxNQUNBO0FBRUY7QUFFTyxNQUFNZixXQUFXTyxLQUFLQyxTQUFTLENBQ3JDO0lBQ0NXLGlCQUFpQjtRQUNoQkMsUUFBUTtRQUNSQyxRQUFRO1FBQ1JDLGtCQUFrQjtRQUNsQkMsUUFBUTtRQUNSQyxjQUFjO1FBQ2RDLHdCQUF3QjtRQUN4QkMsdUJBQXVCO0lBQ3hCO0FBQ0QsR0FDQSxNQUNBO0FBR00sTUFBTXpCLHFCQUFxQk0sS0FBS0MsU0FBUyxDQUMvQztJQUNDQyxTQUFTO0lBQ1RrQixnQkFBZ0I7UUFDZjtZQUNDckIsTUFBTTtZQUNOSSxNQUFNO1lBQ05rQixTQUFTO1lBQ1RDLG1CQUFtQjtZQUNuQkMsYUFBYTtnQkFBQzthQUFRO1lBQ3RCQyxTQUFTO1lBQ1RDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQztRQUMzQjtRQUNBO1lBQ0MxQixNQUFNO1lBQ05JLE1BQU07WUFDTmtCLFNBQVM7WUFDVEMsbUJBQW1CO1lBQ25CQyxhQUFhO2dCQUFDO2FBQU07WUFDcEJDLFNBQVM7WUFDVEMsS0FBSyxDQUFDLG1CQUFtQixDQUFDO1FBQzNCO0tBQ0E7QUFDRixHQUNBLE1BQ0E7QUFHTSxTQUFTM0IsbUJBQW1CQyxJQUFZO0lBQzlDLE9BQU9DLEtBQUtDLFNBQVMsQ0FDcEI7UUFDQyxnQkFBZ0IsR0FBR0YsS0FBSyxrQ0FBa0MsQ0FBQztRQUMzRCx5QkFBeUI7SUFDMUIsR0FDQSxNQUNBO0FBRUY7QUFFTyxNQUFNVCxZQUFZLENBQUM7Ozs7QUFJMUIsQ0FBQztBQUVNLFNBQVNNO0lBQ2YsT0FBTyxDQUFDLGdEQUFnRCxDQUFDO0FBQzFEO0FBRU8sTUFBTVAsa0JBQWtCLENBQUM7O0FBRWhDLENBQUM7QUFFTSxNQUFNRSxtQkFBbUIsQ0FBQzs7O0FBR2pDLENBQUM7QUFFTSxNQUFNQyxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQWdCbEMsQ0FBQyJ9
|
|
@@ -0,0 +1,151 @@
|
|
|
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 Auth0AuthError () {
|
|
13
|
+
return Auth0AuthError;
|
|
14
|
+
},
|
|
15
|
+
get REQUIRED_SCOPES () {
|
|
16
|
+
return REQUIRED_SCOPES;
|
|
17
|
+
},
|
|
18
|
+
get createApi () {
|
|
19
|
+
return createApi;
|
|
20
|
+
},
|
|
21
|
+
get createSpaApp () {
|
|
22
|
+
return createSpaApp;
|
|
23
|
+
},
|
|
24
|
+
get isInstalled () {
|
|
25
|
+
return isInstalled;
|
|
26
|
+
},
|
|
27
|
+
get listApis () {
|
|
28
|
+
return listApis;
|
|
29
|
+
},
|
|
30
|
+
get listTenants () {
|
|
31
|
+
return listTenants;
|
|
32
|
+
},
|
|
33
|
+
get login () {
|
|
34
|
+
return login;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const _nodechild_process = require("node:child_process");
|
|
38
|
+
const REQUIRED_SCOPES = "create:clients";
|
|
39
|
+
/** Hard timeout for any Management API call. Prevents indefinite hangs on token re-auth. */ const API_TIMEOUT_MS = 8_000;
|
|
40
|
+
class Auth0AuthError extends Error {
|
|
41
|
+
constructor(message){
|
|
42
|
+
super(message);
|
|
43
|
+
this.name = "Auth0AuthError";
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/** Returns true if an error or stderr output looks like an expired/missing token. */ function isAuthError(text) {
|
|
47
|
+
return text.includes("renew access token") || text.includes("log in") || text.includes("Unauthorized");
|
|
48
|
+
}
|
|
49
|
+
/** Run an auth0 CLI command with a hard timeout. Returns stdout on success, throws on failure. */ function runAuth0(args) {
|
|
50
|
+
const result = (0, _nodechild_process.spawnSync)("auth0", args, {
|
|
51
|
+
encoding: "utf8",
|
|
52
|
+
timeout: API_TIMEOUT_MS,
|
|
53
|
+
input: "",
|
|
54
|
+
stdio: "pipe"
|
|
55
|
+
});
|
|
56
|
+
if (result.error) {
|
|
57
|
+
// ETIMEDOUT means the process was killed by the timeout
|
|
58
|
+
const msg = result.error.message;
|
|
59
|
+
if (isAuthError(msg) || result.error.code === "ETIMEDOUT") {
|
|
60
|
+
throw new Auth0AuthError(msg);
|
|
61
|
+
}
|
|
62
|
+
throw result.error;
|
|
63
|
+
}
|
|
64
|
+
if (result.status !== 0) {
|
|
65
|
+
const stderr = result.stderr ?? "";
|
|
66
|
+
if (isAuthError(stderr)) throw new Auth0AuthError(stderr);
|
|
67
|
+
throw new Error(stderr || `auth0 exited with code ${result.status}`);
|
|
68
|
+
}
|
|
69
|
+
return result.stdout;
|
|
70
|
+
}
|
|
71
|
+
function isInstalled() {
|
|
72
|
+
try {
|
|
73
|
+
(0, _nodechild_process.execFileSync)("auth0", [
|
|
74
|
+
"--version"
|
|
75
|
+
], {
|
|
76
|
+
stdio: "pipe"
|
|
77
|
+
});
|
|
78
|
+
return true;
|
|
79
|
+
} catch {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function listTenants() {
|
|
84
|
+
try {
|
|
85
|
+
const out = (0, _nodechild_process.execFileSync)("auth0", [
|
|
86
|
+
"tenants",
|
|
87
|
+
"list",
|
|
88
|
+
"--json"
|
|
89
|
+
], {
|
|
90
|
+
encoding: "utf8",
|
|
91
|
+
stdio: "pipe"
|
|
92
|
+
});
|
|
93
|
+
return JSON.parse(out);
|
|
94
|
+
} catch {
|
|
95
|
+
return [];
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function login() {
|
|
99
|
+
const result = (0, _nodechild_process.spawnSync)("auth0", [
|
|
100
|
+
"login",
|
|
101
|
+
"--scopes",
|
|
102
|
+
REQUIRED_SCOPES
|
|
103
|
+
], {
|
|
104
|
+
stdio: "inherit"
|
|
105
|
+
});
|
|
106
|
+
return result.status === 0;
|
|
107
|
+
}
|
|
108
|
+
function listApis() {
|
|
109
|
+
try {
|
|
110
|
+
const out = runAuth0([
|
|
111
|
+
"apis",
|
|
112
|
+
"list",
|
|
113
|
+
"--json",
|
|
114
|
+
"--no-input"
|
|
115
|
+
]);
|
|
116
|
+
return JSON.parse(out);
|
|
117
|
+
} catch (err) {
|
|
118
|
+
if (err instanceof Auth0AuthError) throw err;
|
|
119
|
+
return [];
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
function createApi(name, identifier) {
|
|
123
|
+
const out = runAuth0([
|
|
124
|
+
"apis",
|
|
125
|
+
"create",
|
|
126
|
+
"--name",
|
|
127
|
+
name,
|
|
128
|
+
"--identifier",
|
|
129
|
+
identifier,
|
|
130
|
+
"--json",
|
|
131
|
+
"--no-input"
|
|
132
|
+
]);
|
|
133
|
+
return JSON.parse(out);
|
|
134
|
+
}
|
|
135
|
+
function createSpaApp(name, callbackUrl) {
|
|
136
|
+
const out = runAuth0([
|
|
137
|
+
"apps",
|
|
138
|
+
"create",
|
|
139
|
+
"--name",
|
|
140
|
+
name,
|
|
141
|
+
"--type",
|
|
142
|
+
"spa",
|
|
143
|
+
"--callbacks",
|
|
144
|
+
callbackUrl,
|
|
145
|
+
"--json",
|
|
146
|
+
"--no-input"
|
|
147
|
+
]);
|
|
148
|
+
return JSON.parse(out);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS92MS9mZWF0dXJlcy9hdXRoMC9hdXRoMC1jbGkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY0ZpbGVTeW5jLCBzcGF3blN5bmMgfSBmcm9tIFwibm9kZTpjaGlsZF9wcm9jZXNzXCI7XG5cbmNvbnN0IFJFUVVJUkVEX1NDT1BFUyA9IFwiY3JlYXRlOmNsaWVudHNcIjtcbi8qKiBIYXJkIHRpbWVvdXQgZm9yIGFueSBNYW5hZ2VtZW50IEFQSSBjYWxsLiBQcmV2ZW50cyBpbmRlZmluaXRlIGhhbmdzIG9uIHRva2VuIHJlLWF1dGguICovXG5jb25zdCBBUElfVElNRU9VVF9NUyA9IDhfMDAwO1xuXG5leHBvcnQgY2xhc3MgQXV0aDBBdXRoRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcblx0XHRzdXBlcihtZXNzYWdlKTtcblx0XHR0aGlzLm5hbWUgPSBcIkF1dGgwQXV0aEVycm9yXCI7XG5cdH1cbn1cblxuLyoqIFJldHVybnMgdHJ1ZSBpZiBhbiBlcnJvciBvciBzdGRlcnIgb3V0cHV0IGxvb2tzIGxpa2UgYW4gZXhwaXJlZC9taXNzaW5nIHRva2VuLiAqL1xuZnVuY3Rpb24gaXNBdXRoRXJyb3IodGV4dDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdHJldHVybiAoXG5cdFx0dGV4dC5pbmNsdWRlcyhcInJlbmV3IGFjY2VzcyB0b2tlblwiKSB8fFxuXHRcdHRleHQuaW5jbHVkZXMoXCJsb2cgaW5cIikgfHxcblx0XHR0ZXh0LmluY2x1ZGVzKFwiVW5hdXRob3JpemVkXCIpXG5cdCk7XG59XG5cbi8qKiBSdW4gYW4gYXV0aDAgQ0xJIGNvbW1hbmQgd2l0aCBhIGhhcmQgdGltZW91dC4gUmV0dXJucyBzdGRvdXQgb24gc3VjY2VzcywgdGhyb3dzIG9uIGZhaWx1cmUuICovXG5mdW5jdGlvbiBydW5BdXRoMChhcmdzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG5cdGNvbnN0IHJlc3VsdCA9IHNwYXduU3luYyhcImF1dGgwXCIsIGFyZ3MsIHtcblx0XHRlbmNvZGluZzogXCJ1dGY4XCIsXG5cdFx0dGltZW91dDogQVBJX1RJTUVPVVRfTVMsXG5cdFx0aW5wdXQ6IFwiXCIsXG5cdFx0c3RkaW86IFwicGlwZVwiLFxuXHR9KTtcblxuXHRpZiAocmVzdWx0LmVycm9yKSB7XG5cdFx0Ly8gRVRJTUVET1VUIG1lYW5zIHRoZSBwcm9jZXNzIHdhcyBraWxsZWQgYnkgdGhlIHRpbWVvdXRcblx0XHRjb25zdCBtc2cgPSByZXN1bHQuZXJyb3IubWVzc2FnZTtcblx0XHRpZiAoaXNBdXRoRXJyb3IobXNnKSB8fCAocmVzdWx0LmVycm9yIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZSA9PT0gXCJFVElNRURPVVRcIikge1xuXHRcdFx0dGhyb3cgbmV3IEF1dGgwQXV0aEVycm9yKG1zZyk7XG5cdFx0fVxuXHRcdHRocm93IHJlc3VsdC5lcnJvcjtcblx0fVxuXG5cdGlmIChyZXN1bHQuc3RhdHVzICE9PSAwKSB7XG5cdFx0Y29uc3Qgc3RkZXJyID0gcmVzdWx0LnN0ZGVyciA/PyBcIlwiO1xuXHRcdGlmIChpc0F1dGhFcnJvcihzdGRlcnIpKSB0aHJvdyBuZXcgQXV0aDBBdXRoRXJyb3Ioc3RkZXJyKTtcblx0XHR0aHJvdyBuZXcgRXJyb3Ioc3RkZXJyIHx8IGBhdXRoMCBleGl0ZWQgd2l0aCBjb2RlICR7cmVzdWx0LnN0YXR1c31gKTtcblx0fVxuXG5cdHJldHVybiByZXN1bHQuc3Rkb3V0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGgwVGVuYW50IHtcblx0bmFtZTogc3RyaW5nO1xuXHRhY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJbnN0YWxsZWQoKTogYm9vbGVhbiB7XG5cdHRyeSB7XG5cdFx0ZXhlY0ZpbGVTeW5jKFwiYXV0aDBcIiwgW1wiLS12ZXJzaW9uXCJdLCB7IHN0ZGlvOiBcInBpcGVcIiB9KTtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fSBjYXRjaCB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0VGVuYW50cygpOiBBdXRoMFRlbmFudFtdIHtcblx0dHJ5IHtcblx0XHRjb25zdCBvdXQgPSBleGVjRmlsZVN5bmMoXCJhdXRoMFwiLCBbXCJ0ZW5hbnRzXCIsIFwibGlzdFwiLCBcIi0tanNvblwiXSwge1xuXHRcdFx0ZW5jb2Rpbmc6IFwidXRmOFwiLFxuXHRcdFx0c3RkaW86IFwicGlwZVwiLFxuXHRcdH0pO1xuXHRcdHJldHVybiBKU09OLnBhcnNlKG91dCkgYXMgQXV0aDBUZW5hbnRbXTtcblx0fSBjYXRjaCB7XG5cdFx0cmV0dXJuIFtdO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dpbigpOiBib29sZWFuIHtcblx0Y29uc3QgcmVzdWx0ID0gc3Bhd25TeW5jKFwiYXV0aDBcIiwgW1wibG9naW5cIiwgXCItLXNjb3Blc1wiLCBSRVFVSVJFRF9TQ09QRVNdLCB7XG5cdFx0c3RkaW86IFwiaW5oZXJpdFwiLFxuXHR9KTtcblx0cmV0dXJuIHJlc3VsdC5zdGF0dXMgPT09IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0QXBpcygpOiBBcnJheTx7IGlkZW50aWZpZXI6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0+IHtcblx0dHJ5IHtcblx0XHRjb25zdCBvdXQgPSBydW5BdXRoMChbXCJhcGlzXCIsIFwibGlzdFwiLCBcIi0tanNvblwiLCBcIi0tbm8taW5wdXRcIl0pO1xuXHRcdHJldHVybiBKU09OLnBhcnNlKG91dCkgYXMgQXJyYXk8eyBpZGVudGlmaWVyOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9Pjtcblx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0aWYgKGVyciBpbnN0YW5jZW9mIEF1dGgwQXV0aEVycm9yKSB0aHJvdyBlcnI7XG5cdFx0cmV0dXJuIFtdO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBcGkobmFtZTogc3RyaW5nLCBpZGVudGlmaWVyOiBzdHJpbmcpOiB7IGlkZW50aWZpZXI6IHN0cmluZyB9IHtcblx0Y29uc3Qgb3V0ID0gcnVuQXV0aDAoW1xuXHRcdFwiYXBpc1wiLFxuXHRcdFwiY3JlYXRlXCIsXG5cdFx0XCItLW5hbWVcIixcblx0XHRuYW1lLFxuXHRcdFwiLS1pZGVudGlmaWVyXCIsXG5cdFx0aWRlbnRpZmllcixcblx0XHRcIi0tanNvblwiLFxuXHRcdFwiLS1uby1pbnB1dFwiLFxuXHRdKTtcblx0cmV0dXJuIEpTT04ucGFyc2Uob3V0KSBhcyB7IGlkZW50aWZpZXI6IHN0cmluZyB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3BhQXBwKG5hbWU6IHN0cmluZywgY2FsbGJhY2tVcmw6IHN0cmluZyk6IHsgY2xpZW50X2lkOiBzdHJpbmcgfSB7XG5cdGNvbnN0IG91dCA9IHJ1bkF1dGgwKFtcblx0XHRcImFwcHNcIixcblx0XHRcImNyZWF0ZVwiLFxuXHRcdFwiLS1uYW1lXCIsXG5cdFx0bmFtZSxcblx0XHRcIi0tdHlwZVwiLFxuXHRcdFwic3BhXCIsXG5cdFx0XCItLWNhbGxiYWNrc1wiLFxuXHRcdGNhbGxiYWNrVXJsLFxuXHRcdFwiLS1qc29uXCIsXG5cdFx0XCItLW5vLWlucHV0XCIsXG5cdF0pO1xuXHRyZXR1cm4gSlNPTi5wYXJzZShvdXQpIGFzIHsgY2xpZW50X2lkOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IHsgUkVRVUlSRURfU0NPUEVTIH07XG4iXSwibmFtZXMiOlsiQXV0aDBBdXRoRXJyb3IiLCJSRVFVSVJFRF9TQ09QRVMiLCJjcmVhdGVBcGkiLCJjcmVhdGVTcGFBcHAiLCJpc0luc3RhbGxlZCIsImxpc3RBcGlzIiwibGlzdFRlbmFudHMiLCJsb2dpbiIsIkFQSV9USU1FT1VUX01TIiwiRXJyb3IiLCJtZXNzYWdlIiwibmFtZSIsImlzQXV0aEVycm9yIiwidGV4dCIsImluY2x1ZGVzIiwicnVuQXV0aDAiLCJhcmdzIiwicmVzdWx0Iiwic3Bhd25TeW5jIiwiZW5jb2RpbmciLCJ0aW1lb3V0IiwiaW5wdXQiLCJzdGRpbyIsImVycm9yIiwibXNnIiwiY29kZSIsInN0YXR1cyIsInN0ZGVyciIsInN0ZG91dCIsImV4ZWNGaWxlU3luYyIsIm91dCIsIkpTT04iLCJwYXJzZSIsImVyciIsImlkZW50aWZpZXIiLCJjYWxsYmFja1VybCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFNYUE7ZUFBQUE7O1FBb0hKQztlQUFBQTs7UUE5Qk9DO2VBQUFBOztRQWNBQztlQUFBQTs7UUFwREFDO2VBQUFBOztRQTRCQUM7ZUFBQUE7O1FBbkJBQztlQUFBQTs7UUFZQUM7ZUFBQUE7OzttQ0EzRXdCO0FBRXhDLE1BQU1OLGtCQUFrQjtBQUN4QiwwRkFBMEYsR0FDMUYsTUFBTU8saUJBQWlCO0FBRWhCLE1BQU1SLHVCQUF1QlM7SUFDbkMsWUFBbUJDLE9BQWUsQ0FBRTtRQUNuQyxLQUFLLENBQUNBO1FBQ04sSUFBSSxDQUFDQyxJQUFJLEdBQUc7SUFDYjtBQUNEO0FBRUEsbUZBQW1GLEdBQ25GLFNBQVNDLFlBQVlDLElBQVk7SUFDaEMsT0FDQ0EsS0FBS0MsUUFBUSxDQUFDLHlCQUNkRCxLQUFLQyxRQUFRLENBQUMsYUFDZEQsS0FBS0MsUUFBUSxDQUFDO0FBRWhCO0FBRUEsZ0dBQWdHLEdBQ2hHLFNBQVNDLFNBQVNDLElBQWM7SUFDL0IsTUFBTUMsU0FBU0MsSUFBQUEsNEJBQVMsRUFBQyxTQUFTRixNQUFNO1FBQ3ZDRyxVQUFVO1FBQ1ZDLFNBQVNaO1FBQ1RhLE9BQU87UUFDUEMsT0FBTztJQUNSO0lBRUEsSUFBSUwsT0FBT00sS0FBSyxFQUFFO1FBQ2pCLHdEQUF3RDtRQUN4RCxNQUFNQyxNQUFNUCxPQUFPTSxLQUFLLENBQUNiLE9BQU87UUFDaEMsSUFBSUUsWUFBWVksUUFBUSxBQUFDUCxPQUFPTSxLQUFLLENBQTJCRSxJQUFJLEtBQUssYUFBYTtZQUNyRixNQUFNLElBQUl6QixlQUFld0I7UUFDMUI7UUFDQSxNQUFNUCxPQUFPTSxLQUFLO0lBQ25CO0lBRUEsSUFBSU4sT0FBT1MsTUFBTSxLQUFLLEdBQUc7UUFDeEIsTUFBTUMsU0FBU1YsT0FBT1UsTUFBTSxJQUFJO1FBQ2hDLElBQUlmLFlBQVllLFNBQVMsTUFBTSxJQUFJM0IsZUFBZTJCO1FBQ2xELE1BQU0sSUFBSWxCLE1BQU1rQixVQUFVLENBQUMsdUJBQXVCLEVBQUVWLE9BQU9TLE1BQU0sRUFBRTtJQUNwRTtJQUVBLE9BQU9ULE9BQU9XLE1BQU07QUFDckI7QUFPTyxTQUFTeEI7SUFDZixJQUFJO1FBQ0h5QixJQUFBQSwrQkFBWSxFQUFDLFNBQVM7WUFBQztTQUFZLEVBQUU7WUFBRVAsT0FBTztRQUFPO1FBQ3JELE9BQU87SUFDUixFQUFFLE9BQU07UUFDUCxPQUFPO0lBQ1I7QUFDRDtBQUVPLFNBQVNoQjtJQUNmLElBQUk7UUFDSCxNQUFNd0IsTUFBTUQsSUFBQUEsK0JBQVksRUFBQyxTQUFTO1lBQUM7WUFBVztZQUFRO1NBQVMsRUFBRTtZQUNoRVYsVUFBVTtZQUNWRyxPQUFPO1FBQ1I7UUFDQSxPQUFPUyxLQUFLQyxLQUFLLENBQUNGO0lBQ25CLEVBQUUsT0FBTTtRQUNQLE9BQU8sRUFBRTtJQUNWO0FBQ0Q7QUFFTyxTQUFTdkI7SUFDZixNQUFNVSxTQUFTQyxJQUFBQSw0QkFBUyxFQUFDLFNBQVM7UUFBQztRQUFTO1FBQVlqQjtLQUFnQixFQUFFO1FBQ3pFcUIsT0FBTztJQUNSO0lBQ0EsT0FBT0wsT0FBT1MsTUFBTSxLQUFLO0FBQzFCO0FBRU8sU0FBU3JCO0lBQ2YsSUFBSTtRQUNILE1BQU15QixNQUFNZixTQUFTO1lBQUM7WUFBUTtZQUFRO1lBQVU7U0FBYTtRQUM3RCxPQUFPZ0IsS0FBS0MsS0FBSyxDQUFDRjtJQUNuQixFQUFFLE9BQU9HLEtBQUs7UUFDYixJQUFJQSxlQUFlakMsZ0JBQWdCLE1BQU1pQztRQUN6QyxPQUFPLEVBQUU7SUFDVjtBQUNEO0FBRU8sU0FBUy9CLFVBQVVTLElBQVksRUFBRXVCLFVBQWtCO0lBQ3pELE1BQU1KLE1BQU1mLFNBQVM7UUFDcEI7UUFDQTtRQUNBO1FBQ0FKO1FBQ0E7UUFDQXVCO1FBQ0E7UUFDQTtLQUNBO0lBQ0QsT0FBT0gsS0FBS0MsS0FBSyxDQUFDRjtBQUNuQjtBQUVPLFNBQVMzQixhQUFhUSxJQUFZLEVBQUV3QixXQUFtQjtJQUM3RCxNQUFNTCxNQUFNZixTQUFTO1FBQ3BCO1FBQ0E7UUFDQTtRQUNBSjtRQUNBO1FBQ0E7UUFDQTtRQUNBd0I7UUFDQTtRQUNBO0tBQ0E7SUFDRCxPQUFPSixLQUFLQyxLQUFLLENBQUNGO0FBQ25CIn0=
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "auth0Feature", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return auth0Feature;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _promises = require("node:fs/promises");
|
|
12
|
+
const _nodepath = require("node:path");
|
|
13
|
+
const _index = require("../../domain/index.js");
|
|
14
|
+
const _auth0cli = /*#__PURE__*/ _interop_require_wildcard(require("./auth0-cli.js"));
|
|
15
|
+
const _models = require("./models.js");
|
|
16
|
+
const _prodconfigtemplate = require("./prod-config.template.js");
|
|
17
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
18
|
+
if (typeof WeakMap !== "function") return null;
|
|
19
|
+
var cacheBabelInterop = new WeakMap();
|
|
20
|
+
var cacheNodeInterop = new WeakMap();
|
|
21
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
22
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
23
|
+
})(nodeInterop);
|
|
24
|
+
}
|
|
25
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
26
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
27
|
+
return obj;
|
|
28
|
+
}
|
|
29
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
30
|
+
return {
|
|
31
|
+
default: obj
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
35
|
+
if (cache && cache.has(obj)) {
|
|
36
|
+
return cache.get(obj);
|
|
37
|
+
}
|
|
38
|
+
var newObj = {
|
|
39
|
+
__proto__: null
|
|
40
|
+
};
|
|
41
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
42
|
+
for(var key in obj){
|
|
43
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
44
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
45
|
+
if (desc && (desc.get || desc.set)) {
|
|
46
|
+
Object.defineProperty(newObj, key, desc);
|
|
47
|
+
} else {
|
|
48
|
+
newObj[key] = obj[key];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
newObj.default = obj;
|
|
53
|
+
if (cache) {
|
|
54
|
+
cache.set(obj, newObj);
|
|
55
|
+
}
|
|
56
|
+
return newObj;
|
|
57
|
+
}
|
|
58
|
+
const enabled = (ctx)=>ctx.opts.idp === "auth0";
|
|
59
|
+
/**
|
|
60
|
+
* Resolve phase: drive the auth0 CLI to authenticate the user and gather an
|
|
61
|
+
* issuer + audience pair. Stored under AUTH0_CONFIG_KEY for downstream
|
|
62
|
+
* features (render, postman integrate).
|
|
63
|
+
*
|
|
64
|
+
* Skipped under --yes (non-interactive).
|
|
65
|
+
*/ async function resolve(ctx) {
|
|
66
|
+
if (ctx.opts.yes) return ctx;
|
|
67
|
+
if (!_auth0cli.isInstalled()) {
|
|
68
|
+
console.error("\n The Auth0 CLI is required for automated setup.\n" + " Install: brew install auth0/auth0-cli/auth0\n" + " Or visit: https://github.com/auth0/auth0-cli\n");
|
|
69
|
+
process.exit(1);
|
|
70
|
+
}
|
|
71
|
+
// Ensure both the regular and Management API tokens are valid before prompting.
|
|
72
|
+
process.stdout.write("\n Checking Auth0 credentials...");
|
|
73
|
+
let tenants = _auth0cli.listTenants();
|
|
74
|
+
if (tenants.length === 0) {
|
|
75
|
+
process.stdout.write(" not logged in.\n");
|
|
76
|
+
console.log(" Logging in to Auth0 (your browser will open)...");
|
|
77
|
+
if (!_auth0cli.login()) {
|
|
78
|
+
console.error("\n Auth0 login failed.");
|
|
79
|
+
process.exit(1);
|
|
80
|
+
}
|
|
81
|
+
tenants = _auth0cli.listTenants();
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
_auth0cli.listApis(); // probes the Management API token
|
|
85
|
+
process.stdout.write(" ok.\n");
|
|
86
|
+
} catch (err) {
|
|
87
|
+
if (err instanceof _auth0cli.Auth0AuthError) {
|
|
88
|
+
process.stdout.write(" token expired.\n");
|
|
89
|
+
console.log(" Re-authenticating (your browser will open)...");
|
|
90
|
+
if (!_auth0cli.login()) {
|
|
91
|
+
console.error("\n Auth0 login failed.");
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const active = tenants.find((t)=>t.active) ?? tenants[0];
|
|
97
|
+
const issuerBaseUrl = `https://${active.name}`;
|
|
98
|
+
console.log(`\n ✓ Auth0 tenant: ${issuerBaseUrl}`);
|
|
99
|
+
process.stdout.write("\n Fetching Auth0 APIs...");
|
|
100
|
+
const userApis = _auth0cli.listApis().filter((a)=>!a.name.includes("Management API"));
|
|
101
|
+
process.stdout.write(` found ${userApis.length}.\n`);
|
|
102
|
+
const choices = [
|
|
103
|
+
{
|
|
104
|
+
label: `<new> https://api.${ctx.projectName}`,
|
|
105
|
+
existing: null
|
|
106
|
+
},
|
|
107
|
+
...userApis.map((a)=>({
|
|
108
|
+
label: `${a.name} — ${a.identifier}`,
|
|
109
|
+
existing: a.identifier
|
|
110
|
+
}))
|
|
111
|
+
];
|
|
112
|
+
const selected = await (0, _index.pick)("\n Select Auth0 API: ", choices, (c)=>c.label);
|
|
113
|
+
let audience;
|
|
114
|
+
if (!selected || selected.existing === null) {
|
|
115
|
+
const defaultId = `https://api.${ctx.projectName}`;
|
|
116
|
+
audience = await (0, _index.ask)(` API Identifier [${defaultId}]: `, defaultId);
|
|
117
|
+
console.log("\n Creating Auth0 API...");
|
|
118
|
+
audience = _auth0cli.createApi(`${ctx.projectName} API`, audience).identifier;
|
|
119
|
+
console.log(` ✓ API created: ${audience}`);
|
|
120
|
+
} else {
|
|
121
|
+
audience = selected.existing;
|
|
122
|
+
console.log(` ✓ Selected: ${audience}`);
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
...ctx,
|
|
126
|
+
models: ctx.models.set(_models.AUTH0_CONFIG_KEY, {
|
|
127
|
+
issuerBaseUrl,
|
|
128
|
+
audience
|
|
129
|
+
})
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Configure phase: decorate all scaffolded controllers with auth guards.
|
|
134
|
+
* Adds `@Authorize`, `@AllowAnonymous`, and the `IPrincipalProvider`
|
|
135
|
+
* constructor param so each controller can expose the current principal.
|
|
136
|
+
*/ async function configure(ctx) {
|
|
137
|
+
if (!enabled(ctx)) return ctx;
|
|
138
|
+
for (const controller of ctx.controllers){
|
|
139
|
+
const resource = controller.className.replace(/Controller$/, "");
|
|
140
|
+
controller.addImport("@decohere/cortex", "AllowAnonymous", "Authorize", "IPrincipalProviderToken").addTypeImport("@decohere/cortex", "IPrincipalProvider").addImport("@decohere/crucible/decorators", "inject").decorateClass(`@Authorize("read", "${resource}")`).decorateMethod("getAll", "@AllowAnonymous()").decorateMethod("remove", `@Authorize("delete", "${resource}")`).addConstructorParam({
|
|
141
|
+
paramDecorators: [
|
|
142
|
+
"@inject(IPrincipalProviderToken)"
|
|
143
|
+
],
|
|
144
|
+
name: "principalProvider",
|
|
145
|
+
typeName: "IPrincipalProvider",
|
|
146
|
+
isPrivate: true,
|
|
147
|
+
isReadonly: true
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
return ctx;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Render phase: append the auth section to config/config.prod.yaml. If no
|
|
154
|
+
* Auth0Config was gathered during resolve (e.g. --yes), env-var placeholders
|
|
155
|
+
* are written instead.
|
|
156
|
+
*/ async function render(ctx) {
|
|
157
|
+
const { targetDir } = ctx;
|
|
158
|
+
const auth0Config = ctx.models.get(_models.AUTH0_CONFIG_KEY);
|
|
159
|
+
// Append env-var placeholder auth block to the base config.yaml
|
|
160
|
+
const baseConfigPath = (0, _nodepath.join)(targetDir, "config", "config.yaml");
|
|
161
|
+
let baseExisting = "";
|
|
162
|
+
try {
|
|
163
|
+
baseExisting = await (0, _promises.readFile)(baseConfigPath, "utf8");
|
|
164
|
+
} catch {}
|
|
165
|
+
const baseStripped = baseExisting.replace(/^auth:[\s\S]*?(?=\n\S|\n*$)/m, "").trimEnd();
|
|
166
|
+
const baseFrag = (0, _prodconfigtemplate.auth0ConfigYaml)();
|
|
167
|
+
await (0, _promises.writeFile)(baseConfigPath, baseStripped ? `${baseStripped}\n${baseFrag}` : baseFrag);
|
|
168
|
+
// Append actual dev auth URLs to config.dev.yaml
|
|
169
|
+
const devConfigPath = (0, _nodepath.join)(targetDir, "config", "config.dev.yaml");
|
|
170
|
+
let devExisting = "";
|
|
171
|
+
try {
|
|
172
|
+
devExisting = await (0, _promises.readFile)(devConfigPath, "utf8");
|
|
173
|
+
} catch {}
|
|
174
|
+
const devStripped = devExisting.replace(/^auth:[\s\S]*?(?=\n\S|\n*$)/m, "").trimEnd();
|
|
175
|
+
const devFragment = (0, _prodconfigtemplate.auth0ConfigYaml)(auth0Config?.issuerBaseUrl, auth0Config?.audience);
|
|
176
|
+
await (0, _promises.writeFile)(devConfigPath, devStripped ? `${devStripped}\n\n${devFragment}` : devFragment);
|
|
177
|
+
return ctx;
|
|
178
|
+
}
|
|
179
|
+
const auth0Feature = {
|
|
180
|
+
name: "auth0",
|
|
181
|
+
enabled,
|
|
182
|
+
resolve,
|
|
183
|
+
configure,
|
|
184
|
+
render
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS92MS9mZWF0dXJlcy9hdXRoMC9mZWF0dXJlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlYWRGaWxlLCB3cml0ZUZpbGUgfSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGFzaywgdHlwZSBGZWF0dXJlLCBwaWNrLCB0eXBlIFNjYWZmb2xkQ29udGV4dCB9IGZyb20gXCIuLi8uLi9kb21haW4vaW5kZXguanNcIjtcbmltcG9ydCAqIGFzIGF1dGgwIGZyb20gXCIuL2F1dGgwLWNsaS5qc1wiO1xuaW1wb3J0IHsgQVVUSDBfQ09ORklHX0tFWSB9IGZyb20gXCIuL21vZGVscy5qc1wiO1xuaW1wb3J0IHsgYXV0aDBDb25maWdZYW1sIH0gZnJvbSBcIi4vcHJvZC1jb25maWcudGVtcGxhdGUuanNcIjtcblxuY29uc3QgZW5hYmxlZCA9IChjdHg6IFNjYWZmb2xkQ29udGV4dCkgPT4gY3R4Lm9wdHMuaWRwID09PSBcImF1dGgwXCI7XG5cbi8qKlxuICogUmVzb2x2ZSBwaGFzZTogZHJpdmUgdGhlIGF1dGgwIENMSSB0byBhdXRoZW50aWNhdGUgdGhlIHVzZXIgYW5kIGdhdGhlciBhblxuICogaXNzdWVyICsgYXVkaWVuY2UgcGFpci4gU3RvcmVkIHVuZGVyIEFVVEgwX0NPTkZJR19LRVkgZm9yIGRvd25zdHJlYW1cbiAqIGZlYXR1cmVzIChyZW5kZXIsIHBvc3RtYW4gaW50ZWdyYXRlKS5cbiAqXG4gKiBTa2lwcGVkIHVuZGVyIC0teWVzIChub24taW50ZXJhY3RpdmUpLlxuICovXG5hc3luYyBmdW5jdGlvbiByZXNvbHZlKGN0eDogU2NhZmZvbGRDb250ZXh0KTogUHJvbWlzZTxTY2FmZm9sZENvbnRleHQ+IHtcblx0aWYgKGN0eC5vcHRzLnllcykgcmV0dXJuIGN0eDtcblxuXHRpZiAoIWF1dGgwLmlzSW5zdGFsbGVkKCkpIHtcblx0XHRjb25zb2xlLmVycm9yKFxuXHRcdFx0XCJcXG4gIFRoZSBBdXRoMCBDTEkgaXMgcmVxdWlyZWQgZm9yIGF1dG9tYXRlZCBzZXR1cC5cXG5cIiArXG5cdFx0XHRcdFwiICBJbnN0YWxsOiBicmV3IGluc3RhbGwgYXV0aDAvYXV0aDAtY2xpL2F1dGgwXFxuXCIgK1xuXHRcdFx0XHRcIiAgT3IgdmlzaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9hdXRoMC9hdXRoMC1jbGlcXG5cIixcblx0XHQpO1xuXHRcdHByb2Nlc3MuZXhpdCgxKTtcblx0fVxuXG5cdC8vIEVuc3VyZSBib3RoIHRoZSByZWd1bGFyIGFuZCBNYW5hZ2VtZW50IEFQSSB0b2tlbnMgYXJlIHZhbGlkIGJlZm9yZSBwcm9tcHRpbmcuXG5cdHByb2Nlc3Muc3Rkb3V0LndyaXRlKFwiXFxuICBDaGVja2luZyBBdXRoMCBjcmVkZW50aWFscy4uLlwiKTtcblx0bGV0IHRlbmFudHMgPSBhdXRoMC5saXN0VGVuYW50cygpO1xuXHRpZiAodGVuYW50cy5sZW5ndGggPT09IDApIHtcblx0XHRwcm9jZXNzLnN0ZG91dC53cml0ZShcIiBub3QgbG9nZ2VkIGluLlxcblwiKTtcblx0XHRjb25zb2xlLmxvZyhcIiAgTG9nZ2luZyBpbiB0byBBdXRoMCAoeW91ciBicm93c2VyIHdpbGwgb3BlbikuLi5cIik7XG5cdFx0aWYgKCFhdXRoMC5sb2dpbigpKSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKFwiXFxuICBBdXRoMCBsb2dpbiBmYWlsZWQuXCIpO1xuXHRcdFx0cHJvY2Vzcy5leGl0KDEpO1xuXHRcdH1cblx0XHR0ZW5hbnRzID0gYXV0aDAubGlzdFRlbmFudHMoKTtcblx0fVxuXG5cdHRyeSB7XG5cdFx0YXV0aDAubGlzdEFwaXMoKTsgLy8gcHJvYmVzIHRoZSBNYW5hZ2VtZW50IEFQSSB0b2tlblxuXHRcdHByb2Nlc3Muc3Rkb3V0LndyaXRlKFwiIG9rLlxcblwiKTtcblx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0aWYgKGVyciBpbnN0YW5jZW9mIGF1dGgwLkF1dGgwQXV0aEVycm9yKSB7XG5cdFx0XHRwcm9jZXNzLnN0ZG91dC53cml0ZShcIiB0b2tlbiBleHBpcmVkLlxcblwiKTtcblx0XHRcdGNvbnNvbGUubG9nKFwiICBSZS1hdXRoZW50aWNhdGluZyAoeW91ciBicm93c2VyIHdpbGwgb3BlbikuLi5cIik7XG5cdFx0XHRpZiAoIWF1dGgwLmxvZ2luKCkpIHtcblx0XHRcdFx0Y29uc29sZS5lcnJvcihcIlxcbiAgQXV0aDAgbG9naW4gZmFpbGVkLlwiKTtcblx0XHRcdFx0cHJvY2Vzcy5leGl0KDEpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGNvbnN0IGFjdGl2ZSA9IHRlbmFudHMuZmluZCgodCkgPT4gdC5hY3RpdmUpID8/IHRlbmFudHNbMF07XG5cdGNvbnN0IGlzc3VlckJhc2VVcmwgPSBgaHR0cHM6Ly8ke2FjdGl2ZS5uYW1lfWA7XG5cdGNvbnNvbGUubG9nKGBcXG4gIOKckyBBdXRoMCB0ZW5hbnQ6ICR7aXNzdWVyQmFzZVVybH1gKTtcblxuXHRwcm9jZXNzLnN0ZG91dC53cml0ZShcIlxcbiAgRmV0Y2hpbmcgQXV0aDAgQVBJcy4uLlwiKTtcblx0Y29uc3QgdXNlckFwaXMgPSBhdXRoMC5saXN0QXBpcygpLmZpbHRlcigoYSkgPT4gIWEubmFtZS5pbmNsdWRlcyhcIk1hbmFnZW1lbnQgQVBJXCIpKTtcblx0cHJvY2Vzcy5zdGRvdXQud3JpdGUoYCBmb3VuZCAke3VzZXJBcGlzLmxlbmd0aH0uXFxuYCk7XG5cblx0dHlwZSBBcGlDaG9pY2UgPSB7IGxhYmVsOiBzdHJpbmc7IGV4aXN0aW5nOiBzdHJpbmcgfCBudWxsIH07XG5cdGNvbnN0IGNob2ljZXM6IEFwaUNob2ljZVtdID0gW1xuXHRcdHsgbGFiZWw6IGA8bmV3PiBodHRwczovL2FwaS4ke2N0eC5wcm9qZWN0TmFtZX1gLCBleGlzdGluZzogbnVsbCB9LFxuXHRcdC4uLnVzZXJBcGlzLm1hcCgoYSkgPT4gKHsgbGFiZWw6IGAke2EubmFtZX0g4oCUICR7YS5pZGVudGlmaWVyfWAsIGV4aXN0aW5nOiBhLmlkZW50aWZpZXIgfSkpLFxuXHRdO1xuXG5cdGNvbnN0IHNlbGVjdGVkID0gYXdhaXQgcGljayhcIlxcbiAgU2VsZWN0IEF1dGgwIEFQSTogXCIsIGNob2ljZXMsIChjKSA9PiBjLmxhYmVsKTtcblxuXHRsZXQgYXVkaWVuY2U6IHN0cmluZztcblx0aWYgKCFzZWxlY3RlZCB8fCBzZWxlY3RlZC5leGlzdGluZyA9PT0gbnVsbCkge1xuXHRcdGNvbnN0IGRlZmF1bHRJZCA9IGBodHRwczovL2FwaS4ke2N0eC5wcm9qZWN0TmFtZX1gO1xuXHRcdGF1ZGllbmNlID0gYXdhaXQgYXNrKGAgIEFQSSBJZGVudGlmaWVyIFske2RlZmF1bHRJZH1dOiBgLCBkZWZhdWx0SWQpO1xuXHRcdGNvbnNvbGUubG9nKFwiXFxuICBDcmVhdGluZyBBdXRoMCBBUEkuLi5cIik7XG5cdFx0YXVkaWVuY2UgPSBhdXRoMC5jcmVhdGVBcGkoYCR7Y3R4LnByb2plY3ROYW1lfSBBUElgLCBhdWRpZW5jZSkuaWRlbnRpZmllcjtcblx0XHRjb25zb2xlLmxvZyhgICDinJMgQVBJIGNyZWF0ZWQ6ICR7YXVkaWVuY2V9YCk7XG5cdH0gZWxzZSB7XG5cdFx0YXVkaWVuY2UgPSBzZWxlY3RlZC5leGlzdGluZztcblx0XHRjb25zb2xlLmxvZyhgICDinJMgU2VsZWN0ZWQ6ICR7YXVkaWVuY2V9YCk7XG5cdH1cblxuXHRyZXR1cm4ge1xuXHRcdC4uLmN0eCxcblx0XHRtb2RlbHM6IGN0eC5tb2RlbHMuc2V0KEFVVEgwX0NPTkZJR19LRVksIHsgaXNzdWVyQmFzZVVybCwgYXVkaWVuY2UgfSksXG5cdH07XG59XG5cbi8qKlxuICogQ29uZmlndXJlIHBoYXNlOiBkZWNvcmF0ZSBhbGwgc2NhZmZvbGRlZCBjb250cm9sbGVycyB3aXRoIGF1dGggZ3VhcmRzLlxuICogQWRkcyBgQEF1dGhvcml6ZWAsIGBAQWxsb3dBbm9ueW1vdXNgLCBhbmQgdGhlIGBJUHJpbmNpcGFsUHJvdmlkZXJgXG4gKiBjb25zdHJ1Y3RvciBwYXJhbSBzbyBlYWNoIGNvbnRyb2xsZXIgY2FuIGV4cG9zZSB0aGUgY3VycmVudCBwcmluY2lwYWwuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGNvbmZpZ3VyZShjdHg6IFNjYWZmb2xkQ29udGV4dCk6IFByb21pc2U8U2NhZmZvbGRDb250ZXh0PiB7XG5cdGlmICghZW5hYmxlZChjdHgpKSByZXR1cm4gY3R4O1xuXHRmb3IgKGNvbnN0IGNvbnRyb2xsZXIgb2YgY3R4LmNvbnRyb2xsZXJzKSB7XG5cdFx0Y29uc3QgcmVzb3VyY2UgPSBjb250cm9sbGVyLmNsYXNzTmFtZS5yZXBsYWNlKC9Db250cm9sbGVyJC8sIFwiXCIpO1xuXHRcdGNvbnRyb2xsZXJcblx0XHRcdC5hZGRJbXBvcnQoXCJAZGVjb2hlcmUvY29ydGV4XCIsIFwiQWxsb3dBbm9ueW1vdXNcIiwgXCJBdXRob3JpemVcIiwgXCJJUHJpbmNpcGFsUHJvdmlkZXJUb2tlblwiKVxuXHRcdFx0LmFkZFR5cGVJbXBvcnQoXCJAZGVjb2hlcmUvY29ydGV4XCIsIFwiSVByaW5jaXBhbFByb3ZpZGVyXCIpXG5cdFx0XHQuYWRkSW1wb3J0KFwiQGRlY29oZXJlL2NydWNpYmxlL2RlY29yYXRvcnNcIiwgXCJpbmplY3RcIilcblx0XHRcdC5kZWNvcmF0ZUNsYXNzKGBAQXV0aG9yaXplKFwicmVhZFwiLCBcIiR7cmVzb3VyY2V9XCIpYClcblx0XHRcdC5kZWNvcmF0ZU1ldGhvZChcImdldEFsbFwiLCBcIkBBbGxvd0Fub255bW91cygpXCIpXG5cdFx0XHQuZGVjb3JhdGVNZXRob2QoXCJyZW1vdmVcIiwgYEBBdXRob3JpemUoXCJkZWxldGVcIiwgXCIke3Jlc291cmNlfVwiKWApXG5cdFx0XHQuYWRkQ29uc3RydWN0b3JQYXJhbSh7XG5cdFx0XHRcdHBhcmFtRGVjb3JhdG9yczogW1wiQGluamVjdChJUHJpbmNpcGFsUHJvdmlkZXJUb2tlbilcIl0sXG5cdFx0XHRcdG5hbWU6IFwicHJpbmNpcGFsUHJvdmlkZXJcIixcblx0XHRcdFx0dHlwZU5hbWU6IFwiSVByaW5jaXBhbFByb3ZpZGVyXCIsXG5cdFx0XHRcdGlzUHJpdmF0ZTogdHJ1ZSxcblx0XHRcdFx0aXNSZWFkb25seTogdHJ1ZSxcblx0XHRcdH0pO1xuXHR9XG5cdHJldHVybiBjdHg7XG59XG5cbi8qKlxuICogUmVuZGVyIHBoYXNlOiBhcHBlbmQgdGhlIGF1dGggc2VjdGlvbiB0byBjb25maWcvY29uZmlnLnByb2QueWFtbC4gSWYgbm9cbiAqIEF1dGgwQ29uZmlnIHdhcyBnYXRoZXJlZCBkdXJpbmcgcmVzb2x2ZSAoZS5nLiAtLXllcyksIGVudi12YXIgcGxhY2Vob2xkZXJzXG4gKiBhcmUgd3JpdHRlbiBpbnN0ZWFkLlxuICovXG5hc3luYyBmdW5jdGlvbiByZW5kZXIoY3R4OiBTY2FmZm9sZENvbnRleHQpOiBQcm9taXNlPFNjYWZmb2xkQ29udGV4dD4ge1xuXHRjb25zdCB7IHRhcmdldERpciB9ID0gY3R4O1xuXHRjb25zdCBhdXRoMENvbmZpZyA9IGN0eC5tb2RlbHMuZ2V0KEFVVEgwX0NPTkZJR19LRVkpO1xuXG5cdC8vIEFwcGVuZCBlbnYtdmFyIHBsYWNlaG9sZGVyIGF1dGggYmxvY2sgdG8gdGhlIGJhc2UgY29uZmlnLnlhbWxcblx0Y29uc3QgYmFzZUNvbmZpZ1BhdGggPSBqb2luKHRhcmdldERpciwgXCJjb25maWdcIiwgXCJjb25maWcueWFtbFwiKTtcblx0bGV0IGJhc2VFeGlzdGluZyA9IFwiXCI7XG5cdHRyeSB7XG5cdFx0YmFzZUV4aXN0aW5nID0gYXdhaXQgcmVhZEZpbGUoYmFzZUNvbmZpZ1BhdGgsIFwidXRmOFwiKTtcblx0fSBjYXRjaCB7fVxuXHRjb25zdCBiYXNlU3RyaXBwZWQgPSBiYXNlRXhpc3RpbmcucmVwbGFjZSgvXmF1dGg6W1xcc1xcU10qPyg/PVxcblxcU3xcXG4qJCkvbSwgXCJcIikudHJpbUVuZCgpO1xuXHRjb25zdCBiYXNlRnJhZyA9IGF1dGgwQ29uZmlnWWFtbCgpO1xuXHRhd2FpdCB3cml0ZUZpbGUoYmFzZUNvbmZpZ1BhdGgsIGJhc2VTdHJpcHBlZCA/IGAke2Jhc2VTdHJpcHBlZH1cXG4ke2Jhc2VGcmFnfWAgOiBiYXNlRnJhZyk7XG5cblx0Ly8gQXBwZW5kIGFjdHVhbCBkZXYgYXV0aCBVUkxzIHRvIGNvbmZpZy5kZXYueWFtbFxuXHRjb25zdCBkZXZDb25maWdQYXRoID0gam9pbih0YXJnZXREaXIsIFwiY29uZmlnXCIsIFwiY29uZmlnLmRldi55YW1sXCIpO1xuXHRsZXQgZGV2RXhpc3RpbmcgPSBcIlwiO1xuXHR0cnkge1xuXHRcdGRldkV4aXN0aW5nID0gYXdhaXQgcmVhZEZpbGUoZGV2Q29uZmlnUGF0aCwgXCJ1dGY4XCIpO1xuXHR9IGNhdGNoIHt9XG5cdGNvbnN0IGRldlN0cmlwcGVkID0gZGV2RXhpc3RpbmcucmVwbGFjZSgvXmF1dGg6W1xcc1xcU10qPyg/PVxcblxcU3xcXG4qJCkvbSwgXCJcIikudHJpbUVuZCgpO1xuXHRjb25zdCBkZXZGcmFnbWVudCA9IGF1dGgwQ29uZmlnWWFtbChhdXRoMENvbmZpZz8uaXNzdWVyQmFzZVVybCwgYXV0aDBDb25maWc/LmF1ZGllbmNlKTtcblx0YXdhaXQgd3JpdGVGaWxlKFxuXHRcdGRldkNvbmZpZ1BhdGgsXG5cdFx0ZGV2U3RyaXBwZWQgPyBgJHtkZXZTdHJpcHBlZH1cXG5cXG4ke2RldkZyYWdtZW50fWAgOiBkZXZGcmFnbWVudCxcblx0KTtcblxuXHRyZXR1cm4gY3R4O1xufVxuXG5leHBvcnQgY29uc3QgYXV0aDBGZWF0dXJlOiBGZWF0dXJlID0ge1xuXHRuYW1lOiBcImF1dGgwXCIsXG5cdGVuYWJsZWQsXG5cdHJlc29sdmUsXG5cdGNvbmZpZ3VyZSxcblx0cmVuZGVyLFxufTtcbiJdLCJuYW1lcyI6WyJhdXRoMEZlYXR1cmUiLCJlbmFibGVkIiwiY3R4Iiwib3B0cyIsImlkcCIsInJlc29sdmUiLCJ5ZXMiLCJhdXRoMCIsImlzSW5zdGFsbGVkIiwiY29uc29sZSIsImVycm9yIiwicHJvY2VzcyIsImV4aXQiLCJzdGRvdXQiLCJ3cml0ZSIsInRlbmFudHMiLCJsaXN0VGVuYW50cyIsImxlbmd0aCIsImxvZyIsImxvZ2luIiwibGlzdEFwaXMiLCJlcnIiLCJBdXRoMEF1dGhFcnJvciIsImFjdGl2ZSIsImZpbmQiLCJ0IiwiaXNzdWVyQmFzZVVybCIsIm5hbWUiLCJ1c2VyQXBpcyIsImZpbHRlciIsImEiLCJpbmNsdWRlcyIsImNob2ljZXMiLCJsYWJlbCIsInByb2plY3ROYW1lIiwiZXhpc3RpbmciLCJtYXAiLCJpZGVudGlmaWVyIiwic2VsZWN0ZWQiLCJwaWNrIiwiYyIsImF1ZGllbmNlIiwiZGVmYXVsdElkIiwiYXNrIiwiY3JlYXRlQXBpIiwibW9kZWxzIiwic2V0IiwiQVVUSDBfQ09ORklHX0tFWSIsImNvbmZpZ3VyZSIsImNvbnRyb2xsZXIiLCJjb250cm9sbGVycyIsInJlc291cmNlIiwiY2xhc3NOYW1lIiwicmVwbGFjZSIsImFkZEltcG9ydCIsImFkZFR5cGVJbXBvcnQiLCJkZWNvcmF0ZUNsYXNzIiwiZGVjb3JhdGVNZXRob2QiLCJhZGRDb25zdHJ1Y3RvclBhcmFtIiwicGFyYW1EZWNvcmF0b3JzIiwidHlwZU5hbWUiLCJpc1ByaXZhdGUiLCJpc1JlYWRvbmx5IiwicmVuZGVyIiwidGFyZ2V0RGlyIiwiYXV0aDBDb25maWciLCJnZXQiLCJiYXNlQ29uZmlnUGF0aCIsImpvaW4iLCJiYXNlRXhpc3RpbmciLCJyZWFkRmlsZSIsImJhc2VTdHJpcHBlZCIsInRyaW1FbmQiLCJiYXNlRnJhZyIsImF1dGgwQ29uZmlnWWFtbCIsIndyaXRlRmlsZSIsImRldkNvbmZpZ1BhdGgiLCJkZXZFeGlzdGluZyIsImRldlN0cmlwcGVkIiwiZGV2RnJhZ21lbnQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBdUphQTs7O2VBQUFBOzs7MEJBdkp1QjswQkFDZjt1QkFDeUM7a0VBQ3ZDO3dCQUNVO29DQUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFaEMsTUFBTUMsVUFBVSxDQUFDQyxNQUF5QkEsSUFBSUMsSUFBSSxDQUFDQyxHQUFHLEtBQUs7QUFFM0Q7Ozs7OztDQU1DLEdBQ0QsZUFBZUMsUUFBUUgsR0FBb0I7SUFDMUMsSUFBSUEsSUFBSUMsSUFBSSxDQUFDRyxHQUFHLEVBQUUsT0FBT0o7SUFFekIsSUFBSSxDQUFDSyxVQUFNQyxXQUFXLElBQUk7UUFDekJDLFFBQVFDLEtBQUssQ0FDWix5REFDQyxvREFDQTtRQUVGQyxRQUFRQyxJQUFJLENBQUM7SUFDZDtJQUVBLGdGQUFnRjtJQUNoRkQsUUFBUUUsTUFBTSxDQUFDQyxLQUFLLENBQUM7SUFDckIsSUFBSUMsVUFBVVIsVUFBTVMsV0FBVztJQUMvQixJQUFJRCxRQUFRRSxNQUFNLEtBQUssR0FBRztRQUN6Qk4sUUFBUUUsTUFBTSxDQUFDQyxLQUFLLENBQUM7UUFDckJMLFFBQVFTLEdBQUcsQ0FBQztRQUNaLElBQUksQ0FBQ1gsVUFBTVksS0FBSyxJQUFJO1lBQ25CVixRQUFRQyxLQUFLLENBQUM7WUFDZEMsUUFBUUMsSUFBSSxDQUFDO1FBQ2Q7UUFDQUcsVUFBVVIsVUFBTVMsV0FBVztJQUM1QjtJQUVBLElBQUk7UUFDSFQsVUFBTWEsUUFBUSxJQUFJLGtDQUFrQztRQUNwRFQsUUFBUUUsTUFBTSxDQUFDQyxLQUFLLENBQUM7SUFDdEIsRUFBRSxPQUFPTyxLQUFLO1FBQ2IsSUFBSUEsZUFBZWQsVUFBTWUsY0FBYyxFQUFFO1lBQ3hDWCxRQUFRRSxNQUFNLENBQUNDLEtBQUssQ0FBQztZQUNyQkwsUUFBUVMsR0FBRyxDQUFDO1lBQ1osSUFBSSxDQUFDWCxVQUFNWSxLQUFLLElBQUk7Z0JBQ25CVixRQUFRQyxLQUFLLENBQUM7Z0JBQ2RDLFFBQVFDLElBQUksQ0FBQztZQUNkO1FBQ0Q7SUFDRDtJQUVBLE1BQU1XLFNBQVNSLFFBQVFTLElBQUksQ0FBQyxDQUFDQyxJQUFNQSxFQUFFRixNQUFNLEtBQUtSLE9BQU8sQ0FBQyxFQUFFO0lBQzFELE1BQU1XLGdCQUFnQixDQUFDLFFBQVEsRUFBRUgsT0FBT0ksSUFBSSxFQUFFO0lBQzlDbEIsUUFBUVMsR0FBRyxDQUFDLENBQUMsb0JBQW9CLEVBQUVRLGVBQWU7SUFFbERmLFFBQVFFLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDO0lBQ3JCLE1BQU1jLFdBQVdyQixVQUFNYSxRQUFRLEdBQUdTLE1BQU0sQ0FBQyxDQUFDQyxJQUFNLENBQUNBLEVBQUVILElBQUksQ0FBQ0ksUUFBUSxDQUFDO0lBQ2pFcEIsUUFBUUUsTUFBTSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUVjLFNBQVNYLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFHbkQsTUFBTWUsVUFBdUI7UUFDNUI7WUFBRUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFL0IsSUFBSWdDLFdBQVcsRUFBRTtZQUFFQyxVQUFVO1FBQUs7V0FDN0RQLFNBQVNRLEdBQUcsQ0FBQyxDQUFDTixJQUFPLENBQUE7Z0JBQUVHLE9BQU8sR0FBR0gsRUFBRUgsSUFBSSxDQUFDLEdBQUcsRUFBRUcsRUFBRU8sVUFBVSxFQUFFO2dCQUFFRixVQUFVTCxFQUFFTyxVQUFVO1lBQUMsQ0FBQTtLQUN2RjtJQUVELE1BQU1DLFdBQVcsTUFBTUMsSUFBQUEsV0FBSSxFQUFDLDBCQUEwQlAsU0FBUyxDQUFDUSxJQUFNQSxFQUFFUCxLQUFLO0lBRTdFLElBQUlRO0lBQ0osSUFBSSxDQUFDSCxZQUFZQSxTQUFTSCxRQUFRLEtBQUssTUFBTTtRQUM1QyxNQUFNTyxZQUFZLENBQUMsWUFBWSxFQUFFeEMsSUFBSWdDLFdBQVcsRUFBRTtRQUNsRE8sV0FBVyxNQUFNRSxJQUFBQSxVQUFHLEVBQUMsQ0FBQyxrQkFBa0IsRUFBRUQsVUFBVSxHQUFHLENBQUMsRUFBRUE7UUFDMURqQyxRQUFRUyxHQUFHLENBQUM7UUFDWnVCLFdBQVdsQyxVQUFNcUMsU0FBUyxDQUFDLEdBQUcxQyxJQUFJZ0MsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFTyxVQUFVSixVQUFVO1FBQ3pFNUIsUUFBUVMsR0FBRyxDQUFDLENBQUMsaUJBQWlCLEVBQUV1QixVQUFVO0lBQzNDLE9BQU87UUFDTkEsV0FBV0gsU0FBU0gsUUFBUTtRQUM1QjFCLFFBQVFTLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRXVCLFVBQVU7SUFDeEM7SUFFQSxPQUFPO1FBQ04sR0FBR3ZDLEdBQUc7UUFDTjJDLFFBQVEzQyxJQUFJMkMsTUFBTSxDQUFDQyxHQUFHLENBQUNDLHdCQUFnQixFQUFFO1lBQUVyQjtZQUFlZTtRQUFTO0lBQ3BFO0FBQ0Q7QUFFQTs7OztDQUlDLEdBQ0QsZUFBZU8sVUFBVTlDLEdBQW9CO0lBQzVDLElBQUksQ0FBQ0QsUUFBUUMsTUFBTSxPQUFPQTtJQUMxQixLQUFLLE1BQU0rQyxjQUFjL0MsSUFBSWdELFdBQVcsQ0FBRTtRQUN6QyxNQUFNQyxXQUFXRixXQUFXRyxTQUFTLENBQUNDLE9BQU8sQ0FBQyxlQUFlO1FBQzdESixXQUNFSyxTQUFTLENBQUMsb0JBQW9CLGtCQUFrQixhQUFhLDJCQUM3REMsYUFBYSxDQUFDLG9CQUFvQixzQkFDbENELFNBQVMsQ0FBQyxpQ0FBaUMsVUFDM0NFLGFBQWEsQ0FBQyxDQUFDLG9CQUFvQixFQUFFTCxTQUFTLEVBQUUsQ0FBQyxFQUNqRE0sY0FBYyxDQUFDLFVBQVUscUJBQ3pCQSxjQUFjLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFTixTQUFTLEVBQUUsQ0FBQyxFQUM5RE8sbUJBQW1CLENBQUM7WUFDcEJDLGlCQUFpQjtnQkFBQzthQUFtQztZQUNyRGhDLE1BQU07WUFDTmlDLFVBQVU7WUFDVkMsV0FBVztZQUNYQyxZQUFZO1FBQ2I7SUFDRjtJQUNBLE9BQU81RDtBQUNSO0FBRUE7Ozs7Q0FJQyxHQUNELGVBQWU2RCxPQUFPN0QsR0FBb0I7SUFDekMsTUFBTSxFQUFFOEQsU0FBUyxFQUFFLEdBQUc5RDtJQUN0QixNQUFNK0QsY0FBYy9ELElBQUkyQyxNQUFNLENBQUNxQixHQUFHLENBQUNuQix3QkFBZ0I7SUFFbkQsZ0VBQWdFO0lBQ2hFLE1BQU1vQixpQkFBaUJDLElBQUFBLGNBQUksRUFBQ0osV0FBVyxVQUFVO0lBQ2pELElBQUlLLGVBQWU7SUFDbkIsSUFBSTtRQUNIQSxlQUFlLE1BQU1DLElBQUFBLGtCQUFRLEVBQUNILGdCQUFnQjtJQUMvQyxFQUFFLE9BQU0sQ0FBQztJQUNULE1BQU1JLGVBQWVGLGFBQWFoQixPQUFPLENBQUMsZ0NBQWdDLElBQUltQixPQUFPO0lBQ3JGLE1BQU1DLFdBQVdDLElBQUFBLG1DQUFlO0lBQ2hDLE1BQU1DLElBQUFBLG1CQUFTLEVBQUNSLGdCQUFnQkksZUFBZSxHQUFHQSxhQUFhLEVBQUUsRUFBRUUsVUFBVSxHQUFHQTtJQUVoRixpREFBaUQ7SUFDakQsTUFBTUcsZ0JBQWdCUixJQUFBQSxjQUFJLEVBQUNKLFdBQVcsVUFBVTtJQUNoRCxJQUFJYSxjQUFjO0lBQ2xCLElBQUk7UUFDSEEsY0FBYyxNQUFNUCxJQUFBQSxrQkFBUSxFQUFDTSxlQUFlO0lBQzdDLEVBQUUsT0FBTSxDQUFDO0lBQ1QsTUFBTUUsY0FBY0QsWUFBWXhCLE9BQU8sQ0FBQyxnQ0FBZ0MsSUFBSW1CLE9BQU87SUFDbkYsTUFBTU8sY0FBY0wsSUFBQUEsbUNBQWUsRUFBQ1QsYUFBYXZDLGVBQWV1QyxhQUFheEI7SUFDN0UsTUFBTWtDLElBQUFBLG1CQUFTLEVBQ2RDLGVBQ0FFLGNBQWMsR0FBR0EsWUFBWSxJQUFJLEVBQUVDLGFBQWEsR0FBR0E7SUFHcEQsT0FBTzdFO0FBQ1I7QUFFTyxNQUFNRixlQUF3QjtJQUNwQzJCLE1BQU07SUFDTjFCO0lBQ0FJO0lBQ0EyQztJQUNBZTtBQUNEIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "AUTH0_CONFIG_KEY", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return AUTH0_CONFIG_KEY;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _index = require("../../domain/index.js");
|
|
12
|
+
const AUTH0_CONFIG_KEY = (0, _index.modelKey)("auth0-config");
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2NyZWF0ZS92MS9mZWF0dXJlcy9hdXRoMC9tb2RlbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbW9kZWxLZXkgfSBmcm9tIFwiLi4vLi4vZG9tYWluL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aDBDb25maWcge1xuXHRpc3N1ZXJCYXNlVXJsOiBzdHJpbmc7XG5cdGF1ZGllbmNlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBBVVRIMF9DT05GSUdfS0VZID0gbW9kZWxLZXk8QXV0aDBDb25maWc+KFwiYXV0aDAtY29uZmlnXCIpO1xuIl0sIm5hbWVzIjpbIkFVVEgwX0NPTkZJR19LRVkiLCJtb2RlbEtleSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFPYUE7OztlQUFBQTs7O3VCQVBZO0FBT2xCLE1BQU1BLG1CQUFtQkMsSUFBQUEsZUFBUSxFQUFjIn0=
|