projen 0.101.0 → 0.101.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 +772 -183
- package/lib/ai-instructions.js +2 -2
- package/lib/awscdk/auto-discover.js +6 -6
- package/lib/awscdk/awscdk-app-java.js +1 -1
- package/lib/awscdk/awscdk-app-py.js +1 -1
- package/lib/awscdk/awscdk-app-ts.js +1 -1
- package/lib/awscdk/awscdk-construct.js +1 -1
- package/lib/awscdk/awscdk-deps-java.js +1 -1
- package/lib/awscdk/awscdk-deps-js.js +1 -1
- package/lib/awscdk/awscdk-deps-py.js +1 -1
- package/lib/awscdk/awscdk-deps.js +1 -1
- package/lib/awscdk/cdk-config.js +3 -3
- package/lib/awscdk/cdk-tasks.js +1 -1
- package/lib/awscdk/integration-test.js +1 -1
- package/lib/awscdk/lambda-extension.js +1 -1
- package/lib/awscdk/lambda-function.js +2 -2
- package/lib/build/build-workflow.js +1 -1
- package/lib/cdk/auto-discover-base.js +2 -2
- package/lib/cdk/construct-lib.js +1 -1
- package/lib/cdk/integration-test-base.js +1 -1
- package/lib/cdk/jsii-build.js +1 -1
- package/lib/cdk/jsii-docgen.js +1 -1
- package/lib/cdk/jsii-project.js +1 -1
- package/lib/cdk8s/auto-discover.js +2 -2
- package/lib/cdk8s/cdk8s-app-py.js +1 -1
- package/lib/cdk8s/cdk8s-app-ts.js +1 -1
- package/lib/cdk8s/cdk8s-construct.js +1 -1
- package/lib/cdk8s/cdk8s-deps-py.js +1 -1
- package/lib/cdk8s/cdk8s-deps.js +1 -1
- package/lib/cdk8s/integration-test.js +1 -1
- package/lib/cdktf/cdktf-construct.js +1 -1
- package/lib/circleci/circleci.js +1 -1
- package/lib/component.js +1 -1
- package/lib/dependencies.js +1 -1
- package/lib/dev-env.js +1 -1
- package/lib/docker-compose/docker-compose-service.js +1 -1
- package/lib/docker-compose/docker-compose.js +1 -1
- package/lib/file.js +1 -1
- package/lib/gitattributes.js +1 -1
- package/lib/github/actions-provider.js +1 -1
- package/lib/github/auto-approve.js +1 -1
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/auto-queue.js +1 -1
- package/lib/github/dependabot.js +1 -1
- package/lib/github/dependency-review.js +1 -1
- package/lib/github/github-credentials.js +1 -1
- package/lib/github/github-project.js +1 -1
- package/lib/github/github.js +1 -1
- package/lib/github/merge-queue.js +1 -1
- package/lib/github/mergify.js +1 -1
- package/lib/github/pr-template.js +1 -1
- package/lib/github/pull-request-backport.js +1 -1
- package/lib/github/pull-request-lint.js +1 -1
- package/lib/github/stale.js +1 -1
- package/lib/github/task-workflow-job.js +4 -3
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflow-actions.js +1 -1
- package/lib/github/workflow-jobs.js +1 -1
- package/lib/github/workflow-steps.js +1 -1
- package/lib/github/workflows.js +1 -1
- package/lib/gitlab/configuration.js +1 -1
- package/lib/gitlab/gitlab-configuration.js +1 -1
- package/lib/gitlab/nested-configuration.js +1 -1
- package/lib/gitpod.js +1 -1
- package/lib/ignore-file.js +1 -1
- package/lib/ini.js +1 -1
- package/lib/java/java-project.js +1 -1
- 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.js +2 -2
- package/lib/java/projenrc.js +1 -1
- package/lib/javascript/biome/biome.js +1 -1
- package/lib/javascript/bundler.js +1 -1
- package/lib/javascript/eslint.js +1 -1
- package/lib/javascript/jest.d.ts +179 -7
- package/lib/javascript/jest.js +5 -5
- package/lib/javascript/license-checker.js +1 -1
- package/lib/javascript/node-package.js +5 -3
- package/lib/javascript/node-project.js +1 -1
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/prettier.js +1 -1
- package/lib/javascript/projenrc.js +1 -1
- package/lib/javascript/typescript-config.js +2 -2
- package/lib/javascript/upgrade-dependencies.js +2 -2
- package/lib/javascript/yarnrc.js +1 -1
- package/lib/json-patch.js +1 -1
- 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.js +1 -1
- package/lib/project-tree.js +1 -1
- package/lib/project.js +1 -1
- package/lib/projects.js +1 -1
- package/lib/projenrc-json.js +1 -1
- package/lib/projenrc.js +1 -1
- package/lib/python/pip.js +1 -1
- package/lib/python/poetry.js +2 -2
- package/lib/python/projenrc.js +1 -1
- package/lib/python/pyproject-toml-file.js +1 -1
- package/lib/python/pytest-sample.js +1 -1
- package/lib/python/pytest.js +1 -1
- package/lib/python/python-project.js +1 -1
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.js +1 -1
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.js +1 -1
- package/lib/python/uv.js +1 -1
- package/lib/python/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/bump-type.js +1 -1
- package/lib/release/publisher.js +2 -2
- package/lib/release/release-trigger.js +1 -1
- package/lib/release/release.js +1 -1
- package/lib/renovatebot.js +1 -1
- package/lib/run-task.cjs +1 -1
- package/lib/sample-file.js +2 -2
- package/lib/source-code.js +1 -1
- package/lib/task-shell.js +1 -1
- package/lib/task.js +1 -1
- package/lib/tasks.js +1 -1
- package/lib/testing.js +1 -1
- package/lib/textfile.js +1 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/projenrc-ts.js +1 -1
- package/lib/typescript/projenrc.js +1 -1
- package/lib/typescript/typescript-typedoc.js +1 -1
- package/lib/typescript/typescript.js +5 -5
- package/lib/version.js +2 -2
- package/lib/vscode/devcontainer.js +1 -1
- package/lib/vscode/extensions.js +1 -1
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/settings.js +1 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/next.js +3 -3
- package/lib/web/postcss.js +1 -1
- package/lib/web/react.js +3 -3
- package/lib/web/tailwind.js +1 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/package.json +1 -1
|
@@ -13,7 +13,7 @@ const runner_options_1 = require("../runner-options");
|
|
|
13
13
|
class PullRequestLint extends component_1.Component {
|
|
14
14
|
github;
|
|
15
15
|
options;
|
|
16
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestLint", version: "0.101.
|
|
16
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.PullRequestLint", version: "0.101.2" };
|
|
17
17
|
constructor(github, options = {}) {
|
|
18
18
|
super(github.project);
|
|
19
19
|
this.github = github;
|
package/lib/github/stale.js
CHANGED
|
@@ -18,7 +18,7 @@ const runner_options_1 = require("../runner-options");
|
|
|
18
18
|
* @see https://github.com/actions/stale
|
|
19
19
|
*/
|
|
20
20
|
class Stale extends component_1.Component {
|
|
21
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Stale", version: "0.101.
|
|
21
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.Stale", version: "0.101.2" };
|
|
22
22
|
constructor(github, options = {}) {
|
|
23
23
|
super(github.project);
|
|
24
24
|
const stale = github.addWorkflow("stale");
|
|
@@ -13,7 +13,7 @@ const util_1 = require("./private/util");
|
|
|
13
13
|
* @implements {Job}
|
|
14
14
|
*/
|
|
15
15
|
class TaskWorkflowJob extends component_1.Component {
|
|
16
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.TaskWorkflowJob", version: "0.101.
|
|
16
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.TaskWorkflowJob", version: "0.101.2" };
|
|
17
17
|
runsOn;
|
|
18
18
|
runsOnGroup;
|
|
19
19
|
steps;
|
|
@@ -67,7 +67,8 @@ class TaskWorkflowJob extends component_1.Component {
|
|
|
67
67
|
}
|
|
68
68
|
const runsOnInputs = (0, runner_options_1.filteredRunsOnOptions)(options.runsOn, options.runsOnGroup);
|
|
69
69
|
this.runsOn = runsOnInputs?.runsOn;
|
|
70
|
-
this.runsOnGroup = runsOnInputs
|
|
70
|
+
this.runsOnGroup = runsOnInputs
|
|
71
|
+
?.runsOnGroup;
|
|
71
72
|
this.container = options.container;
|
|
72
73
|
this.env = options.env;
|
|
73
74
|
this.permissions = options.permissions;
|
|
@@ -118,4 +119,4 @@ class TaskWorkflowJob extends component_1.Component {
|
|
|
118
119
|
}
|
|
119
120
|
}
|
|
120
121
|
exports.TaskWorkflowJob = TaskWorkflowJob;
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay13b3JrZmxvdy1qb2IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2l0aHViL3Rhc2std29ya2Zsb3ctam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSwyQ0FBMEQ7QUFHMUQscURBQXFFO0FBV3JFLDRDQUF5QztBQUV6QyxzREFBMEQ7QUFFMUQseUNBQXFEO0FBdUhyRDs7OztHQUlHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLHFCQUFTOztJQUM1QixNQUFNLENBQXdCO0lBQzlCLFdBQVcsQ0FBa0M7SUFDN0MsS0FBSyxDQUFZO0lBQ2pCLFdBQVcsQ0FBVTtJQUNyQixPQUFPLENBQTZDO0lBQ3BELEdBQUcsQ0FBc0M7SUFDekMsUUFBUSxDQUEyQjtJQUNuQyxjQUFjLENBQXNCO0lBQ3BDLGVBQWUsQ0FBdUI7SUFDdEMsU0FBUyxDQUFnQztJQUN6QyxRQUFRLENBQWdEO0lBQ3hELEtBQUssQ0FBcUI7SUFDMUIsSUFBSSxDQUFzQjtJQUMxQixLQUFLLENBQXdCO0lBQzdCLFdBQVcsQ0FBaUI7SUFDNUIsV0FBVyxDQUFXO0lBQ3RCLEVBQUUsQ0FBc0I7SUFDeEIsUUFBUSxDQUEyQjtJQUVuRDs7OztPQUlHO0lBQ0gsWUFBWSxLQUFpQixFQUFFLElBQVUsRUFBRSxPQUErQjtRQUN4RSxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1FBRXhELE1BQU0sWUFBWSxHQUF1RCxFQUFFLENBQUM7UUFDNUUsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEIsWUFBWSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQ0UsT0FBTyxDQUFDLGtCQUFrQjtZQUMxQixPQUFPLENB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ZTtZQUNyQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQztJQUNKLENBQUM7O0FBMUhILDBDQTJIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0dJVEhVQl9BQ1RJT05TX1VTRVIgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB0eXBlIHsgR2l0SWRlbnRpdHkgfSBmcm9tIFwiLi90YXNrLXdvcmtmbG93XCI7XG5pbXBvcnQgdHlwZSB7IENoZWNrb3V0V2l0aCB9IGZyb20gXCIuL3dvcmtmbG93LXN0ZXBzXCI7XG5pbXBvcnQgeyBDaGVja291dFN1Ym1vZHVsZXMsIFdvcmtmbG93U3RlcHMgfSBmcm9tIFwiLi93b3JrZmxvdy1zdGVwc1wiO1xuaW1wb3J0IHR5cGUge1xuICBDb250YWluZXJPcHRpb25zLFxuICBKb2IsXG4gIEpvYkRlZmF1bHRzLFxuICBKb2JQZXJtaXNzaW9ucyxcbiAgSm9iU3RlcCxcbiAgSm9iU3RlcE91dHB1dCxcbiAgSm9iU3RyYXRlZ3ksXG4gIFRvb2xzLFxufSBmcm9tIFwiLi93b3JrZmxvd3MtbW9kZWxcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgR3JvdXBSdW5uZXJPcHRpb25zIH0gZnJvbSBcIi4uL3J1bm5lci1vcHRpb25zXCI7XG5pbXBvcnQgeyBmaWx0ZXJlZFJ1bnNPbk9wdGlvbnMgfSBmcm9tIFwiLi4vcnVubmVyLW9wdGlvbnNcIjtcbmltcG9ydCB0eXBlIHsgVGFzayB9IGZyb20gXCIuLi90YXNrXCI7XG5pbXBvcnQgeyBlbnN1cmVOb3RIaWRkZW5QYXRoIH0gZnJvbSBcIi4vcHJpdmF0ZS91dGlsXCI7XG5cbi8qKlxuICogT3B0aW9ucyB0byBjcmVhdGUgdGhlIEpvYiBhc3NvY2lhdGVkIHdpdGggYSBUYXNrV29ya2Zsb3cuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFza1dvcmtmbG93Sm9iT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgaW1hZ2VcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhaW5lcj86IENvbnRhaW5lck9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gJ2lmJyBjb25kaXRpb24gdG8gdGhlIHdvcmtmbG93LlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZGl0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRpcmVjdG9yeSBuYW1lIHdoaWNoIGNvbnRhaW5zIGFydGlmYWN0cyB0byBiZSB1cGxvYWRlZCAoZS5nLiBgZGlzdGApLlxuICAgKiBJZiB0aGlzIGlzIHNldCwgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZGlyZWN0b3J5IHdpbGwgYmUgdXBsb2FkZWQgYXMgYW5cbiAgICogYXJ0aWZhY3QgYXQgdGhlIGVuZCBvZiB0aGUgd29ya2Zsb3cgcnVuLCBldmVuIGlmIG90aGVyIHN0ZXBzIGZhaWwuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IHNldFxuICAgKi9cbiAgcmVhZG9ubHkgYXJ0aWZhY3RzRGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbml0aWFsIHN0ZXBzIHRvIHJ1biBiZWZvcmUgdGhlIHNvdXJjZSBjb2RlIGNoZWNrb3V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdCBzZXRcbiAgICovXG4gIHJlYWRvbmx5IHByZUNoZWNrb3V0U3RlcHM/OiBKb2JTdGVwW107XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIGZvciB0aGUgYHdpdGhgIHByb3BlcnR5IG9mIHRoZSBzb3VyY2UgY29kZSBjaGVja291dCBzdGVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdCBzZXRcbiAgICovXG4gIHJlYWRvbmx5IGNoZWNrb3V0V2l0aD86IENoZWNrb3V0V2l0aDtcblxuICAvKipcbiAgICogU3RlcHMgdG8gcnVuIGJlZm9yZSB0aGUgbWFpbiBidWlsZCBzdGVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdCBzZXRcbiAgICovXG4gIHJlYWRvbmx5IHByZUJ1aWxkU3RlcHM/OiBKb2JTdGVwW107XG5cbiAgLyoqXG4gICAqIEFjdGlvbnMgdG8gcnVuIGFmdGVyIHRoZSBtYWluIGJ1aWxkIHN0ZXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IHNldFxuICAgKi9cbiAgcmVhZG9ubHkgcG9zdEJ1aWxkU3RlcHM/OiBKb2JTdGVwW107XG5cbiAgLyoqXG4gICAqIFdvcmtmbG93IGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIHJlYWRvbmx5IGVudj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFBlcm1pc3Npb25zIGZvciB0aGUgYnVpbGQgam9iLlxuICAgKi9cbiAgcmVhZG9ubHkgcGVybWlzc2lvbnM6IEpvYlBlcm1pc3Npb25zO1xuXG4gIC8qKlxuICAgKiBNYXBwaW5nIG9mIGpvYiBvdXRwdXQgbmFtZXMgdG8gdmFsdWVzL2V4cHJlc3Npb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0cz86IHsgW25hbWU6IHN0cmluZ106IEpvYlN0ZXBPdXRwdXQgfTtcblxuICAvKipcbiAgICogVGhlIGdpdCBpZGVudGl0eSB0byB1c2UgaW4gdGhpcyB3b3JrZmxvdy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IEdpdEh1YiBBY3Rpb25zIHVzZXJcbiAgICovXG4gIHJlYWRvbmx5IGdpdElkZW50aXR5PzogR2l0SWRlbnRpdHk7XG5cbiAgLyoqXG4gICAqIEdpdGh1YiBSdW5uZXIgc2VsZWN0aW9uIGxhYmVsc1xuICAgKiBAZGVmYXVsdCBbXCJ1YnVudHUtbGF0ZXN0XCJdXG4gICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIGEgdGFyZ2V0IFJ1bm5lciBieSBsYWJlbHNcbiAgICogQHRocm93cyB7RXJyb3J9IGlmIGJvdGggYHJ1bnNPbmAgYW5kIGBydW5zT25Hcm91cGAgYXJlIHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgcnVuc09uPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEdpdGh1YiBSdW5uZXIgR3JvdXAgc2VsZWN0aW9uIG9wdGlvbnNcbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgYSB0YXJnZXQgUnVubmVyIEdyb3VwIGJ5IG5hbWUgYW5kL29yIGxhYmVsc1xuICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgYm90aCBgcnVuc09uYCBhbmQgYHJ1bnNPbkdyb3VwYCBhcmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBydW5zT25Hcm91cD86IEdyb3VwUnVubmVyT3B0aW9ucztcblxuICAvKipcbiAgICogV2hldGhlciB0byBkb3dubG9hZCBmaWxlcyBmcm9tIEdpdCBMRlMgZm9yIHRoaXMgd29ya2Zsb3dcbiAgICpcbiAgICogQGRlZmF1bHQgLSBVc2UgdGhlIHNldHRpbmcgb24gdGhlIGNvcnJlc3BvbmRpbmcgR2l0SHViIHByb2plY3RcbiAgICovXG4gIHJlYWRvbmx5IGRvd25sb2FkTGZzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBjaGVja291dCBHaXQgc3VibW9kdWxlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBVc2UgdGhlIHNldHRpbmcgb24gdGhlIGNvcnJlc3BvbmRpbmcgR2l0SHViIHByb2plY3RcbiAgICovXG4gIHJlYWRvbmx5IGNoZWNrb3V0U3VibW9kdWxlcz86IENoZWNrb3V0U3VibW9kdWxlcztcblxuICAvKipcbiAgICogRGVmYXVsdCBzZXR0aW5ncyBmb3IgYWxsIHN0ZXBzIGluIHRoZSBUYXNrV29ya2Zsb3cgSm9iLlxuICAgKi9cbiAgcmVhZG9ubHkgam9iRGVmYXVsdHM/OiBKb2JEZWZhdWx0cztcblxuICAvKipcbiAgICogVGhlIEdpdEh1YiBBY3Rpb25zIGVudmlyb25tZW50IHVzZWQgZm9yIHRoZSBqb2IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZW52aXJvbm1lbnQgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIHByaW1hcnkgb3IgaW5pdGlhbCBqb2Igb2YgYSBUYXNrV29ya2Zsb3cuXG4gKlxuICogQGltcGxlbWVudHMge0pvYn1cbiAqL1xuZXhwb3J0IGNsYXNzIFRhc2tXb3JrZmxvd0pvYiBleHRlbmRzIENvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBydW5zT24/OiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHJ1bnNPbkdyb3VwPzogR3JvdXBSdW5uZXJPcHRpb25zIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RlcHM6IEpvYlN0ZXBbXTtcbiAgcHVibGljIHJlYWRvbmx5IGVudmlyb25tZW50Pzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0cz86IFJlY29yZDxzdHJpbmcsIEpvYlN0ZXBPdXRwdXQ+IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgZW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRzPzogSm9iRGVmYXVsdHMgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSB0aW1lb3V0TWludXRlcz86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRpbnVlT25FcnJvcj86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBjb250YWluZXI/OiBDb250YWluZXJPcHRpb25zIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZXM/OiBSZWNvcmQ8c3RyaW5nLCBDb250YWluZXJPcHRpb25zPiB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHRvb2xzPzogVG9vbHMgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgbmVlZHM/OiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHBlcm1pc3Npb25zOiBKb2JQZXJtaXNzaW9ucztcbiAgcHVibGljIHJlYWRvbmx5IGNvbmN1cnJlbmN5PzogdW5rbm93bjtcbiAgcHVibGljIHJlYWRvbmx5IGlmPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RyYXRlZ3k/OiBKb2JTdHJhdGVneSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQHBhcmFtIHNjb3BlIHNob3VsZCBiZSBwYXJ0IG9mIHRoZSBwcm9qZWN0IHRoZSBUYXNrIGJlbG9uZ3MgdG8uXG4gICAqIEBwYXJhbSB0YXNrIHRoZSBtYWluIHRhc2sgdGhhdCBpcyBydW4gYXMgcGFydCBvZiB0aGlzIGpvYi5cbiAgICogQHBhcmFtIG9wdGlvbnMgb3B0aW9ucyB0byBjb25maWd1cmUgdGhlIFRhc2tXb3JrZmxvd0pvYi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBJQ29uc3RydWN0LCB0YXNrOiBUYXNrLCBvcHRpb25zOiBUYXNrV29ya2Zsb3dKb2JPcHRpb25zKSB7XG4gICAgc3VwZXIoc2NvcGUsIGAke25ldy50YXJnZXQubmFtZX0jJHt0YXNrLm5hbWV9YCk7XG4gICAgY29uc3QgcHJlQ2hlY2tvdXRTdGVwcyA9IG9wdGlvbnMucHJlQ2hlY2tvdXRTdGVwcyA/PyBbXTtcblxuICAgIGNvbnN0IGNoZWNrb3V0V2l0aDogeyBsZnM/OiBib29sZWFuOyBzdWJtb2R1bGVzPzogQ2hlY2tvdXRTdWJtb2R1bGVzIH0gPSB7fTtcbiAgICBpZiAob3B0aW9ucy5kb3dubG9hZExmcykge1xuICAgICAgY2hlY2tvdXRXaXRoLmxmcyA9IHRydWU7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMuY2hlY2tvdXRTdWJtb2R1bGVzICYmXG4gICAgICBvcHRpb25zLmNoZWNrb3V0U3VibW9kdWxlcyAhPT0gQ2hlY2tvdXRTdWJtb2R1bGVzLkRJU0FCTEVEXG4gICAgKSB7XG4gICAgICBjaGVja291dFdpdGguc3VibW9kdWxlcyA9IG9wdGlvbnMuY2hlY2tvdXRTdWJtb2R1bGVzO1xuICAgIH1cbiAgICAvLyAnY2hlY2tvdXRXaXRoJyBjYW4gb3ZlcnJpZGUgJ2xmcycgYW5kICdzdWJtb2R1bGVzJ1xuICAgIE9iamVjdC5hc3NpZ24oY2hlY2tvdXRXaXRoLCBvcHRpb25zLmNoZWNrb3V0V2l0aCA/PyB7fSk7XG5cbiAgICBjb25zdCBwcmVCdWlsZFN0ZXBzID0gb3B0aW9ucy5wcmVCdWlsZFN0ZXBzID8/IFtdO1xuICAgIGNvbnN0IHBvc3RCdWlsZFN0ZXBzID0gb3B0aW9ucy5wb3N0QnVpbGRTdGVwcyA/PyBbXTtcbiAgICBjb25zdCBnaXRJZGVudGl0eSA9IG9wdGlvbnMuZ2l0SWRlbnRpdHkgPz8gREVGQVVMVF9HSVRIVUJfQUNUSU9OU19VU0VSO1xuXG4gICAgaWYgKG9wdGlvbnMuYXJ0aWZhY3RzRGlyZWN0b3J5KSB7XG4gICAgICBlbnN1cmVOb3RIaWRkZW5QYXRoKG9wdGlvbnMuYXJ0aWZhY3RzRGlyZWN0b3J5LCBcImFydGlmYWN0c0RpcmVjdG9yeVwiKTtcbiAgICAgIHBvc3RCdWlsZFN0ZXBzLnB1c2goXG4gICAgICAgIFdvcmtmbG93U3RlcHMudXBsb2FkQXJ0aWZhY3Qoe1xuICAgICAgICAgIC8vIFNldHRpbmcgdG8gYWx3YXlzIHdpbGwgZW5zdXJlIHRoYXQgdGhpcyBzdGVwIHdpbGwgcnVuIGV2ZW4gaWZcbiAgICAgICAgICAvLyB0aGUgcHJldmlvdXMgb25lcyBoYXZlIGZhaWxlZCAoZS5nLiBjb3ZlcmFnZSByZXBvcnQsIGludGVybmFsIGxvZ3MsIGV0YylcbiAgICAgICAgICBpZjogXCJhbHdheXMoKVwiLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIG5hbWU6IG9wdGlvbnMuYXJ0aWZhY3RzRGlyZWN0b3J5LFxuICAgICAgICAgICAgcGF0aDogb3B0aW9ucy5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHJ1bnNPbklucHV0cyA9IGZpbHRlcmVkUnVuc09uT3B0aW9ucyhcbiAgICAgIG9wdGlvbnMucnVuc09uLFxuICAgICAgb3B0aW9ucy5ydW5zT25Hcm91cCxcbiAgICApO1xuICAgIHRoaXMucnVuc09uID0gKHJ1bnNPbklucHV0cyBhcyB7IHJ1bnNPbjogc3RyaW5nW10gfSk/LnJ1bnNPbjtcbiAgICB0aGlzLnJ1bnNPbkdyb3VwID0gKFxuICAgICAgcnVuc09uSW5wdXRzIGFzIHsgcnVuc09uR3JvdXA6IEdyb3VwUnVubmVyT3B0aW9ucyB9XG4gICAgKT8ucnVuc09uR3JvdXA7XG4gICAgdGhpcy5jb250YWluZXIgPSBvcHRpb25zLmNvbnRhaW5lcjtcbiAgICB0aGlzLmVudiA9IG9wdGlvbnMuZW52O1xuICAgIHRoaXMucGVybWlzc2lvbnMgPSBvcHRpb25zLnBlcm1pc3Npb25zO1xuICAgIHRoaXMuZGVmYXVsdHMgPSBvcHRpb25zPy5qb2JEZWZhdWx0cztcbiAgICB0aGlzLmlmID0gb3B0aW9ucy5jb25kaXRpb247XG4gICAgdGhpcy5vdXRwdXRzID0gb3B0aW9ucy5vdXRwdXRzO1xuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBvcHRpb25zLmVudmlyb25tZW50O1xuICAgIHRoaXMuc3RlcHMgPSBbXG4gICAgICAuLi5wcmVDaGVja291dFN0ZXBzLFxuXG4gICAgICAvLyBjaGVjayBvdXQgc291cmNlcy5cbiAgICAgIFdvcmtmbG93U3RlcHMuY2hlY2tvdXQoeyB3aXRoOiBjaGVja291dFdpdGggfSksXG5cbiAgICAgIC8vIHNldHMgZ2l0IGlkZW50aXR5IHNvIHdlIGNhbiBwdXNoIGxhdGVyXG4gICAgICBXb3JrZmxvd1N0ZXBzLnNldHVwR2l0SWRlbnRpdHkoeyBnaXRJZGVudGl0eSB9KSxcblxuICAgICAgLi4ucHJlQnVpbGRTdGVwcyxcblxuICAgICAgLy8gcnVuIHRoZSBtYWluIGJ1aWxkIHRhc2tcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGFzay5uYW1lLFxuICAgICAgICBydW46IHRoaXMucHJvamVjdC5ydW5UYXNrQ29tbWFuZCh0YXNrKSxcbiAgICAgIH0sXG5cbiAgICAgIC4uLnBvc3RCdWlsZFN0ZXBzLFxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogQGpzaWkgaWdub3JlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHRvSlNPTigpOiBKb2Ige1xuICAgIHJldHVybiB7XG4gICAgICBydW5zT246IHRoaXMucnVuc09uLFxuICAgICAgcnVuc09uR3JvdXA6IHRoaXMucnVuc09uR3JvdXAsXG4gICAgICBzdGVwczogdGhpcy5zdGVwcyxcbiAgICAgIGVudmlyb25tZW50OiB0aGlzLmVudmlyb25tZW50LFxuICAgICAgb3V0cHV0czogdGhpcy5vdXRwdXRzLFxuICAgICAgZW52OiB0aGlzLmVudixcbiAgICAgIGRlZmF1bHRzOiB0aGlzLmRlZmF1bHRzLFxuICAgICAgdGltZW91dE1pbnV0ZXM6IHRoaXMudGltZW91dE1pbnV0ZXMsXG4gICAgICBjb250aW51ZU9uRXJyb3I6IHRoaXMuY29udGludWVPbkVycm9yLFxuICAgICAgY29udGFpbmVyOiB0aGlzLmNvbnRhaW5lcixcbiAgICAgIHNlcnZpY2VzOiB0aGlzLnNlcnZpY2VzLFxuICAgICAgdG9vbHM6IHRoaXMudG9vbHMsXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBuZWVkczogdGhpcy5uZWVkcyxcbiAgICAgIHBlcm1pc3Npb25zOiB0aGlzLnBlcm1pc3Npb25zLFxuICAgICAgY29uY3VycmVuY3k6IHRoaXMuY29uY3VycmVuY3ksXG4gICAgICBpZjogdGhpcy5pZixcbiAgICAgIHN0cmF0ZWd5OiB0aGlzLnN0cmF0ZWd5LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay13b3JrZmxvdy1qb2IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2l0aHViL3Rhc2std29ya2Zsb3ctam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSwyQ0FBMEQ7QUFHMUQscURBQXFFO0FBV3JFLDRDQUF5QztBQUV6QyxzREFBMEQ7QUFFMUQseUNBQXFEO0FBdUhyRDs7OztHQUlHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLHFCQUFTOztJQUM1QixNQUFNLENBQXdCO0lBQzlCLFdBQVcsQ0FBa0M7SUFDN0MsS0FBSyxDQUFZO0lBQ2pCLFdBQVcsQ0FBVTtJQUNyQixPQUFPLENBQTZDO0lBQ3BELEdBQUcsQ0FBc0M7SUFDekMsUUFBUSxDQUEyQjtJQUNuQyxjQUFjLENBQXNCO0lBQ3BDLGVBQWUsQ0FBdUI7SUFDdEMsU0FBUyxDQUFnQztJQUN6QyxRQUFRLENBQWdEO0lBQ3hELEtBQUssQ0FBcUI7SUFDMUIsSUFBSSxDQUFzQjtJQUMxQixLQUFLLENBQXdCO0lBQzdCLFdBQVcsQ0FBaUI7SUFDNUIsV0FBVyxDQUFXO0lBQ3RCLEVBQUUsQ0FBc0I7SUFDeEIsUUFBUSxDQUEyQjtJQUVuRDs7OztPQUlHO0lBQ0gsWUFBWSxLQUFpQixFQUFFLElBQVUsRUFBRSxPQUErQjtRQUN4RSxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1FBRXhELE1BQU0sWUFBWSxHQUF1RCxFQUFFLENBQUM7UUFDNUUsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEIsWUFBWSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQ0UsT0FBTyxDQUFDLGtCQUFrQjtZQUMxQixPQUFPLENBQUMsa0JBQWtCLEtBQUssbUNBQWtCLENBQUMsUUFBUSxFQUMxRCxDQUFDO1lBQ0QsWUFBWSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDdkQsQ0FBQztRQUNELHFEQUFxRDtRQUNyRCxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1FBQ2xELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ3BELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksdUNBQTJCLENBQUM7UUFFdkUsSUFBSSxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMvQixJQUFBLDBCQUFtQixFQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1lBQ3RFLGNBQWMsQ0FBQyxJQUFJLENBQ2pCLDhCQUFhLENBQUMsY0FBYyxDQUFDO2dCQUMzQixnRUFBZ0U7Z0JBQ2hFLDJFQUEyRTtnQkFDM0UsRUFBRSxFQUFFLFVBQVU7Z0JBQ2QsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRSxPQUFPLENBQUMsa0JBQWtCO29CQUNoQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGtCQUFrQjtpQkFDakM7YUFDRixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFBLHNDQUFxQixFQUN4QyxPQUFPLENBQUMsTUFBTSxFQUNkLE9BQU8sQ0FBQyxXQUFXLENBQ3BCLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFJLFlBQXFDLEVBQUUsTUFBTSxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLEdBQUksWUFBb0Q7WUFDdEUsRUFBRSxXQUFXLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLEVBQUUsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxHQUFHLGdCQUFnQjtZQUVuQixxQkFBcUI7WUFDckIsOEJBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFFOUMseUNBQXlDO1lBQ3pDLDhCQUFhLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUUvQyxHQUFHLGFBQWE7WUFFaEIsMEJBQTBCO1lBQzFCO2dCQUNFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2FBQ3ZDO1lBRUQsR0FBRyxjQUFjO1NBQ2xCLENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTTtRQUNYLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ3JDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDO0lBQ0osQ0FBQzs7QUF6SEgsMENBMEhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IERFRkFVTFRfR0lUSFVCX0FDVElPTlNfVVNFUiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHR5cGUgeyBHaXRJZGVudGl0eSB9IGZyb20gXCIuL3Rhc2std29ya2Zsb3dcIjtcbmltcG9ydCB0eXBlIHsgQ2hlY2tvdXRXaXRoIH0gZnJvbSBcIi4vd29ya2Zsb3ctc3RlcHNcIjtcbmltcG9ydCB7IENoZWNrb3V0U3VibW9kdWxlcywgV29ya2Zsb3dTdGVwcyB9IGZyb20gXCIuL3dvcmtmbG93LXN0ZXBzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIENvbnRhaW5lck9wdGlvbnMsXG4gIEpvYixcbiAgSm9iRGVmYXVsdHMsXG4gIEpvYlBlcm1pc3Npb25zLFxuICBKb2JTdGVwLFxuICBKb2JTdGVwT3V0cHV0LFxuICBKb2JTdHJhdGVneSxcbiAgVG9vbHMsXG59IGZyb20gXCIuL3dvcmtmbG93cy1tb2RlbFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBHcm91cFJ1bm5lck9wdGlvbnMgfSBmcm9tIFwiLi4vcnVubmVyLW9wdGlvbnNcIjtcbmltcG9ydCB7IGZpbHRlcmVkUnVuc09uT3B0aW9ucyB9IGZyb20gXCIuLi9ydW5uZXItb3B0aW9uc1wiO1xuaW1wb3J0IHR5cGUgeyBUYXNrIH0gZnJvbSBcIi4uL3Rhc2tcIjtcbmltcG9ydCB7IGVuc3VyZU5vdEhpZGRlblBhdGggfSBmcm9tIFwiLi9wcml2YXRlL3V0aWxcIjtcblxuLyoqXG4gKiBPcHRpb25zIHRvIGNyZWF0ZSB0aGUgSm9iIGFzc29jaWF0ZWQgd2l0aCBhIFRhc2tXb3JrZmxvdy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNrV29ya2Zsb3dKb2JPcHRpb25zIHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBpbWFnZVxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFpbmVyPzogQ29udGFpbmVyT3B0aW9ucztcblxuICAvKipcbiAgICogQWRkcyBhbiAnaWYnIGNvbmRpdGlvbiB0byB0aGUgd29ya2Zsb3cuXG4gICAqL1xuICByZWFkb25seSBjb25kaXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZGlyZWN0b3J5IG5hbWUgd2hpY2ggY29udGFpbnMgYXJ0aWZhY3RzIHRvIGJlIHVwbG9hZGVkIChlLmcuIGBkaXN0YCkuXG4gICAqIElmIHRoaXMgaXMgc2V0LCB0aGUgY29udGVudHMgb2YgdGhpcyBkaXJlY3Rvcnkgd2lsbCBiZSB1cGxvYWRlZCBhcyBhblxuICAgKiBhcnRpZmFjdCBhdCB0aGUgZW5kIG9mIHRoZSB3b3JrZmxvdyBydW4sIGV2ZW4gaWYgb3RoZXIgc3RlcHMgZmFpbC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3Qgc2V0XG4gICAqL1xuICByZWFkb25seSBhcnRpZmFjdHNEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgc3RlcHMgdG8gcnVuIGJlZm9yZSB0aGUgc291cmNlIGNvZGUgY2hlY2tvdXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IHNldFxuICAgKi9cbiAgcmVhZG9ubHkgcHJlQ2hlY2tvdXRTdGVwcz86IEpvYlN0ZXBbXTtcblxuICAvKipcbiAgICogT3ZlcnJpZGUgZm9yIHRoZSBgd2l0aGAgcHJvcGVydHkgb2YgdGhlIHNvdXJjZSBjb2RlIGNoZWNrb3V0IHN0ZXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IHNldFxuICAgKi9cbiAgcmVhZG9ubHkgY2hlY2tvdXRXaXRoPzogQ2hlY2tvdXRXaXRoO1xuXG4gIC8qKlxuICAgKiBTdGVwcyB0byBydW4gYmVmb3JlIHRoZSBtYWluIGJ1aWxkIHN0ZXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IHNldFxuICAgKi9cbiAgcmVhZG9ubHkgcHJlQnVpbGRTdGVwcz86IEpvYlN0ZXBbXTtcblxuICAvKipcbiAgICogQWN0aW9ucyB0byBydW4gYWZ0ZXIgdGhlIG1haW4gYnVpbGQgc3RlcC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3Qgc2V0XG4gICAqL1xuICByZWFkb25seSBwb3N0QnVpbGRTdGVwcz86IEpvYlN0ZXBbXTtcblxuICAvKipcbiAgICogV29ya2Zsb3cgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgcmVhZG9ubHkgZW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogUGVybWlzc2lvbnMgZm9yIHRoZSBidWlsZCBqb2IuXG4gICAqL1xuICByZWFkb25seSBwZXJtaXNzaW9uczogSm9iUGVybWlzc2lvbnM7XG5cbiAgLyoqXG4gICAqIE1hcHBpbmcgb2Ygam9iIG91dHB1dCBuYW1lcyB0byB2YWx1ZXMvZXhwcmVzc2lvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICByZWFkb25seSBvdXRwdXRzPzogeyBbbmFtZTogc3RyaW5nXTogSm9iU3RlcE91dHB1dCB9O1xuXG4gIC8qKlxuICAgKiBUaGUgZ2l0IGlkZW50aXR5IHRvIHVzZSBpbiB0aGlzIHdvcmtmbG93LlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgR2l0SHViIEFjdGlvbnMgdXNlclxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0SWRlbnRpdHk/OiBHaXRJZGVudGl0eTtcblxuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBzZWxlY3Rpb24gbGFiZWxzXG4gICAqIEBkZWZhdWx0IFtcInVidW50dS1sYXRlc3RcIl1cbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgYSB0YXJnZXQgUnVubmVyIGJ5IGxhYmVsc1xuICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgYm90aCBgcnVuc09uYCBhbmQgYHJ1bnNPbkdyb3VwYCBhcmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBydW5zT24/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogR2l0aHViIFJ1bm5lciBHcm91cCBzZWxlY3Rpb24gb3B0aW9uc1xuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyBhIHRhcmdldCBSdW5uZXIgR3JvdXAgYnkgbmFtZSBhbmQvb3IgbGFiZWxzXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBpZiBib3RoIGBydW5zT25gIGFuZCBgcnVuc09uR3JvdXBgIGFyZSBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnNPbkdyb3VwPzogR3JvdXBSdW5uZXJPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRvd25sb2FkIGZpbGVzIGZyb20gR2l0IExGUyBmb3IgdGhpcyB3b3JrZmxvd1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIFVzZSB0aGUgc2V0dGluZyBvbiB0aGUgY29ycmVzcG9uZGluZyBHaXRIdWIgcHJvamVjdFxuICAgKi9cbiAgcmVhZG9ubHkgZG93bmxvYWRMZnM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNoZWNrb3V0IEdpdCBzdWJtb2R1bGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFVzZSB0aGUgc2V0dGluZyBvbiB0aGUgY29ycmVzcG9uZGluZyBHaXRIdWIgcHJvamVjdFxuICAgKi9cbiAgcmVhZG9ubHkgY2hlY2tvdXRTdWJtb2R1bGVzPzogQ2hlY2tvdXRTdWJtb2R1bGVzO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHNldHRpbmdzIGZvciBhbGwgc3RlcHMgaW4gdGhlIFRhc2tXb3JrZmxvdyBKb2IuXG4gICAqL1xuICByZWFkb25seSBqb2JEZWZhdWx0cz86IEpvYkRlZmF1bHRzO1xuXG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIEFjdGlvbnMgZW52aXJvbm1lbnQgdXNlZCBmb3IgdGhlIGpvYi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBlbnZpcm9ubWVudCB1c2VkXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgcHJpbWFyeSBvciBpbml0aWFsIGpvYiBvZiBhIFRhc2tXb3JrZmxvdy5cbiAqXG4gKiBAaW1wbGVtZW50cyB7Sm9ifVxuICovXG5leHBvcnQgY2xhc3MgVGFza1dvcmtmbG93Sm9iIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IHJ1bnNPbj86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgcnVuc09uR3JvdXA/OiBHcm91cFJ1bm5lck9wdGlvbnMgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBzdGVwczogSm9iU3RlcFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBvdXRwdXRzPzogUmVjb3JkPHN0cmluZywgSm9iU3RlcE91dHB1dD4gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBlbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdHM/OiBKb2JEZWZhdWx0cyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IHRpbWVvdXRNaW51dGVzPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgY29udGludWVPbkVycm9yPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRhaW5lcj86IENvbnRhaW5lck9wdGlvbnMgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlcz86IFJlY29yZDxzdHJpbmcsIENvbnRhaW5lck9wdGlvbnM+IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgdG9vbHM/OiBUb29scyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBuZWVkcz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcmVhZG9ubHkgcGVybWlzc2lvbnM6IEpvYlBlcm1pc3Npb25zO1xuICBwdWJsaWMgcmVhZG9ubHkgY29uY3VycmVuY3k/OiB1bmtub3duO1xuICBwdWJsaWMgcmVhZG9ubHkgaWY/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyByZWFkb25seSBzdHJhdGVneT86IEpvYlN0cmF0ZWd5IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gc2NvcGUgc2hvdWxkIGJlIHBhcnQgb2YgdGhlIHByb2plY3QgdGhlIFRhc2sgYmVsb25ncyB0by5cbiAgICogQHBhcmFtIHRhc2sgdGhlIG1haW4gdGFzayB0aGF0IGlzIHJ1biBhcyBwYXJ0IG9mIHRoaXMgam9iLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBvcHRpb25zIHRvIGNvbmZpZ3VyZSB0aGUgVGFza1dvcmtmbG93Sm9iLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IElDb25zdHJ1Y3QsIHRhc2s6IFRhc2ssIG9wdGlvbnM6IFRhc2tXb3JrZmxvd0pvYk9wdGlvbnMpIHtcbiAgICBzdXBlcihzY29wZSwgYCR7bmV3LnRhcmdldC5uYW1lfSMke3Rhc2submFtZX1gKTtcbiAgICBjb25zdCBwcmVDaGVja291dFN0ZXBzID0gb3B0aW9ucy5wcmVDaGVja291dFN0ZXBzID8/IFtdO1xuXG4gICAgY29uc3QgY2hlY2tvdXRXaXRoOiB7IGxmcz86IGJvb2xlYW47IHN1Ym1vZHVsZXM/OiBDaGVja291dFN1Ym1vZHVsZXMgfSA9IHt9O1xuICAgIGlmIChvcHRpb25zLmRvd25sb2FkTGZzKSB7XG4gICAgICBjaGVja291dFdpdGgubGZzID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgb3B0aW9ucy5jaGVja291dFN1Ym1vZHVsZXMgJiZcbiAgICAgIG9wdGlvbnMuY2hlY2tvdXRTdWJtb2R1bGVzICE9PSBDaGVja291dFN1Ym1vZHVsZXMuRElTQUJMRURcbiAgICApIHtcbiAgICAgIGNoZWNrb3V0V2l0aC5zdWJtb2R1bGVzID0gb3B0aW9ucy5jaGVja291dFN1Ym1vZHVsZXM7XG4gICAgfVxuICAgIC8vICdjaGVja291dFdpdGgnIGNhbiBvdmVycmlkZSAnbGZzJyBhbmQgJ3N1Ym1vZHVsZXMnXG4gICAgT2JqZWN0LmFzc2lnbihjaGVja291dFdpdGgsIG9wdGlvbnMuY2hlY2tvdXRXaXRoID8/IHt9KTtcblxuICAgIGNvbnN0IHByZUJ1aWxkU3RlcHMgPSBvcHRpb25zLnByZUJ1aWxkU3RlcHMgPz8gW107XG4gICAgY29uc3QgcG9zdEJ1aWxkU3RlcHMgPSBvcHRpb25zLnBvc3RCdWlsZFN0ZXBzID8/IFtdO1xuICAgIGNvbnN0IGdpdElkZW50aXR5ID0gb3B0aW9ucy5naXRJZGVudGl0eSA/PyBERUZBVUxUX0dJVEhVQl9BQ1RJT05TX1VTRVI7XG5cbiAgICBpZiAob3B0aW9ucy5hcnRpZmFjdHNEaXJlY3RvcnkpIHtcbiAgICAgIGVuc3VyZU5vdEhpZGRlblBhdGgob3B0aW9ucy5hcnRpZmFjdHNEaXJlY3RvcnksIFwiYXJ0aWZhY3RzRGlyZWN0b3J5XCIpO1xuICAgICAgcG9zdEJ1aWxkU3RlcHMucHVzaChcbiAgICAgICAgV29ya2Zsb3dTdGVwcy51cGxvYWRBcnRpZmFjdCh7XG4gICAgICAgICAgLy8gU2V0dGluZyB0byBhbHdheXMgd2lsbCBlbnN1cmUgdGhhdCB0aGlzIHN0ZXAgd2lsbCBydW4gZXZlbiBpZlxuICAgICAgICAgIC8vIHRoZSBwcmV2aW91cyBvbmVzIGhhdmUgZmFpbGVkIChlLmcuIGNvdmVyYWdlIHJlcG9ydCwgaW50ZXJuYWwgbG9ncywgZXRjKVxuICAgICAgICAgIGlmOiBcImFsd2F5cygpXCIsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgbmFtZTogb3B0aW9ucy5hcnRpZmFjdHNEaXJlY3RvcnksXG4gICAgICAgICAgICBwYXRoOiBvcHRpb25zLmFydGlmYWN0c0RpcmVjdG9yeSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgcnVuc09uSW5wdXRzID0gZmlsdGVyZWRSdW5zT25PcHRpb25zKFxuICAgICAgb3B0aW9ucy5ydW5zT24sXG4gICAgICBvcHRpb25zLnJ1bnNPbkdyb3VwLFxuICAgICk7XG4gICAgdGhpcy5ydW5zT24gPSAocnVuc09uSW5wdXRzIGFzIHsgcnVuc09uOiBzdHJpbmdbXSB9KT8ucnVuc09uO1xuICAgIHRoaXMucnVuc09uR3JvdXAgPSAocnVuc09uSW5wdXRzIGFzIHsgcnVuc09uR3JvdXA6IEdyb3VwUnVubmVyT3B0aW9ucyB9KVxuICAgICAgPy5ydW5zT25Hcm91cDtcbiAgICB0aGlzLmNvbnRhaW5lciA9IG9wdGlvbnMuY29udGFpbmVyO1xuICAgIHRoaXMuZW52ID0gb3B0aW9ucy5lbnY7XG4gICAgdGhpcy5wZXJtaXNzaW9ucyA9IG9wdGlvbnMucGVybWlzc2lvbnM7XG4gICAgdGhpcy5kZWZhdWx0cyA9IG9wdGlvbnM/LmpvYkRlZmF1bHRzO1xuICAgIHRoaXMuaWYgPSBvcHRpb25zLmNvbmRpdGlvbjtcbiAgICB0aGlzLm91dHB1dHMgPSBvcHRpb25zLm91dHB1dHM7XG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IG9wdGlvbnMuZW52aXJvbm1lbnQ7XG4gICAgdGhpcy5zdGVwcyA9IFtcbiAgICAgIC4uLnByZUNoZWNrb3V0U3RlcHMsXG5cbiAgICAgIC8vIGNoZWNrIG91dCBzb3VyY2VzLlxuICAgICAgV29ya2Zsb3dTdGVwcy5jaGVja291dCh7IHdpdGg6IGNoZWNrb3V0V2l0aCB9KSxcblxuICAgICAgLy8gc2V0cyBnaXQgaWRlbnRpdHkgc28gd2UgY2FuIHB1c2ggbGF0ZXJcbiAgICAgIFdvcmtmbG93U3RlcHMuc2V0dXBHaXRJZGVudGl0eSh7IGdpdElkZW50aXR5IH0pLFxuXG4gICAgICAuLi5wcmVCdWlsZFN0ZXBzLFxuXG4gICAgICAvLyBydW4gdGhlIG1haW4gYnVpbGQgdGFza1xuICAgICAge1xuICAgICAgICBuYW1lOiB0YXNrLm5hbWUsXG4gICAgICAgIHJ1bjogdGhpcy5wcm9qZWN0LnJ1blRhc2tDb21tYW5kKHRhc2spLFxuICAgICAgfSxcblxuICAgICAgLi4ucG9zdEJ1aWxkU3RlcHMsXG4gICAgXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAanNpaSBpZ25vcmVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgdG9KU09OKCk6IEpvYiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJ1bnNPbjogdGhpcy5ydW5zT24sXG4gICAgICBydW5zT25Hcm91cDogdGhpcy5ydW5zT25Hcm91cCxcbiAgICAgIHN0ZXBzOiB0aGlzLnN0ZXBzLFxuICAgICAgZW52aXJvbm1lbnQ6IHRoaXMuZW52aXJvbm1lbnQsXG4gICAgICBvdXRwdXRzOiB0aGlzLm91dHB1dHMsXG4gICAgICBlbnY6IHRoaXMuZW52LFxuICAgICAgZGVmYXVsdHM6IHRoaXMuZGVmYXVsdHMsXG4gICAgICB0aW1lb3V0TWludXRlczogdGhpcy50aW1lb3V0TWludXRlcyxcbiAgICAgIGNvbnRpbnVlT25FcnJvcjogdGhpcy5jb250aW51ZU9uRXJyb3IsXG4gICAgICBjb250YWluZXI6IHRoaXMuY29udGFpbmVyLFxuICAgICAgc2VydmljZXM6IHRoaXMuc2VydmljZXMsXG4gICAgICB0b29sczogdGhpcy50b29scyxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIG5lZWRzOiB0aGlzLm5lZWRzLFxuICAgICAgcGVybWlzc2lvbnM6IHRoaXMucGVybWlzc2lvbnMsXG4gICAgICBjb25jdXJyZW5jeTogdGhpcy5jb25jdXJyZW5jeSxcbiAgICAgIGlmOiB0aGlzLmlmLFxuICAgICAgc3RyYXRlZ3k6IHRoaXMuc3RyYXRlZ3ksXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -9,7 +9,7 @@ const DEFAULT_JOB_ID = "build";
|
|
|
9
9
|
* A GitHub workflow for common build tasks within a project.
|
|
10
10
|
*/
|
|
11
11
|
class TaskWorkflow extends workflows_1.GithubWorkflow {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.TaskWorkflow", version: "0.101.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.TaskWorkflow", version: "0.101.2" };
|
|
13
13
|
jobId;
|
|
14
14
|
artifactsDirectory;
|
|
15
15
|
constructor(github, options) {
|
|
@@ -15,7 +15,7 @@ const RUNNER_TEMP = "${{ runner.temp }}";
|
|
|
15
15
|
* A set of utility functions for creating GitHub actions in workflows.
|
|
16
16
|
*/
|
|
17
17
|
class WorkflowActions {
|
|
18
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowActions", version: "0.101.
|
|
18
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowActions", version: "0.101.2" };
|
|
19
19
|
/**
|
|
20
20
|
* Creates a .patch file from the current git diff and uploads it as an
|
|
21
21
|
* artifact. Use `checkoutWithPatch` to download and apply in another job.
|
|
@@ -10,7 +10,7 @@ const runner_options_1 = require("../runner-options");
|
|
|
10
10
|
* A set of utility functions for creating jobs in GitHub Workflows.
|
|
11
11
|
*/
|
|
12
12
|
class WorkflowJobs {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowJobs", version: "0.101.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowJobs", version: "0.101.2" };
|
|
14
14
|
/**
|
|
15
15
|
* Creates a pull request with the changes of a patch file.
|
|
16
16
|
*
|
|
@@ -25,7 +25,7 @@ var CheckoutSubmodules;
|
|
|
25
25
|
* A collection of very commonly used, individual, GitHub Workflow Job steps.
|
|
26
26
|
*/
|
|
27
27
|
class WorkflowSteps {
|
|
28
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowSteps", version: "0.101.
|
|
28
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.WorkflowSteps", version: "0.101.2" };
|
|
29
29
|
/**
|
|
30
30
|
* Checks out a repository.
|
|
31
31
|
*
|
package/lib/github/workflows.js
CHANGED
|
@@ -16,7 +16,7 @@ const yaml_1 = require("../yaml");
|
|
|
16
16
|
* @see https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
|
|
17
17
|
*/
|
|
18
18
|
class GithubWorkflow extends component_1.Component {
|
|
19
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GithubWorkflow", version: "0.101.
|
|
19
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.github.GithubWorkflow", version: "0.101.2" };
|
|
20
20
|
/**
|
|
21
21
|
* The name of the workflow. GitHub displays the names of your workflows under your repository's
|
|
22
22
|
* "Actions" tab.
|
|
@@ -45,7 +45,7 @@ const yaml_1 = require("../yaml");
|
|
|
45
45
|
* @see https://docs.gitlab.com/ee/ci/yaml/
|
|
46
46
|
*/
|
|
47
47
|
class CiConfiguration extends component_1.Component {
|
|
48
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.CiConfiguration", version: "0.101.
|
|
48
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.CiConfiguration", version: "0.101.2" };
|
|
49
49
|
/**
|
|
50
50
|
* The name of the configuration.
|
|
51
51
|
*/
|
|
@@ -8,7 +8,7 @@ const nested_configuration_1 = require("./nested-configuration");
|
|
|
8
8
|
* A GitLab CI for the main `.gitlab-ci.yml` file.
|
|
9
9
|
*/
|
|
10
10
|
class GitlabConfiguration extends configuration_1.CiConfiguration {
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.GitlabConfiguration", version: "0.101.
|
|
11
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.GitlabConfiguration", version: "0.101.2" };
|
|
12
12
|
nestedTemplates = {};
|
|
13
13
|
constructor(project, options) {
|
|
14
14
|
super(project, "gitlab-ci", options);
|
|
@@ -7,7 +7,7 @@ const configuration_1 = require("./configuration");
|
|
|
7
7
|
* A GitLab CI for templates that are created and included in the `.gitlab-ci.yml` file.
|
|
8
8
|
*/
|
|
9
9
|
class NestedConfiguration extends configuration_1.CiConfiguration {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.NestedConfiguration", version: "0.101.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.gitlab.NestedConfiguration", version: "0.101.2" };
|
|
11
11
|
parent;
|
|
12
12
|
constructor(project, parent, name, options) {
|
|
13
13
|
super(project, name, options);
|
package/lib/gitpod.js
CHANGED
|
@@ -106,7 +106,7 @@ var GitpodPortVisibility;
|
|
|
106
106
|
* The Gitpod component which emits .gitpod.yml
|
|
107
107
|
*/
|
|
108
108
|
class Gitpod extends component_1.Component {
|
|
109
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Gitpod", version: "0.101.
|
|
109
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Gitpod", version: "0.101.2" };
|
|
110
110
|
dockerImage;
|
|
111
111
|
prebuilds;
|
|
112
112
|
tasks = new Array();
|
package/lib/ignore-file.js
CHANGED
|
@@ -5,7 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
5
5
|
const file_1 = require("./file");
|
|
6
6
|
const util_1 = require("./util");
|
|
7
7
|
class IgnoreFile extends file_1.FileBase {
|
|
8
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.IgnoreFile", version: "0.101.
|
|
8
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.IgnoreFile", version: "0.101.2" };
|
|
9
9
|
_patterns;
|
|
10
10
|
filterCommentLines;
|
|
11
11
|
filterEmptyLines;
|
package/lib/ini.js
CHANGED
|
@@ -41,7 +41,7 @@ const object_file_1 = require("./object-file");
|
|
|
41
41
|
* Represents an INI file.
|
|
42
42
|
*/
|
|
43
43
|
class IniFile extends object_file_1.ObjectFile {
|
|
44
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.IniFile", version: "0.101.
|
|
44
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.IniFile", version: "0.101.2" };
|
|
45
45
|
constructor(project, filePath, options) {
|
|
46
46
|
super(project, filePath, options);
|
|
47
47
|
}
|
package/lib/java/java-project.js
CHANGED
|
@@ -16,7 +16,7 @@ const util_1 = require("../util");
|
|
|
16
16
|
* @pjid java
|
|
17
17
|
*/
|
|
18
18
|
class JavaProject extends github_1.GitHubProject {
|
|
19
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.JavaProject", version: "0.101.
|
|
19
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.JavaProject", version: "0.101.2" };
|
|
20
20
|
/**
|
|
21
21
|
* API for managing `pom.xml`.
|
|
22
22
|
*/
|
package/lib/java/junit.js
CHANGED
|
@@ -10,7 +10,7 @@ const TESTDIR = (0, path_1.join)("src", "test", "java");
|
|
|
10
10
|
* Implements JUnit-based testing.
|
|
11
11
|
*/
|
|
12
12
|
class Junit extends component_1.Component {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.Junit", version: "0.101.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.Junit", version: "0.101.2" };
|
|
14
14
|
constructor(project, options) {
|
|
15
15
|
super(project);
|
|
16
16
|
const pom = options.pom;
|
|
@@ -7,7 +7,7 @@ const component_1 = require("../component");
|
|
|
7
7
|
* Adds the maven-compiler plugin to a POM file and the `compile` task.
|
|
8
8
|
*/
|
|
9
9
|
class MavenCompile extends component_1.Component {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.MavenCompile", version: "0.101.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.MavenCompile", version: "0.101.2" };
|
|
11
11
|
constructor(project, pom, options = {}) {
|
|
12
12
|
super(project);
|
|
13
13
|
project.gitignore.exclude("target");
|
|
@@ -7,7 +7,7 @@ const component_1 = require("../component");
|
|
|
7
7
|
* Configures a maven project to produce a .jar archive with sources and javadocs.
|
|
8
8
|
*/
|
|
9
9
|
class MavenPackaging extends component_1.Component {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.MavenPackaging", version: "0.101.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.MavenPackaging", version: "0.101.2" };
|
|
11
11
|
/**
|
|
12
12
|
* The directory containing the package output, relative to the project outdir
|
|
13
13
|
*/
|
package/lib/java/maven-sample.js
CHANGED
|
@@ -9,7 +9,7 @@ const sample_file_1 = require("../sample-file");
|
|
|
9
9
|
* Java code sample.
|
|
10
10
|
*/
|
|
11
11
|
class MavenSample extends component_1.Component {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.MavenSample", version: "0.101.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.MavenSample", version: "0.101.2" };
|
|
13
13
|
constructor(project, options) {
|
|
14
14
|
super(project);
|
|
15
15
|
const pkg = options.package.split(".");
|
package/lib/java/pom.js
CHANGED
|
@@ -13,7 +13,7 @@ const POM_XML_ATTRS = {
|
|
|
13
13
|
"@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
|
|
14
14
|
};
|
|
15
15
|
class UpdatePolicy {
|
|
16
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.UpdatePolicy", version: "0.101.
|
|
16
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.UpdatePolicy", version: "0.101.2" };
|
|
17
17
|
static ALWAYS = "always";
|
|
18
18
|
static DAILY = "daily";
|
|
19
19
|
static NEVER = "never";
|
|
@@ -37,7 +37,7 @@ var ChecksumPolicy;
|
|
|
37
37
|
* details used by Maven to build the project.
|
|
38
38
|
*/
|
|
39
39
|
class Pom extends component_1.Component {
|
|
40
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.Pom", version: "0.101.
|
|
40
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.Pom", version: "0.101.2" };
|
|
41
41
|
/**
|
|
42
42
|
* The name of the pom file.
|
|
43
43
|
*/
|
package/lib/java/projenrc.js
CHANGED
|
@@ -19,7 +19,7 @@ const util_1 = require("../util");
|
|
|
19
19
|
* `src/main/java/projenrc.java`.
|
|
20
20
|
*/
|
|
21
21
|
class Projenrc extends projenrc_1.ProjenrcFile {
|
|
22
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.Projenrc", version: "0.101.
|
|
22
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.java.Projenrc", version: "0.101.2" };
|
|
23
23
|
/**
|
|
24
24
|
* The name of the java class that includes the projen entrypoint.
|
|
25
25
|
*/
|
|
@@ -100,7 +100,7 @@ const DEFAULT_ASSIST = {
|
|
|
100
100
|
*/
|
|
101
101
|
class Biome extends component_1.Component {
|
|
102
102
|
options;
|
|
103
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Biome", version: "0.101.
|
|
103
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Biome", version: "0.101.2" };
|
|
104
104
|
static of(project) {
|
|
105
105
|
const isBiome = (c) => c instanceof Biome;
|
|
106
106
|
return project.components.find(isBiome);
|
|
@@ -45,7 +45,7 @@ const dependencies_1 = require("../dependencies");
|
|
|
45
45
|
* single file. In the future, this will also supports bundling websites.
|
|
46
46
|
*/
|
|
47
47
|
class Bundler extends component_1.Component {
|
|
48
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Bundler", version: "0.101.
|
|
48
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Bundler", version: "0.101.2" };
|
|
49
49
|
/**
|
|
50
50
|
* Returns the `Bundler` instance associated with a project or `undefined` if
|
|
51
51
|
* there is no Bundler.
|
package/lib/javascript/eslint.js
CHANGED
|
@@ -10,7 +10,7 @@ const yaml_1 = require("../yaml");
|
|
|
10
10
|
* Represents eslint configuration.
|
|
11
11
|
*/
|
|
12
12
|
class Eslint extends component_1.Component {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Eslint", version: "0.101.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.javascript.Eslint", version: "0.101.2" };
|
|
14
14
|
/**
|
|
15
15
|
* Returns the singleton Eslint component of a project or undefined if there is none.
|
|
16
16
|
*/
|
package/lib/javascript/jest.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ export interface JestConfigOptions {
|
|
|
60
60
|
readonly coverageProvider?: "babel" | "v8";
|
|
61
61
|
/**
|
|
62
62
|
* A list of reporter names that Jest uses when writing coverage reports. Any istanbul reporter can be used
|
|
63
|
-
* @default - ["json", "lcov", "
|
|
63
|
+
* @default - ["json", "lcov", "clover", "cobertura", "text"]
|
|
64
64
|
*/
|
|
65
65
|
readonly coverageReporters?: string[];
|
|
66
66
|
/**
|
|
@@ -86,12 +86,26 @@ export interface JestConfigOptions {
|
|
|
86
86
|
* @default - false
|
|
87
87
|
*/
|
|
88
88
|
readonly errorOnDeprecated?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Jest will run `.mjs` and `.js` files with nearest package.json's `type` field set to `module` as
|
|
91
|
+
* ECMAScript Modules. If you have any other files that should run with native ESM, you need to specify
|
|
92
|
+
* their file extension here.
|
|
93
|
+
* @default - []
|
|
94
|
+
*/
|
|
95
|
+
readonly extensionsToTreatAsEsm?: string[];
|
|
89
96
|
/**
|
|
90
97
|
* Test files run inside a vm, which slows calls to global context properties (e.g. Math).
|
|
91
98
|
* With this option you can specify extra properties to be defined inside the vm for faster lookups.
|
|
92
99
|
* @default - undefined
|
|
100
|
+
* @deprecated Renamed to `sandboxInjectedGlobals` in Jest 28. Use `sandboxInjectedGlobals` instead.
|
|
93
101
|
*/
|
|
94
102
|
readonly extraGlobals?: string[];
|
|
103
|
+
/**
|
|
104
|
+
* The fake timers may be useful when a piece of code sets a long timeout that we don't want to wait for
|
|
105
|
+
* in a test. This option provides the default configuration of fake timers for all tests.
|
|
106
|
+
* @default - {}
|
|
107
|
+
*/
|
|
108
|
+
readonly fakeTimers?: FakeTimers;
|
|
95
109
|
/**
|
|
96
110
|
* Test files are normally ignored from collecting code coverage.
|
|
97
111
|
* With this option, you can overwrite this behavior and include otherwise ignored files in code coverage.
|
|
@@ -185,6 +199,12 @@ export interface JestConfigOptions {
|
|
|
185
199
|
* @default - failure-change
|
|
186
200
|
*/
|
|
187
201
|
readonly notifyMode?: "always" | "failure" | "success" | "change" | "success-change" | "failure-change";
|
|
202
|
+
/**
|
|
203
|
+
* Print a warning indicating that there are probable open handles if Jest does not exit cleanly this
|
|
204
|
+
* number of milliseconds after it completes. Use `0` to disable the warning.
|
|
205
|
+
* @default - 1000
|
|
206
|
+
*/
|
|
207
|
+
readonly openHandlesTimeout?: number;
|
|
188
208
|
/**
|
|
189
209
|
* A preset that is used as a base for Jest's configuration. A preset should point to an npm module
|
|
190
210
|
* that has a jest-preset.json or jest-preset.js file at the root.
|
|
@@ -205,6 +225,11 @@ export interface JestConfigOptions {
|
|
|
205
225
|
readonly projects?: Array<string | {
|
|
206
226
|
[key: string]: any;
|
|
207
227
|
}>;
|
|
228
|
+
/**
|
|
229
|
+
* The equivalent of the `--randomize` flag to randomize the order of the tests in a file.
|
|
230
|
+
* @default - false
|
|
231
|
+
*/
|
|
232
|
+
readonly randomize?: boolean;
|
|
208
233
|
/**
|
|
209
234
|
* Use this configuration option to add custom reporters to Jest. A custom reporter is a class
|
|
210
235
|
* that implements onRunStart, onTestStart, onTestResult, onRunComplete methods that will be
|
|
@@ -250,11 +275,23 @@ export interface JestConfigOptions {
|
|
|
250
275
|
* @default - ["<rootDir>"]
|
|
251
276
|
*/
|
|
252
277
|
readonly roots?: string[];
|
|
278
|
+
/**
|
|
279
|
+
* This option allows the use of a custom runtime to execute test files. A custom runtime can be
|
|
280
|
+
* provided by specifying a path to a runtime implementation.
|
|
281
|
+
* @default - "jest-runtime"
|
|
282
|
+
*/
|
|
283
|
+
readonly runtime?: string;
|
|
253
284
|
/**
|
|
254
285
|
* This option allows you to use a custom runner instead of Jest's default test runner.
|
|
255
286
|
* @default - "jest-runner"
|
|
256
287
|
*/
|
|
257
288
|
readonly runner?: string;
|
|
289
|
+
/**
|
|
290
|
+
* Test files run inside a vm, which slows calls to global context properties (e.g. Math).
|
|
291
|
+
* With this option you can specify extra properties to be defined inside the vm for faster lookups.
|
|
292
|
+
* @default - undefined
|
|
293
|
+
*/
|
|
294
|
+
readonly sandboxInjectedGlobals?: string[];
|
|
258
295
|
/**
|
|
259
296
|
* A list of paths to modules that run some code to configure or set up the testing environment.
|
|
260
297
|
* Each setupFile will be run once per test file. Since every test runs in its own environment,
|
|
@@ -271,11 +308,22 @@ export interface JestConfigOptions {
|
|
|
271
308
|
* @default - []
|
|
272
309
|
*/
|
|
273
310
|
readonly setupFilesAfterEnv?: string[];
|
|
311
|
+
/**
|
|
312
|
+
* The equivalent of the `--showSeed` flag to print the seed in the test report summary.
|
|
313
|
+
* @default - false
|
|
314
|
+
*/
|
|
315
|
+
readonly showSeed?: boolean;
|
|
274
316
|
/**
|
|
275
317
|
* The number of seconds after which a test is considered as slow and reported as such in the results.
|
|
276
318
|
* @default - 5
|
|
277
319
|
*/
|
|
278
320
|
readonly slowTestThreshold?: number;
|
|
321
|
+
/**
|
|
322
|
+
* Allows overriding specific snapshot formatting options documented in the pretty-format readme,
|
|
323
|
+
* with the exceptions of `compareKeys` and `plugins`.
|
|
324
|
+
* @default - {escapeString: false, printBasicPrototype: false}
|
|
325
|
+
*/
|
|
326
|
+
readonly snapshotFormat?: SnapshotFormatOptions;
|
|
279
327
|
/**
|
|
280
328
|
* The path to a module that can resolve test<->snapshot path. This config option lets you customize
|
|
281
329
|
* where Jest stores snapshot files on disk.
|
|
@@ -289,9 +337,9 @@ export interface JestConfigOptions {
|
|
|
289
337
|
readonly snapshotSerializers?: string[];
|
|
290
338
|
/**
|
|
291
339
|
* The test environment that will be used for testing. The default environment in Jest is a
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
* @default - "
|
|
340
|
+
* Node.js environment. If you are building a web app, you can use a browser-like environment
|
|
341
|
+
* through jsdom instead.
|
|
342
|
+
* @default - "node"
|
|
295
343
|
*/
|
|
296
344
|
readonly testEnvironment?: string;
|
|
297
345
|
/**
|
|
@@ -331,9 +379,9 @@ export interface JestConfigOptions {
|
|
|
331
379
|
*/
|
|
332
380
|
readonly testResultsProcessor?: string;
|
|
333
381
|
/**
|
|
334
|
-
* This option allows the use of a custom test runner. The default is
|
|
382
|
+
* This option allows the use of a custom test runner. The default is jest-circus. A custom test runner
|
|
335
383
|
* can be provided by specifying a path to a test runner implementation.
|
|
336
|
-
* @default - "
|
|
384
|
+
* @default - "jest-circus/runner"
|
|
337
385
|
*/
|
|
338
386
|
readonly testRunner?: string;
|
|
339
387
|
/**
|
|
@@ -350,12 +398,14 @@ export interface JestConfigOptions {
|
|
|
350
398
|
/**
|
|
351
399
|
* This option sets the URL for the jsdom environment. It is reflected in properties such as location.href.
|
|
352
400
|
* @default - "http://localhost"
|
|
401
|
+
* @deprecated Removed in Jest 28. Use `testEnvironmentOptions.url` instead.
|
|
353
402
|
*/
|
|
354
403
|
readonly testURL?: string;
|
|
355
404
|
/**
|
|
356
405
|
* Setting this value to legacy or fake allows the use of fake timers for functions such as setTimeout.
|
|
357
406
|
* Fake timers are useful when a piece of code sets a long timeout that we don't want to wait for in a test.
|
|
358
407
|
* @default - "real"
|
|
408
|
+
* @deprecated Renamed to `fakeTimers` in Jest 27. Use `fakeTimers` instead.
|
|
359
409
|
*/
|
|
360
410
|
readonly timers?: string;
|
|
361
411
|
/**
|
|
@@ -386,11 +436,18 @@ export interface JestConfigOptions {
|
|
|
386
436
|
* @default - false
|
|
387
437
|
*/
|
|
388
438
|
readonly verbose?: boolean;
|
|
439
|
+
/**
|
|
440
|
+
* Gives one event loop turn to handle `rejectionHandled`, `uncaughtException` or `unhandledRejection`.
|
|
441
|
+
* Without this flag Jest may report false-positive errors or fail to report actually unhandled rejections.
|
|
442
|
+
* This option may add a noticeable overhead for fast test suites.
|
|
443
|
+
* @default - false
|
|
444
|
+
*/
|
|
445
|
+
readonly waitForUnhandledRejections?: boolean;
|
|
389
446
|
/**
|
|
390
447
|
* An array of RegExp patterns that are matched against all source file paths before re-running tests
|
|
391
448
|
* in watch mode. If the file path matches any of the patterns, when it is updated, it will not trigger
|
|
392
449
|
* a re-run of tests.
|
|
393
|
-
* @default - []
|
|
450
|
+
* @default - ["/node_modules/"]
|
|
394
451
|
*/
|
|
395
452
|
readonly watchPathIgnorePatterns?: string[];
|
|
396
453
|
/**
|
|
@@ -403,6 +460,25 @@ export interface JestConfigOptions {
|
|
|
403
460
|
* @default - true
|
|
404
461
|
*/
|
|
405
462
|
readonly watchman?: boolean;
|
|
463
|
+
/**
|
|
464
|
+
* Timeout in milliseconds for a worker process to exit gracefully after all tests have completed.
|
|
465
|
+
* If a worker does not exit within this timeout, it is force-killed.
|
|
466
|
+
* @default - 500
|
|
467
|
+
*/
|
|
468
|
+
readonly workerGracefulExitTimeout?: number;
|
|
469
|
+
/**
|
|
470
|
+
* Specifies the memory limit for workers before they are recycled and is primarily a work-around for
|
|
471
|
+
* memory leaks. The limit can be specified as a percentage of system memory (e.g. `0.5` or `"50%"`)
|
|
472
|
+
* or as a fixed byte value (e.g. `"512MB"`).
|
|
473
|
+
* @default - undefined
|
|
474
|
+
*/
|
|
475
|
+
readonly workerIdleMemoryLimit?: number | string;
|
|
476
|
+
/**
|
|
477
|
+
* Whether to use worker threads for parallelization. Child processes are used by default.
|
|
478
|
+
* Using worker threads may help to improve performance.
|
|
479
|
+
* @default - false
|
|
480
|
+
*/
|
|
481
|
+
readonly workerThreads?: boolean;
|
|
406
482
|
/**
|
|
407
483
|
* Escape hatch to allow any value
|
|
408
484
|
*/
|
|
@@ -521,6 +597,102 @@ export interface HasteConfig {
|
|
|
521
597
|
readonly platforms?: Array<string>;
|
|
522
598
|
readonly throwOnModuleCollision?: boolean;
|
|
523
599
|
}
|
|
600
|
+
/**
|
|
601
|
+
* The default configuration of fake timers for all tests.
|
|
602
|
+
*
|
|
603
|
+
* @see https://jestjs.io/docs/configuration#faketimers-object
|
|
604
|
+
*/
|
|
605
|
+
export interface FakeTimers {
|
|
606
|
+
/**
|
|
607
|
+
* If set to `true` all timers will be advanced automatically by 20 milliseconds every 20 milliseconds.
|
|
608
|
+
* A custom time delta may be provided by passing a number.
|
|
609
|
+
* @default - false
|
|
610
|
+
*/
|
|
611
|
+
readonly advanceTimers?: boolean | number;
|
|
612
|
+
/**
|
|
613
|
+
* List of names of APIs (e.g. `Date`, `nextTick`, `setTimeout`) that should not be faked.
|
|
614
|
+
* @default - [] (all APIs are faked)
|
|
615
|
+
*/
|
|
616
|
+
readonly doNotFake?: string[];
|
|
617
|
+
/**
|
|
618
|
+
* Whether fake timers should be enabled for all test files.
|
|
619
|
+
* @default - false
|
|
620
|
+
*/
|
|
621
|
+
readonly enableGlobally?: boolean;
|
|
622
|
+
/**
|
|
623
|
+
* Use the old fake timers implementation instead of one backed by `@sinonjs/fake-timers`.
|
|
624
|
+
* @default - false
|
|
625
|
+
*/
|
|
626
|
+
readonly legacyFakeTimers?: boolean;
|
|
627
|
+
/**
|
|
628
|
+
* Sets current system time to be used by fake timers, in milliseconds.
|
|
629
|
+
* @default - Date.now()
|
|
630
|
+
*/
|
|
631
|
+
readonly now?: number;
|
|
632
|
+
/**
|
|
633
|
+
* Maximum number of recursive timers that will be run.
|
|
634
|
+
* @default - 100000
|
|
635
|
+
*/
|
|
636
|
+
readonly timerLimit?: number;
|
|
637
|
+
}
|
|
638
|
+
/**
|
|
639
|
+
* Snapshot formatting options. Mirrors the pretty-format options, with the exceptions of
|
|
640
|
+
* `compareKeys` and `plugins`.
|
|
641
|
+
*
|
|
642
|
+
* @see https://jestjs.io/docs/configuration#snapshotformat-object
|
|
643
|
+
*/
|
|
644
|
+
export interface SnapshotFormatOptions {
|
|
645
|
+
/**
|
|
646
|
+
* Calls `toJSON` on objects that have such a method.
|
|
647
|
+
* @default - true
|
|
648
|
+
*/
|
|
649
|
+
readonly callToJSON?: boolean;
|
|
650
|
+
/**
|
|
651
|
+
* Escapes special characters in regular expressions.
|
|
652
|
+
* @default - false
|
|
653
|
+
*/
|
|
654
|
+
readonly escapeRegex?: boolean;
|
|
655
|
+
/**
|
|
656
|
+
* Escapes quotes in strings.
|
|
657
|
+
* @default - false
|
|
658
|
+
*/
|
|
659
|
+
readonly escapeString?: boolean;
|
|
660
|
+
/**
|
|
661
|
+
* Highlights syntax with colors in terminal (some plugins).
|
|
662
|
+
* @default - false
|
|
663
|
+
*/
|
|
664
|
+
readonly highlight?: boolean;
|
|
665
|
+
/**
|
|
666
|
+
* Spaces of indentation between levels of nesting.
|
|
667
|
+
* @default - 2
|
|
668
|
+
*/
|
|
669
|
+
readonly indent?: number;
|
|
670
|
+
/**
|
|
671
|
+
* Maximum number of levels to print.
|
|
672
|
+
* @default - Infinity
|
|
673
|
+
*/
|
|
674
|
+
readonly maxDepth?: number;
|
|
675
|
+
/**
|
|
676
|
+
* Maximum number of elements to print at a given level.
|
|
677
|
+
* @default - Infinity
|
|
678
|
+
*/
|
|
679
|
+
readonly maxWidth?: number;
|
|
680
|
+
/**
|
|
681
|
+
* Prints objects on a single line when `true`.
|
|
682
|
+
* @default - false
|
|
683
|
+
*/
|
|
684
|
+
readonly min?: boolean;
|
|
685
|
+
/**
|
|
686
|
+
* Prints the prototype for basic objects and arrays.
|
|
687
|
+
* @default - false
|
|
688
|
+
*/
|
|
689
|
+
readonly printBasicPrototype?: boolean;
|
|
690
|
+
/**
|
|
691
|
+
* Prints the name of functions.
|
|
692
|
+
* @default - true
|
|
693
|
+
*/
|
|
694
|
+
readonly printFunctionName?: boolean;
|
|
695
|
+
}
|
|
524
696
|
export declare class JestReporter {
|
|
525
697
|
private readonly name;
|
|
526
698
|
private readonly options?;
|