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,160 @@
|
|
|
1
|
+
import { Component } from "./component";
|
|
2
|
+
import { Project } from "./project";
|
|
3
|
+
/**
|
|
4
|
+
* The `Dependencies` component is responsible to track the list of dependencies
|
|
5
|
+
* a project has, and then used by project types as the model for rendering
|
|
6
|
+
* project-specific dependency manifests such as the dependencies section
|
|
7
|
+
* `package.json` files.
|
|
8
|
+
*
|
|
9
|
+
* To add a dependency you can use a project-type specific API such as
|
|
10
|
+
* `nodeProject.addDeps()` or use the generic API of `project.deps`:
|
|
11
|
+
*/
|
|
12
|
+
export declare class Dependencies extends Component {
|
|
13
|
+
/**
|
|
14
|
+
* The project-relative path of the deps manifest file.
|
|
15
|
+
*/
|
|
16
|
+
static readonly MANIFEST_FILE: string;
|
|
17
|
+
/**
|
|
18
|
+
* Returns the coordinates of a dependency spec.
|
|
19
|
+
*
|
|
20
|
+
* Given `foo@^3.4.0` returns `{ name: "foo", version: "^3.4.0" }`.
|
|
21
|
+
* Given `bar@npm:@bar/legacy` returns `{ name: "bar", version: "npm:@bar/legacy" }`.
|
|
22
|
+
*/
|
|
23
|
+
static parseDependency(spec: string): DependencyCoordinates;
|
|
24
|
+
private readonly _deps;
|
|
25
|
+
/**
|
|
26
|
+
* Adds a dependencies component to the project.
|
|
27
|
+
* @param project The parent project
|
|
28
|
+
*/
|
|
29
|
+
constructor(project: Project);
|
|
30
|
+
/**
|
|
31
|
+
* A copy of all dependencies recorded for this project.
|
|
32
|
+
*
|
|
33
|
+
* The list is sorted by type->name->version
|
|
34
|
+
*/
|
|
35
|
+
get all(): Dependency[];
|
|
36
|
+
/**
|
|
37
|
+
* Returns a dependency by name.
|
|
38
|
+
*
|
|
39
|
+
* Fails if there is no dependency defined by that name or if `type` is not
|
|
40
|
+
* provided and there is more then one dependency type for this dependency.
|
|
41
|
+
*
|
|
42
|
+
* @param name The name of the dependency
|
|
43
|
+
* @param type The dependency type. If this dependency is defined only for a
|
|
44
|
+
* single type, this argument can be omitted.
|
|
45
|
+
*
|
|
46
|
+
* @returns a copy (cannot be modified)
|
|
47
|
+
*/
|
|
48
|
+
getDependency(name: string, type?: DependencyType): Dependency;
|
|
49
|
+
/**
|
|
50
|
+
* Returns a dependency by name.
|
|
51
|
+
*
|
|
52
|
+
* Returns `undefined` if there is no dependency defined by that name or if
|
|
53
|
+
* `type` is not provided and there is more then one dependency type for this
|
|
54
|
+
* dependency.
|
|
55
|
+
*
|
|
56
|
+
* @param name The name of the dependency
|
|
57
|
+
* @param type The dependency type. If this dependency is defined only for a
|
|
58
|
+
* single type, this argument can be omitted.
|
|
59
|
+
*
|
|
60
|
+
* @returns a copy (cannot be modified) or undefined if there is no match
|
|
61
|
+
*/
|
|
62
|
+
tryGetDependency(name: string, type?: DependencyType): Dependency | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Adds a dependency to this project.
|
|
65
|
+
* @param spec The dependency spec in the format `MODULE[@VERSION]` where
|
|
66
|
+
* `MODULE` is the package-manager-specific module name and `VERSION` is an
|
|
67
|
+
* optional semantic version requirement (e.g. `^3.4.0`).
|
|
68
|
+
* @param type The type of the dependency.
|
|
69
|
+
*/
|
|
70
|
+
addDependency(spec: string, type: DependencyType, metadata?: {
|
|
71
|
+
[key: string]: any;
|
|
72
|
+
}): Dependency;
|
|
73
|
+
/**
|
|
74
|
+
* Removes a dependency.
|
|
75
|
+
* @param name The name of the module to remove (without the version)
|
|
76
|
+
* @param type The dependency type. This is only required if there the
|
|
77
|
+
* dependency is defined for multiple types.
|
|
78
|
+
*/
|
|
79
|
+
removeDependency(name: string, type?: DependencyType): void;
|
|
80
|
+
private tryGetDependencyIndex;
|
|
81
|
+
private toJson;
|
|
82
|
+
}
|
|
83
|
+
export interface DepsManifest {
|
|
84
|
+
/**
|
|
85
|
+
* All dependencies of this module.
|
|
86
|
+
*/
|
|
87
|
+
readonly dependencies: Dependency[];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Coordinates of the dependency (name and version).
|
|
91
|
+
*/
|
|
92
|
+
export interface DependencyCoordinates {
|
|
93
|
+
/**
|
|
94
|
+
* The package manager name of the dependency (e.g. `leftpad` for npm).
|
|
95
|
+
*
|
|
96
|
+
* NOTE: For package managers that use complex coordinates (like Maven), we
|
|
97
|
+
* will codify it into a string somehow.
|
|
98
|
+
*/
|
|
99
|
+
readonly name: string;
|
|
100
|
+
/**
|
|
101
|
+
* Semantic version version requirement.
|
|
102
|
+
*
|
|
103
|
+
* @default - requirement is managed by the package manager (e.g. npm/yarn).
|
|
104
|
+
*/
|
|
105
|
+
readonly version?: string;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Represents a project dependency.
|
|
109
|
+
*/
|
|
110
|
+
export interface Dependency extends DependencyCoordinates {
|
|
111
|
+
/**
|
|
112
|
+
* Which type of dependency this is (runtime, build-time, etc).
|
|
113
|
+
*/
|
|
114
|
+
readonly type: DependencyType;
|
|
115
|
+
/**
|
|
116
|
+
* Additional JSON metadata associated with the dependency (package manager
|
|
117
|
+
* specific).
|
|
118
|
+
* @default {}
|
|
119
|
+
*/
|
|
120
|
+
readonly metadata?: {
|
|
121
|
+
[key: string]: any;
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Type of dependency.
|
|
126
|
+
*/
|
|
127
|
+
export declare enum DependencyType {
|
|
128
|
+
/**
|
|
129
|
+
* The dependency is required for the program/library during runtime.
|
|
130
|
+
*/
|
|
131
|
+
RUNTIME = "runtime",
|
|
132
|
+
/**
|
|
133
|
+
* The dependency is required at runtime but expected to be installed by the
|
|
134
|
+
* consumer.
|
|
135
|
+
*/
|
|
136
|
+
PEER = "peer",
|
|
137
|
+
/**
|
|
138
|
+
* The dependency is bundled and shipped with the module, so consumers are not
|
|
139
|
+
* required to install it.
|
|
140
|
+
*/
|
|
141
|
+
BUNDLED = "bundled",
|
|
142
|
+
/**
|
|
143
|
+
* The dependency is required to run the `build` task.
|
|
144
|
+
*/
|
|
145
|
+
BUILD = "build",
|
|
146
|
+
/**
|
|
147
|
+
* The dependency is required to run the `test` task.
|
|
148
|
+
*/
|
|
149
|
+
TEST = "test",
|
|
150
|
+
/**
|
|
151
|
+
* The dependency is required for development (e.g. IDE plugins).
|
|
152
|
+
*/
|
|
153
|
+
DEVENV = "devenv",
|
|
154
|
+
/**
|
|
155
|
+
* Transient dependency that needs to be overwritten.
|
|
156
|
+
*
|
|
157
|
+
* Available for Node packages
|
|
158
|
+
*/
|
|
159
|
+
OVERRIDE = "override"
|
|
160
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Task } from "./task";
|
|
2
|
+
/**
|
|
3
|
+
* Base options for configuring a container-based development environment.
|
|
4
|
+
*/
|
|
5
|
+
export interface DevEnvironmentOptions {
|
|
6
|
+
/**
|
|
7
|
+
* A Docker image or Dockerfile for the container.
|
|
8
|
+
*/
|
|
9
|
+
readonly dockerImage?: DevEnvironmentDockerImage;
|
|
10
|
+
/**
|
|
11
|
+
* An array of tasks that should be run when the container starts.
|
|
12
|
+
*/
|
|
13
|
+
readonly tasks?: Task[];
|
|
14
|
+
/**
|
|
15
|
+
* An array of ports that should be exposed from the container.
|
|
16
|
+
*/
|
|
17
|
+
readonly ports?: string[];
|
|
18
|
+
/**
|
|
19
|
+
* An array of extension IDs that specify the extensions that should be
|
|
20
|
+
* installed inside the container when it is created.
|
|
21
|
+
*/
|
|
22
|
+
readonly vscodeExtensions?: string[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Options for specifying the Docker image of the container.
|
|
26
|
+
*/
|
|
27
|
+
export declare class DevEnvironmentDockerImage {
|
|
28
|
+
/**
|
|
29
|
+
* A publicly available Docker image.
|
|
30
|
+
* @example 'ubuntu:latest'
|
|
31
|
+
* @param image a Docker image
|
|
32
|
+
*/
|
|
33
|
+
static fromImage(image: string): DevEnvironmentDockerImage;
|
|
34
|
+
/**
|
|
35
|
+
* The relative path of a Dockerfile that defines the container contents.
|
|
36
|
+
* @example '.gitpod.Docker'
|
|
37
|
+
* @param dockerFile a relative path
|
|
38
|
+
*/
|
|
39
|
+
static fromFile(dockerFile: string): DevEnvironmentDockerImage;
|
|
40
|
+
/**
|
|
41
|
+
* A publicly available Docker image.
|
|
42
|
+
*/
|
|
43
|
+
readonly image?: string;
|
|
44
|
+
/**
|
|
45
|
+
* The relative path of a Dockerfile that defines the container contents.
|
|
46
|
+
*/
|
|
47
|
+
readonly dockerFile?: string;
|
|
48
|
+
private constructor();
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Abstract interface for container-based development environments, such as
|
|
52
|
+
* Gitpod and GitHub Codespaces.
|
|
53
|
+
*/
|
|
54
|
+
export interface IDevEnvironment {
|
|
55
|
+
/**
|
|
56
|
+
* Add a custom Docker image or Dockerfile for the container.
|
|
57
|
+
*
|
|
58
|
+
* @param image The Docker image
|
|
59
|
+
*/
|
|
60
|
+
addDockerImage(image: DevEnvironmentDockerImage): void;
|
|
61
|
+
/**
|
|
62
|
+
* Adds tasks to run when the container starts.
|
|
63
|
+
*
|
|
64
|
+
* @param tasks The new tasks
|
|
65
|
+
*/
|
|
66
|
+
addTasks(...tasks: Task[]): void;
|
|
67
|
+
/**
|
|
68
|
+
* Adds ports that should be exposed (forwarded) from the container.
|
|
69
|
+
*
|
|
70
|
+
* @param ports The new ports
|
|
71
|
+
*/
|
|
72
|
+
addPorts(...ports: string[]): void;
|
|
73
|
+
/**
|
|
74
|
+
* Adds a list of VSCode extensions that should be automatically installed
|
|
75
|
+
* in the container.
|
|
76
|
+
*
|
|
77
|
+
* @param extensions The extension IDs
|
|
78
|
+
*/
|
|
79
|
+
addVscodeExtensions(...extensions: string[]): void;
|
|
80
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPAM subnet configuration
|
|
3
|
+
*/
|
|
4
|
+
export interface DockerComposeNetworkIpamSubnetConfig {
|
|
5
|
+
/**
|
|
6
|
+
* Subnet in CIDR format that represents a network segment
|
|
7
|
+
* @default - value is not provided
|
|
8
|
+
*/
|
|
9
|
+
readonly subnet?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* IPAM configuration
|
|
13
|
+
*/
|
|
14
|
+
export interface DockerComposeNetworkIpamConfig {
|
|
15
|
+
/**
|
|
16
|
+
* Driver to use for custom IPAM config.
|
|
17
|
+
* @default - value is not provided
|
|
18
|
+
*/
|
|
19
|
+
readonly driver?: string;
|
|
20
|
+
/**
|
|
21
|
+
* A list with zero or more config blocks specifying custom IPAM configuration.
|
|
22
|
+
* @default - value is not provided
|
|
23
|
+
*/
|
|
24
|
+
readonly config?: DockerComposeNetworkIpamSubnetConfig[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Network configuration
|
|
28
|
+
*/
|
|
29
|
+
export interface DockerComposeNetworkConfig {
|
|
30
|
+
/**
|
|
31
|
+
* Driver to use for the network
|
|
32
|
+
* @default - value is not provided
|
|
33
|
+
*/
|
|
34
|
+
readonly driver?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Options for the configured driver. Those options are driver-dependent - consult the driver’s documentation for more information
|
|
37
|
+
* @default - value is not provided
|
|
38
|
+
*/
|
|
39
|
+
readonly driverOpts?: object;
|
|
40
|
+
/**
|
|
41
|
+
* Set to true to indicate that the network is a bridge network.
|
|
42
|
+
* @default - unset
|
|
43
|
+
*/
|
|
44
|
+
readonly bridge?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Set to true to indicate that the network is an overlay network.
|
|
47
|
+
* @default - unset
|
|
48
|
+
*/
|
|
49
|
+
readonly overlay?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Set to true to indicate that the network is externally created.
|
|
52
|
+
* @default - unset, indicating that docker-compose creates the network
|
|
53
|
+
*/
|
|
54
|
+
readonly external?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Set to true to indicate that standalone containers can attach to this network, in addition to services.
|
|
57
|
+
* @default - unset
|
|
58
|
+
*/
|
|
59
|
+
readonly attachable?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Specify custom IPAM config.
|
|
62
|
+
* @default - unset
|
|
63
|
+
*/
|
|
64
|
+
readonly ipam?: DockerComposeNetworkIpamConfig;
|
|
65
|
+
/**
|
|
66
|
+
* Set to true to indicate that you want to create an externally isolated overlay network
|
|
67
|
+
* @default - unset
|
|
68
|
+
*/
|
|
69
|
+
readonly internal?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Attach labels to the network
|
|
72
|
+
* @default - unset
|
|
73
|
+
*/
|
|
74
|
+
readonly labels?: string[];
|
|
75
|
+
/**
|
|
76
|
+
* Name of the network for when the network name isn't going to work in YAML.
|
|
77
|
+
* @default - unset, indicating that docker-compose creates networks as usual
|
|
78
|
+
*/
|
|
79
|
+
readonly name?: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Network binding information.
|
|
83
|
+
*/
|
|
84
|
+
export interface IDockerComposeNetworkBinding {
|
|
85
|
+
/**
|
|
86
|
+
* Binds the requested network to the docker-compose network configuration and
|
|
87
|
+
* provide mounting instructions for synthesis.
|
|
88
|
+
* @param networkConfig the network configuration
|
|
89
|
+
* @returns the service name
|
|
90
|
+
*/
|
|
91
|
+
bind(networkConfig: IDockerComposeNetworkConfig): string;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Storage for network configuration.
|
|
95
|
+
*/
|
|
96
|
+
export interface IDockerComposeNetworkConfig {
|
|
97
|
+
/**
|
|
98
|
+
* Add network configuration to the repository.
|
|
99
|
+
* @param networkName
|
|
100
|
+
* @param configuration
|
|
101
|
+
*/
|
|
102
|
+
addNetworkConfiguration(networkName: string, configuration: DockerComposeNetworkConfig): void;
|
|
103
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options for port mappings.
|
|
3
|
+
*/
|
|
4
|
+
export interface DockerComposePortMappingOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Port mapping protocol.
|
|
7
|
+
* @default DockerComposeProtocol.TCP
|
|
8
|
+
*/
|
|
9
|
+
readonly protocol?: DockerComposeProtocol;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A service port mapping
|
|
13
|
+
*/
|
|
14
|
+
export interface DockerComposeServicePort {
|
|
15
|
+
/**
|
|
16
|
+
* Published port number
|
|
17
|
+
*/
|
|
18
|
+
readonly published: number;
|
|
19
|
+
/**
|
|
20
|
+
* Target port number
|
|
21
|
+
*/
|
|
22
|
+
readonly target: number;
|
|
23
|
+
/**
|
|
24
|
+
* Network protocol
|
|
25
|
+
*/
|
|
26
|
+
readonly protocol: DockerComposeProtocol;
|
|
27
|
+
/**
|
|
28
|
+
* Port mapping mode.
|
|
29
|
+
*/
|
|
30
|
+
readonly mode: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Network protocol for port mapping
|
|
34
|
+
*/
|
|
35
|
+
export declare enum DockerComposeProtocol {
|
|
36
|
+
/**
|
|
37
|
+
* TCP protocol
|
|
38
|
+
*/
|
|
39
|
+
TCP = "tcp",
|
|
40
|
+
/**
|
|
41
|
+
* UDP protocol
|
|
42
|
+
*/
|
|
43
|
+
UDP = "udp"
|
|
44
|
+
}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { DockerComposeBuild } from "./docker-compose";
|
|
2
|
+
import { IDockerComposeNetworkBinding } from "./docker-compose-network";
|
|
3
|
+
import { DockerComposePortMappingOptions, DockerComposeServicePort } from "./docker-compose-port";
|
|
4
|
+
import { IDockerComposeVolumeBinding } from "./docker-compose-volume";
|
|
5
|
+
/**
|
|
6
|
+
* An interface providing the name of a docker compose service.
|
|
7
|
+
*/
|
|
8
|
+
export interface IDockerComposeServiceName {
|
|
9
|
+
/**
|
|
10
|
+
* The name of the docker compose service.
|
|
11
|
+
*/
|
|
12
|
+
readonly serviceName: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A docker-compose service.
|
|
16
|
+
*/
|
|
17
|
+
export declare class DockerComposeService implements IDockerComposeServiceName {
|
|
18
|
+
/**
|
|
19
|
+
* Name of the service.
|
|
20
|
+
*/
|
|
21
|
+
readonly serviceName: string;
|
|
22
|
+
/**
|
|
23
|
+
* Docker image.
|
|
24
|
+
*/
|
|
25
|
+
readonly image?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Docker image build instructions.
|
|
28
|
+
*/
|
|
29
|
+
readonly imageBuild?: DockerComposeBuild;
|
|
30
|
+
/**
|
|
31
|
+
* Command to run in the container.
|
|
32
|
+
*/
|
|
33
|
+
readonly command?: string[];
|
|
34
|
+
/**
|
|
35
|
+
* Entrypoint to run in the container.
|
|
36
|
+
*/
|
|
37
|
+
readonly entrypoint?: string[];
|
|
38
|
+
/**
|
|
39
|
+
* Other services that this service depends on.
|
|
40
|
+
*/
|
|
41
|
+
readonly dependsOn: IDockerComposeServiceName[];
|
|
42
|
+
/**
|
|
43
|
+
* Volumes mounted in the container.
|
|
44
|
+
*/
|
|
45
|
+
readonly volumes: IDockerComposeVolumeBinding[];
|
|
46
|
+
/**
|
|
47
|
+
* Networks mounted in the container.
|
|
48
|
+
*/
|
|
49
|
+
readonly networks: IDockerComposeNetworkBinding[];
|
|
50
|
+
/**
|
|
51
|
+
* Published ports.
|
|
52
|
+
*/
|
|
53
|
+
readonly ports: DockerComposeServicePort[];
|
|
54
|
+
/**
|
|
55
|
+
* Environment variables.
|
|
56
|
+
*/
|
|
57
|
+
readonly environment: Record<string, string>;
|
|
58
|
+
/**
|
|
59
|
+
* Attached labels.
|
|
60
|
+
*/
|
|
61
|
+
readonly labels: Record<string, string>;
|
|
62
|
+
constructor(serviceName: string, serviceDescription: DockerComposeServiceDescription);
|
|
63
|
+
/**
|
|
64
|
+
* Add a port mapping
|
|
65
|
+
* @param publishedPort Published port number
|
|
66
|
+
* @param targetPort Container's port number
|
|
67
|
+
* @param options Port mapping options
|
|
68
|
+
*/
|
|
69
|
+
addPort(publishedPort: number, targetPort: number, options?: DockerComposePortMappingOptions): void;
|
|
70
|
+
/**
|
|
71
|
+
* Add an environment variable
|
|
72
|
+
* @param name environment variable name
|
|
73
|
+
* @param value value of the environment variable
|
|
74
|
+
*/
|
|
75
|
+
addEnvironment(name: string, value: string): void;
|
|
76
|
+
/**
|
|
77
|
+
* Make the service depend on another service.
|
|
78
|
+
* @param serviceName
|
|
79
|
+
*/
|
|
80
|
+
addDependsOn(serviceName: IDockerComposeServiceName): void;
|
|
81
|
+
/**
|
|
82
|
+
* Add a volume to the service.
|
|
83
|
+
* @param volume
|
|
84
|
+
*/
|
|
85
|
+
addVolume(volume: IDockerComposeVolumeBinding): void;
|
|
86
|
+
/**
|
|
87
|
+
* Add a network to the service.
|
|
88
|
+
* @param network
|
|
89
|
+
*/
|
|
90
|
+
addNetwork(network: IDockerComposeNetworkBinding): void;
|
|
91
|
+
/**
|
|
92
|
+
* Add a label
|
|
93
|
+
* @param name environment variable name
|
|
94
|
+
* @param value value of the environment variable
|
|
95
|
+
*/
|
|
96
|
+
addLabel(name: string, value: string): void;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Description of a docker-compose.yml service.
|
|
100
|
+
*/
|
|
101
|
+
export interface DockerComposeServiceDescription {
|
|
102
|
+
/**
|
|
103
|
+
* Use a docker image.
|
|
104
|
+
* Note: You must specify either `build` or `image` key.
|
|
105
|
+
* @see imageBuild
|
|
106
|
+
*/
|
|
107
|
+
readonly image?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Build a docker image.
|
|
110
|
+
* Note: You must specify either `imageBuild` or `image` key.
|
|
111
|
+
* @see image
|
|
112
|
+
*/
|
|
113
|
+
readonly imageBuild?: DockerComposeBuild;
|
|
114
|
+
/**
|
|
115
|
+
* Provide a command to the docker container.
|
|
116
|
+
* @default - use the container's default command
|
|
117
|
+
*/
|
|
118
|
+
readonly command?: string[];
|
|
119
|
+
/**
|
|
120
|
+
* Entrypoint to run in the container.
|
|
121
|
+
*/
|
|
122
|
+
readonly entrypoint?: string[];
|
|
123
|
+
/**
|
|
124
|
+
* Names of other services this service depends on.
|
|
125
|
+
* @default - no dependencies
|
|
126
|
+
*/
|
|
127
|
+
readonly dependsOn?: IDockerComposeServiceName[];
|
|
128
|
+
/**
|
|
129
|
+
* Mount some volumes into the service.
|
|
130
|
+
* Use one of the following to create volumes:
|
|
131
|
+
* @see DockerCompose.bindVolume() to mount a host path
|
|
132
|
+
* @see DockerCompose.namedVolume() to create & mount a named volume
|
|
133
|
+
*/
|
|
134
|
+
readonly volumes?: IDockerComposeVolumeBinding[];
|
|
135
|
+
/**
|
|
136
|
+
* Add some networks to the service.
|
|
137
|
+
* @see DockerCompose.network() to create & mount a named network
|
|
138
|
+
*/
|
|
139
|
+
readonly networks?: IDockerComposeNetworkBinding[];
|
|
140
|
+
/**
|
|
141
|
+
* Map some ports.
|
|
142
|
+
* @default - no ports are mapped
|
|
143
|
+
*/
|
|
144
|
+
readonly ports?: DockerComposeServicePort[];
|
|
145
|
+
/**
|
|
146
|
+
* Add environment variables.
|
|
147
|
+
* @default - no environment variables are provided
|
|
148
|
+
*/
|
|
149
|
+
readonly environment?: Record<string, string>;
|
|
150
|
+
/**
|
|
151
|
+
* Add labels.
|
|
152
|
+
* @default - no labels are provided
|
|
153
|
+
*/
|
|
154
|
+
readonly labels?: Record<string, string>;
|
|
155
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Volume configuration
|
|
3
|
+
*/
|
|
4
|
+
export interface DockerComposeVolumeConfig {
|
|
5
|
+
/**
|
|
6
|
+
* Driver to use for the volume
|
|
7
|
+
* @default - value is not provided
|
|
8
|
+
*/
|
|
9
|
+
readonly driver?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Options to provide to the driver.
|
|
12
|
+
*/
|
|
13
|
+
readonly driverOpts?: Record<string, string>;
|
|
14
|
+
/**
|
|
15
|
+
* Set to true to indicate that the volume is externally created.
|
|
16
|
+
* @default - unset, indicating that docker-compose creates the volume
|
|
17
|
+
*/
|
|
18
|
+
readonly external?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Name of the volume for when the volume name isn't going to work in YAML.
|
|
21
|
+
* @default - unset, indicating that docker-compose creates volumes as usual
|
|
22
|
+
*/
|
|
23
|
+
readonly name?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Volume binding information.
|
|
27
|
+
*/
|
|
28
|
+
export interface IDockerComposeVolumeBinding {
|
|
29
|
+
/**
|
|
30
|
+
* Binds the requested volume to the docker-compose volume configuration and
|
|
31
|
+
* provide mounting instructions for synthesis.
|
|
32
|
+
* @param volumeConfig the volume configuration
|
|
33
|
+
* @returns mounting instructions for the service.
|
|
34
|
+
*/
|
|
35
|
+
bind(volumeConfig: IDockerComposeVolumeConfig): DockerComposeVolumeMount;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Storage for volume configuration.
|
|
39
|
+
*/
|
|
40
|
+
export interface IDockerComposeVolumeConfig {
|
|
41
|
+
/**
|
|
42
|
+
* Add volume configuration to the repository.
|
|
43
|
+
* @param volumeName
|
|
44
|
+
* @param configuration
|
|
45
|
+
*/
|
|
46
|
+
addVolumeConfiguration(volumeName: string, configuration: DockerComposeVolumeConfig): void;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Service volume mounting information.
|
|
50
|
+
*/
|
|
51
|
+
export interface DockerComposeVolumeMount {
|
|
52
|
+
/**
|
|
53
|
+
* Type of volume.
|
|
54
|
+
*/
|
|
55
|
+
readonly type: string;
|
|
56
|
+
/**
|
|
57
|
+
* Volume source
|
|
58
|
+
*/
|
|
59
|
+
readonly source: string;
|
|
60
|
+
/**
|
|
61
|
+
* Volume target
|
|
62
|
+
*/
|
|
63
|
+
readonly target: string;
|
|
64
|
+
}
|