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,163 @@
|
|
|
1
|
+
import { Eslint, EslintOptions, NodeProject, NodeProjectOptions, TypescriptConfig, TypescriptConfigOptions } from "../javascript";
|
|
2
|
+
import { Task } from "../task";
|
|
3
|
+
import { ProjenrcOptions as ProjenrcTsOptions } from "../typescript";
|
|
4
|
+
export interface TypeScriptProjectOptions extends NodeProjectOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Typescript artifacts output directory
|
|
7
|
+
*
|
|
8
|
+
* @default "lib"
|
|
9
|
+
*/
|
|
10
|
+
readonly libdir?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Typescript sources directory.
|
|
13
|
+
*
|
|
14
|
+
* @default "src"
|
|
15
|
+
*/
|
|
16
|
+
readonly srcdir?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Jest tests directory. Tests files should be named `xxx.test.ts`.
|
|
19
|
+
*
|
|
20
|
+
* If this directory is under `srcdir` (e.g. `src/test`, `src/__tests__`),
|
|
21
|
+
* then tests are going to be compiled into `lib/` and executed as javascript.
|
|
22
|
+
* If the test directory is outside of `src`, then we configure jest to
|
|
23
|
+
* compile the code in-memory.
|
|
24
|
+
*
|
|
25
|
+
* @default "test"
|
|
26
|
+
*/
|
|
27
|
+
readonly testdir?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Setup eslint.
|
|
30
|
+
*
|
|
31
|
+
* @default true
|
|
32
|
+
*/
|
|
33
|
+
readonly eslint?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Eslint options
|
|
36
|
+
* @default - opinionated default options
|
|
37
|
+
*/
|
|
38
|
+
readonly eslintOptions?: EslintOptions;
|
|
39
|
+
/**
|
|
40
|
+
* TypeScript version to use.
|
|
41
|
+
*
|
|
42
|
+
* NOTE: Typescript is not semantically versioned and should remain on the
|
|
43
|
+
* same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`).
|
|
44
|
+
*
|
|
45
|
+
* @default "latest"
|
|
46
|
+
*/
|
|
47
|
+
readonly typescriptVersion?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Docgen by Typedoc
|
|
50
|
+
*
|
|
51
|
+
* @default false
|
|
52
|
+
*/
|
|
53
|
+
readonly docgen?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Docs directory
|
|
56
|
+
*
|
|
57
|
+
* @default "docs"
|
|
58
|
+
*/
|
|
59
|
+
readonly docsDirectory?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Custom TSConfig
|
|
62
|
+
* @default - default options
|
|
63
|
+
*/
|
|
64
|
+
readonly tsconfig?: TypescriptConfigOptions;
|
|
65
|
+
/**
|
|
66
|
+
* Custom tsconfig options for the development tsconfig.json file (used for testing).
|
|
67
|
+
* @default - use the production tsconfig options
|
|
68
|
+
*/
|
|
69
|
+
readonly tsconfigDev?: TypescriptConfigOptions;
|
|
70
|
+
/**
|
|
71
|
+
* The name of the development tsconfig.json file.
|
|
72
|
+
*
|
|
73
|
+
* @default "tsconfig.dev.json"
|
|
74
|
+
*/
|
|
75
|
+
readonly tsconfigDevFile?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Do not generate a `tsconfig.json` file (used by jsii projects since
|
|
78
|
+
* tsconfig.json is generated by the jsii compiler).
|
|
79
|
+
*
|
|
80
|
+
* @default false
|
|
81
|
+
*/
|
|
82
|
+
readonly disableTsconfig?: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Generate one-time sample in `src/` and `test/` if there are no files there.
|
|
85
|
+
* @default true
|
|
86
|
+
*/
|
|
87
|
+
readonly sampleCode?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* The .d.ts file that includes the type declarations for this module.
|
|
90
|
+
* @default - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
|
|
91
|
+
*/
|
|
92
|
+
readonly entrypointTypes?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Use TypeScript for your projenrc file (`.projenrc.ts`).
|
|
95
|
+
*
|
|
96
|
+
* @default false
|
|
97
|
+
*/
|
|
98
|
+
readonly projenrcTs?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Options for .projenrc.ts
|
|
101
|
+
*/
|
|
102
|
+
readonly projenrcTsOptions?: ProjenrcTsOptions;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* TypeScript project
|
|
106
|
+
* @pjid typescript
|
|
107
|
+
*/
|
|
108
|
+
export declare class TypeScriptProject extends NodeProject {
|
|
109
|
+
readonly docgen?: boolean;
|
|
110
|
+
readonly docsDirectory: string;
|
|
111
|
+
readonly eslint?: Eslint;
|
|
112
|
+
readonly tsconfigEslint?: TypescriptConfig;
|
|
113
|
+
readonly tsconfig?: TypescriptConfig;
|
|
114
|
+
/**
|
|
115
|
+
* A typescript configuration file which covers all files (sources, tests, projen).
|
|
116
|
+
*/
|
|
117
|
+
readonly tsconfigDev: TypescriptConfig;
|
|
118
|
+
/**
|
|
119
|
+
* The directory in which the .ts sources reside.
|
|
120
|
+
*/
|
|
121
|
+
readonly srcdir: string;
|
|
122
|
+
/**
|
|
123
|
+
* The directory in which compiled .js files reside.
|
|
124
|
+
*/
|
|
125
|
+
readonly libdir: string;
|
|
126
|
+
/**
|
|
127
|
+
* The directory in which tests reside.
|
|
128
|
+
*/
|
|
129
|
+
readonly testdir: string;
|
|
130
|
+
/**
|
|
131
|
+
* The "watch" task.
|
|
132
|
+
*/
|
|
133
|
+
readonly watchTask: Task;
|
|
134
|
+
constructor(options: TypeScriptProjectOptions);
|
|
135
|
+
/**
|
|
136
|
+
* Tests are compiled to `lib/TESTDIR`, so we don't need jest to compile them
|
|
137
|
+
* for us. just run them directly from javascript.
|
|
138
|
+
*/
|
|
139
|
+
private addJestCompiled;
|
|
140
|
+
private addJestNoCompile;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* TypeScript app.
|
|
144
|
+
*
|
|
145
|
+
* @pjid typescript-app
|
|
146
|
+
*/
|
|
147
|
+
export declare class TypeScriptAppProject extends TypeScriptProject {
|
|
148
|
+
constructor(options: TypeScriptProjectOptions);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* @deprecated use `TypeScriptProject`
|
|
152
|
+
*/
|
|
153
|
+
export declare class TypeScriptLibraryProject extends TypeScriptProject {
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* @deprecated use TypeScriptProjectOptions
|
|
157
|
+
*/
|
|
158
|
+
export interface TypeScriptLibraryProjectOptions extends TypeScriptProjectOptions {
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* @internal
|
|
162
|
+
*/
|
|
163
|
+
export declare function mergeTsconfigOptions(...options: (TypescriptConfigOptions | undefined)[]): TypescriptConfigOptions;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export declare enum TargetName {
|
|
2
|
+
JAVA = 0,
|
|
3
|
+
DOTNET = 1,
|
|
4
|
+
PYTHON = 2,
|
|
5
|
+
GO = 3,
|
|
6
|
+
JAVASCRIPT = 4
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Converts a SemVer range expression to a Maven version range expression.
|
|
10
|
+
*
|
|
11
|
+
* @param semverRange the SemVer range expression to convert.
|
|
12
|
+
* @param suffix the suffix to add to versions in the range.
|
|
13
|
+
*
|
|
14
|
+
* @see https://cwiki.apache.org/confluence/display/MAVENOLD/Dependency+Mediation+and+Conflict+Resolution
|
|
15
|
+
*/
|
|
16
|
+
export declare function toMavenVersionRange(semverRange: string, suffix?: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Converts a SemVer range expression to a NuGet version range expression.
|
|
19
|
+
*
|
|
20
|
+
* @param semverRange the SemVer range expression to convert.
|
|
21
|
+
*
|
|
22
|
+
* @see https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#version-ranges-and-wildcards
|
|
23
|
+
*/
|
|
24
|
+
export declare function toNuGetVersionRange(semverRange: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Converts a SemVer range expression to a Python setuptools compatible version
|
|
27
|
+
* constraint expression.
|
|
28
|
+
*
|
|
29
|
+
* @param semverRange the SemVer range expression to convert.
|
|
30
|
+
*/
|
|
31
|
+
export declare function toPythonVersionRange(semverRange: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Converts an original version number from the NPM convention to the target
|
|
34
|
+
* language's convention for expressing the same. For versions that do not
|
|
35
|
+
* include a prerelease identifier, this always returns the assembly version
|
|
36
|
+
* unmodified.
|
|
37
|
+
*
|
|
38
|
+
* @param assemblyVersion the assembly version being released
|
|
39
|
+
* @param target the target language for which the version is destined
|
|
40
|
+
*
|
|
41
|
+
* @returns the version that should be serialized
|
|
42
|
+
*/
|
|
43
|
+
export declare function toReleaseVersion(assemblyVersion: string, target: TargetName): string;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Project } from "../project";
|
|
2
|
+
/**
|
|
3
|
+
* Options for the Snapshot synthesis
|
|
4
|
+
*/
|
|
5
|
+
export interface SnapshotOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Parse .json files as a JS object for improved inspection.
|
|
8
|
+
* This will fail if the contents are invalid JSON.
|
|
9
|
+
*
|
|
10
|
+
* @default true parse .json files into an object
|
|
11
|
+
*/
|
|
12
|
+
readonly parseJson?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface SynthOutput {
|
|
15
|
+
[filePath: string]: any;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Creates a snapshot of the files generated by a project. Ignores any non-text
|
|
19
|
+
* files so that the snapshots are human readable.
|
|
20
|
+
*/
|
|
21
|
+
export declare function synthSnapshot(project: Project, options?: SnapshotOptions): SynthOutput;
|
|
22
|
+
export interface DirectorySnapshotOptions extends SnapshotOptions {
|
|
23
|
+
/**
|
|
24
|
+
* Globs of files to exclude.
|
|
25
|
+
* @default [] include all files
|
|
26
|
+
*/
|
|
27
|
+
readonly excludeGlobs?: string[];
|
|
28
|
+
/**
|
|
29
|
+
* Only snapshot the names of files and not their contents.
|
|
30
|
+
* The value for a path will be `true` if it exists.
|
|
31
|
+
*
|
|
32
|
+
* @default false include file content
|
|
33
|
+
*/
|
|
34
|
+
readonly onlyFileNames?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Parses files with different parser, supporting comments
|
|
37
|
+
* inside .json files.
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
40
|
+
readonly supportJsonComments?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export declare function directorySnapshot(root: string, options?: DirectorySnapshotOptions): SynthOutput;
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import * as path from "path";
|
|
3
|
+
/**
|
|
4
|
+
* Executes a command with STDOUT > STDERR.
|
|
5
|
+
*/
|
|
6
|
+
export declare function exec(command: string, options: {
|
|
7
|
+
cwd: string;
|
|
8
|
+
}): void;
|
|
9
|
+
/**
|
|
10
|
+
* Executes command and returns STDOUT. If the command fails (non-zero), throws an error.
|
|
11
|
+
*/
|
|
12
|
+
export declare function execCapture(command: string, options: {
|
|
13
|
+
cwd: string;
|
|
14
|
+
}): Buffer;
|
|
15
|
+
/**
|
|
16
|
+
* Executes `command` and returns its value or undefined if the command failed.
|
|
17
|
+
*/
|
|
18
|
+
export declare function execOrUndefined(command: string, options: {
|
|
19
|
+
cwd: string;
|
|
20
|
+
}): string | undefined;
|
|
21
|
+
export interface WriteFileOptions {
|
|
22
|
+
/**
|
|
23
|
+
* Whether the generated file should be marked as executable.
|
|
24
|
+
*
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
executable?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the generated file should be readonly.
|
|
30
|
+
*
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
readonly?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function getFilePermissions(options: WriteFileOptions): string;
|
|
36
|
+
export declare function writeFile(filePath: string, data: any, options?: WriteFileOptions): void;
|
|
37
|
+
/**
|
|
38
|
+
* Decamelizes the keys of an object structure, recursing through child objects and arrays.
|
|
39
|
+
* @experimental
|
|
40
|
+
*/
|
|
41
|
+
export interface DecamelizeRecursivelyOptions {
|
|
42
|
+
/**
|
|
43
|
+
* Max depth to recurse before erroring.
|
|
44
|
+
* @default 10
|
|
45
|
+
*/
|
|
46
|
+
maxDepth?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Returns true when a key should be decamelized
|
|
49
|
+
* @default - all keys are decamelized
|
|
50
|
+
*/
|
|
51
|
+
shouldDecamelize?: (path: string[], value: any) => boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Separator for decamelizing.
|
|
54
|
+
* @default "_"
|
|
55
|
+
*/
|
|
56
|
+
separator?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Current path.
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
path?: string[];
|
|
62
|
+
}
|
|
63
|
+
export declare function decamelizeKeysRecursively(input: any, opt?: DecamelizeRecursivelyOptions): any;
|
|
64
|
+
/**
|
|
65
|
+
* Returns false if value is unset or a falsey value, and true otherwise.
|
|
66
|
+
* @param value an environment variable
|
|
67
|
+
*/
|
|
68
|
+
export declare function isTruthy(value: string | undefined): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Type of a map mapping strings to some arbitrary type
|
|
71
|
+
*/
|
|
72
|
+
export type Obj<T> = {
|
|
73
|
+
[key: string]: T;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Return whether the given value is an object
|
|
77
|
+
*
|
|
78
|
+
* Even though arrays and instances of classes technically are objects, we
|
|
79
|
+
* usually want to treat them differently, so we return false in those cases.
|
|
80
|
+
*/
|
|
81
|
+
export declare function isObject(x: any): x is Obj<any>;
|
|
82
|
+
/**
|
|
83
|
+
* Recursively merge objects together
|
|
84
|
+
*
|
|
85
|
+
* The leftmost object is mutated and returned. Arrays are not merged
|
|
86
|
+
* but overwritten just like scalars.
|
|
87
|
+
*
|
|
88
|
+
* If an object is merged into a non-object, the non-object is lost.
|
|
89
|
+
*
|
|
90
|
+
* `undefined`s will cause a value to be deleted if destructive is enabled.
|
|
91
|
+
*/
|
|
92
|
+
export declare function deepMerge(objects: Array<Obj<any> | undefined>, destructive?: boolean): Obj<any>;
|
|
93
|
+
export declare function dedupArray<T>(array: T[]): T[];
|
|
94
|
+
/**
|
|
95
|
+
* Returns a sorted version of `x` or `undefined` if it is an empty array or object.
|
|
96
|
+
*/
|
|
97
|
+
export declare function sorted<T>(x: T): unknown[] | T | undefined;
|
|
98
|
+
export declare function formatAsPythonModule(name: string): string;
|
|
99
|
+
/**
|
|
100
|
+
* Extract git version number from command line
|
|
101
|
+
*
|
|
102
|
+
* @param gitVersionOutput the output from `git version` CLI
|
|
103
|
+
* @returns the version of git
|
|
104
|
+
*/
|
|
105
|
+
export declare function getGitVersion(gitVersionOutput: string): string;
|
|
106
|
+
export declare function kebabCaseKeys<T = unknown>(obj: T, recursive?: boolean): T;
|
|
107
|
+
export declare function snakeCaseKeys<T = unknown>(obj: T, recursive?: boolean, exclusiveForRecordKeys?: string[]): T;
|
|
108
|
+
export declare function tryReadFile(file: string): Promise<string>;
|
|
109
|
+
export declare function tryReadFileSync(file: string): string | undefined;
|
|
110
|
+
export declare function isWritable(file: string): boolean;
|
|
111
|
+
export declare function isExecutable(file: string): boolean;
|
|
112
|
+
export declare function getNodeMajorVersion(): number | undefined;
|
|
113
|
+
export declare function anySelected(options: (boolean | undefined)[]): boolean;
|
|
114
|
+
export declare function multipleSelected(options: (boolean | undefined)[]): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Checks if a path is a FS root
|
|
117
|
+
*
|
|
118
|
+
* Optional uses a provided OS specific path implementation,
|
|
119
|
+
* defaults to use the implementation for the current OS.
|
|
120
|
+
*
|
|
121
|
+
* @internal
|
|
122
|
+
*/
|
|
123
|
+
export declare function isRoot(dir: string, osPathLib?: typeof path): boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Run up project tree to find a file or directory
|
|
126
|
+
*
|
|
127
|
+
* @param lookFor the file or directory to look for
|
|
128
|
+
* @param cwd current working directory, must be an absolute path
|
|
129
|
+
* @returns path to the file or directory we are looking for, undefined if not found
|
|
130
|
+
*/
|
|
131
|
+
export declare function findUp(lookFor: string, cwd?: string): string | undefined;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Component } from "./component";
|
|
2
|
+
import { Project } from "./project";
|
|
3
|
+
import { Task } from "./task";
|
|
4
|
+
/**
|
|
5
|
+
* Options for `Version`.
|
|
6
|
+
*/
|
|
7
|
+
export interface VersionOptions {
|
|
8
|
+
/**
|
|
9
|
+
* A name of a .json file to set the `version` field in after a bump.
|
|
10
|
+
*
|
|
11
|
+
* @example "package.json"
|
|
12
|
+
*/
|
|
13
|
+
readonly versionInputFile: string;
|
|
14
|
+
/**
|
|
15
|
+
* The name of the directory into which `changelog.md` and `version.txt` files
|
|
16
|
+
* are emitted.
|
|
17
|
+
*/
|
|
18
|
+
readonly artifactsDirectory: string;
|
|
19
|
+
/**
|
|
20
|
+
* Custom configuration for versionrc file used by standard-release
|
|
21
|
+
*/
|
|
22
|
+
readonly versionrcOptions?: Record<string, any>;
|
|
23
|
+
/**
|
|
24
|
+
* The tag prefix corresponding to this version.
|
|
25
|
+
*/
|
|
26
|
+
readonly tagPrefix?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare class Version extends Component {
|
|
29
|
+
static readonly STANDARD_VERSION = "standard-version@^9";
|
|
30
|
+
readonly bumpTask: Task;
|
|
31
|
+
readonly unbumpTask: Task;
|
|
32
|
+
/**
|
|
33
|
+
* The name of the changelog file (under `artifactsDirectory`).
|
|
34
|
+
*/
|
|
35
|
+
readonly changelogFileName: string;
|
|
36
|
+
/**
|
|
37
|
+
* The name of the file that contains the version (under `artifactsDirectory`).
|
|
38
|
+
*/
|
|
39
|
+
readonly versionFileName: string;
|
|
40
|
+
/**
|
|
41
|
+
* The name of the file that contains the release tag (under `artifactsDirectory`).
|
|
42
|
+
*/
|
|
43
|
+
readonly releaseTagFileName: string;
|
|
44
|
+
constructor(project: Project, options: VersionOptions);
|
|
45
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Component } from "../component";
|
|
2
|
+
import { DevEnvironmentDockerImage, DevEnvironmentOptions, IDevEnvironment } from "../dev-env";
|
|
3
|
+
import { Project } from "../project";
|
|
4
|
+
import { Task } from "../task";
|
|
5
|
+
/**
|
|
6
|
+
* devcontainer features options
|
|
7
|
+
* @see https://containers.dev/implementors/features/#devcontainer-json-properties
|
|
8
|
+
*/
|
|
9
|
+
export interface DevContainerFeature {
|
|
10
|
+
/**
|
|
11
|
+
* feature name
|
|
12
|
+
*/
|
|
13
|
+
readonly name: string;
|
|
14
|
+
/**
|
|
15
|
+
* feature version
|
|
16
|
+
* @default latest
|
|
17
|
+
*/
|
|
18
|
+
readonly version?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Constructor options for the DevContainer component.
|
|
22
|
+
*
|
|
23
|
+
* The default docker image used for GitHub Codespaces is defined here:
|
|
24
|
+
* @see https://github.com/microsoft/vscode-dev-containers/tree/master/containers/codespaces-linux
|
|
25
|
+
*/
|
|
26
|
+
export interface DevContainerOptions extends DevEnvironmentOptions {
|
|
27
|
+
/**
|
|
28
|
+
* An array of VSCode features that specify the features that should be
|
|
29
|
+
* installed inside the container when it is created.
|
|
30
|
+
*/
|
|
31
|
+
readonly features?: DevContainerFeature[];
|
|
32
|
+
}
|
|
33
|
+
export interface IDevContainerEnvironment extends IDevEnvironment {
|
|
34
|
+
/**
|
|
35
|
+
* Adds a list of VSCode features that should be automatically installed
|
|
36
|
+
* in the container.
|
|
37
|
+
*
|
|
38
|
+
* @param features featureName and version(optional default: latest)
|
|
39
|
+
*/
|
|
40
|
+
addFeatures(...features: DevContainerFeature[]): void;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* A development environment running VSCode in a container; used by GitHub
|
|
44
|
+
* codespaces.
|
|
45
|
+
*/
|
|
46
|
+
export declare class DevContainer extends Component implements IDevContainerEnvironment {
|
|
47
|
+
private dockerImage;
|
|
48
|
+
private readonly postCreateTasks;
|
|
49
|
+
private readonly ports;
|
|
50
|
+
private readonly vscodeExtensions;
|
|
51
|
+
private readonly features;
|
|
52
|
+
/**
|
|
53
|
+
* Direct access to the devcontainer configuration (escape hatch)
|
|
54
|
+
*/
|
|
55
|
+
readonly config: any;
|
|
56
|
+
constructor(project: Project, options?: DevContainerOptions);
|
|
57
|
+
addDockerImage(image: DevEnvironmentDockerImage): void;
|
|
58
|
+
/**
|
|
59
|
+
* Adds tasks to run when the container starts. Tasks will be run in sequence.
|
|
60
|
+
*
|
|
61
|
+
* @param tasks The new tasks
|
|
62
|
+
*/
|
|
63
|
+
addTasks(...tasks: Task[]): void;
|
|
64
|
+
/**
|
|
65
|
+
* Adds ports that should be exposed (forwarded) from the container.
|
|
66
|
+
*
|
|
67
|
+
* @param ports The new ports
|
|
68
|
+
*/
|
|
69
|
+
addPorts(...ports: string[]): void;
|
|
70
|
+
/**
|
|
71
|
+
* Adds a list of VSCode extensions that should be automatically installed
|
|
72
|
+
* in the container.
|
|
73
|
+
*
|
|
74
|
+
* @param extensions The extension IDs
|
|
75
|
+
*/
|
|
76
|
+
addVscodeExtensions(...extensions: string[]): void;
|
|
77
|
+
/**
|
|
78
|
+
* Adds a list of VSCode features that should be automatically installed
|
|
79
|
+
* in the container.
|
|
80
|
+
*
|
|
81
|
+
* @param features featureName and version(optional default: latest)
|
|
82
|
+
*/
|
|
83
|
+
addFeatures(...features: DevContainerFeature[]): void;
|
|
84
|
+
private renderTasks;
|
|
85
|
+
private renderFeatures;
|
|
86
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { VsCode } from "./vscode";
|
|
2
|
+
import { Component } from "../component";
|
|
3
|
+
/**
|
|
4
|
+
* VS Code Workspace recommended extensions
|
|
5
|
+
* Source: https://code.visualstudio.com/docs/editor/extension-marketplace#_workspace-recommended-extensions
|
|
6
|
+
*/
|
|
7
|
+
export declare class VsCodeRecommendedExtensions extends Component {
|
|
8
|
+
/**
|
|
9
|
+
* List of extensions which should be recommended for users of this workspace.
|
|
10
|
+
* The identifier of an extension is always '${publisher}.${name}'. For example: 'ms-python.python'.
|
|
11
|
+
*
|
|
12
|
+
* @default - no recommendations are made
|
|
13
|
+
*/
|
|
14
|
+
private readonly recommendations;
|
|
15
|
+
/**
|
|
16
|
+
* List of extensions recommended by VS Code that should not be recommended for users of this workspace.
|
|
17
|
+
* The identifier of an extension is always '${publisher}.${name}'. For example: 'ms-python.python'.
|
|
18
|
+
*
|
|
19
|
+
* @default - no recommendations are marked unwanted
|
|
20
|
+
*/
|
|
21
|
+
private readonly unwantedRecommendations;
|
|
22
|
+
constructor(vscode: VsCode);
|
|
23
|
+
/**
|
|
24
|
+
* Adds a list of VS Code extensions as recommendations for this workspace.
|
|
25
|
+
*
|
|
26
|
+
* @param extensions The extension IDs
|
|
27
|
+
*/
|
|
28
|
+
addRecommendations(...extensions: string[]): void;
|
|
29
|
+
/**
|
|
30
|
+
* Marks a list of VS Code extensions as unwanted recommendations for this workspace.
|
|
31
|
+
* VS Code should not be recommend these extensions for users of this workspace.
|
|
32
|
+
*
|
|
33
|
+
* @param extensions The extension IDs
|
|
34
|
+
*/
|
|
35
|
+
addUnwantedRecommendations(...extensions: string[]): void;
|
|
36
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { VsCode } from "./vscode";
|
|
2
|
+
import { Component } from "../component";
|
|
3
|
+
/**
|
|
4
|
+
* Controls where to launch the debug target
|
|
5
|
+
* Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes
|
|
6
|
+
*/
|
|
7
|
+
export declare enum Console {
|
|
8
|
+
INTERNAL_CONSOLE = "internalConsole",
|
|
9
|
+
INTEGRATED_TERMINAL = "integratedTerminal",
|
|
10
|
+
EXTERNAL_TERMINAL = "externalTerminal"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Controls the visibility of the VSCode Debug Console panel during a debugging session
|
|
14
|
+
* Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes
|
|
15
|
+
*/
|
|
16
|
+
export declare enum InternalConsoleOptions {
|
|
17
|
+
NEVER_OPEN = "neverOpen",
|
|
18
|
+
OPEN_ON_FIRST_SESSION_START = "openOnFirstSessionStart",
|
|
19
|
+
OPEN_ON_SESSION_START = "openOnSessionStart"
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* VSCode launch configuration Presentation interface
|
|
23
|
+
* "using the order, group, and hidden attributes in the presentation object you can sort,
|
|
24
|
+
* group, and hide configurations and compounds in the Debug configuration dropdown
|
|
25
|
+
* and in the Debug quick pick."
|
|
26
|
+
* Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes
|
|
27
|
+
*/
|
|
28
|
+
export interface Presentation {
|
|
29
|
+
readonly hidden: boolean;
|
|
30
|
+
readonly group: string;
|
|
31
|
+
readonly order: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* VSCode launch configuration ServerReadyAction interface
|
|
35
|
+
* "if you want to open a URL in a web browser whenever the program under debugging
|
|
36
|
+
* outputs a specific message to the debug console or integrated terminal."
|
|
37
|
+
* Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes
|
|
38
|
+
*/
|
|
39
|
+
export interface ServerReadyAction {
|
|
40
|
+
readonly action: string;
|
|
41
|
+
readonly pattern?: string;
|
|
42
|
+
readonly uriFormat?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Options for a 'VsCodeLaunchConfigurationEntry'
|
|
46
|
+
* Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes
|
|
47
|
+
*/
|
|
48
|
+
export interface VsCodeLaunchConfigurationEntry {
|
|
49
|
+
readonly type: string;
|
|
50
|
+
readonly request: string;
|
|
51
|
+
readonly name: string;
|
|
52
|
+
readonly args?: string[];
|
|
53
|
+
readonly debugServer?: number;
|
|
54
|
+
readonly internalConsoleOptions?: InternalConsoleOptions;
|
|
55
|
+
readonly runtimeArgs?: string[];
|
|
56
|
+
readonly postDebugTask?: string;
|
|
57
|
+
readonly preLaunchTask?: string;
|
|
58
|
+
readonly presentation?: Presentation;
|
|
59
|
+
readonly program?: string;
|
|
60
|
+
readonly serverReadyAction?: ServerReadyAction;
|
|
61
|
+
readonly skipFiles?: string[];
|
|
62
|
+
readonly outFiles?: string[];
|
|
63
|
+
readonly url?: string;
|
|
64
|
+
readonly webRoot?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Set value to `false` to unset an existing environment variable
|
|
67
|
+
*/
|
|
68
|
+
readonly env?: Record<string, string | false>;
|
|
69
|
+
readonly envFile?: string;
|
|
70
|
+
readonly cwd?: string;
|
|
71
|
+
readonly port?: number;
|
|
72
|
+
readonly stopOnEntry?: boolean;
|
|
73
|
+
readonly console?: Console;
|
|
74
|
+
readonly disableOptimisticBPs?: boolean;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* VSCode launch configuration file (launch.json), useful for enabling in-editor debugger
|
|
78
|
+
*/
|
|
79
|
+
export declare class VsCodeLaunchConfig extends Component {
|
|
80
|
+
private static renderLaunchConfig;
|
|
81
|
+
private readonly content;
|
|
82
|
+
constructor(vscode: VsCode);
|
|
83
|
+
/**
|
|
84
|
+
* Adds a VsCodeLaunchConfigurationEntry (e.g. a node.js debugger) to `.vscode/launch.json.
|
|
85
|
+
* Each configuration entry has following mandatory fields: type, request and name.
|
|
86
|
+
* See https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes for details.
|
|
87
|
+
* @param cfg VsCodeLaunchConfigurationEntry
|
|
88
|
+
*/
|
|
89
|
+
addConfiguration(cfg: VsCodeLaunchConfigurationEntry): void;
|
|
90
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { VsCode } from "./vscode";
|
|
2
|
+
import { Component } from "../component";
|
|
3
|
+
/**
|
|
4
|
+
* VS Code Workspace settings
|
|
5
|
+
* Source: https://code.visualstudio.com/docs/getstarted/settings#_workspace-settings
|
|
6
|
+
*/
|
|
7
|
+
export declare class VsCodeSettings extends Component {
|
|
8
|
+
private readonly content;
|
|
9
|
+
constructor(vscode: VsCode);
|
|
10
|
+
/**
|
|
11
|
+
* Adds a workspace setting
|
|
12
|
+
*
|
|
13
|
+
* @param setting The setting ID
|
|
14
|
+
* @param value The value of the setting
|
|
15
|
+
* @param language Scope the setting to a specific language
|
|
16
|
+
*/
|
|
17
|
+
addSetting(setting: string, value: unknown, language?: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Adds a workspace setting
|
|
20
|
+
*
|
|
21
|
+
* @param settings Array structure: [setting: string, value: any, languages?: string[]]
|
|
22
|
+
*/
|
|
23
|
+
addSettings(settings: Record<string, unknown>, languages?: string | string[]): void;
|
|
24
|
+
}
|