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,533 @@
|
|
|
1
|
+
import { BranchOptions } from "./release";
|
|
2
|
+
import { Component } from "../component";
|
|
3
|
+
import { Job, JobStep, Tools } from "../github/workflows-model";
|
|
4
|
+
import { Project } from "../project";
|
|
5
|
+
/**
|
|
6
|
+
* Options for `Publisher`.
|
|
7
|
+
*/
|
|
8
|
+
export interface PublisherOptions {
|
|
9
|
+
/**
|
|
10
|
+
* The job ID that produces the build artifacts. All publish jobs will take a dependency on this job.
|
|
11
|
+
*/
|
|
12
|
+
readonly buildJobId: string;
|
|
13
|
+
/**
|
|
14
|
+
* A GitHub workflow expression used as a condition for publishers.
|
|
15
|
+
*
|
|
16
|
+
* @default - no condition
|
|
17
|
+
*/
|
|
18
|
+
readonly condition?: string;
|
|
19
|
+
/**
|
|
20
|
+
* The name of the artifact to download (e.g. `dist`).
|
|
21
|
+
*
|
|
22
|
+
* The artifact is expected to include a subdirectory for each release target:
|
|
23
|
+
* `go` (GitHub), `dotnet` (NuGet), `java` (Maven), `js` (npm), `python`
|
|
24
|
+
* (PyPI).
|
|
25
|
+
*
|
|
26
|
+
* @see https://github.com/aws/publib
|
|
27
|
+
*/
|
|
28
|
+
readonly artifactName: string;
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated use `publibVersion` instead
|
|
31
|
+
*/
|
|
32
|
+
readonly jsiiReleaseVersion?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Node version to setup in GitHub workflows if any node-based CLI utilities
|
|
35
|
+
* are needed. For example `publib`, the CLI projen uses to publish releases,
|
|
36
|
+
* is an npm library.
|
|
37
|
+
*
|
|
38
|
+
* @default 16.x
|
|
39
|
+
*/
|
|
40
|
+
readonly workflowNodeVersion?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Container image to use for GitHub workflows.
|
|
43
|
+
*
|
|
44
|
+
* @default - default image
|
|
45
|
+
*/
|
|
46
|
+
readonly workflowContainerImage?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Version requirement for `publib`.
|
|
49
|
+
*
|
|
50
|
+
* @default "latest"
|
|
51
|
+
*/
|
|
52
|
+
readonly publibVersion?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Create an issue when a publish task fails.
|
|
55
|
+
*
|
|
56
|
+
* @default false
|
|
57
|
+
*/
|
|
58
|
+
readonly failureIssue?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* The label to apply to the issue marking failed publish tasks.
|
|
61
|
+
* Only applies if `failureIssue` is true.
|
|
62
|
+
*
|
|
63
|
+
* @default "failed-release"
|
|
64
|
+
*/
|
|
65
|
+
readonly failureIssueLabel?: string;
|
|
66
|
+
/**
|
|
67
|
+
* Github Runner selection labels
|
|
68
|
+
* @default ["ubuntu-latest"]
|
|
69
|
+
*/
|
|
70
|
+
readonly workflowRunsOn?: string[];
|
|
71
|
+
/**
|
|
72
|
+
* Define publishing tasks that can be executed manually as well as workflows.
|
|
73
|
+
*
|
|
74
|
+
* Normally, publishing only happens within automated workflows. Enable this
|
|
75
|
+
* in order to create a publishing task for each publishing activity.
|
|
76
|
+
*
|
|
77
|
+
* @default false
|
|
78
|
+
*/
|
|
79
|
+
readonly publishTasks?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Do not actually publish, only print the commands that would be executed instead.
|
|
82
|
+
*
|
|
83
|
+
* Useful if you wish to block all publishing from a single option.
|
|
84
|
+
*/
|
|
85
|
+
readonly dryRun?: boolean;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Implements GitHub jobs for publishing modules to package managers.
|
|
89
|
+
*
|
|
90
|
+
* Under the hood, it uses https://github.com/aws/publib
|
|
91
|
+
*/
|
|
92
|
+
export declare class Publisher extends Component {
|
|
93
|
+
static readonly PUBLISH_GIT_TASK_NAME = "publish:git";
|
|
94
|
+
readonly buildJobId: string;
|
|
95
|
+
readonly artifactName: string;
|
|
96
|
+
readonly publibVersion: string;
|
|
97
|
+
readonly condition?: string;
|
|
98
|
+
/** @deprecated use `publibVersion` */
|
|
99
|
+
readonly jsiiReleaseVersion: string;
|
|
100
|
+
private readonly failureIssue;
|
|
101
|
+
private readonly failureIssueLabel;
|
|
102
|
+
private readonly runsOn;
|
|
103
|
+
private readonly publishTasks;
|
|
104
|
+
private readonly _jobFactories;
|
|
105
|
+
private readonly _gitHubPrePublishing;
|
|
106
|
+
private readonly dryRun;
|
|
107
|
+
private readonly workflowNodeVersion;
|
|
108
|
+
private readonly workflowContainerImage?;
|
|
109
|
+
constructor(project: Project, options: PublisherOptions);
|
|
110
|
+
/**
|
|
111
|
+
* Called by `Release` to add the publishing jobs to a release workflow
|
|
112
|
+
* associated with a specific branch.
|
|
113
|
+
* @param branch The branch name
|
|
114
|
+
* @param options Branch options
|
|
115
|
+
*
|
|
116
|
+
* @internal
|
|
117
|
+
*/
|
|
118
|
+
_renderJobsForBranch(branch: string, options: Partial<BranchOptions>): Record<string, Job>;
|
|
119
|
+
/**
|
|
120
|
+
* Adds pre publishing steps for the GitHub release job.
|
|
121
|
+
*
|
|
122
|
+
* @param steps The steps.
|
|
123
|
+
*/
|
|
124
|
+
addGitHubPrePublishingSteps(...steps: JobStep[]): void;
|
|
125
|
+
/**
|
|
126
|
+
* Publish to git.
|
|
127
|
+
*
|
|
128
|
+
* This includes generating a project-level changelog and release tags.
|
|
129
|
+
*
|
|
130
|
+
* @param options Options
|
|
131
|
+
*/
|
|
132
|
+
publishToGit(options: GitPublishOptions): import("..").Task;
|
|
133
|
+
/**
|
|
134
|
+
* Creates a GitHub Release.
|
|
135
|
+
* @param options Options
|
|
136
|
+
*/
|
|
137
|
+
publishToGitHubReleases(options: GitHubReleasesPublishOptions): void;
|
|
138
|
+
/**
|
|
139
|
+
* Publishes artifacts from `js/**` to npm.
|
|
140
|
+
* @param options Options
|
|
141
|
+
*/
|
|
142
|
+
publishToNpm(options?: NpmPublishOptions): void;
|
|
143
|
+
/**
|
|
144
|
+
* Publishes artifacts from `dotnet/**` to NuGet Gallery.
|
|
145
|
+
* @param options Options
|
|
146
|
+
*/
|
|
147
|
+
publishToNuget(options?: NugetPublishOptions): void;
|
|
148
|
+
/**
|
|
149
|
+
* Publishes artifacts from `java/**` to Maven.
|
|
150
|
+
* @param options Options
|
|
151
|
+
*/
|
|
152
|
+
publishToMaven(options?: MavenPublishOptions): void;
|
|
153
|
+
/**
|
|
154
|
+
* Publishes wheel artifacts from `python` to PyPI.
|
|
155
|
+
* @param options Options
|
|
156
|
+
*/
|
|
157
|
+
publishToPyPi(options?: PyPiPublishOptions): void;
|
|
158
|
+
/**
|
|
159
|
+
* Adds a go publishing job.
|
|
160
|
+
* @param options Options
|
|
161
|
+
*/
|
|
162
|
+
publishToGo(options?: GoPublishOptions): void;
|
|
163
|
+
private addPublishJob;
|
|
164
|
+
private publibCommand;
|
|
165
|
+
private githubReleaseCommand;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Common publishing options
|
|
169
|
+
*/
|
|
170
|
+
export interface CommonPublishOptions {
|
|
171
|
+
/**
|
|
172
|
+
* Steps to execute before executing the publishing command. These can be used
|
|
173
|
+
* to prepare the artifact for publishing if neede.
|
|
174
|
+
*
|
|
175
|
+
* These steps are executed after `dist/` has been populated with the build
|
|
176
|
+
* output.
|
|
177
|
+
*
|
|
178
|
+
* Note that when using this in `publishToGitHubReleases` this will override steps added via `addGitHubPrePublishingSteps`.
|
|
179
|
+
*/
|
|
180
|
+
readonly prePublishSteps?: JobStep[];
|
|
181
|
+
/**
|
|
182
|
+
* Additional tools to install in the publishing job.
|
|
183
|
+
* @default - no additional tools are installed
|
|
184
|
+
*/
|
|
185
|
+
readonly publishTools?: Tools;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* @deprecated Use `NpmPublishOptions` instead.
|
|
189
|
+
*/
|
|
190
|
+
export interface JsiiReleaseNpm extends NpmPublishOptions {
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Options for npm release
|
|
194
|
+
*/
|
|
195
|
+
export interface NpmPublishOptions extends CommonPublishOptions {
|
|
196
|
+
/**
|
|
197
|
+
* Tags can be used to provide an alias instead of version numbers.
|
|
198
|
+
*
|
|
199
|
+
* For example, a project might choose to have multiple streams of development
|
|
200
|
+
* and use a different tag for each stream, e.g., stable, beta, dev, canary.
|
|
201
|
+
*
|
|
202
|
+
* By default, the `latest` tag is used by npm to identify the current version
|
|
203
|
+
* of a package, and `npm install <pkg>` (without any `@<version>` or `@<tag>`
|
|
204
|
+
* specifier) installs the latest tag. Typically, projects only use the
|
|
205
|
+
* `latest` tag for stable release versions, and use other tags for unstable
|
|
206
|
+
* versions such as prereleases.
|
|
207
|
+
*
|
|
208
|
+
* The `next` tag is used by some projects to identify the upcoming version.
|
|
209
|
+
*
|
|
210
|
+
* @default "latest"
|
|
211
|
+
* @deprecated Use `npmDistTag` for each release branch instead.
|
|
212
|
+
*/
|
|
213
|
+
readonly distTag?: string;
|
|
214
|
+
/**
|
|
215
|
+
* The domain name of the npm package registry.
|
|
216
|
+
*
|
|
217
|
+
* To publish to GitHub Packages, set this value to `"npm.pkg.github.com"`. In
|
|
218
|
+
* this if `npmTokenSecret` is not specified, it will default to
|
|
219
|
+
* `GITHUB_TOKEN` which means that you will be able to publish to the
|
|
220
|
+
* repository's package store. In this case, make sure `repositoryUrl` is
|
|
221
|
+
* correctly defined.
|
|
222
|
+
*
|
|
223
|
+
* @default "registry.npmjs.org"
|
|
224
|
+
* @example "npm.pkg.github.com"
|
|
225
|
+
*/
|
|
226
|
+
readonly registry?: string;
|
|
227
|
+
/**
|
|
228
|
+
* GitHub secret which contains the NPM token to use when publishing packages.
|
|
229
|
+
* @default - "NPM_TOKEN" or "GITHUB_TOKEN" if `registry` is set to `npm.pkg.github.com`.
|
|
230
|
+
*/
|
|
231
|
+
readonly npmTokenSecret?: string;
|
|
232
|
+
/**
|
|
233
|
+
* Options for publishing npm package to AWS CodeArtifact.
|
|
234
|
+
*
|
|
235
|
+
* @default - undefined
|
|
236
|
+
*/
|
|
237
|
+
readonly codeArtifactOptions?: CodeArtifactOptions;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Options for authorizing requests to a AWS CodeArtifact npm repository.
|
|
241
|
+
*/
|
|
242
|
+
export declare enum CodeArtifactAuthProvider {
|
|
243
|
+
/**
|
|
244
|
+
* Fixed credentials provided via Github secrets.
|
|
245
|
+
*/
|
|
246
|
+
ACCESS_AND_SECRET_KEY_PAIR = "ACCESS_AND_SECRET_KEY_PAIR",
|
|
247
|
+
/**
|
|
248
|
+
* Ephemeral credentials provided via Github's OIDC integration with an IAM role.
|
|
249
|
+
* See:
|
|
250
|
+
* https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html
|
|
251
|
+
* https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services
|
|
252
|
+
*/
|
|
253
|
+
GITHUB_OIDC = "GITHUB_OIDC"
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Options for publishing packages to AWS CodeArtifact.
|
|
257
|
+
*/
|
|
258
|
+
export interface CodeArtifactOptions {
|
|
259
|
+
/**
|
|
260
|
+
* Provider to use for authorizing requests to AWS CodeArtifact.
|
|
261
|
+
*
|
|
262
|
+
* @default CodeArtifactAuthProvider.ACCESS_AND_SECRET_KEY_PAIR
|
|
263
|
+
*/
|
|
264
|
+
readonly authProvider?: CodeArtifactAuthProvider;
|
|
265
|
+
/**
|
|
266
|
+
* GitHub secret which contains the AWS access key ID to use when publishing packages to AWS CodeArtifact.
|
|
267
|
+
* This property must be specified only when publishing to AWS CodeArtifact (`npmRegistryUrl` contains AWS CodeArtifact URL).
|
|
268
|
+
*
|
|
269
|
+
* @default - When the `authProvider` value is set to
|
|
270
|
+
* `CodeArtifactAuthProvider.ACCESS_AND_SECRET_KEY_PAIR`, the default is
|
|
271
|
+
* "AWS_ACCESS_KEY_ID". For `CodeArtifactAuthProvider.GITHUB_OIDC`, this
|
|
272
|
+
* value must be left undefined.
|
|
273
|
+
*/
|
|
274
|
+
readonly accessKeyIdSecret?: string;
|
|
275
|
+
/**
|
|
276
|
+
* GitHub secret which contains the AWS secret access key to use when publishing packages to AWS CodeArtifact.
|
|
277
|
+
* This property must be specified only when publishing to AWS CodeArtifact (`npmRegistryUrl` contains AWS CodeArtifact URL).
|
|
278
|
+
*
|
|
279
|
+
* @default - When the `authProvider` value is set to
|
|
280
|
+
* `CodeArtifactAuthProvider.ACCESS_AND_SECRET_KEY_PAIR`, the default is
|
|
281
|
+
* "AWS_SECRET_ACCESS_KEY". For `CodeArtifactAuthProvider.GITHUB_OIDC`, this
|
|
282
|
+
* value must be left undefined.
|
|
283
|
+
*/
|
|
284
|
+
readonly secretAccessKeySecret?: string;
|
|
285
|
+
/**
|
|
286
|
+
* ARN of AWS role to be assumed prior to get authorization token from AWS CodeArtifact
|
|
287
|
+
* This property must be specified only when publishing to AWS CodeArtifact (`registry` contains AWS CodeArtifact URL).
|
|
288
|
+
* When using the `CodeArtifactAuthProvider.GITHUB_OIDC` auth provider, this value must be defined.
|
|
289
|
+
*
|
|
290
|
+
* @default undefined
|
|
291
|
+
*/
|
|
292
|
+
readonly roleToAssume?: string;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* @deprecated Use `PyPiPublishOptions` instead.
|
|
296
|
+
*/
|
|
297
|
+
export interface JsiiReleasePyPi extends PyPiPublishOptions {
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Options for PyPI release
|
|
301
|
+
*/
|
|
302
|
+
export interface PyPiPublishOptions extends CommonPublishOptions {
|
|
303
|
+
/**
|
|
304
|
+
* The registry url to use when releasing packages.
|
|
305
|
+
*
|
|
306
|
+
* @default - twine default
|
|
307
|
+
*/
|
|
308
|
+
readonly twineRegistryUrl?: string;
|
|
309
|
+
/**
|
|
310
|
+
* The GitHub secret which contains PyPI user name.
|
|
311
|
+
* @default "TWINE_USERNAME"
|
|
312
|
+
*/
|
|
313
|
+
readonly twineUsernameSecret?: string;
|
|
314
|
+
/**
|
|
315
|
+
* The GitHub secret which contains PyPI password.
|
|
316
|
+
* @default "TWINE_PASSWORD"
|
|
317
|
+
*/
|
|
318
|
+
readonly twinePasswordSecret?: string;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* @deprecated Use `NugetPublishOptions` instead.
|
|
322
|
+
*/
|
|
323
|
+
export interface JsiiReleaseNuget extends NugetPublishOptions {
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Options for NuGet releases
|
|
327
|
+
*/
|
|
328
|
+
export interface NugetPublishOptions extends CommonPublishOptions {
|
|
329
|
+
/**
|
|
330
|
+
* GitHub secret which contains the API key for NuGet.
|
|
331
|
+
*
|
|
332
|
+
* @default "NUGET_API_KEY"
|
|
333
|
+
*/
|
|
334
|
+
readonly nugetApiKeySecret?: string;
|
|
335
|
+
/**
|
|
336
|
+
* NuGet Server URL (defaults to nuget.org)
|
|
337
|
+
*/
|
|
338
|
+
readonly nugetServer?: string;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* @deprecated Use `MavenPublishOptions` instead.
|
|
342
|
+
*/
|
|
343
|
+
export interface JsiiReleaseMaven extends MavenPublishOptions {
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Options for Maven releases
|
|
347
|
+
*/
|
|
348
|
+
export interface MavenPublishOptions extends CommonPublishOptions {
|
|
349
|
+
/**
|
|
350
|
+
* URL of Nexus repository. if not set, defaults to https://oss.sonatype.org
|
|
351
|
+
*
|
|
352
|
+
* @default "https://oss.sonatype.org"
|
|
353
|
+
*/
|
|
354
|
+
readonly mavenEndpoint?: string;
|
|
355
|
+
/**
|
|
356
|
+
* Used in maven settings for credential lookup (e.g. use github when publishing to GitHub).
|
|
357
|
+
*
|
|
358
|
+
* @default "ossrh" (Maven Central) or "github" when using GitHub Packages
|
|
359
|
+
*/
|
|
360
|
+
readonly mavenServerId?: string;
|
|
361
|
+
/**
|
|
362
|
+
* Deployment repository when not deploying to Maven Central
|
|
363
|
+
*
|
|
364
|
+
* @default - not set
|
|
365
|
+
*/
|
|
366
|
+
readonly mavenRepositoryUrl?: string;
|
|
367
|
+
/**
|
|
368
|
+
* GitHub secret name which contains the GPG private key or file that includes
|
|
369
|
+
* it. This is used to sign your Maven
|
|
370
|
+
* packages. See instructions.
|
|
371
|
+
*
|
|
372
|
+
* @see https://github.com/aws/publib#maven
|
|
373
|
+
* @default "MAVEN_GPG_PRIVATE_KEY" or not set when using GitHub Packages
|
|
374
|
+
*/
|
|
375
|
+
readonly mavenGpgPrivateKeySecret?: string;
|
|
376
|
+
/**
|
|
377
|
+
* GitHub secret name which contains the GPG private key or file that includes
|
|
378
|
+
* it. This is used to sign your Maven packages. See instructions.
|
|
379
|
+
*
|
|
380
|
+
* @see https://github.com/aws/publib#maven
|
|
381
|
+
* @default "MAVEN_GPG_PRIVATE_KEY_PASSPHRASE" or not set when using GitHub Packages
|
|
382
|
+
*/
|
|
383
|
+
readonly mavenGpgPrivateKeyPassphrase?: string;
|
|
384
|
+
/**
|
|
385
|
+
* GitHub secret name which contains the Username for maven repository.
|
|
386
|
+
*
|
|
387
|
+
* For Maven Central, you will need to Create JIRA account and then request a
|
|
388
|
+
* new project (see links).
|
|
389
|
+
*
|
|
390
|
+
* @see https://issues.sonatype.org/secure/Signup
|
|
391
|
+
* @see https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134
|
|
392
|
+
*
|
|
393
|
+
* @default "MAVEN_USERNAME" or the GitHub Actor when using GitHub Packages
|
|
394
|
+
*/
|
|
395
|
+
readonly mavenUsername?: string;
|
|
396
|
+
/**
|
|
397
|
+
* GitHub secret name which contains the Password for maven repository.
|
|
398
|
+
*
|
|
399
|
+
* For Maven Central, you will need to Create JIRA account and then request a
|
|
400
|
+
* new project (see links).
|
|
401
|
+
*
|
|
402
|
+
* @see https://issues.sonatype.org/secure/Signup
|
|
403
|
+
* @see https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134
|
|
404
|
+
*
|
|
405
|
+
* @default "MAVEN_PASSWORD" or "GITHUB_TOKEN" when using GitHub Packages
|
|
406
|
+
*/
|
|
407
|
+
readonly mavenPassword?: string;
|
|
408
|
+
/**
|
|
409
|
+
* GitHub secret name which contains the Maven Central (sonatype) staging
|
|
410
|
+
* profile ID (e.g. 68a05363083174). Staging profile ID can be found in the
|
|
411
|
+
* URL of the "Releases" staging profile under "Staging Profiles" in
|
|
412
|
+
* https://oss.sonatype.org (e.g.
|
|
413
|
+
* https://oss.sonatype.org/#stagingProfiles;11a33451234521)
|
|
414
|
+
|
|
415
|
+
* @default "MAVEN_STAGING_PROFILE_ID" or not set when using GitHub Packages
|
|
416
|
+
*/
|
|
417
|
+
readonly mavenStagingProfileId?: string;
|
|
418
|
+
}
|
|
419
|
+
/**
|
|
420
|
+
* @deprecated Use `GoPublishOptions` instead.
|
|
421
|
+
*/
|
|
422
|
+
export interface JsiiReleaseGo extends GoPublishOptions {
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Options for Go releases.
|
|
426
|
+
*/
|
|
427
|
+
export interface GoPublishOptions extends CommonPublishOptions {
|
|
428
|
+
/**
|
|
429
|
+
* The name of the secret that includes a personal GitHub access token used to
|
|
430
|
+
* push to the GitHub repository.
|
|
431
|
+
*
|
|
432
|
+
* Ignored if `githubUseSsh` is `true`.
|
|
433
|
+
*
|
|
434
|
+
* @default "GO_GITHUB_TOKEN"
|
|
435
|
+
*/
|
|
436
|
+
readonly githubTokenSecret?: string;
|
|
437
|
+
/**
|
|
438
|
+
* The name of the secret that includes a GitHub deploy key used to push to the
|
|
439
|
+
* GitHub repository.
|
|
440
|
+
*
|
|
441
|
+
* Ignored if `githubUseSsh` is `false`.
|
|
442
|
+
*
|
|
443
|
+
* @default "GO_GITHUB_DEPLOY_KEY"
|
|
444
|
+
*/
|
|
445
|
+
readonly githubDeployKeySecret?: string;
|
|
446
|
+
/**
|
|
447
|
+
* Use SSH to push to GitHub instead of a personal accses token.
|
|
448
|
+
*
|
|
449
|
+
* @default false
|
|
450
|
+
*/
|
|
451
|
+
readonly githubUseSsh?: boolean;
|
|
452
|
+
/**
|
|
453
|
+
* GitHub repository to push to.
|
|
454
|
+
*
|
|
455
|
+
* @default - derived from `moduleName`
|
|
456
|
+
*/
|
|
457
|
+
readonly githubRepo?: string;
|
|
458
|
+
/**
|
|
459
|
+
* Branch to push to.
|
|
460
|
+
*
|
|
461
|
+
* @default "main"
|
|
462
|
+
*/
|
|
463
|
+
readonly gitBranch?: string;
|
|
464
|
+
/**
|
|
465
|
+
* The user name to use for the release git commit.
|
|
466
|
+
* @default "github-actions"
|
|
467
|
+
*/
|
|
468
|
+
readonly gitUserName?: string;
|
|
469
|
+
/**
|
|
470
|
+
* The email to use in the release git commit.
|
|
471
|
+
* @default "github-actions@github.com"
|
|
472
|
+
*/
|
|
473
|
+
readonly gitUserEmail?: string;
|
|
474
|
+
/**
|
|
475
|
+
* The commit message.
|
|
476
|
+
*
|
|
477
|
+
* @default "chore(release): $VERSION"
|
|
478
|
+
*/
|
|
479
|
+
readonly gitCommitMessage?: string;
|
|
480
|
+
}
|
|
481
|
+
interface VersionArtifactOptions {
|
|
482
|
+
/**
|
|
483
|
+
* The location of a text file (relative to `dist/`) that contains the version number.
|
|
484
|
+
*
|
|
485
|
+
* @example version.txt
|
|
486
|
+
*/
|
|
487
|
+
readonly versionFile: string;
|
|
488
|
+
/**
|
|
489
|
+
* The location of a text file (relative to `dist/`) that contains the release tag.
|
|
490
|
+
*
|
|
491
|
+
* @example releasetag.txt
|
|
492
|
+
*/
|
|
493
|
+
readonly releaseTagFile: string;
|
|
494
|
+
/**
|
|
495
|
+
* The location of an .md file (relative to `dist/`) that includes the changelog for the release.
|
|
496
|
+
*
|
|
497
|
+
* @example changelog.md
|
|
498
|
+
*/
|
|
499
|
+
readonly changelogFile: string;
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Evaluates if the `registryUrl` is a AWS CodeArtifact registry.
|
|
503
|
+
* @param registryUrl url of registry
|
|
504
|
+
* @returns true for AWS CodeArtifact
|
|
505
|
+
*/
|
|
506
|
+
export declare function isAwsCodeArtifactRegistry(registryUrl: string | undefined): boolean | "" | undefined;
|
|
507
|
+
/**
|
|
508
|
+
* Publishing options for GitHub releases.
|
|
509
|
+
*/
|
|
510
|
+
export interface GitHubReleasesPublishOptions extends VersionArtifactOptions, CommonPublishOptions {
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* Publishing options for Git releases
|
|
514
|
+
*/
|
|
515
|
+
export interface GitPublishOptions extends VersionArtifactOptions {
|
|
516
|
+
/**
|
|
517
|
+
* The location of an .md file that includes the project-level changelog.
|
|
518
|
+
*/
|
|
519
|
+
readonly projectChangelogFile?: string;
|
|
520
|
+
/**
|
|
521
|
+
* Branch to push to.
|
|
522
|
+
*
|
|
523
|
+
* @default "main"
|
|
524
|
+
*/
|
|
525
|
+
readonly gitBranch?: string;
|
|
526
|
+
/**
|
|
527
|
+
* Override git-push command.
|
|
528
|
+
*
|
|
529
|
+
* Set to an empty string to disable pushing.
|
|
530
|
+
*/
|
|
531
|
+
readonly gitPushCommand?: string;
|
|
532
|
+
}
|
|
533
|
+
export {};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
export interface ScheduledReleaseOptions {
|
|
2
|
+
/**
|
|
3
|
+
* Cron schedule for releases.
|
|
4
|
+
*
|
|
5
|
+
* Only defined if this is a scheduled release.
|
|
6
|
+
*
|
|
7
|
+
* @example '0 17 * * *' - every day at 5 pm
|
|
8
|
+
*/
|
|
9
|
+
readonly schedule: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ManualReleaseOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Maintain a project-level changelog.
|
|
14
|
+
*
|
|
15
|
+
* @default true
|
|
16
|
+
*/
|
|
17
|
+
readonly changelog?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Project-level changelog file path.
|
|
20
|
+
*
|
|
21
|
+
* Ignored if `changelog` is false.
|
|
22
|
+
*
|
|
23
|
+
* @default 'CHANGELOG.md'
|
|
24
|
+
*/
|
|
25
|
+
readonly changelogPath?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Override git-push command.
|
|
28
|
+
*
|
|
29
|
+
* Set to an empty string to disable pushing.
|
|
30
|
+
*/
|
|
31
|
+
readonly gitPushCommand?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Used to manage release strategies. This includes release
|
|
35
|
+
* and release artifact automation
|
|
36
|
+
*/
|
|
37
|
+
export declare class ReleaseTrigger {
|
|
38
|
+
/**
|
|
39
|
+
* Creates a manual release trigger.
|
|
40
|
+
*
|
|
41
|
+
* Use this option if you want totally manual releases.
|
|
42
|
+
*
|
|
43
|
+
* This will give you a release task that, in addition to the normal
|
|
44
|
+
* release activities will trigger a `publish:git` task. This task will
|
|
45
|
+
* handle project-level changelog management, release tagging, and pushing
|
|
46
|
+
* these artifacts to origin.
|
|
47
|
+
*
|
|
48
|
+
* The command used for pushing can be customised by specifying
|
|
49
|
+
* `gitPushCommand`. Set to an empty string to disable pushing entirely.
|
|
50
|
+
*
|
|
51
|
+
* Simply run `yarn release` to trigger a manual release.
|
|
52
|
+
*
|
|
53
|
+
* @param options release options
|
|
54
|
+
*/
|
|
55
|
+
static manual(options?: ManualReleaseOptions): ReleaseTrigger;
|
|
56
|
+
/**
|
|
57
|
+
* Creates a scheduled release trigger.
|
|
58
|
+
*
|
|
59
|
+
* Automated releases will occur based on the provided cron schedule.
|
|
60
|
+
*
|
|
61
|
+
* @param options release options.
|
|
62
|
+
*/
|
|
63
|
+
static scheduled(options: ScheduledReleaseOptions): ReleaseTrigger;
|
|
64
|
+
/**
|
|
65
|
+
* Creates a continuous release trigger.
|
|
66
|
+
*
|
|
67
|
+
* Automated releases will occur on every commit.
|
|
68
|
+
*/
|
|
69
|
+
static continuous(): ReleaseTrigger;
|
|
70
|
+
/**
|
|
71
|
+
* Project-level changelog file path.
|
|
72
|
+
*/
|
|
73
|
+
readonly changelogPath?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Cron schedule for releases.
|
|
76
|
+
*
|
|
77
|
+
* Only defined if this is a scheduled release.
|
|
78
|
+
*
|
|
79
|
+
* @example '0 17 * * *' - every day at 5 pm
|
|
80
|
+
*/
|
|
81
|
+
readonly schedule?: string;
|
|
82
|
+
/**
|
|
83
|
+
* Whether or not this is a continuous release.
|
|
84
|
+
*/
|
|
85
|
+
readonly isContinuous: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Override git-push command used when releasing manually.
|
|
88
|
+
*
|
|
89
|
+
* Set to an empty string to disable pushing.
|
|
90
|
+
*/
|
|
91
|
+
readonly gitPushCommand?: string;
|
|
92
|
+
private constructor();
|
|
93
|
+
/**
|
|
94
|
+
* Whether or not this is a manual release trigger.
|
|
95
|
+
*/
|
|
96
|
+
get isManual(): boolean;
|
|
97
|
+
}
|