projen 0.70.2 → 0.70.4
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 +108 -90
- package/docs/api/API.md +2 -0
- package/lib/.types-compat/ts3.9/lib/_resolve.d.ts +2 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/auto-discover.d.ts +129 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-app-java.d.ts +53 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-app-py.d.ts +49 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-app-ts.d.ts +81 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-construct.d.ts +89 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-deps-java.d.ts +7 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-deps-js.d.ts +7 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-deps-py.d.ts +7 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-deps.d.ts +168 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-pytest-sample.d.ts +5 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/cdk-config.d.ts +122 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/cdk-tasks.d.ts +33 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/index.d.ts +14 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/integration-test.d.ts +46 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/internal.d.ts +20 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/lambda-extension.d.ts +68 -0
- package/lib/.types-compat/ts3.9/lib/awscdk/lambda-function.d.ts +171 -0
- package/lib/.types-compat/ts3.9/lib/build/build-workflow.d.ts +180 -0
- package/lib/.types-compat/ts3.9/lib/build/index.d.ts +1 -0
- package/lib/.types-compat/ts3.9/lib/builtin-example.task.d.ts +0 -0
- package/lib/.types-compat/ts3.9/lib/cdk/auto-discover-base.d.ts +45 -0
- package/lib/.types-compat/ts3.9/lib/cdk/construct-lib.d.ts +38 -0
- package/lib/.types-compat/ts3.9/lib/cdk/consts.d.ts +6 -0
- package/lib/.types-compat/ts3.9/lib/cdk/index.d.ts +5 -0
- package/lib/.types-compat/ts3.9/lib/cdk/integration-test-base.d.ts +53 -0
- package/lib/.types-compat/ts3.9/lib/cdk/internal.d.ts +4 -0
- package/lib/.types-compat/ts3.9/lib/cdk/jsii-docgen.d.ts +20 -0
- package/lib/.types-compat/ts3.9/lib/cdk/jsii-project.d.ts +153 -0
- package/lib/.types-compat/ts3.9/lib/cdk8s/auto-discover.d.ts +33 -0
- package/lib/.types-compat/ts3.9/lib/cdk8s/cdk8s-app-py.d.ts +39 -0
- package/lib/.types-compat/ts3.9/lib/cdk8s/cdk8s-app-ts.d.ts +45 -0
- package/lib/.types-compat/ts3.9/lib/cdk8s/cdk8s-construct.d.ts +71 -0
- package/lib/.types-compat/ts3.9/lib/cdk8s/cdk8s-deps-js.d.ts +4 -0
- package/lib/.types-compat/ts3.9/lib/cdk8s/cdk8s-deps-py.d.ts +4 -0
- package/lib/.types-compat/ts3.9/lib/cdk8s/cdk8s-deps.d.ts +144 -0
- package/lib/.types-compat/ts3.9/lib/cdk8s/index.d.ts +7 -0
- package/lib/.types-compat/ts3.9/lib/cdk8s/integration-test.d.ts +13 -0
- package/lib/.types-compat/ts3.9/lib/cdktf/cdktf-construct.d.ts +26 -0
- package/lib/.types-compat/ts3.9/lib/cdktf/index.d.ts +1 -0
- package/lib/.types-compat/ts3.9/lib/circleci/circleci.d.ts +132 -0
- package/lib/.types-compat/ts3.9/lib/circleci/constant.d.ts +5 -0
- package/lib/.types-compat/ts3.9/lib/circleci/index.d.ts +3 -0
- package/lib/.types-compat/ts3.9/lib/circleci/model.d.ts +260 -0
- package/lib/.types-compat/ts3.9/lib/cleanup.d.ts +2 -0
- package/lib/.types-compat/ts3.9/lib/cli/cmds/new.d.ts +9 -0
- package/lib/.types-compat/ts3.9/lib/cli/index.d.ts +1 -0
- package/lib/.types-compat/ts3.9/lib/cli/macros.d.ts +1 -0
- package/lib/.types-compat/ts3.9/lib/cli/synth.d.ts +19 -0
- package/lib/.types-compat/ts3.9/lib/cli/tasks.d.ts +7 -0
- package/lib/.types-compat/ts3.9/lib/cli/util.d.ts +19 -0
- package/lib/.types-compat/ts3.9/lib/clobber.d.ts +5 -0
- package/lib/.types-compat/ts3.9/lib/common.d.ts +5 -0
- package/lib/.types-compat/ts3.9/lib/component.d.ts +20 -0
- package/lib/.types-compat/ts3.9/lib/dependencies.d.ts +160 -0
- package/lib/.types-compat/ts3.9/lib/dev-env.d.ts +80 -0
- package/lib/.types-compat/ts3.9/lib/docker-compose/docker-compose-network.d.ts +103 -0
- package/lib/.types-compat/ts3.9/lib/docker-compose/docker-compose-port.d.ts +44 -0
- package/lib/.types-compat/ts3.9/lib/docker-compose/docker-compose-render.d.ts +2 -0
- package/lib/.types-compat/ts3.9/lib/docker-compose/docker-compose-service.d.ts +155 -0
- package/lib/.types-compat/ts3.9/lib/docker-compose/docker-compose-volume.d.ts +64 -0
- package/lib/.types-compat/ts3.9/lib/docker-compose/docker-compose.d.ts +99 -0
- package/lib/.types-compat/ts3.9/lib/docker-compose/index.d.ts +5 -0
- package/lib/.types-compat/ts3.9/lib/file.d.ts +119 -0
- package/lib/.types-compat/ts3.9/lib/gitattributes.d.ts +26 -0
- package/lib/.types-compat/ts3.9/lib/github/actions-provider.d.ts +28 -0
- package/lib/.types-compat/ts3.9/lib/github/auto-approve.d.ts +44 -0
- package/lib/.types-compat/ts3.9/lib/github/auto-merge.d.ts +41 -0
- package/lib/.types-compat/ts3.9/lib/github/constants.d.ts +20 -0
- package/lib/.types-compat/ts3.9/lib/github/dependabot.d.ts +247 -0
- package/lib/.types-compat/ts3.9/lib/github/github-credentials.d.ts +58 -0
- package/lib/.types-compat/ts3.9/lib/github/github-project.d.ts +177 -0
- package/lib/.types-compat/ts3.9/lib/github/github.d.ts +110 -0
- package/lib/.types-compat/ts3.9/lib/github/index.d.ts +15 -0
- package/lib/.types-compat/ts3.9/lib/github/mergify.d.ts +81 -0
- package/lib/.types-compat/ts3.9/lib/github/pr-template.d.ts +19 -0
- package/lib/.types-compat/ts3.9/lib/github/pull-request-lint.d.ts +48 -0
- package/lib/.types-compat/ts3.9/lib/github/stale-util.d.ts +8 -0
- package/lib/.types-compat/ts3.9/lib/github/stale.d.ts +85 -0
- package/lib/.types-compat/ts3.9/lib/github/task-workflow.d.ts +119 -0
- package/lib/.types-compat/ts3.9/lib/github/util.d.ts +1 -0
- package/lib/.types-compat/ts3.9/lib/github/workflow-actions.d.ts +78 -0
- package/lib/.types-compat/ts3.9/lib/github/workflows-model.d.ts +1031 -0
- package/lib/.types-compat/ts3.9/lib/github/workflows.d.ts +108 -0
- package/lib/.types-compat/ts3.9/lib/gitlab/configuration-model.d.ts +536 -0
- package/lib/.types-compat/ts3.9/lib/gitlab/configuration.d.ts +170 -0
- package/lib/.types-compat/ts3.9/lib/gitlab/gitlab-configuration.d.ts +19 -0
- package/lib/.types-compat/ts3.9/lib/gitlab/index.d.ts +4 -0
- package/lib/.types-compat/ts3.9/lib/gitlab/nested-configuration.d.ts +11 -0
- package/lib/.types-compat/ts3.9/lib/gitpod.d.ts +301 -0
- package/lib/.types-compat/ts3.9/lib/ignore-file.d.ts +59 -0
- package/lib/.types-compat/ts3.9/lib/index.d.ts +51 -0
- package/lib/.types-compat/ts3.9/lib/ini.d.ts +15 -0
- package/lib/.types-compat/ts3.9/lib/inventory.d.ts +46 -0
- package/lib/.types-compat/ts3.9/lib/java/index.d.ts +7 -0
- package/lib/.types-compat/ts3.9/lib/java/java-project.d.ts +141 -0
- package/lib/.types-compat/ts3.9/lib/java/junit.d.ts +29 -0
- package/lib/.types-compat/ts3.9/lib/java/maven-compile.d.ts +26 -0
- package/lib/.types-compat/ts3.9/lib/java/maven-packaging.d.ts +34 -0
- package/lib/.types-compat/ts3.9/lib/java/maven-sample.d.ts +14 -0
- package/lib/.types-compat/ts3.9/lib/java/pom.d.ts +214 -0
- package/lib/.types-compat/ts3.9/lib/java/projenrc.d.ts +59 -0
- package/lib/.types-compat/ts3.9/lib/javascript/bundler.d.ts +174 -0
- package/lib/.types-compat/ts3.9/lib/javascript/eslint.d.ts +175 -0
- package/lib/.types-compat/ts3.9/lib/javascript/index.d.ts +10 -0
- package/lib/.types-compat/ts3.9/lib/javascript/jest.d.ts +599 -0
- package/lib/.types-compat/ts3.9/lib/javascript/node-package.d.ts +605 -0
- package/lib/.types-compat/ts3.9/lib/javascript/node-project.d.ts +464 -0
- package/lib/.types-compat/ts3.9/lib/javascript/npm-config.d.ts +40 -0
- package/lib/.types-compat/ts3.9/lib/javascript/prettier.d.ts +358 -0
- package/lib/.types-compat/ts3.9/lib/javascript/projenrc.d.ts +18 -0
- package/lib/.types-compat/ts3.9/lib/javascript/render-options.d.ts +88 -0
- package/lib/.types-compat/ts3.9/lib/javascript/typescript-config.d.ts +403 -0
- package/lib/.types-compat/ts3.9/lib/javascript/upgrade-dependencies.d.ts +188 -0
- package/lib/.types-compat/ts3.9/lib/javascript/util.d.ts +21 -0
- package/lib/.types-compat/ts3.9/lib/json-patch.d.ts +75 -0
- package/lib/.types-compat/ts3.9/lib/json.d.ts +27 -0
- package/lib/.types-compat/ts3.9/lib/license.d.ts +31 -0
- package/lib/.types-compat/ts3.9/lib/logger.d.ts +73 -0
- package/lib/.types-compat/ts3.9/lib/logging.d.ts +8 -0
- package/lib/.types-compat/ts3.9/lib/makefile.d.ts +77 -0
- package/lib/.types-compat/ts3.9/lib/object-file.d.ts +155 -0
- package/lib/.types-compat/ts3.9/lib/option-hints.d.ts +18 -0
- package/lib/.types-compat/ts3.9/lib/project-build.d.ts +41 -0
- package/lib/.types-compat/ts3.9/lib/project.d.ts +374 -0
- package/lib/.types-compat/ts3.9/lib/projects.d.ts +63 -0
- package/lib/.types-compat/ts3.9/lib/projenrc-json.d.ts +27 -0
- package/lib/.types-compat/ts3.9/lib/projenrc.d.ts +18 -0
- package/lib/.types-compat/ts3.9/lib/python/index.d.ts +14 -0
- package/lib/.types-compat/ts3.9/lib/python/pip.d.ts +32 -0
- package/lib/.types-compat/ts3.9/lib/python/poetry.d.ts +177 -0
- package/lib/.types-compat/ts3.9/lib/python/projenrc.d.ts +32 -0
- package/lib/.types-compat/ts3.9/lib/python/pytest-sample.d.ts +21 -0
- package/lib/.types-compat/ts3.9/lib/python/pytest.d.ts +24 -0
- package/lib/.types-compat/ts3.9/lib/python/python-deps.d.ts +30 -0
- package/lib/.types-compat/ts3.9/lib/python/python-env.d.ts +6 -0
- package/lib/.types-compat/ts3.9/lib/python/python-packaging.d.ts +62 -0
- package/lib/.types-compat/ts3.9/lib/python/python-project.d.ts +190 -0
- package/lib/.types-compat/ts3.9/lib/python/python-sample.d.ts +17 -0
- package/lib/.types-compat/ts3.9/lib/python/requirements-file.d.ts +29 -0
- package/lib/.types-compat/ts3.9/lib/python/setuppy.d.ts +70 -0
- package/lib/.types-compat/ts3.9/lib/python/setuptools.d.ts +15 -0
- package/lib/.types-compat/ts3.9/lib/python/venv.d.ts +28 -0
- package/lib/.types-compat/ts3.9/lib/readme.d.ts +28 -0
- package/lib/.types-compat/ts3.9/lib/release/bump-version.d.ts +72 -0
- package/lib/.types-compat/ts3.9/lib/release/bump-version.task.d.ts +1 -0
- package/lib/.types-compat/ts3.9/lib/release/index.d.ts +3 -0
- package/lib/.types-compat/ts3.9/lib/release/publisher.d.ts +533 -0
- package/lib/.types-compat/ts3.9/lib/release/release-trigger.d.ts +97 -0
- package/lib/.types-compat/ts3.9/lib/release/release.d.ts +338 -0
- package/lib/.types-compat/ts3.9/lib/release/reset-version.task.d.ts +1 -0
- package/lib/.types-compat/ts3.9/lib/release/tag-version.d.ts +31 -0
- package/lib/.types-compat/ts3.9/lib/release/tag-version.task.d.ts +1 -0
- package/lib/.types-compat/ts3.9/lib/release/update-changelog.d.ts +36 -0
- package/lib/.types-compat/ts3.9/lib/release/update-changelog.task.d.ts +1 -0
- package/lib/.types-compat/ts3.9/lib/renovatebot.d.ts +99 -0
- package/lib/.types-compat/ts3.9/lib/run-projenrc-json.task.d.ts +1 -0
- package/lib/.types-compat/ts3.9/lib/sample-file.d.ts +88 -0
- package/lib/.types-compat/ts3.9/lib/semver.d.ts +34 -0
- package/lib/.types-compat/ts3.9/lib/smithy/smithy-build.d.ts +156 -0
- package/lib/.types-compat/ts3.9/lib/source-code.d.ts +46 -0
- package/lib/.types-compat/ts3.9/lib/task-model.d.ts +130 -0
- package/lib/.types-compat/ts3.9/lib/task-runtime.d.ts +32 -0
- package/lib/.types-compat/ts3.9/lib/task.d.ts +129 -0
- package/lib/.types-compat/ts3.9/lib/tasks.d.ts +51 -0
- package/lib/.types-compat/ts3.9/lib/testing.d.ts +18 -0
- package/lib/.types-compat/ts3.9/lib/textfile.d.ts +33 -0
- package/lib/.types-compat/ts3.9/lib/toml.d.ts +15 -0
- package/lib/.types-compat/ts3.9/lib/typescript/index.d.ts +4 -0
- package/lib/.types-compat/ts3.9/lib/typescript/projenrc-ts.d.ts +43 -0
- package/lib/.types-compat/ts3.9/lib/typescript/projenrc.d.ts +27 -0
- package/lib/.types-compat/ts3.9/lib/typescript/typescript-typedoc.d.ts +7 -0
- package/lib/.types-compat/ts3.9/lib/typescript/typescript.d.ts +163 -0
- package/lib/.types-compat/ts3.9/lib/util/semver.d.ts +43 -0
- package/lib/.types-compat/ts3.9/lib/util/synth.d.ts +42 -0
- package/lib/.types-compat/ts3.9/lib/util.d.ts +131 -0
- package/lib/.types-compat/ts3.9/lib/version.d.ts +45 -0
- package/lib/.types-compat/ts3.9/lib/vscode/devcontainer.d.ts +86 -0
- package/lib/.types-compat/ts3.9/lib/vscode/extensions.d.ts +36 -0
- package/lib/.types-compat/ts3.9/lib/vscode/index.d.ts +5 -0
- package/lib/.types-compat/ts3.9/lib/vscode/launch-config.d.ts +90 -0
- package/lib/.types-compat/ts3.9/lib/vscode/settings.d.ts +24 -0
- package/lib/.types-compat/ts3.9/lib/vscode/vscode.d.ts +14 -0
- package/lib/.types-compat/ts3.9/lib/web/index.d.ts +4 -0
- package/lib/.types-compat/ts3.9/lib/web/next.d.ts +100 -0
- package/lib/.types-compat/ts3.9/lib/web/postcss.d.ts +28 -0
- package/lib/.types-compat/ts3.9/lib/web/react.d.ts +105 -0
- package/lib/.types-compat/ts3.9/lib/web/tailwind.d.ts +21 -0
- package/lib/.types-compat/ts3.9/lib/xmlfile.d.ts +18 -0
- package/lib/.types-compat/ts3.9/lib/yaml.d.ts +25 -0
- package/lib/awscdk/auto-discover.js +5 -5
- 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 +2 -2
- 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 +1 -1
- 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-docgen.js +1 -1
- package/lib/cdk/jsii-project.js +8 -5
- 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/cli/index.js +2 -18
- 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/dependabot.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/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.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 +1 -1
- package/lib/java/projenrc.js +1 -1
- package/lib/javascript/bundler.js +1 -1
- package/lib/javascript/eslint.js +1 -1
- package/lib/javascript/jest.js +4 -4
- package/lib/javascript/node-package.js +1 -1
- 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 +1 -1
- package/lib/javascript/upgrade-dependencies.js +2 -2
- 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.js +1 -1
- package/lib/projects.js +1 -1
- package/lib/projenrc-json.js +2 -2
- 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/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/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/publisher.d.ts +7 -0
- package/lib/release/publisher.js +9 -2
- package/lib/release/release-trigger.js +1 -1
- package/lib/release/release.js +3 -2
- package/lib/renovatebot.js +1 -1
- package/lib/sample-file.js +2 -2
- package/lib/semver.js +1 -1
- package/lib/source-code.js +1 -1
- package/lib/task-runtime.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 +3 -3
- package/lib/util.d.ts +19 -0
- package/lib/util.js +33 -2
- package/lib/version.js +1 -1
- 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 +4 -4
- package/lib/web/tailwind.js +1 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Component } from "../component";
|
|
2
|
+
import { JsonFile } from "../json";
|
|
3
|
+
import { Project } from "../project";
|
|
4
|
+
/**
|
|
5
|
+
* Common options for `cdk.json`.
|
|
6
|
+
*/
|
|
7
|
+
export interface CdkConfigCommonOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Additional context to include in `cdk.json`.
|
|
10
|
+
*
|
|
11
|
+
* @default - no additional context
|
|
12
|
+
*/
|
|
13
|
+
readonly context?: {
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Include all feature flags in cdk.json
|
|
18
|
+
*
|
|
19
|
+
* @default true
|
|
20
|
+
*/
|
|
21
|
+
readonly featureFlags?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* To protect you against unintended changes that affect your security posture,
|
|
24
|
+
* the AWS CDK Toolkit prompts you to approve security-related changes before deploying them.
|
|
25
|
+
*
|
|
26
|
+
* @default ApprovalLevel.BROADENING
|
|
27
|
+
*/
|
|
28
|
+
readonly requireApproval?: ApprovalLevel;
|
|
29
|
+
/**
|
|
30
|
+
* cdk.out directory.
|
|
31
|
+
*
|
|
32
|
+
* @default "cdk.out"
|
|
33
|
+
*/
|
|
34
|
+
readonly cdkout?: string;
|
|
35
|
+
/**
|
|
36
|
+
* A command to execute before synthesis. This command will be called when
|
|
37
|
+
* running `cdk synth` or when `cdk watch` identifies a change in your source
|
|
38
|
+
* code before redeployment.
|
|
39
|
+
*
|
|
40
|
+
* @default - no build command
|
|
41
|
+
*/
|
|
42
|
+
readonly buildCommand?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Glob patterns to include in `cdk watch`.
|
|
45
|
+
*
|
|
46
|
+
* @default []
|
|
47
|
+
*/
|
|
48
|
+
readonly watchIncludes?: string[];
|
|
49
|
+
/**
|
|
50
|
+
* Glob patterns to exclude from `cdk watch`.
|
|
51
|
+
*
|
|
52
|
+
* @default []
|
|
53
|
+
*/
|
|
54
|
+
readonly watchExcludes?: string[];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Options for `CdkJson`.
|
|
58
|
+
*/
|
|
59
|
+
export interface CdkConfigOptions extends CdkConfigCommonOptions {
|
|
60
|
+
/**
|
|
61
|
+
* The command line to execute in order to synthesize the CDK application
|
|
62
|
+
* (language specific).
|
|
63
|
+
*/
|
|
64
|
+
readonly app: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Represents cdk.json file.
|
|
68
|
+
*/
|
|
69
|
+
export declare class CdkConfig extends Component {
|
|
70
|
+
/**
|
|
71
|
+
* Represents the JSON file.
|
|
72
|
+
*/
|
|
73
|
+
readonly json: JsonFile;
|
|
74
|
+
/**
|
|
75
|
+
* Name of the cdk.out directory.
|
|
76
|
+
*/
|
|
77
|
+
readonly cdkout: string;
|
|
78
|
+
/**
|
|
79
|
+
* List of glob patterns to be included by CDK.
|
|
80
|
+
*/
|
|
81
|
+
private readonly _include;
|
|
82
|
+
/**
|
|
83
|
+
* List of glob patterns to be excluded by CDK.
|
|
84
|
+
*/
|
|
85
|
+
private readonly _exclude;
|
|
86
|
+
constructor(project: Project, options: CdkConfigOptions);
|
|
87
|
+
/**
|
|
88
|
+
* Add includes to `cdk.json`.
|
|
89
|
+
* @param patterns The includes to add.
|
|
90
|
+
*/
|
|
91
|
+
addIncludes(...patterns: string[]): void;
|
|
92
|
+
/**
|
|
93
|
+
* Add excludes to `cdk.json`.
|
|
94
|
+
* @param patterns The excludes to add.
|
|
95
|
+
*/
|
|
96
|
+
addExcludes(...patterns: string[]): void;
|
|
97
|
+
/**
|
|
98
|
+
* List of glob patterns to be included by CDK.
|
|
99
|
+
*/
|
|
100
|
+
get include(): string[];
|
|
101
|
+
/**
|
|
102
|
+
* List of glob patterns to be excluded by CDK.
|
|
103
|
+
*/
|
|
104
|
+
get exclude(): string[];
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Which approval is required when deploying CDK apps.
|
|
108
|
+
*/
|
|
109
|
+
export declare enum ApprovalLevel {
|
|
110
|
+
/**
|
|
111
|
+
* Approval is never required
|
|
112
|
+
*/
|
|
113
|
+
NEVER = "never",
|
|
114
|
+
/**
|
|
115
|
+
* Requires approval on any IAM or security-group-related change
|
|
116
|
+
*/
|
|
117
|
+
ANY_CHANGE = "any-change",
|
|
118
|
+
/**
|
|
119
|
+
* Requires approval when IAM statements or traffic rules are added; removals don't require approval
|
|
120
|
+
*/
|
|
121
|
+
BROADENING = "broadening"
|
|
122
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Component } from "../component";
|
|
2
|
+
import { Project } from "../project";
|
|
3
|
+
import { Task } from "../task";
|
|
4
|
+
/**
|
|
5
|
+
* Adds standard AWS CDK tasks to your project.
|
|
6
|
+
*/
|
|
7
|
+
export declare class CdkTasks extends Component {
|
|
8
|
+
/**
|
|
9
|
+
* Synthesizes your app.
|
|
10
|
+
*/
|
|
11
|
+
readonly synth: Task;
|
|
12
|
+
/**
|
|
13
|
+
* Synthesizes your app and suppresses stdout.
|
|
14
|
+
*/
|
|
15
|
+
readonly synthSilent: Task;
|
|
16
|
+
/**
|
|
17
|
+
* Deploys your app.
|
|
18
|
+
*/
|
|
19
|
+
readonly deploy: Task;
|
|
20
|
+
/**
|
|
21
|
+
* Destroys all the stacks.
|
|
22
|
+
*/
|
|
23
|
+
readonly destroy: Task;
|
|
24
|
+
/**
|
|
25
|
+
* Diff against production.
|
|
26
|
+
*/
|
|
27
|
+
readonly diff: Task;
|
|
28
|
+
/**
|
|
29
|
+
* Watch task.
|
|
30
|
+
*/
|
|
31
|
+
readonly watch: Task;
|
|
32
|
+
constructor(project: Project);
|
|
33
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from "./auto-discover";
|
|
2
|
+
export * from "./awscdk-app-java";
|
|
3
|
+
export * from "./awscdk-app-py";
|
|
4
|
+
export * from "./awscdk-app-ts";
|
|
5
|
+
export * from "./awscdk-construct";
|
|
6
|
+
export * from "./awscdk-deps";
|
|
7
|
+
export * from "./awscdk-deps-java";
|
|
8
|
+
export * from "./awscdk-deps-js";
|
|
9
|
+
export * from "./awscdk-deps-py";
|
|
10
|
+
export * from "./cdk-config";
|
|
11
|
+
export * from "./cdk-tasks";
|
|
12
|
+
export * from "./integration-test";
|
|
13
|
+
export * from "./lambda-function";
|
|
14
|
+
export * from "./lambda-extension";
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { AwsCdkDeps } from "./awscdk-deps";
|
|
2
|
+
import { IntegrationTestBase, IntegrationTestBaseOptions } from "../cdk";
|
|
3
|
+
import { Project } from "../project";
|
|
4
|
+
import { Task } from "../task";
|
|
5
|
+
export interface IntegrationTestCommonOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Destroy the test app after a successful deployment. If disabled, leaves the
|
|
8
|
+
* app deployed in the dev account.
|
|
9
|
+
* @default true
|
|
10
|
+
*/
|
|
11
|
+
readonly destroyAfterDeploy?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Enables path metadata, adding `aws:cdk:path`, with the defining construct's
|
|
14
|
+
* path, to the CloudFormation metadata for each synthesized resource.
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
17
|
+
readonly pathMetadata?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Options for `IntegrationTest`.
|
|
21
|
+
*/
|
|
22
|
+
export interface IntegrationTestOptions extends IntegrationTestCommonOptions, IntegrationTestBaseOptions {
|
|
23
|
+
/**
|
|
24
|
+
* A list of stacks within the integration test to deploy/destroy.
|
|
25
|
+
* @default ["**"]
|
|
26
|
+
*/
|
|
27
|
+
readonly stacks?: string[];
|
|
28
|
+
/**
|
|
29
|
+
* AWS CDK dependency manager.
|
|
30
|
+
*/
|
|
31
|
+
readonly cdkDeps: AwsCdkDeps;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Cloud integration tests.
|
|
35
|
+
*/
|
|
36
|
+
export declare class IntegrationTest extends IntegrationTestBase {
|
|
37
|
+
/**
|
|
38
|
+
* Destroy the integration test resources
|
|
39
|
+
*/
|
|
40
|
+
readonly destroyTask: Task;
|
|
41
|
+
/**
|
|
42
|
+
* The watch task.
|
|
43
|
+
*/
|
|
44
|
+
readonly watchTask: Task;
|
|
45
|
+
constructor(project: Project, options: IntegrationTestOptions);
|
|
46
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Feature flags as of v1.130.0
|
|
3
|
+
*/
|
|
4
|
+
export declare const FEATURE_FLAGS: string[];
|
|
5
|
+
/**
|
|
6
|
+
* Suffix for AWS Lambda handlers.
|
|
7
|
+
*/
|
|
8
|
+
export declare const TYPESCRIPT_LAMBDA_EXT = ".lambda.ts";
|
|
9
|
+
/**
|
|
10
|
+
* Suffix for AWS Edge Lambda handlers.
|
|
11
|
+
*/
|
|
12
|
+
export declare const TYPESCRIPT_EDGE_LAMBDA_EXT = ".edge-lambda.ts";
|
|
13
|
+
/**
|
|
14
|
+
* Suffix for AWS Lambda Extensions.
|
|
15
|
+
*/
|
|
16
|
+
export declare const TYPESCRIPT_LAMBDA_EXTENSION_EXT = ".lambda-extension.ts";
|
|
17
|
+
/**
|
|
18
|
+
* Converts the given path string to posix if it wasn't already.
|
|
19
|
+
*/
|
|
20
|
+
export declare function convertToPosixPath(p: string): string;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { AwsCdkDeps } from "./awscdk-deps";
|
|
2
|
+
import { LambdaRuntime } from "./lambda-function";
|
|
3
|
+
import { Component } from "../component";
|
|
4
|
+
import { BundlingOptions } from "../javascript";
|
|
5
|
+
import { Project } from "../project";
|
|
6
|
+
/**
|
|
7
|
+
* Common options for creating lambda extensions.
|
|
8
|
+
*/
|
|
9
|
+
export interface LambdaExtensionCommonOptions {
|
|
10
|
+
/**
|
|
11
|
+
* The extension's compatible runtimes.
|
|
12
|
+
*/
|
|
13
|
+
readonly compatibleRuntimes?: LambdaRuntime[];
|
|
14
|
+
/**
|
|
15
|
+
* Bundling options for this AWS Lambda extension.
|
|
16
|
+
*
|
|
17
|
+
* If not specified the default bundling options specified for the project
|
|
18
|
+
* `Bundler` instance will be used.
|
|
19
|
+
*
|
|
20
|
+
* @default - defaults
|
|
21
|
+
*/
|
|
22
|
+
readonly bundlingOptions?: BundlingOptions;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Options for creating lambda extensions.
|
|
26
|
+
*/
|
|
27
|
+
export interface LambdaExtensionOptions extends LambdaExtensionCommonOptions {
|
|
28
|
+
/**
|
|
29
|
+
* Name of the extension
|
|
30
|
+
*
|
|
31
|
+
* @default - Derived from the entrypoint filename.
|
|
32
|
+
*/
|
|
33
|
+
readonly name?: string;
|
|
34
|
+
/**
|
|
35
|
+
* A path from the project root directory to a TypeScript file which contains
|
|
36
|
+
* the AWS Lambda extension entrypoint (stand-alone script).
|
|
37
|
+
*
|
|
38
|
+
* This is relative to the root directory of the project.
|
|
39
|
+
*
|
|
40
|
+
* @example "src/subdir/foo.lambda-extension.ts"
|
|
41
|
+
*/
|
|
42
|
+
readonly entrypoint: string;
|
|
43
|
+
/**
|
|
44
|
+
* AWS CDK dependency manager.
|
|
45
|
+
*/
|
|
46
|
+
readonly cdkDeps: AwsCdkDeps;
|
|
47
|
+
/**
|
|
48
|
+
* The name of the generated TypeScript source file. This file should also be
|
|
49
|
+
* under the source tree.
|
|
50
|
+
*
|
|
51
|
+
* @default - The name of the entrypoint file, with the `-layer-version.ts`
|
|
52
|
+
* suffix instead of `.lambda-extension.ts`.
|
|
53
|
+
*/
|
|
54
|
+
readonly constructFile?: string;
|
|
55
|
+
/**
|
|
56
|
+
* The name of the generated `lambda.LayerVersion` subclass.
|
|
57
|
+
*
|
|
58
|
+
* @default - A pascal cased version of the name of the entrypoint file, with
|
|
59
|
+
* the extension `LayerVersion` (e.g. `AppConfigLayerVersion`).
|
|
60
|
+
*/
|
|
61
|
+
readonly constructName?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Create a Lambda Extension
|
|
65
|
+
*/
|
|
66
|
+
export declare class LambdaExtension extends Component {
|
|
67
|
+
constructor(project: Project, options: LambdaExtensionOptions);
|
|
68
|
+
}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { AwsCdkDeps } from "./awscdk-deps";
|
|
2
|
+
import { Component } from "../component";
|
|
3
|
+
import { BundlingOptions } from "../javascript";
|
|
4
|
+
import { Project } from "../project";
|
|
5
|
+
/**
|
|
6
|
+
* Common options for `LambdaFunction`. Applies to all functions in
|
|
7
|
+
* auto-discovery.
|
|
8
|
+
*/
|
|
9
|
+
export interface LambdaFunctionCommonOptions {
|
|
10
|
+
/**
|
|
11
|
+
* The node.js version to target.
|
|
12
|
+
*
|
|
13
|
+
* @default Runtime.NODEJS_16_X
|
|
14
|
+
*/
|
|
15
|
+
readonly runtime?: LambdaRuntime;
|
|
16
|
+
/**
|
|
17
|
+
* Bundling options for this AWS Lambda function.
|
|
18
|
+
*
|
|
19
|
+
* If not specified the default bundling options specified for the project
|
|
20
|
+
* `Bundler` instance will be used.
|
|
21
|
+
*
|
|
22
|
+
* @default - defaults
|
|
23
|
+
*/
|
|
24
|
+
readonly bundlingOptions?: BundlingOptions;
|
|
25
|
+
/**
|
|
26
|
+
* Whether to automatically reuse TCP connections when working with the AWS
|
|
27
|
+
* SDK for JavaScript.
|
|
28
|
+
*
|
|
29
|
+
* This sets the `AWS_NODEJS_CONNECTION_REUSE_ENABLED` environment variable
|
|
30
|
+
* to `1`.
|
|
31
|
+
*
|
|
32
|
+
* Not applicable when `edgeLambda` is set to `true` because environment
|
|
33
|
+
* variables are not supported in Lambda@Edge.
|
|
34
|
+
*
|
|
35
|
+
* @see https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/node-reusing-connections.html
|
|
36
|
+
*
|
|
37
|
+
* @default true
|
|
38
|
+
*/
|
|
39
|
+
readonly awsSdkConnectionReuse?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Whether to create a `cloudfront.experimental.EdgeFunction` instead
|
|
42
|
+
* of a `lambda.Function`.
|
|
43
|
+
*
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
readonly edgeLambda?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Options for `Function`.
|
|
50
|
+
*/
|
|
51
|
+
export interface LambdaFunctionOptions extends LambdaFunctionCommonOptions {
|
|
52
|
+
/**
|
|
53
|
+
* A path from the project root directory to a TypeScript file which contains
|
|
54
|
+
* the AWS Lambda handler entrypoint (exports a `handler` function).
|
|
55
|
+
*
|
|
56
|
+
* This is relative to the root directory of the project.
|
|
57
|
+
*
|
|
58
|
+
* @example "src/subdir/foo.lambda.ts"
|
|
59
|
+
*/
|
|
60
|
+
readonly entrypoint: string;
|
|
61
|
+
/**
|
|
62
|
+
* The name of the generated TypeScript source file. This file should also be
|
|
63
|
+
* under the source tree.
|
|
64
|
+
*
|
|
65
|
+
* @default - The name of the entrypoint file, with the `-function.ts` suffix
|
|
66
|
+
* instead of `.lambda.ts`.
|
|
67
|
+
*/
|
|
68
|
+
readonly constructFile?: string;
|
|
69
|
+
/**
|
|
70
|
+
* The name of the generated `lambda.Function` subclass.
|
|
71
|
+
*
|
|
72
|
+
* @default - A pascal cased version of the name of the entrypoint file, with
|
|
73
|
+
* the extension `Function` (e.g. `ResizeImageFunction`).
|
|
74
|
+
*/
|
|
75
|
+
readonly constructName?: string;
|
|
76
|
+
/**
|
|
77
|
+
* AWS CDK dependency manager.
|
|
78
|
+
*/
|
|
79
|
+
readonly cdkDeps: AwsCdkDeps;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Generates a pre-bundled AWS Lambda function construct from handler code.
|
|
83
|
+
*
|
|
84
|
+
* To use this, create an AWS Lambda handler file under your source tree with
|
|
85
|
+
* the `.lambda.ts` extension and add a `LambdaFunction` component to your
|
|
86
|
+
* typescript project pointing to this entrypoint.
|
|
87
|
+
*
|
|
88
|
+
* This will add a task to your "compile" step which will use `esbuild` to
|
|
89
|
+
* bundle the handler code into the build directory. It will also generate a
|
|
90
|
+
* file `src/foo-function.ts` with a custom AWS construct called `FooFunction`
|
|
91
|
+
* which extends `@aws-cdk/aws-lambda.Function` which is bound to the bundled
|
|
92
|
+
* handle through an asset.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
*
|
|
96
|
+
* new LambdaFunction(myProject, {
|
|
97
|
+
* srcdir: myProject.srcdir,
|
|
98
|
+
* entrypoint: 'src/foo.lambda.ts',
|
|
99
|
+
* });
|
|
100
|
+
*/
|
|
101
|
+
export declare class LambdaFunction extends Component {
|
|
102
|
+
/**
|
|
103
|
+
* Defines a pre-bundled AWS Lambda function construct from handler code.
|
|
104
|
+
*
|
|
105
|
+
* @param project The project to use
|
|
106
|
+
* @param options Options
|
|
107
|
+
*/
|
|
108
|
+
constructor(project: Project, options: LambdaFunctionOptions);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Options for the AWS Lambda function runtime
|
|
112
|
+
*/
|
|
113
|
+
export interface LambdaRuntimeOptions {
|
|
114
|
+
/**
|
|
115
|
+
* Packages that are considered externals by default when bundling
|
|
116
|
+
*
|
|
117
|
+
* @default ['@aws-sdk/*']
|
|
118
|
+
*/
|
|
119
|
+
readonly defaultExternals?: string[];
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* The runtime for the AWS Lambda function.
|
|
123
|
+
*/
|
|
124
|
+
export declare class LambdaRuntime {
|
|
125
|
+
/**
|
|
126
|
+
* The Node.js runtime to use
|
|
127
|
+
*/
|
|
128
|
+
readonly functionRuntime: string;
|
|
129
|
+
/**
|
|
130
|
+
* The esbuild setting to use.
|
|
131
|
+
*/
|
|
132
|
+
readonly esbuildTarget: string;
|
|
133
|
+
/**
|
|
134
|
+
* Node.js 10.x
|
|
135
|
+
* @deprecated NodeJS10 has been deprecated
|
|
136
|
+
*/
|
|
137
|
+
static readonly NODEJS_10_X: LambdaRuntime;
|
|
138
|
+
/**
|
|
139
|
+
* Node.js 12.x
|
|
140
|
+
* @deprecated NodeJS12 has been deprecated
|
|
141
|
+
*/
|
|
142
|
+
static readonly NODEJS_12_X: LambdaRuntime;
|
|
143
|
+
/**
|
|
144
|
+
* Node.js 14.x
|
|
145
|
+
* @deprecated NodeJS14 has been deprecated
|
|
146
|
+
*/
|
|
147
|
+
static readonly NODEJS_14_X: LambdaRuntime;
|
|
148
|
+
/**
|
|
149
|
+
* Node.js 16.x
|
|
150
|
+
*/
|
|
151
|
+
static readonly NODEJS_16_X: LambdaRuntime;
|
|
152
|
+
/**
|
|
153
|
+
* Node.js 18.x
|
|
154
|
+
*/
|
|
155
|
+
static readonly NODEJS_18_X: LambdaRuntime;
|
|
156
|
+
readonly esbuildPlatform = "node";
|
|
157
|
+
readonly defaultExternals: string[];
|
|
158
|
+
constructor(
|
|
159
|
+
/**
|
|
160
|
+
* The Node.js runtime to use
|
|
161
|
+
*/
|
|
162
|
+
functionRuntime: string,
|
|
163
|
+
/**
|
|
164
|
+
* The esbuild setting to use.
|
|
165
|
+
*/
|
|
166
|
+
esbuildTarget: string,
|
|
167
|
+
/**
|
|
168
|
+
* Options for this runtime.
|
|
169
|
+
*/
|
|
170
|
+
options?: LambdaRuntimeOptions);
|
|
171
|
+
}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { Task } from "..";
|
|
2
|
+
import { Component } from "../component";
|
|
3
|
+
import { GitIdentity } from "../github";
|
|
4
|
+
import { Job, JobPermissions, JobStep, Tools, Triggers } from "../github/workflows-model";
|
|
5
|
+
import { Project } from "../project";
|
|
6
|
+
export interface BuildWorkflowOptions {
|
|
7
|
+
/**
|
|
8
|
+
* The task to execute in order to build the project.
|
|
9
|
+
*/
|
|
10
|
+
readonly buildTask: Task;
|
|
11
|
+
/**
|
|
12
|
+
* A name of a directory that includes build artifacts.
|
|
13
|
+
*/
|
|
14
|
+
readonly artifactsDirectory: string;
|
|
15
|
+
/**
|
|
16
|
+
* The container image to use for builds.
|
|
17
|
+
* @default - the default workflow container
|
|
18
|
+
*/
|
|
19
|
+
readonly containerImage?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Automatically update files modified during builds to pull-request branches.
|
|
22
|
+
* This means that any files synthesized by projen or e.g. test snapshots will
|
|
23
|
+
* always be up-to-date before a PR is merged.
|
|
24
|
+
*
|
|
25
|
+
* Implies that PR builds do not have anti-tamper checks.
|
|
26
|
+
*
|
|
27
|
+
* This is enabled by default only if `githubTokenSecret` is set. Otherwise it
|
|
28
|
+
* is disabled, which implies that file changes that happen during build will
|
|
29
|
+
* not be pushed back to the branch.
|
|
30
|
+
*
|
|
31
|
+
* @default true
|
|
32
|
+
*/
|
|
33
|
+
readonly mutableBuild?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Steps to execute before the build.
|
|
36
|
+
* @default []
|
|
37
|
+
*/
|
|
38
|
+
readonly preBuildSteps?: JobStep[];
|
|
39
|
+
/**
|
|
40
|
+
* Steps to execute after build.
|
|
41
|
+
* @default []
|
|
42
|
+
*/
|
|
43
|
+
readonly postBuildSteps?: JobStep[];
|
|
44
|
+
/**
|
|
45
|
+
* Git identity to use for the workflow.
|
|
46
|
+
* @default - default identity
|
|
47
|
+
*/
|
|
48
|
+
readonly gitIdentity?: GitIdentity;
|
|
49
|
+
/**
|
|
50
|
+
* Build environment variables.
|
|
51
|
+
* @default {}
|
|
52
|
+
*/
|
|
53
|
+
readonly env?: {
|
|
54
|
+
[key: string]: string;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Github Runner selection labels
|
|
58
|
+
* @default ["ubuntu-latest"]
|
|
59
|
+
*/
|
|
60
|
+
readonly runsOn?: string[];
|
|
61
|
+
/**
|
|
62
|
+
* Build workflow triggers
|
|
63
|
+
* @default "{ pullRequest: {}, workflowDispatch: {} }"
|
|
64
|
+
*/
|
|
65
|
+
readonly workflowTriggers?: Triggers;
|
|
66
|
+
/**
|
|
67
|
+
* Permissions granted to the build job
|
|
68
|
+
* To limit job permissions for `contents`, the desired permissions have to be explicitly set, e.g.: `{ contents: JobPermission.NONE }`
|
|
69
|
+
* @default `{ contents: JobPermission.WRITE }`
|
|
70
|
+
*/
|
|
71
|
+
readonly permissions?: JobPermissions;
|
|
72
|
+
}
|
|
73
|
+
export declare class BuildWorkflow extends Component {
|
|
74
|
+
private readonly postBuildSteps;
|
|
75
|
+
private readonly preBuildSteps;
|
|
76
|
+
private readonly gitIdentity;
|
|
77
|
+
private readonly buildTask;
|
|
78
|
+
private readonly github;
|
|
79
|
+
private readonly workflow;
|
|
80
|
+
private readonly artifactsDirectory;
|
|
81
|
+
private readonly defaultRunners;
|
|
82
|
+
private readonly _postBuildJobs;
|
|
83
|
+
constructor(project: Project, options: BuildWorkflowOptions);
|
|
84
|
+
private addBuildJob;
|
|
85
|
+
/**
|
|
86
|
+
* Returns a list of job IDs that are part of the build.
|
|
87
|
+
*/
|
|
88
|
+
get buildJobIds(): string[];
|
|
89
|
+
/**
|
|
90
|
+
* Adds steps that are executed after the build.
|
|
91
|
+
* @param steps The job steps
|
|
92
|
+
*/
|
|
93
|
+
addPostBuildSteps(...steps: JobStep[]): void;
|
|
94
|
+
/**
|
|
95
|
+
* Adds another job to the build workflow which is executed after the build
|
|
96
|
+
* job succeeded.
|
|
97
|
+
*
|
|
98
|
+
* Jobs are executed _only_ if the build did NOT self mutate. If the build
|
|
99
|
+
* self-mutate, the branch will either be updated or the build will fail (in
|
|
100
|
+
* forks), so there is no point in executing the post-build job.
|
|
101
|
+
*
|
|
102
|
+
* @param id The id of the new job
|
|
103
|
+
* @param job The job specification
|
|
104
|
+
*/
|
|
105
|
+
addPostBuildJob(id: string, job: Job): void;
|
|
106
|
+
/**
|
|
107
|
+
* Run a task as a job within the build workflow which is executed after the
|
|
108
|
+
* build job succeeded.
|
|
109
|
+
*
|
|
110
|
+
* The job will have access to build artifacts and will install project
|
|
111
|
+
* dependencies in order to be able to run any commands used in the tasks.
|
|
112
|
+
*
|
|
113
|
+
* Jobs are executed _only_ if the build did NOT self mutate. If the build
|
|
114
|
+
* self-mutate, the branch will either be updated or the build will fail (in
|
|
115
|
+
* forks), so there is no point in executing the post-build job.
|
|
116
|
+
*
|
|
117
|
+
* @param options Specify tools and other options
|
|
118
|
+
*/
|
|
119
|
+
addPostBuildJobTask(task: Task, options?: AddPostBuildJobTaskOptions): void;
|
|
120
|
+
/**
|
|
121
|
+
* Run a sequence of commands as a job within the build workflow which is
|
|
122
|
+
* executed after the build job succeeded.
|
|
123
|
+
*
|
|
124
|
+
* Jobs are executed _only_ if the build did NOT self mutate. If the build
|
|
125
|
+
* self-mutate, the branch will either be updated or the build will fail (in
|
|
126
|
+
* forks), so there is no point in executing the post-build job.
|
|
127
|
+
*
|
|
128
|
+
* @param options Specify tools and other options
|
|
129
|
+
*/
|
|
130
|
+
addPostBuildJobCommands(id: string, commands: string[], options?: AddPostBuildJobCommandsOptions): void;
|
|
131
|
+
private addSelfMutationJob;
|
|
132
|
+
/**
|
|
133
|
+
* Called (lazily) during synth to render the build job steps.
|
|
134
|
+
*/
|
|
135
|
+
private renderBuildSteps;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Options for `BuildWorkflow.addPostBuildJobTask`
|
|
139
|
+
*/
|
|
140
|
+
export interface AddPostBuildJobTaskOptions {
|
|
141
|
+
/**
|
|
142
|
+
* Tools that should be installed before the task is run.
|
|
143
|
+
*/
|
|
144
|
+
readonly tools?: Tools;
|
|
145
|
+
/**
|
|
146
|
+
* Github Runner selection labels
|
|
147
|
+
* @default ["ubuntu-latest"]
|
|
148
|
+
*/
|
|
149
|
+
readonly runsOn?: string[];
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Options for `BuildWorkflow.addPostBuildJobCommands`
|
|
153
|
+
*/
|
|
154
|
+
export interface AddPostBuildJobCommandsOptions {
|
|
155
|
+
/**
|
|
156
|
+
* Tools that should be installed before the commands are run.
|
|
157
|
+
*/
|
|
158
|
+
readonly tools?: Tools;
|
|
159
|
+
/**
|
|
160
|
+
* Check out the repository at the pull request branch before commands are
|
|
161
|
+
* run.
|
|
162
|
+
*
|
|
163
|
+
* @default false
|
|
164
|
+
*/
|
|
165
|
+
readonly checkoutRepo?: boolean;
|
|
166
|
+
/**
|
|
167
|
+
* Install project dependencies before running commands. `checkoutRepo` must
|
|
168
|
+
* also be set to true.
|
|
169
|
+
*
|
|
170
|
+
* Currently only supported for `NodeProject`.
|
|
171
|
+
*
|
|
172
|
+
* @default false
|
|
173
|
+
*/
|
|
174
|
+
readonly installDeps?: boolean;
|
|
175
|
+
/**
|
|
176
|
+
* Github Runner selection labels
|
|
177
|
+
* @default ["ubuntu-latest"]
|
|
178
|
+
*/
|
|
179
|
+
readonly runsOn?: string[];
|
|
180
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./build-workflow";
|
|
File without changes
|