projen 0.36.7 → 0.37.2
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/.jsii +16741 -16584
- package/API.md +7147 -7069
- package/README.md +9 -9
- package/lib/awscdk/auto-discover.js +1 -1
- package/lib/{awscdk-app-ts.d.ts → awscdk/awscdk-app-ts.d.ts} +4 -3
- package/lib/awscdk/awscdk-app-ts.js +189 -0
- package/lib/{awscdk-construct.d.ts → awscdk/awscdk-construct.d.ts} +2 -2
- package/lib/awscdk/awscdk-construct.js +121 -0
- package/lib/awscdk/cdk-config.js +1 -1
- package/lib/awscdk/cdk-tasks.d.ts +1 -1
- package/lib/awscdk/cdk-tasks.js +2 -2
- package/lib/awscdk/index.d.ts +5 -3
- package/lib/awscdk/index.js +6 -4
- package/lib/awscdk/integration-test.d.ts +1 -1
- package/lib/awscdk/integration-test.js +2 -2
- package/lib/awscdk/java-app.js +1 -1
- package/lib/awscdk/lambda-function.d.ts +1 -1
- package/lib/awscdk/lambda-function.js +6 -7
- package/lib/{tasks/builtin-example.task.d.ts → builtin-example.task.d.ts} +0 -0
- package/lib/builtin-example.task.js +4 -0
- package/lib/{construct-lib.d.ts → cdk/construct-lib.d.ts} +0 -0
- package/lib/cdk/construct-lib.js +30 -0
- package/lib/cdk/index.d.ts +3 -0
- package/lib/{json → cdk}/index.js +4 -2
- package/lib/cdk/jsii-docgen.d.ts +12 -0
- package/lib/cdk/jsii-docgen.js +29 -0
- package/lib/{jsii-project.d.ts → cdk/jsii-project.d.ts} +4 -3
- package/lib/cdk/jsii-project.js +188 -0
- package/lib/{cdk8s-app-ts.d.ts → cdk8s/cdk8s-app-ts.d.ts} +1 -1
- package/lib/cdk8s/cdk8s-app-ts.js +134 -0
- package/lib/{cdk8s-construct.d.ts → cdk8s/cdk8s-construct.d.ts} +1 -1
- package/lib/{cdk8s-construct.js → cdk8s/cdk8s-construct.js} +4 -4
- package/lib/cdk8s/index.d.ts +2 -0
- package/lib/{deps → cdk8s}/index.js +3 -3
- package/lib/{cdktf-construct.d.ts → cdktf/cdktf-construct.d.ts} +1 -1
- package/lib/{cdktf-construct.js → cdktf/cdktf-construct.js} +4 -4
- package/lib/cdktf/index.d.ts +1 -0
- package/lib/{git → cdktf}/index.js +2 -2
- package/lib/cli/index.js +5 -5
- package/lib/cli/synth.d.ts +1 -1
- package/lib/cli/synth.js +1 -1
- package/lib/cli/tasks.d.ts +1 -1
- package/lib/cli/tasks.js +1 -1
- package/lib/component.js +1 -1
- package/lib/{deps/dependencies.d.ts → dependencies.d.ts} +101 -3
- package/lib/dependencies.js +206 -0
- package/lib/dev-env.d.ts +1 -1
- package/lib/dev-env.js +2 -2
- package/lib/docker-compose.js +2 -2
- package/lib/file.js +1 -1
- package/lib/{git/gitattributes.d.ts → gitattributes.d.ts} +2 -2
- package/lib/gitattributes.js +62 -0
- package/lib/github/auto-approve.js +1 -1
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/dependabot.js +1 -1
- package/lib/github/github-project.d.ts +193 -0
- package/lib/github/github-project.js +70 -0
- package/lib/github/github.js +1 -1
- package/lib/github/index.d.ts +1 -0
- package/lib/github/index.js +2 -1
- package/lib/github/mergify.js +1 -1
- package/lib/github/pr-template.js +1 -1
- package/lib/github/pull-request-lint.js +1 -1
- package/lib/github/stale.js +1 -1
- package/lib/github/task-workflow.d.ts +1 -1
- package/lib/github/task-workflow.js +2 -2
- package/lib/github/workflows.js +1 -1
- package/lib/gitpod.d.ts +1 -1
- package/lib/gitpod.js +2 -2
- package/lib/ignore-file.js +1 -1
- package/lib/index.d.ts +12 -20
- package/lib/index.js +13 -21
- package/lib/ini.js +1 -1
- package/lib/java/java-project.d.ts +2 -2
- package/lib/java/java-project.js +4 -4
- package/lib/java/junit.js +1 -1
- package/lib/java/maven-compile.js +1 -1
- package/lib/java/maven-packaging.js +1 -1
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.d.ts +1 -1
- package/lib/java/pom.js +12 -12
- package/lib/java/projenrc.js +4 -4
- package/lib/javascript/bundler.d.ts +1 -1
- package/lib/javascript/bundler.js +4 -4
- package/lib/{eslint.d.ts → javascript/eslint.d.ts} +3 -3
- package/lib/javascript/eslint.js +261 -0
- package/lib/javascript/index.d.ts +8 -2
- package/lib/javascript/index.js +9 -3
- package/lib/{jest.d.ts → javascript/jest.d.ts} +1 -1
- package/lib/{jest.js → javascript/jest.js} +3 -3
- package/lib/{node-package.d.ts → javascript/node-package.d.ts} +2 -2
- package/lib/javascript/node-package.js +683 -0
- package/lib/{node-project.d.ts → javascript/node-project.d.ts} +9 -8
- package/lib/javascript/node-project.js +541 -0
- package/lib/javascript/npm-config.d.ts +1 -1
- package/lib/javascript/npm-config.js +2 -2
- package/lib/javascript/projenrc.js +3 -3
- package/lib/{typescript-config.d.ts → javascript/typescript-config.d.ts} +2 -2
- package/lib/{typescript-config.js → javascript/typescript-config.js} +3 -3
- package/lib/{upgrade-dependencies.d.ts → javascript/upgrade-dependencies.d.ts} +3 -3
- package/lib/javascript/upgrade-dependencies.js +328 -0
- package/lib/json.js +1 -1
- package/lib/license.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/makefile.js +1 -1
- package/lib/object-file.js +1 -1
- package/lib/project-build.d.ts +1 -1
- package/lib/project-build.js +2 -2
- package/lib/project.d.ts +5 -198
- package/lib/project.js +14 -78
- package/lib/projects.js +1 -1
- package/lib/{json/projenrc.d.ts → projenrc-json.d.ts} +2 -2
- package/lib/{json/projenrc.js → projenrc-json.js} +4 -4
- package/lib/python/pip.d.ts +1 -1
- package/lib/python/pip.js +9 -9
- package/lib/python/poetry.d.ts +1 -1
- package/lib/python/poetry.js +10 -10
- package/lib/python/projenrc.js +4 -4
- package/lib/python/pytest.js +1 -1
- package/lib/python/python-deps.d.ts +2 -2
- package/lib/python/python-deps.js +1 -1
- package/lib/python/python-packaging.d.ts +1 -1
- package/lib/python/python-packaging.js +1 -1
- package/lib/python/python-project.d.ts +1 -1
- package/lib/python/python-project.js +4 -3
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.js +4 -4
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.d.ts +1 -1
- package/lib/python/setuptools.js +2 -2
- package/lib/python/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/publisher.d.ts +9 -1
- package/lib/release/publisher.js +7 -4
- package/lib/release/release-trigger.d.ts +19 -0
- package/lib/release/release-trigger.js +7 -2
- package/lib/release/release.d.ts +2 -2
- package/lib/release/release.js +2 -2
- package/lib/{json/run-projenrc.task.d.ts → run-projenrc-json.task.d.ts} +0 -0
- package/lib/run-projenrc-json.task.js +31 -0
- package/lib/sample-file.js +2 -2
- package/lib/semver.js +1 -1
- package/lib/source-code.js +1 -1
- package/lib/{tasks/model.d.ts → task-model.d.ts} +0 -0
- package/lib/task-model.js +3 -0
- package/lib/{tasks/runtime.d.ts → task-runtime.d.ts} +1 -1
- package/lib/task-runtime.js +272 -0
- package/lib/{tasks/task.d.ts → task.d.ts} +1 -1
- package/lib/task.js +195 -0
- package/lib/{tasks/tasks.d.ts → tasks.d.ts} +2 -2
- package/lib/tasks.js +129 -0
- package/lib/textfile.js +1 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/index.js +3 -1
- package/lib/typescript/projenrc.js +1 -1
- package/lib/typescript/typescript-typedoc.d.ts +12 -0
- package/lib/typescript/typescript-typedoc.js +28 -0
- package/lib/{typescript.d.ts → typescript/typescript.d.ts} +3 -5
- package/lib/typescript/typescript.js +281 -0
- package/lib/util/synth.d.ts +2 -2
- package/lib/util/synth.js +3 -3
- package/lib/version.d.ts +1 -1
- package/lib/version.js +2 -2
- package/lib/vscode/devcontainer.d.ts +1 -1
- package/lib/vscode/devcontainer.js +2 -2
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/next.d.ts +1 -1
- package/lib/web/next.js +8 -9
- package/lib/web/postcss.d.ts +1 -1
- package/lib/web/postcss.js +2 -2
- package/lib/web/react.d.ts +1 -1
- package/lib/web/react.js +9 -10
- package/lib/web/tailwind.d.ts +1 -1
- package/lib/web/tailwind.js +2 -2
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/package.json +8 -6
- package/lib/awscdk-app-ts.js +0 -188
- package/lib/awscdk-construct.js +0 -121
- package/lib/cdk8s-app-ts.js +0 -134
- package/lib/construct-lib.js +0 -30
- package/lib/deps/dependencies.js +0 -192
- package/lib/deps/index.d.ts +0 -2
- package/lib/deps/model.d.ts +0 -99
- package/lib/deps/model.js +0 -18
- package/lib/eslint.js +0 -261
- package/lib/git/gitattributes.js +0 -62
- package/lib/git/index.d.ts +0 -1
- package/lib/jsii-docgen.d.ts +0 -10
- package/lib/jsii-docgen.js +0 -23
- package/lib/jsii-project.js +0 -187
- package/lib/json/index.d.ts +0 -1
- package/lib/json/run-projenrc.task.js +0 -31
- package/lib/node-package.js +0 -683
- package/lib/node-project.js +0 -540
- package/lib/tasks/builtin-example.task.js +0 -4
- package/lib/tasks/index.d.ts +0 -4
- package/lib/tasks/index.js +0 -17
- package/lib/tasks/model.js +0 -3
- package/lib/tasks/runtime.js +0 -272
- package/lib/tasks/task.js +0 -195
- package/lib/tasks/tasks.js +0 -129
- package/lib/typescript-typedoc.d.ts +0 -7
- package/lib/typescript-typedoc.js +0 -19
- package/lib/typescript.js +0 -284
- package/lib/upgrade-dependencies.js +0 -328
package/lib/git/gitattributes.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.GitAttributesFile = void 0;
|
|
5
|
-
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const file_1 = require("../file");
|
|
7
|
-
/**
|
|
8
|
-
* (experimental) Assign attributes to file names in a git repository.
|
|
9
|
-
*
|
|
10
|
-
* @see https://git-scm.com/docs/gitattributes
|
|
11
|
-
* @experimental
|
|
12
|
-
*/
|
|
13
|
-
class GitAttributesFile extends file_1.FileBase {
|
|
14
|
-
/**
|
|
15
|
-
* @experimental
|
|
16
|
-
*/
|
|
17
|
-
constructor(project) {
|
|
18
|
-
super(project, '.gitattributes', {
|
|
19
|
-
editGitignore: false,
|
|
20
|
-
});
|
|
21
|
-
this.attributes = new Map();
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* (experimental) Maps a set of attributes to a set of files.
|
|
25
|
-
*
|
|
26
|
-
* @param glob Glob pattern to match files in the repo.
|
|
27
|
-
* @param attributes Attributes to assign to these files.
|
|
28
|
-
* @experimental
|
|
29
|
-
*/
|
|
30
|
-
addAttributes(glob, ...attributes) {
|
|
31
|
-
if (!this.attributes.has(glob)) {
|
|
32
|
-
this.attributes.set(glob, new Set());
|
|
33
|
-
}
|
|
34
|
-
const set = this.attributes.get(glob);
|
|
35
|
-
for (const attribute of attributes) {
|
|
36
|
-
set.add(attribute);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* (experimental) Implemented by derived classes and returns the contents of the file to emit.
|
|
41
|
-
*
|
|
42
|
-
* @experimental
|
|
43
|
-
*/
|
|
44
|
-
synthesizeContent(_) {
|
|
45
|
-
// We can assume the file map is never empty.
|
|
46
|
-
const entries = Array.from(this.attributes.entries())
|
|
47
|
-
.sort(([l], [r]) => l.localeCompare(r));
|
|
48
|
-
if (entries.length === 0) {
|
|
49
|
-
return undefined;
|
|
50
|
-
}
|
|
51
|
-
const maxLen = Math.max(...entries.map(([glob]) => glob.length));
|
|
52
|
-
return [
|
|
53
|
-
`# ${file_1.FileBase.PROJEN_MARKER}`,
|
|
54
|
-
'',
|
|
55
|
-
...entries.map(([name, attributes]) => `${name.padEnd(maxLen, ' ')}\t${Array.from(attributes).join(' ')}`),
|
|
56
|
-
].join('\n');
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
exports.GitAttributesFile = GitAttributesFile;
|
|
60
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
61
|
-
GitAttributesFile[_a] = { fqn: "projen.git.GitAttributesFile", version: "0.36.7" };
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0YXR0cmlidXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9naXQvZ2l0YXR0cmlidXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtDQUE4Qzs7Ozs7OztBQUk5QyxNQUFhLGlCQUFrQixTQUFRLGVBQVE7Ozs7SUFHN0MsWUFBbUIsT0FBZ0I7UUFDakMsS0FBSyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRTtZQUMvQixhQUFhLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUM7UUFMWSxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7SUFNN0QsQ0FBQzs7Ozs7Ozs7SUFHTSxhQUFhLENBQUMsSUFBWSxFQUFFLEdBQUcsVUFBb0I7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDdEM7UUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUUsQ0FBQztRQUN2QyxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRTtZQUNsQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7Ozs7O0lBRVMsaUJBQWlCLENBQUMsQ0FBWTtRQUN0Qyw2Q0FBNkM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2xELElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDeEIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU87WUFDTCxLQUFLLGVBQVEsQ0FBQyxhQUFhLEVBQUU7WUFDN0IsRUFBRTtZQUNGLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7U0FDM0csQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDOztBQW5DSCw4Q0FvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVzb2x2ZXIsIEZpbGVCYXNlIH0gZnJvbSAnLi4vZmlsZSc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vcHJvamVjdCc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgR2l0QXR0cmlidXRlc0ZpbGUgZXh0ZW5kcyBGaWxlQmFzZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXR0cmlidXRlcyA9IG5ldyBNYXA8c3RyaW5nLCBTZXQ8c3RyaW5nPj4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCkge1xuICAgIHN1cGVyKHByb2plY3QsICcuZ2l0YXR0cmlidXRlcycsIHtcbiAgICAgIGVkaXRHaXRpZ25vcmU6IGZhbHNlLFxuICAgIH0pO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWRkQXR0cmlidXRlcyhnbG9iOiBzdHJpbmcsIC4uLmF0dHJpYnV0ZXM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKCF0aGlzLmF0dHJpYnV0ZXMuaGFzKGdsb2IpKSB7XG4gICAgICB0aGlzLmF0dHJpYnV0ZXMuc2V0KGdsb2IsIG5ldyBTZXQoKSk7XG4gICAgfVxuICAgIGNvbnN0IHNldCA9IHRoaXMuYXR0cmlidXRlcy5nZXQoZ2xvYikhO1xuICAgIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIGF0dHJpYnV0ZXMpIHtcbiAgICAgIHNldC5hZGQoYXR0cmlidXRlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQoXzogSVJlc29sdmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBXZSBjYW4gYXNzdW1lIHRoZSBmaWxlIG1hcCBpcyBuZXZlciBlbXB0eS5cbiAgICBjb25zdCBlbnRyaWVzID0gQXJyYXkuZnJvbSh0aGlzLmF0dHJpYnV0ZXMuZW50cmllcygpKVxuICAgICAgLnNvcnQoKFtsXSwgW3JdKSA9PiBsLmxvY2FsZUNvbXBhcmUocikpO1xuXG4gICAgaWYgKGVudHJpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IG1heExlbiA9IE1hdGgubWF4KC4uLmVudHJpZXMubWFwKChbZ2xvYl0pID0+IGdsb2IubGVuZ3RoKSk7XG4gICAgcmV0dXJuIFtcbiAgICAgIGAjICR7RmlsZUJhc2UuUFJPSkVOX01BUktFUn1gLFxuICAgICAgJycsXG4gICAgICAuLi5lbnRyaWVzLm1hcCgoW25hbWUsIGF0dHJpYnV0ZXNdKSA9PiBgJHtuYW1lLnBhZEVuZChtYXhMZW4sICcgJyl9XFx0JHtBcnJheS5mcm9tKGF0dHJpYnV0ZXMpLmpvaW4oJyAnKX1gKSxcbiAgICBdLmpvaW4oJ1xcbicpO1xuICB9XG59XG4iXX0=
|
package/lib/git/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './gitattributes';
|
package/lib/jsii-docgen.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { JsiiProject } from './jsii-project';
|
|
2
|
-
/**
|
|
3
|
-
* Creates an API.md file based on the jsii manifest:
|
|
4
|
-
* - Adds a `docgen` script to package.json
|
|
5
|
-
* - Runs `jsii-docgen` after compilation
|
|
6
|
-
* - Enforces that API.md is checked in
|
|
7
|
-
*/
|
|
8
|
-
export declare class JsiiDocgen {
|
|
9
|
-
constructor(project: JsiiProject);
|
|
10
|
-
}
|
package/lib/jsii-docgen.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JsiiDocgen = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Creates an API.md file based on the jsii manifest:
|
|
6
|
-
* - Adds a `docgen` script to package.json
|
|
7
|
-
* - Runs `jsii-docgen` after compilation
|
|
8
|
-
* - Enforces that API.md is checked in
|
|
9
|
-
*/
|
|
10
|
-
class JsiiDocgen {
|
|
11
|
-
constructor(project) {
|
|
12
|
-
project.addDevDeps('jsii-docgen');
|
|
13
|
-
const docgen = project.addTask('docgen', {
|
|
14
|
-
description: 'Generate API.md from .jsii manifest',
|
|
15
|
-
exec: 'jsii-docgen',
|
|
16
|
-
});
|
|
17
|
-
// spawn docgen after compilation (requires the .jsii manifest).
|
|
18
|
-
project.postCompileTask.spawn(docgen);
|
|
19
|
-
project.gitignore.include('/API.md');
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.JsiiDocgen = JsiiDocgen;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1kb2NnZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvanNpaS1kb2NnZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUE7Ozs7O0dBS0c7QUFDSCxNQUFhLFVBQVU7SUFDckIsWUFBWSxPQUFvQjtRQUM5QixPQUFPLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWxDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3ZDLFdBQVcsRUFBRSxxQ0FBcUM7WUFDbEQsSUFBSSxFQUFFLGFBQWE7U0FDcEIsQ0FBQyxDQUFDO1FBRUgsZ0VBQWdFO1FBQ2hFLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQWJELGdDQWFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSnNpaVByb2plY3QgfSBmcm9tICcuL2pzaWktcHJvamVjdCc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBBUEkubWQgZmlsZSBiYXNlZCBvbiB0aGUganNpaSBtYW5pZmVzdDpcbiAqIC0gQWRkcyBhIGBkb2NnZW5gIHNjcmlwdCB0byBwYWNrYWdlLmpzb25cbiAqIC0gUnVucyBganNpaS1kb2NnZW5gIGFmdGVyIGNvbXBpbGF0aW9uXG4gKiAtIEVuZm9yY2VzIHRoYXQgQVBJLm1kIGlzIGNoZWNrZWQgaW5cbiAqL1xuZXhwb3J0IGNsYXNzIEpzaWlEb2NnZW4ge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBKc2lpUHJvamVjdCkge1xuICAgIHByb2plY3QuYWRkRGV2RGVwcygnanNpaS1kb2NnZW4nKTtcblxuICAgIGNvbnN0IGRvY2dlbiA9IHByb2plY3QuYWRkVGFzaygnZG9jZ2VuJywge1xuICAgICAgZGVzY3JpcHRpb246ICdHZW5lcmF0ZSBBUEkubWQgZnJvbSAuanNpaSBtYW5pZmVzdCcsXG4gICAgICBleGVjOiAnanNpaS1kb2NnZW4nLFxuICAgIH0pO1xuXG4gICAgLy8gc3Bhd24gZG9jZ2VuIGFmdGVyIGNvbXBpbGF0aW9uIChyZXF1aXJlcyB0aGUgLmpzaWkgbWFuaWZlc3QpLlxuICAgIHByb2plY3QucG9zdENvbXBpbGVUYXNrLnNwYXduKGRvY2dlbik7XG4gICAgcHJvamVjdC5naXRpZ25vcmUuaW5jbHVkZSgnL0FQSS5tZCcpO1xuICB9XG59Il19
|
package/lib/jsii-project.js
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.JsiiProject = exports.Stability = void 0;
|
|
5
|
-
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const semver = require("semver");
|
|
7
|
-
const jsii_docgen_1 = require("./jsii-docgen");
|
|
8
|
-
const typescript_1 = require("./typescript");
|
|
9
|
-
const SUPERCHAIN_IMAGE = 'jsii/superchain:1-buster-slim';
|
|
10
|
-
const SUPERCHAIN_NODE_VERSIONS = [12, 14, 16]; // supported jsii/superchain image tags: `1-buster-slim-nodeNN`
|
|
11
|
-
const EMAIL_REGEX = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/;
|
|
12
|
-
const URL_REGEX = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-_]*)?\??(?:[\-\+=&;%@\.\w_]*)#?(?:[\.\!\/\\\w]*))?)/;
|
|
13
|
-
/**
|
|
14
|
-
* @experimental
|
|
15
|
-
*/
|
|
16
|
-
var Stability;
|
|
17
|
-
(function (Stability) {
|
|
18
|
-
Stability["EXPERIMENTAL"] = "experimental";
|
|
19
|
-
Stability["STABLE"] = "stable";
|
|
20
|
-
Stability["DEPRECATED"] = "deprecated";
|
|
21
|
-
})(Stability = exports.Stability || (exports.Stability = {}));
|
|
22
|
-
/**
|
|
23
|
-
* (experimental) Multi-language jsii library project.
|
|
24
|
-
*
|
|
25
|
-
* @experimental
|
|
26
|
-
*/
|
|
27
|
-
class JsiiProject extends typescript_1.TypeScriptProject {
|
|
28
|
-
/**
|
|
29
|
-
* @experimental
|
|
30
|
-
*/
|
|
31
|
-
constructor(options) {
|
|
32
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
33
|
-
const { authorEmail, authorUrl } = parseAuthorAddress(options);
|
|
34
|
-
super({
|
|
35
|
-
repository: options.repositoryUrl,
|
|
36
|
-
authorName: options.author,
|
|
37
|
-
authorEmail,
|
|
38
|
-
authorUrl,
|
|
39
|
-
...options,
|
|
40
|
-
workflowContainerImage: (_b = options.workflowContainerImage) !== null && _b !== void 0 ? _b : determineSuperchainImage(options.minNodeVersion),
|
|
41
|
-
// this is needed temporarily because our release workflows use the 'gh'
|
|
42
|
-
// cli and its not yet available in jsii/superchain:node14
|
|
43
|
-
releaseWorkflowSetupSteps: options.releaseWorkflowSetupSteps,
|
|
44
|
-
releaseToNpm: false,
|
|
45
|
-
disableTsconfig: true,
|
|
46
|
-
docgen: false,
|
|
47
|
-
});
|
|
48
|
-
const srcdir = this.srcdir;
|
|
49
|
-
const libdir = this.libdir;
|
|
50
|
-
this.addFields({ types: `${libdir}/index.d.ts` });
|
|
51
|
-
// this is an unhelpful warning
|
|
52
|
-
const jsiiFlags = [
|
|
53
|
-
'--silence-warnings=reserved-word',
|
|
54
|
-
'--no-fix-peer-dependencies',
|
|
55
|
-
].join(' ');
|
|
56
|
-
const compatIgnore = (_c = options.compatIgnore) !== null && _c !== void 0 ? _c : '.compatignore';
|
|
57
|
-
this.addFields({ stability: (_d = options.stability) !== null && _d !== void 0 ? _d : Stability.STABLE });
|
|
58
|
-
if (options.stability === Stability.DEPRECATED) {
|
|
59
|
-
this.addFields({ deprecated: true });
|
|
60
|
-
}
|
|
61
|
-
const compatTask = this.addTask('compat', {
|
|
62
|
-
description: 'Perform API compatibility check against latest version',
|
|
63
|
-
exec: `jsii-diff npm:$(node -p "require(\'./package.json\').name") -k --ignore-file ${compatIgnore} || (echo "\nUNEXPECTED BREAKING CHANGES: add keys such as \'removed:constructs.Node.of\' to ${compatIgnore} to skip.\n" && exit 1)`,
|
|
64
|
-
});
|
|
65
|
-
const compat = (_e = options.compat) !== null && _e !== void 0 ? _e : false;
|
|
66
|
-
if (compat) {
|
|
67
|
-
this.compileTask.spawn(compatTask);
|
|
68
|
-
}
|
|
69
|
-
this.compileTask.reset(`jsii ${jsiiFlags}`);
|
|
70
|
-
this.watchTask.reset(`jsii -w ${jsiiFlags}`);
|
|
71
|
-
(_f = this.packageTask) === null || _f === void 0 ? void 0 : _f.reset('jsii-pacmak');
|
|
72
|
-
const targets = {};
|
|
73
|
-
const jsii = {
|
|
74
|
-
outdir: 'dist',
|
|
75
|
-
targets,
|
|
76
|
-
tsc: {
|
|
77
|
-
outDir: libdir,
|
|
78
|
-
rootDir: srcdir,
|
|
79
|
-
},
|
|
80
|
-
};
|
|
81
|
-
if (options.excludeTypescript) {
|
|
82
|
-
jsii.excludeTypescript = options.excludeTypescript;
|
|
83
|
-
}
|
|
84
|
-
this.addFields({ jsii });
|
|
85
|
-
if (options.releaseToNpm != false) {
|
|
86
|
-
(_g = this.publisher) === null || _g === void 0 ? void 0 : _g.publishToNpm({
|
|
87
|
-
distTag: this.package.npmDistTag,
|
|
88
|
-
registry: this.package.npmRegistry,
|
|
89
|
-
npmTokenSecret: this.package.npmTokenSecret,
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
// we cannot call an option `java` because the java code generated by jsii
|
|
93
|
-
// does not compile due to a conflict between this option name and the `java`
|
|
94
|
-
// package (e.g. when `java.util.Objects` is referenced).
|
|
95
|
-
if ('java' in options) {
|
|
96
|
-
throw new Error('the "java" option is now called "publishToMaven"');
|
|
97
|
-
}
|
|
98
|
-
if (options.publishToMaven) {
|
|
99
|
-
targets.java = {
|
|
100
|
-
package: options.publishToMaven.javaPackage,
|
|
101
|
-
maven: {
|
|
102
|
-
groupId: options.publishToMaven.mavenGroupId,
|
|
103
|
-
artifactId: options.publishToMaven.mavenArtifactId,
|
|
104
|
-
},
|
|
105
|
-
};
|
|
106
|
-
(_h = this.publisher) === null || _h === void 0 ? void 0 : _h.publishToMaven(options.publishToMaven);
|
|
107
|
-
}
|
|
108
|
-
const pypi = (_j = options.publishToPypi) !== null && _j !== void 0 ? _j : options.python;
|
|
109
|
-
if (pypi) {
|
|
110
|
-
targets.python = {
|
|
111
|
-
distName: pypi.distName,
|
|
112
|
-
module: pypi.module,
|
|
113
|
-
};
|
|
114
|
-
(_k = this.publisher) === null || _k === void 0 ? void 0 : _k.publishToPyPi(pypi);
|
|
115
|
-
}
|
|
116
|
-
const nuget = (_l = options.publishToNuget) !== null && _l !== void 0 ? _l : options.dotnet;
|
|
117
|
-
if (nuget) {
|
|
118
|
-
targets.dotnet = {
|
|
119
|
-
namespace: nuget.dotNetNamespace,
|
|
120
|
-
packageId: nuget.packageId,
|
|
121
|
-
};
|
|
122
|
-
(_m = this.publisher) === null || _m === void 0 ? void 0 : _m.publishToNuget(nuget);
|
|
123
|
-
}
|
|
124
|
-
const golang = options.publishToGo;
|
|
125
|
-
if (golang) {
|
|
126
|
-
targets.go = {
|
|
127
|
-
moduleName: golang.moduleName,
|
|
128
|
-
};
|
|
129
|
-
(_o = this.publisher) === null || _o === void 0 ? void 0 : _o.publishToGo(golang);
|
|
130
|
-
}
|
|
131
|
-
this.addDevDeps('jsii', 'jsii-diff', 'jsii-pacmak');
|
|
132
|
-
this.gitignore.exclude('.jsii', 'tsconfig.json');
|
|
133
|
-
(_p = this.npmignore) === null || _p === void 0 ? void 0 : _p.include('.jsii');
|
|
134
|
-
if ((_q = options.docgen) !== null && _q !== void 0 ? _q : true) {
|
|
135
|
-
new jsii_docgen_1.JsiiDocgen(this);
|
|
136
|
-
}
|
|
137
|
-
// jsii updates .npmignore, so we make it writable
|
|
138
|
-
if (this.npmignore) {
|
|
139
|
-
this.npmignore.readonly = false;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
exports.JsiiProject = JsiiProject;
|
|
144
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
145
|
-
JsiiProject[_a] = { fqn: "projen.JsiiProject", version: "0.36.7" };
|
|
146
|
-
function parseAuthorAddress(options) {
|
|
147
|
-
let authorEmail = options.authorEmail;
|
|
148
|
-
let authorUrl = options.authorUrl;
|
|
149
|
-
if (options.authorAddress) {
|
|
150
|
-
if (options.authorEmail && options.authorEmail !== options.authorAddress) {
|
|
151
|
-
throw new Error('authorEmail is deprecated and cannot be used in conjunction with authorAddress');
|
|
152
|
-
}
|
|
153
|
-
if (options.authorUrl && options.authorUrl !== options.authorAddress) {
|
|
154
|
-
throw new Error('authorUrl is deprecated and cannot be used in conjunction with authorAddress.');
|
|
155
|
-
}
|
|
156
|
-
if (EMAIL_REGEX.test(options.authorAddress)) {
|
|
157
|
-
authorEmail = options.authorAddress;
|
|
158
|
-
}
|
|
159
|
-
else if (URL_REGEX.test(options.authorAddress)) {
|
|
160
|
-
authorUrl = options.authorAddress;
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
throw new Error(`authorAddress must be either an email address or a URL: ${options.authorAddress}`);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
return { authorEmail, authorUrl };
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Determines the jsii/superchain image to use based on the minimum node
|
|
170
|
-
* version.
|
|
171
|
-
*
|
|
172
|
-
* @param minNodeVersion The minimum node version of the project. If not
|
|
173
|
-
* specified, v14.17.4 is used.
|
|
174
|
-
*/
|
|
175
|
-
function determineSuperchainImage(minNodeVersion) {
|
|
176
|
-
// the default image (`jsii/superchain:1-buster-slim`) will include the
|
|
177
|
-
// minimum supported node version of JSII (as of this writing it is 12.x).
|
|
178
|
-
if (!minNodeVersion) {
|
|
179
|
-
return SUPERCHAIN_IMAGE;
|
|
180
|
-
}
|
|
181
|
-
const major = semver.major(minNodeVersion);
|
|
182
|
-
if (!SUPERCHAIN_NODE_VERSIONS.includes(major)) {
|
|
183
|
-
throw new Error(`No jsii/superchain image available for node ${major}.x. Supported node versions: ${SUPERCHAIN_NODE_VERSIONS.map(m => `${m}.x`).join(',')}`);
|
|
184
|
-
}
|
|
185
|
-
return `${SUPERCHAIN_IMAGE}-node${major}`;
|
|
186
|
-
}
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2pzaWktcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUVqQywrQ0FBMkM7QUFFM0MsNkNBQTJFO0FBRTNFLE1BQU0sZ0JBQWdCLEdBQUcsK0JBQStCLENBQUM7QUFDekQsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQywrREFBK0Q7QUFFOUcsTUFBTSxXQUFXLEdBQUcsNGFBQTRhLENBQUM7QUFDamMsTUFBTSxTQUFTLEdBQUcsc0xBQXNMLENBQUM7Ozs7QUEyQ3pNLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQiwwQ0FBNkIsQ0FBQTtJQUM3Qiw4QkFBaUIsQ0FBQTtJQUNqQixzQ0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSlcsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFJcEI7Ozs7OztBQTBCRCxNQUFhLFdBQVksU0FBUSw4QkFBaUI7Ozs7SUFHaEQsWUFBWSxPQUEyQjs7UUFDckMsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxLQUFLLENBQUM7WUFDSixVQUFVLEVBQUUsT0FBTyxDQUFDLGFBQWE7WUFDakMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQzFCLFdBQVc7WUFDWCxTQUFTO1lBRVQsR0FBRyxPQUFPO1lBRVYsc0JBQXNCLFFBQUUsT0FBTyxDQUFDLHNCQUFzQixtQ0FBSSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBRTFHLHdFQUF3RTtZQUN4RSwwREFBMEQ7WUFDMUQseUJBQXlCLEVBQUUsT0FBTyxDQUFDLHlCQUF5QjtZQUM1RCxZQUFZLEVBQUUsS0FBSztZQUNuQixlQUFlLEVBQUUsSUFBSTtZQUNyQixNQUFNLEVBQUUsS0FB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QVMsRUFBRSxDQUFDO0FBQ3BDLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLHdCQUF3QixDQUFDLGNBQXVCO0lBQ3ZELHVFQUF1RTtJQUN2RSwwRUFBMEU7SUFDMUUsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUNuQixPQUFPLGdCQUFnQixDQUFDO0tBQ3pCO0lBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUUzQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzdDLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLEtBQUssZ0NBQWdDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzlKO0lBRUQsT0FBTyxHQUFHLGdCQUFnQixRQUFRLEtBQUssRUFBRSxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSAnc2VtdmVyJztcbmltcG9ydCB7IEVzbGludCB9IGZyb20gJy4vZXNsaW50JztcbmltcG9ydCB7IEpzaWlEb2NnZW4gfSBmcm9tICcuL2pzaWktZG9jZ2VuJztcbmltcG9ydCB7IEdvUHVibGlzaE9wdGlvbnMsIE1hdmVuUHVibGlzaE9wdGlvbnMsIFB5UGlQdWJsaXNoT3B0aW9ucywgTnVnZXRQdWJsaXNoT3B0aW9ucyB9IGZyb20gJy4vcmVsZWFzZSc7XG5pbXBvcnQgeyBUeXBlU2NyaXB0UHJvamVjdCwgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zIH0gZnJvbSAnLi90eXBlc2NyaXB0JztcblxuY29uc3QgU1VQRVJDSEFJTl9JTUFHRSA9ICdqc2lpL3N1cGVyY2hhaW46MS1idXN0ZXItc2xpbSc7XG5jb25zdCBTVVBFUkNIQUlOX05PREVfVkVSU0lPTlMgPSBbMTIsIDE0LCAxNl07IC8vIHN1cHBvcnRlZCBqc2lpL3N1cGVyY2hhaW4gaW1hZ2UgdGFnczogYDEtYnVzdGVyLXNsaW0tbm9kZU5OYFxuXG5jb25zdCBFTUFJTF9SRUdFWCA9IC8oPzpbYS16MC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKD86XFwuW2EtejAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKykqfFwiKD86W1xceDAxLVxceDA4XFx4MGJcXHgwY1xceDBlLVxceDFmXFx4MjFcXHgyMy1cXHg1YlxceDVkLVxceDdmXXxcXFxcW1xceDAxLVxceDA5XFx4MGJcXHgwY1xceDBlLVxceDdmXSkqXCIpQCg/Oig/OlthLXowLTldKD86W2EtejAtOS1dKlthLXowLTldKT9cXC4pK1thLXowLTldKD86W2EtejAtOS1dKlthLXowLTldKT98XFxbKD86KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/KVxcLil7M30oPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT98W2EtejAtOS1dKlthLXowLTldOig/OltcXHgwMS1cXHgwOFxceDBiXFx4MGNcXHgwZS1cXHgxZlxceDIxLVxceDVhXFx4NTMtXFx4N2ZdfFxcXFxbXFx4MDEtXFx4MDlcXHgwYlxceDBjXFx4MGUtXFx4N2ZdKSspXFxdKS87XG5jb25zdCBVUkxfUkVHRVggPSAvKCgoW0EtWmEtel17Myw5fTooPzpcXC9cXC8pPykoPzpbXFwtOzomPVxcK1xcJCxcXHddK0ApP1tBLVphLXowLTlcXC5cXC1dK3woPzp3d3dcXC58W1xcLTs6Jj1cXCtcXCQsXFx3XStAKVtBLVphLXowLTlcXC5cXC1dKykoKD86XFwvW1xcK34lXFwvXFwuXFx3XFwtX10qKT9cXD8/KD86W1xcLVxcKz0mOyVAXFwuXFx3X10qKSM/KD86W1xcLlxcIVxcL1xcXFxcXHddKikpPykvO1xuXG5leHBvcnQgaW50ZXJmYWNlIEpzaWlQcm9qZWN0T3B0aW9ucyBleHRlbmRzIFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSByb290ZGlyPzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSByZXBvc2l0b3J5VXJsOiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGF1dGhvcjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGF1dGhvckFkZHJlc3M6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb01hdmVuPzogSnNpaUphdmFUYXJnZXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb1B5cGk/OiBKc2lpUHl0aG9uVGFyZ2V0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcHVibGlzaFRvR28/OiBKc2lpR29UYXJnZXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBweXRob24/OiBKc2lpUHl0aG9uVGFyZ2V0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcHVibGlzaFRvTnVnZXQ/OiBKc2lpRG90TmV0VGFyZ2V0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGRvdG5ldD86IEpzaWlEb3ROZXRUYXJnZXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNvbXBhdD86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNvbXBhdElnbm9yZT86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZXhjbHVkZVR5cGVzY3JpcHQ/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGVudW0gU3RhYmlsaXR5IHtcbiAgRVhQRVJJTUVOVEFMID0gJ2V4cGVyaW1lbnRhbCcsXG4gIFNUQUJMRSA9ICdzdGFibGUnLFxuICBERVBSRUNBVEVEID0gJ2RlcHJlY2F0ZWQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaUphdmFUYXJnZXQgZXh0ZW5kcyBNYXZlblB1Ymxpc2hPcHRpb25zIHtcbiAgcmVhZG9ubHkgamF2YVBhY2thZ2U6IHN0cmluZztcbiAgcmVhZG9ubHkgbWF2ZW5Hcm91cElkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1hdmVuQXJ0aWZhY3RJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpzaWlQeXRob25UYXJnZXQgZXh0ZW5kcyBQeVBpUHVibGlzaE9wdGlvbnMge1xuICByZWFkb25seSBkaXN0TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBtb2R1bGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKc2lpRG90TmV0VGFyZ2V0IGV4dGVuZHMgTnVnZXRQdWJsaXNoT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGRvdE5ldE5hbWVzcGFjZTogc3RyaW5nO1xuICByZWFkb25seSBwYWNrYWdlSWQ6IHN0cmluZztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBKc2lpR29UYXJnZXQgZXh0ZW5kcyBHb1B1Ymxpc2hPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IG1vZHVsZU5hbWU6IHN0cmluZztcblxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgSnNpaVByb2plY3QgZXh0ZW5kcyBUeXBlU2NyaXB0UHJvamVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBlc2xpbnQ/OiBFc2xpbnQ7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogSnNpaVByb2plY3RPcHRpb25zKSB7XG4gICAgY29uc3QgeyBhdXRob3JFbWFpbCwgYXV0aG9yVXJsIH0gPSBwYXJzZUF1dGhvckFkZHJlc3Mob3B0aW9ucyk7XG4gICAgc3VwZXIoe1xuICAgICAgcmVwb3NpdG9yeTogb3B0aW9ucy5yZXBvc2l0b3J5VXJsLFxuICAgICAgYXV0aG9yTmFtZTogb3B0aW9ucy5hdXRob3IsXG4gICAgICBhdXRob3JFbWFpbCxcbiAgICAgIGF1dGhvclVybCxcblxuICAgICAgLi4ub3B0aW9ucyxcblxuICAgICAgd29ya2Zsb3dDb250YWluZXJJbWFnZTogb3B0aW9ucy53b3JrZmxvd0NvbnRhaW5lckltYWdlID8/IGRldGVybWluZVN1cGVyY2hhaW5JbWFnZShvcHRpb25zLm1pbk5vZGVWZXJzaW9uKSxcblxuICAgICAgLy8gdGhpcyBpcyBuZWVkZWQgdGVtcG9yYXJpbHkgYmVjYXVzZSBvdXIgcmVsZWFzZSB3b3JrZmxvd3MgdXNlIHRoZSAnZ2gnXG4gICAgICAvLyBjbGkgYW5kIGl0cyBub3QgeWV0IGF2YWlsYWJsZSBpbiBqc2lpL3N1cGVyY2hhaW46bm9kZTE0XG4gICAgICByZWxlYXNlV29ya2Zsb3dTZXR1cFN0ZXBzOiBvcHRpb25zLnJlbGVhc2VXb3JrZmxvd1NldHVwU3RlcHMsXG4gICAgICByZWxlYXNlVG9OcG06IGZhbHNlLCAvLyB3ZSBoYXZlIGEganNpaSByZWxlYXNlIHdvcmtmbG93XG4gICAgICBkaXNhYmxlVHNjb25maWc6IHRydWUsIC8vIGpzaWkgZ2VuZXJhdGVzIGl0cyBvd24gdHNjb25maWcuanNvblxuICAgICAgZG9jZ2VuOiBmYWxzZSwgLy8gd2UgdXNlIGpzaWktZG9jZ2VuIGhlcmUgc28gZGlzYWJsZSB0eXBlc2NyaXB0IGRvY2dlblxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3JjZGlyID0gdGhpcy5zcmNkaXI7XG4gICAgY29uc3QgbGliZGlyID0gdGhpcy5saWJkaXI7XG5cbiAgICB0aGlzLmFkZEZpZWxkcyh7IHR5cGVzOiBgJHtsaWJkaXJ9L2luZGV4LmQudHNgIH0pO1xuXG4gICAgLy8gdGhpcyBpcyBhbiB1bmhlbHBmdWwgd2FybmluZ1xuICAgIGNvbnN0IGpzaWlGbGFncyA9IFtcbiAgICAgICctLXNpbGVuY2Utd2FybmluZ3M9cmVzZXJ2ZWQtd29yZCcsXG4gICAgICAnLS1uby1maXgtcGVlci1kZXBlbmRlbmNpZXMnLFxuICAgIF0uam9pbignICcpO1xuXG4gICAgY29uc3QgY29tcGF0SWdub3JlID0gb3B0aW9ucy5jb21wYXRJZ25vcmUgPz8gJy5jb21wYXRpZ25vcmUnO1xuXG4gICAgdGhpcy5hZGRGaWVsZHMoeyBzdGFiaWxpdHk6IG9wdGlvbnMuc3RhYmlsaXR5ID8/IFN0YWJpbGl0eS5TVEFCTEUgfSk7XG5cbiAgICBpZiAob3B0aW9ucy5zdGFiaWxpdHkgPT09IFN0YWJpbGl0eS5ERVBSRUNBVEVEKSB7XG4gICAgICB0aGlzLmFkZEZpZWxkcyh7IGRlcHJlY2F0ZWQ6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgY29tcGF0VGFzayA9IHRoaXMuYWRkVGFzaygnY29tcGF0Jywge1xuICAgICAgZGVzY3JpcHRpb246ICdQZXJmb3JtIEFQSSBjb21wYXRpYmlsaXR5IGNoZWNrIGFnYWluc3QgbGF0ZXN0IHZlcnNpb24nLFxuICAgICAgZXhlYzogYGpzaWktZGlmZiBucG06JChub2RlIC1wIFwicmVxdWlyZShcXCcuL3BhY2thZ2UuanNvblxcJykubmFtZVwiKSAtayAtLWlnbm9yZS1maWxlICR7Y29tcGF0SWdub3JlfSB8fCAoZWNobyBcIlxcblVORVhQRUNURUQgQlJFQUtJTkcgQ0hBTkdFUzogYWRkIGtleXMgc3VjaCBhcyBcXCdyZW1vdmVkOmNvbnN0cnVjdHMuTm9kZS5vZlxcJyB0byAke2NvbXBhdElnbm9yZX0gdG8gc2tpcC5cXG5cIiAmJiBleGl0IDEpYCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBhdCA9IG9wdGlvbnMuY29tcGF0ID8/IGZhbHNlO1xuICAgIGlmIChjb21wYXQpIHtcbiAgICAgIHRoaXMuY29tcGlsZVRhc2suc3Bhd24oY29tcGF0VGFzayk7XG4gICAgfVxuXG4gICAgdGhpcy5jb21waWxlVGFzay5yZXNldChganNpaSAke2pzaWlGbGFnc31gKTtcbiAgICB0aGlzLndhdGNoVGFzay5yZXNldChganNpaSAtdyAke2pzaWlGbGFnc31gKTtcbiAgICB0aGlzLnBhY2thZ2VUYXNrPy5yZXNldCgnanNpaS1wYWNtYWsnKTtcblxuICAgIGNvbnN0IHRhcmdldHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuICAgIGNvbnN0IGpzaWk6IGFueSA9IHtcbiAgICAgIG91dGRpcjogJ2Rpc3QnLFxuICAgICAgdGFyZ2V0cyxcbiAgICAgIHRzYzoge1xuICAgICAgICBvdXREaXI6IGxpYmRpcixcbiAgICAgICAgcm9vdERpcjogc3JjZGlyLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGlmIChvcHRpb25zLmV4Y2x1ZGVUeXBlc2NyaXB0KSB7XG4gICAgICBqc2lpLmV4Y2x1ZGVUeXBlc2NyaXB0ID0gb3B0aW9ucy5leGNsdWRlVHlwZXNjcmlwdDtcbiAgICB9XG4gICAgdGhpcy5hZGRGaWVsZHMoeyBqc2lpIH0pO1xuXG4gICAgaWYgKG9wdGlvbnMucmVsZWFzZVRvTnBtICE9IGZhbHNlKSB7XG4gICAgICB0aGlzLnB1Ymxpc2hlcj8ucHVibGlzaFRvTnBtKHtcbiAgICAgICAgZGlzdFRhZzogdGhpcy5wYWNrYWdlLm5wbURpc3RUYWcsXG4gICAgICAgIHJlZ2lzdHJ5OiB0aGlzLnBhY2thZ2UubnBtUmVnaXN0cnksXG4gICAgICAgIG5wbVRva2VuU2VjcmV0OiB0aGlzLnBhY2thZ2UubnBtVG9rZW5TZWNyZXQsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyB3ZSBjYW5ub3QgY2FsbCBhbiBvcHRpb24gYGphdmFgIGJlY2F1c2UgdGhlIGphdmEgY29kZSBnZW5lcmF0ZWQgYnkganNpaVxuICAgIC8vIGRvZXMgbm90IGNvbXBpbGUgZHVlIHRvIGEgY29uZmxpY3QgYmV0d2VlbiB0aGlzIG9wdGlvbiBuYW1lIGFuZCB0aGUgYGphdmFgXG4gICAgLy8gcGFja2FnZSAoZS5nLiB3aGVuIGBqYXZhLnV0aWwuT2JqZWN0c2AgaXMgcmVmZXJlbmNlZCkuXG4gICAgaWYgKCdqYXZhJyBpbiBvcHRpb25zKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3RoZSBcImphdmFcIiBvcHRpb24gaXMgbm93IGNhbGxlZCBcInB1Ymxpc2hUb01hdmVuXCInKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5wdWJsaXNoVG9NYXZlbikge1xuICAgICAgdGFyZ2V0cy5qYXZhID0ge1xuICAgICAgICBwYWNrYWdlOiBvcHRpb25zLnB1Ymxpc2hUb01hdmVuLmphdmFQYWNrYWdlLFxuICAgICAgICBtYXZlbjoge1xuICAgICAgICAgIGdyb3VwSWQ6IG9wdGlvbnMucHVibGlzaFRvTWF2ZW4ubWF2ZW5Hcm91cElkLFxuICAgICAgICAgIGFydGlmYWN0SWQ6IG9wdGlvbnMucHVibGlzaFRvTWF2ZW4ubWF2ZW5BcnRpZmFjdElkLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgdGhpcy5wdWJsaXNoZXI/LnB1Ymxpc2hUb01hdmVuKG9wdGlvbnMucHVibGlzaFRvTWF2ZW4pO1xuICAgIH1cblxuICAgIGNvbnN0IHB5cGkgPSBvcHRpb25zLnB1Ymxpc2hUb1B5cGkgPz8gb3B0aW9ucy5weXRob247XG4gICAgaWYgKHB5cGkpIHtcbiAgICAgIHRhcmdldHMucHl0aG9uID0ge1xuICAgICAgICBkaXN0TmFtZTogcHlwaS5kaXN0TmFtZSxcbiAgICAgICAgbW9kdWxlOiBweXBpLm1vZHVsZSxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMucHVibGlzaGVyPy5wdWJsaXNoVG9QeVBpKHB5cGkpO1xuICAgIH1cblxuICAgIGNvbnN0IG51Z2V0ID0gb3B0aW9ucy5wdWJsaXNoVG9OdWdldCA/PyBvcHRpb25zLmRvdG5ldDtcbiAgICBpZiAobnVnZXQpIHtcbiAgICAgIHRhcmdldHMuZG90bmV0ID0ge1xuICAgICAgICBuYW1lc3BhY2U6IG51Z2V0LmRvdE5ldE5hbWVzcGFjZSxcbiAgICAgICAgcGFja2FnZUlkOiBudWdldC5wYWNrYWdlSWQsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnB1Ymxpc2hlcj8ucHVibGlzaFRvTnVnZXQobnVnZXQpO1xuICAgIH1cblxuICAgIGNvbnN0IGdvbGFuZyA9IG9wdGlvbnMucHVibGlzaFRvR287XG4gICAgaWYgKGdvbGFuZykge1xuICAgICAgdGFyZ2V0cy5nbyA9IHtcbiAgICAgICAgbW9kdWxlTmFtZTogZ29sYW5nLm1vZHVsZU5hbWUsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnB1Ymxpc2hlcj8ucHVibGlzaFRvR28oZ29sYW5nKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZERldkRlcHMoXG4gICAgICAnanNpaScsXG4gICAgICAnanNpaS1kaWZmJyxcbiAgICAgICdqc2lpLXBhY21haycsXG4gICAgKTtcblxuICAgIHRoaXMuZ2l0aWdub3JlLmV4Y2x1ZGUoJy5qc2lpJywgJ3RzY29uZmlnLmpzb24nKTtcbiAgICB0aGlzLm5wbWlnbm9yZT8uaW5jbHVkZSgnLmpzaWknKTtcblxuICAgIGlmIChvcHRpb25zLmRvY2dlbiA/PyB0cnVlKSB7XG4gICAgICBuZXcgSnNpaURvY2dlbih0aGlzKTtcbiAgICB9XG5cbiAgICAvLyBqc2lpIHVwZGF0ZXMgLm5wbWlnbm9yZSwgc28gd2UgbWFrZSBpdCB3cml0YWJsZVxuICAgIGlmICh0aGlzLm5wbWlnbm9yZSkge1xuICAgICAgdGhpcy5ucG1pZ25vcmUucmVhZG9ubHkgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxufVxuXG5cbmZ1bmN0aW9uIHBhcnNlQXV0aG9yQWRkcmVzcyhvcHRpb25zOiBKc2lpUHJvamVjdE9wdGlvbnMpIHtcbiAgbGV0IGF1dGhvckVtYWlsID0gb3B0aW9ucy5hdXRob3JFbWFpbDtcbiAgbGV0IGF1dGhvclVybCA9IG9wdGlvbnMuYXV0aG9yVXJsO1xuICBpZiAob3B0aW9ucy5hdXRob3JBZGRyZXNzKSB7XG4gICAgaWYgKG9wdGlvbnMuYXV0aG9yRW1haWwgJiYgb3B0aW9ucy5hdXRob3JFbWFpbCAhPT0gb3B0aW9ucy5hdXRob3JBZGRyZXNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2F1dGhvckVtYWlsIGlzIGRlcHJlY2F0ZWQgYW5kIGNhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYXV0aG9yQWRkcmVzcycpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmF1dGhvclVybCAmJiBvcHRpb25zLmF1dGhvclVybCAhPT0gb3B0aW9ucy5hdXRob3JBZGRyZXNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2F1dGhvclVybCBpcyBkZXByZWNhdGVkIGFuZCBjYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGF1dGhvckFkZHJlc3MuJyk7XG4gICAgfVxuXG4gICAgaWYgKEVNQUlMX1JFR0VYLnRlc3Qob3B0aW9ucy5hdXRob3JBZGRyZXNzKSkge1xuICAgICAgYXV0aG9yRW1haWwgPSBvcHRpb25zLmF1dGhvckFkZHJlc3M7XG4gICAgfSBlbHNlIGlmIChVUkxfUkVHRVgudGVzdChvcHRpb25zLmF1dGhvckFkZHJlc3MpKSB7XG4gICAgICBhdXRob3JVcmwgPSBvcHRpb25zLmF1dGhvckFkZHJlc3M7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgYXV0aG9yQWRkcmVzcyBtdXN0IGJlIGVpdGhlciBhbiBlbWFpbCBhZGRyZXNzIG9yIGEgVVJMOiAke29wdGlvbnMuYXV0aG9yQWRkcmVzc31gKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgYXV0aG9yRW1haWwsIGF1dGhvclVybCB9O1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIGpzaWkvc3VwZXJjaGFpbiBpbWFnZSB0byB1c2UgYmFzZWQgb24gdGhlIG1pbmltdW0gbm9kZVxuICogdmVyc2lvbi5cbiAqXG4gKiBAcGFyYW0gbWluTm9kZVZlcnNpb24gVGhlIG1pbmltdW0gbm9kZSB2ZXJzaW9uIG9mIHRoZSBwcm9qZWN0LiBJZiBub3RcbiAqIHNwZWNpZmllZCwgdjE0LjE3LjQgaXMgdXNlZC5cbiAqL1xuZnVuY3Rpb24gZGV0ZXJtaW5lU3VwZXJjaGFpbkltYWdlKG1pbk5vZGVWZXJzaW9uPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gdGhlIGRlZmF1bHQgaW1hZ2UgKGBqc2lpL3N1cGVyY2hhaW46MS1idXN0ZXItc2xpbWApIHdpbGwgaW5jbHVkZSB0aGVcbiAgLy8gbWluaW11bSBzdXBwb3J0ZWQgbm9kZSB2ZXJzaW9uIG9mIEpTSUkgKGFzIG9mIHRoaXMgd3JpdGluZyBpdCBpcyAxMi54KS5cbiAgaWYgKCFtaW5Ob2RlVmVyc2lvbikge1xuICAgIHJldHVybiBTVVBFUkNIQUlOX0lNQUdFO1xuICB9XG5cbiAgY29uc3QgbWFqb3IgPSBzZW12ZXIubWFqb3IobWluTm9kZVZlcnNpb24pO1xuXG4gIGlmICghU1VQRVJDSEFJTl9OT0RFX1ZFUlNJT05TLmluY2x1ZGVzKG1ham9yKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8ganNpaS9zdXBlcmNoYWluIGltYWdlIGF2YWlsYWJsZSBmb3Igbm9kZSAke21ham9yfS54LiBTdXBwb3J0ZWQgbm9kZSB2ZXJzaW9uczogJHtTVVBFUkNIQUlOX05PREVfVkVSU0lPTlMubWFwKG0gPT4gYCR7bX0ueGApLmpvaW4oJywnKX1gKTtcbiAgfVxuXG4gIHJldHVybiBgJHtTVVBFUkNIQUlOX0lNQUdFfS1ub2RlJHttYWpvcn1gO1xufSJdfQ==
|
package/lib/json/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './projenrc';
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/**
|
|
4
|
-
* Parses a projenrc.json file, uses it to generate a corresponding
|
|
5
|
-
* projenrc.js file, and then run it to synthesize its contents.
|
|
6
|
-
*
|
|
7
|
-
* Environment variables:
|
|
8
|
-
*
|
|
9
|
-
* - PROJENRC_FILE: (optional) the name of the JSON file to parse from.
|
|
10
|
-
* Defaults to `.projenrc.json`.
|
|
11
|
-
*/
|
|
12
|
-
const fs = require("fs-extra");
|
|
13
|
-
const option_hints_1 = require("../option-hints");
|
|
14
|
-
const projects_1 = require("../projects");
|
|
15
|
-
let filename = process.env.PROJENRC_FILE;
|
|
16
|
-
if (!filename || filename == '') {
|
|
17
|
-
filename = '.projenrc.json';
|
|
18
|
-
}
|
|
19
|
-
const { type, ...json } = fs.readJsonSync(filename, { encoding: 'utf8' });
|
|
20
|
-
if (!type) {
|
|
21
|
-
throw new Error('projenrc.json requires a "type" field with the fully qualified type name. e.g. projen.web.ReactProject');
|
|
22
|
-
}
|
|
23
|
-
projects_1.Projects.createProject({
|
|
24
|
-
dir: '.',
|
|
25
|
-
projectFqn: type,
|
|
26
|
-
projectOptions: json,
|
|
27
|
-
optionHints: option_hints_1.NewProjectOptionHints.NONE,
|
|
28
|
-
synth: true,
|
|
29
|
-
post: false,
|
|
30
|
-
});
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXByb2plbnJjLnRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvanNvbi9ydW4tcHJvamVucmMudGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsK0JBQStCO0FBQy9CLGtEQUF3RDtBQUN4RCwwQ0FBdUM7QUFFdkMsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7QUFFekMsSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLElBQUksRUFBRSxFQUFFO0lBQy9CLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQztDQUM3QjtBQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQzFFLElBQUksQ0FBQyxJQUFJLEVBQUU7SUFDVCxNQUFNLElBQUksS0FBSyxDQUFDLHdHQUF3RyxDQUFDLENBQUM7Q0FDM0g7QUFFRCxtQkFBUSxDQUFDLGFBQWEsQ0FBQztJQUNyQixHQUFHLEVBQUUsR0FBRztJQUNSLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFdBQVcsRUFBRSxvQ0FBcUIsQ0FBQyxJQUFJO0lBQ3ZDLEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLEtBQUs7Q0FDWixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFBhcnNlcyBhIHByb2plbnJjLmpzb24gZmlsZSwgdXNlcyBpdCB0byBnZW5lcmF0ZSBhIGNvcnJlc3BvbmRpbmdcbiAqIHByb2plbnJjLmpzIGZpbGUsIGFuZCB0aGVuIHJ1biBpdCB0byBzeW50aGVzaXplIGl0cyBjb250ZW50cy5cbiAqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKlxuICogLSBQUk9KRU5SQ19GSUxFOiAob3B0aW9uYWwpIHRoZSBuYW1lIG9mIHRoZSBKU09OIGZpbGUgdG8gcGFyc2UgZnJvbS5cbiAqICAgRGVmYXVsdHMgdG8gYC5wcm9qZW5yYy5qc29uYC5cbiAqL1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0IHsgTmV3UHJvamVjdE9wdGlvbkhpbnRzIH0gZnJvbSAnLi4vb3B0aW9uLWhpbnRzJztcbmltcG9ydCB7IFByb2plY3RzIH0gZnJvbSAnLi4vcHJvamVjdHMnO1xuXG5sZXQgZmlsZW5hbWUgPSBwcm9jZXNzLmVudi5QUk9KRU5SQ19GSUxFO1xuXG5pZiAoIWZpbGVuYW1lIHx8IGZpbGVuYW1lID09ICcnKSB7XG4gIGZpbGVuYW1lID0gJy5wcm9qZW5yYy5qc29uJztcbn1cblxuY29uc3QgeyB0eXBlLCAuLi5qc29uIH0gPSBmcy5yZWFkSnNvblN5bmMoZmlsZW5hbWUsIHsgZW5jb2Rpbmc6ICd1dGY4JyB9KTtcbmlmICghdHlwZSkge1xuICB0aHJvdyBuZXcgRXJyb3IoJ3Byb2plbnJjLmpzb24gcmVxdWlyZXMgYSBcInR5cGVcIiBmaWVsZCB3aXRoIHRoZSBmdWxseSBxdWFsaWZpZWQgdHlwZSBuYW1lLiBlLmcuIHByb2plbi53ZWIuUmVhY3RQcm9qZWN0Jyk7XG59XG5cblByb2plY3RzLmNyZWF0ZVByb2plY3Qoe1xuICBkaXI6ICcuJyxcbiAgcHJvamVjdEZxbjogdHlwZSxcbiAgcHJvamVjdE9wdGlvbnM6IGpzb24sXG4gIG9wdGlvbkhpbnRzOiBOZXdQcm9qZWN0T3B0aW9uSGludHMuTk9ORSxcbiAgc3ludGg6IHRydWUsXG4gIHBvc3Q6IGZhbHNlLFxufSk7XG4iXX0=
|