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.
Files changed (321) hide show
  1. package/.jsii +108 -90
  2. package/docs/api/API.md +2 -0
  3. package/lib/.types-compat/ts3.9/lib/_resolve.d.ts +2 -0
  4. package/lib/.types-compat/ts3.9/lib/awscdk/auto-discover.d.ts +129 -0
  5. package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-app-java.d.ts +53 -0
  6. package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-app-py.d.ts +49 -0
  7. package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-app-ts.d.ts +81 -0
  8. package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-construct.d.ts +89 -0
  9. package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-deps-java.d.ts +7 -0
  10. package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-deps-js.d.ts +7 -0
  11. package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-deps-py.d.ts +7 -0
  12. package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-deps.d.ts +168 -0
  13. package/lib/.types-compat/ts3.9/lib/awscdk/awscdk-pytest-sample.d.ts +5 -0
  14. package/lib/.types-compat/ts3.9/lib/awscdk/cdk-config.d.ts +122 -0
  15. package/lib/.types-compat/ts3.9/lib/awscdk/cdk-tasks.d.ts +33 -0
  16. package/lib/.types-compat/ts3.9/lib/awscdk/index.d.ts +14 -0
  17. package/lib/.types-compat/ts3.9/lib/awscdk/integration-test.d.ts +46 -0
  18. package/lib/.types-compat/ts3.9/lib/awscdk/internal.d.ts +20 -0
  19. package/lib/.types-compat/ts3.9/lib/awscdk/lambda-extension.d.ts +68 -0
  20. package/lib/.types-compat/ts3.9/lib/awscdk/lambda-function.d.ts +171 -0
  21. package/lib/.types-compat/ts3.9/lib/build/build-workflow.d.ts +180 -0
  22. package/lib/.types-compat/ts3.9/lib/build/index.d.ts +1 -0
  23. package/lib/.types-compat/ts3.9/lib/builtin-example.task.d.ts +0 -0
  24. package/lib/.types-compat/ts3.9/lib/cdk/auto-discover-base.d.ts +45 -0
  25. package/lib/.types-compat/ts3.9/lib/cdk/construct-lib.d.ts +38 -0
  26. package/lib/.types-compat/ts3.9/lib/cdk/consts.d.ts +6 -0
  27. package/lib/.types-compat/ts3.9/lib/cdk/index.d.ts +5 -0
  28. package/lib/.types-compat/ts3.9/lib/cdk/integration-test-base.d.ts +53 -0
  29. package/lib/.types-compat/ts3.9/lib/cdk/internal.d.ts +4 -0
  30. package/lib/.types-compat/ts3.9/lib/cdk/jsii-docgen.d.ts +20 -0
  31. package/lib/.types-compat/ts3.9/lib/cdk/jsii-project.d.ts +153 -0
  32. package/lib/.types-compat/ts3.9/lib/cdk8s/auto-discover.d.ts +33 -0
  33. package/lib/.types-compat/ts3.9/lib/cdk8s/cdk8s-app-py.d.ts +39 -0
  34. package/lib/.types-compat/ts3.9/lib/cdk8s/cdk8s-app-ts.d.ts +45 -0
  35. package/lib/.types-compat/ts3.9/lib/cdk8s/cdk8s-construct.d.ts +71 -0
  36. package/lib/.types-compat/ts3.9/lib/cdk8s/cdk8s-deps-js.d.ts +4 -0
  37. package/lib/.types-compat/ts3.9/lib/cdk8s/cdk8s-deps-py.d.ts +4 -0
  38. package/lib/.types-compat/ts3.9/lib/cdk8s/cdk8s-deps.d.ts +144 -0
  39. package/lib/.types-compat/ts3.9/lib/cdk8s/index.d.ts +7 -0
  40. package/lib/.types-compat/ts3.9/lib/cdk8s/integration-test.d.ts +13 -0
  41. package/lib/.types-compat/ts3.9/lib/cdktf/cdktf-construct.d.ts +26 -0
  42. package/lib/.types-compat/ts3.9/lib/cdktf/index.d.ts +1 -0
  43. package/lib/.types-compat/ts3.9/lib/circleci/circleci.d.ts +132 -0
  44. package/lib/.types-compat/ts3.9/lib/circleci/constant.d.ts +5 -0
  45. package/lib/.types-compat/ts3.9/lib/circleci/index.d.ts +3 -0
  46. package/lib/.types-compat/ts3.9/lib/circleci/model.d.ts +260 -0
  47. package/lib/.types-compat/ts3.9/lib/cleanup.d.ts +2 -0
  48. package/lib/.types-compat/ts3.9/lib/cli/cmds/new.d.ts +9 -0
  49. package/lib/.types-compat/ts3.9/lib/cli/index.d.ts +1 -0
  50. package/lib/.types-compat/ts3.9/lib/cli/macros.d.ts +1 -0
  51. package/lib/.types-compat/ts3.9/lib/cli/synth.d.ts +19 -0
  52. package/lib/.types-compat/ts3.9/lib/cli/tasks.d.ts +7 -0
  53. package/lib/.types-compat/ts3.9/lib/cli/util.d.ts +19 -0
  54. package/lib/.types-compat/ts3.9/lib/clobber.d.ts +5 -0
  55. package/lib/.types-compat/ts3.9/lib/common.d.ts +5 -0
  56. package/lib/.types-compat/ts3.9/lib/component.d.ts +20 -0
  57. package/lib/.types-compat/ts3.9/lib/dependencies.d.ts +160 -0
  58. package/lib/.types-compat/ts3.9/lib/dev-env.d.ts +80 -0
  59. package/lib/.types-compat/ts3.9/lib/docker-compose/docker-compose-network.d.ts +103 -0
  60. package/lib/.types-compat/ts3.9/lib/docker-compose/docker-compose-port.d.ts +44 -0
  61. package/lib/.types-compat/ts3.9/lib/docker-compose/docker-compose-render.d.ts +2 -0
  62. package/lib/.types-compat/ts3.9/lib/docker-compose/docker-compose-service.d.ts +155 -0
  63. package/lib/.types-compat/ts3.9/lib/docker-compose/docker-compose-volume.d.ts +64 -0
  64. package/lib/.types-compat/ts3.9/lib/docker-compose/docker-compose.d.ts +99 -0
  65. package/lib/.types-compat/ts3.9/lib/docker-compose/index.d.ts +5 -0
  66. package/lib/.types-compat/ts3.9/lib/file.d.ts +119 -0
  67. package/lib/.types-compat/ts3.9/lib/gitattributes.d.ts +26 -0
  68. package/lib/.types-compat/ts3.9/lib/github/actions-provider.d.ts +28 -0
  69. package/lib/.types-compat/ts3.9/lib/github/auto-approve.d.ts +44 -0
  70. package/lib/.types-compat/ts3.9/lib/github/auto-merge.d.ts +41 -0
  71. package/lib/.types-compat/ts3.9/lib/github/constants.d.ts +20 -0
  72. package/lib/.types-compat/ts3.9/lib/github/dependabot.d.ts +247 -0
  73. package/lib/.types-compat/ts3.9/lib/github/github-credentials.d.ts +58 -0
  74. package/lib/.types-compat/ts3.9/lib/github/github-project.d.ts +177 -0
  75. package/lib/.types-compat/ts3.9/lib/github/github.d.ts +110 -0
  76. package/lib/.types-compat/ts3.9/lib/github/index.d.ts +15 -0
  77. package/lib/.types-compat/ts3.9/lib/github/mergify.d.ts +81 -0
  78. package/lib/.types-compat/ts3.9/lib/github/pr-template.d.ts +19 -0
  79. package/lib/.types-compat/ts3.9/lib/github/pull-request-lint.d.ts +48 -0
  80. package/lib/.types-compat/ts3.9/lib/github/stale-util.d.ts +8 -0
  81. package/lib/.types-compat/ts3.9/lib/github/stale.d.ts +85 -0
  82. package/lib/.types-compat/ts3.9/lib/github/task-workflow.d.ts +119 -0
  83. package/lib/.types-compat/ts3.9/lib/github/util.d.ts +1 -0
  84. package/lib/.types-compat/ts3.9/lib/github/workflow-actions.d.ts +78 -0
  85. package/lib/.types-compat/ts3.9/lib/github/workflows-model.d.ts +1031 -0
  86. package/lib/.types-compat/ts3.9/lib/github/workflows.d.ts +108 -0
  87. package/lib/.types-compat/ts3.9/lib/gitlab/configuration-model.d.ts +536 -0
  88. package/lib/.types-compat/ts3.9/lib/gitlab/configuration.d.ts +170 -0
  89. package/lib/.types-compat/ts3.9/lib/gitlab/gitlab-configuration.d.ts +19 -0
  90. package/lib/.types-compat/ts3.9/lib/gitlab/index.d.ts +4 -0
  91. package/lib/.types-compat/ts3.9/lib/gitlab/nested-configuration.d.ts +11 -0
  92. package/lib/.types-compat/ts3.9/lib/gitpod.d.ts +301 -0
  93. package/lib/.types-compat/ts3.9/lib/ignore-file.d.ts +59 -0
  94. package/lib/.types-compat/ts3.9/lib/index.d.ts +51 -0
  95. package/lib/.types-compat/ts3.9/lib/ini.d.ts +15 -0
  96. package/lib/.types-compat/ts3.9/lib/inventory.d.ts +46 -0
  97. package/lib/.types-compat/ts3.9/lib/java/index.d.ts +7 -0
  98. package/lib/.types-compat/ts3.9/lib/java/java-project.d.ts +141 -0
  99. package/lib/.types-compat/ts3.9/lib/java/junit.d.ts +29 -0
  100. package/lib/.types-compat/ts3.9/lib/java/maven-compile.d.ts +26 -0
  101. package/lib/.types-compat/ts3.9/lib/java/maven-packaging.d.ts +34 -0
  102. package/lib/.types-compat/ts3.9/lib/java/maven-sample.d.ts +14 -0
  103. package/lib/.types-compat/ts3.9/lib/java/pom.d.ts +214 -0
  104. package/lib/.types-compat/ts3.9/lib/java/projenrc.d.ts +59 -0
  105. package/lib/.types-compat/ts3.9/lib/javascript/bundler.d.ts +174 -0
  106. package/lib/.types-compat/ts3.9/lib/javascript/eslint.d.ts +175 -0
  107. package/lib/.types-compat/ts3.9/lib/javascript/index.d.ts +10 -0
  108. package/lib/.types-compat/ts3.9/lib/javascript/jest.d.ts +599 -0
  109. package/lib/.types-compat/ts3.9/lib/javascript/node-package.d.ts +605 -0
  110. package/lib/.types-compat/ts3.9/lib/javascript/node-project.d.ts +464 -0
  111. package/lib/.types-compat/ts3.9/lib/javascript/npm-config.d.ts +40 -0
  112. package/lib/.types-compat/ts3.9/lib/javascript/prettier.d.ts +358 -0
  113. package/lib/.types-compat/ts3.9/lib/javascript/projenrc.d.ts +18 -0
  114. package/lib/.types-compat/ts3.9/lib/javascript/render-options.d.ts +88 -0
  115. package/lib/.types-compat/ts3.9/lib/javascript/typescript-config.d.ts +403 -0
  116. package/lib/.types-compat/ts3.9/lib/javascript/upgrade-dependencies.d.ts +188 -0
  117. package/lib/.types-compat/ts3.9/lib/javascript/util.d.ts +21 -0
  118. package/lib/.types-compat/ts3.9/lib/json-patch.d.ts +75 -0
  119. package/lib/.types-compat/ts3.9/lib/json.d.ts +27 -0
  120. package/lib/.types-compat/ts3.9/lib/license.d.ts +31 -0
  121. package/lib/.types-compat/ts3.9/lib/logger.d.ts +73 -0
  122. package/lib/.types-compat/ts3.9/lib/logging.d.ts +8 -0
  123. package/lib/.types-compat/ts3.9/lib/makefile.d.ts +77 -0
  124. package/lib/.types-compat/ts3.9/lib/object-file.d.ts +155 -0
  125. package/lib/.types-compat/ts3.9/lib/option-hints.d.ts +18 -0
  126. package/lib/.types-compat/ts3.9/lib/project-build.d.ts +41 -0
  127. package/lib/.types-compat/ts3.9/lib/project.d.ts +374 -0
  128. package/lib/.types-compat/ts3.9/lib/projects.d.ts +63 -0
  129. package/lib/.types-compat/ts3.9/lib/projenrc-json.d.ts +27 -0
  130. package/lib/.types-compat/ts3.9/lib/projenrc.d.ts +18 -0
  131. package/lib/.types-compat/ts3.9/lib/python/index.d.ts +14 -0
  132. package/lib/.types-compat/ts3.9/lib/python/pip.d.ts +32 -0
  133. package/lib/.types-compat/ts3.9/lib/python/poetry.d.ts +177 -0
  134. package/lib/.types-compat/ts3.9/lib/python/projenrc.d.ts +32 -0
  135. package/lib/.types-compat/ts3.9/lib/python/pytest-sample.d.ts +21 -0
  136. package/lib/.types-compat/ts3.9/lib/python/pytest.d.ts +24 -0
  137. package/lib/.types-compat/ts3.9/lib/python/python-deps.d.ts +30 -0
  138. package/lib/.types-compat/ts3.9/lib/python/python-env.d.ts +6 -0
  139. package/lib/.types-compat/ts3.9/lib/python/python-packaging.d.ts +62 -0
  140. package/lib/.types-compat/ts3.9/lib/python/python-project.d.ts +190 -0
  141. package/lib/.types-compat/ts3.9/lib/python/python-sample.d.ts +17 -0
  142. package/lib/.types-compat/ts3.9/lib/python/requirements-file.d.ts +29 -0
  143. package/lib/.types-compat/ts3.9/lib/python/setuppy.d.ts +70 -0
  144. package/lib/.types-compat/ts3.9/lib/python/setuptools.d.ts +15 -0
  145. package/lib/.types-compat/ts3.9/lib/python/venv.d.ts +28 -0
  146. package/lib/.types-compat/ts3.9/lib/readme.d.ts +28 -0
  147. package/lib/.types-compat/ts3.9/lib/release/bump-version.d.ts +72 -0
  148. package/lib/.types-compat/ts3.9/lib/release/bump-version.task.d.ts +1 -0
  149. package/lib/.types-compat/ts3.9/lib/release/index.d.ts +3 -0
  150. package/lib/.types-compat/ts3.9/lib/release/publisher.d.ts +533 -0
  151. package/lib/.types-compat/ts3.9/lib/release/release-trigger.d.ts +97 -0
  152. package/lib/.types-compat/ts3.9/lib/release/release.d.ts +338 -0
  153. package/lib/.types-compat/ts3.9/lib/release/reset-version.task.d.ts +1 -0
  154. package/lib/.types-compat/ts3.9/lib/release/tag-version.d.ts +31 -0
  155. package/lib/.types-compat/ts3.9/lib/release/tag-version.task.d.ts +1 -0
  156. package/lib/.types-compat/ts3.9/lib/release/update-changelog.d.ts +36 -0
  157. package/lib/.types-compat/ts3.9/lib/release/update-changelog.task.d.ts +1 -0
  158. package/lib/.types-compat/ts3.9/lib/renovatebot.d.ts +99 -0
  159. package/lib/.types-compat/ts3.9/lib/run-projenrc-json.task.d.ts +1 -0
  160. package/lib/.types-compat/ts3.9/lib/sample-file.d.ts +88 -0
  161. package/lib/.types-compat/ts3.9/lib/semver.d.ts +34 -0
  162. package/lib/.types-compat/ts3.9/lib/smithy/smithy-build.d.ts +156 -0
  163. package/lib/.types-compat/ts3.9/lib/source-code.d.ts +46 -0
  164. package/lib/.types-compat/ts3.9/lib/task-model.d.ts +130 -0
  165. package/lib/.types-compat/ts3.9/lib/task-runtime.d.ts +32 -0
  166. package/lib/.types-compat/ts3.9/lib/task.d.ts +129 -0
  167. package/lib/.types-compat/ts3.9/lib/tasks.d.ts +51 -0
  168. package/lib/.types-compat/ts3.9/lib/testing.d.ts +18 -0
  169. package/lib/.types-compat/ts3.9/lib/textfile.d.ts +33 -0
  170. package/lib/.types-compat/ts3.9/lib/toml.d.ts +15 -0
  171. package/lib/.types-compat/ts3.9/lib/typescript/index.d.ts +4 -0
  172. package/lib/.types-compat/ts3.9/lib/typescript/projenrc-ts.d.ts +43 -0
  173. package/lib/.types-compat/ts3.9/lib/typescript/projenrc.d.ts +27 -0
  174. package/lib/.types-compat/ts3.9/lib/typescript/typescript-typedoc.d.ts +7 -0
  175. package/lib/.types-compat/ts3.9/lib/typescript/typescript.d.ts +163 -0
  176. package/lib/.types-compat/ts3.9/lib/util/semver.d.ts +43 -0
  177. package/lib/.types-compat/ts3.9/lib/util/synth.d.ts +42 -0
  178. package/lib/.types-compat/ts3.9/lib/util.d.ts +131 -0
  179. package/lib/.types-compat/ts3.9/lib/version.d.ts +45 -0
  180. package/lib/.types-compat/ts3.9/lib/vscode/devcontainer.d.ts +86 -0
  181. package/lib/.types-compat/ts3.9/lib/vscode/extensions.d.ts +36 -0
  182. package/lib/.types-compat/ts3.9/lib/vscode/index.d.ts +5 -0
  183. package/lib/.types-compat/ts3.9/lib/vscode/launch-config.d.ts +90 -0
  184. package/lib/.types-compat/ts3.9/lib/vscode/settings.d.ts +24 -0
  185. package/lib/.types-compat/ts3.9/lib/vscode/vscode.d.ts +14 -0
  186. package/lib/.types-compat/ts3.9/lib/web/index.d.ts +4 -0
  187. package/lib/.types-compat/ts3.9/lib/web/next.d.ts +100 -0
  188. package/lib/.types-compat/ts3.9/lib/web/postcss.d.ts +28 -0
  189. package/lib/.types-compat/ts3.9/lib/web/react.d.ts +105 -0
  190. package/lib/.types-compat/ts3.9/lib/web/tailwind.d.ts +21 -0
  191. package/lib/.types-compat/ts3.9/lib/xmlfile.d.ts +18 -0
  192. package/lib/.types-compat/ts3.9/lib/yaml.d.ts +25 -0
  193. package/lib/awscdk/auto-discover.js +5 -5
  194. package/lib/awscdk/awscdk-app-java.js +1 -1
  195. package/lib/awscdk/awscdk-app-py.js +1 -1
  196. package/lib/awscdk/awscdk-app-ts.js +1 -1
  197. package/lib/awscdk/awscdk-construct.js +2 -2
  198. package/lib/awscdk/awscdk-deps-java.js +1 -1
  199. package/lib/awscdk/awscdk-deps-js.js +1 -1
  200. package/lib/awscdk/awscdk-deps-py.js +1 -1
  201. package/lib/awscdk/awscdk-deps.js +1 -1
  202. package/lib/awscdk/cdk-config.js +1 -1
  203. package/lib/awscdk/cdk-tasks.js +1 -1
  204. package/lib/awscdk/integration-test.js +1 -1
  205. package/lib/awscdk/lambda-extension.js +1 -1
  206. package/lib/awscdk/lambda-function.js +2 -2
  207. package/lib/build/build-workflow.js +1 -1
  208. package/lib/cdk/auto-discover-base.js +2 -2
  209. package/lib/cdk/construct-lib.js +1 -1
  210. package/lib/cdk/integration-test-base.js +1 -1
  211. package/lib/cdk/jsii-docgen.js +1 -1
  212. package/lib/cdk/jsii-project.js +8 -5
  213. package/lib/cdk8s/auto-discover.js +2 -2
  214. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  215. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  216. package/lib/cdk8s/cdk8s-construct.js +1 -1
  217. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  218. package/lib/cdk8s/cdk8s-deps.js +1 -1
  219. package/lib/cdk8s/integration-test.js +1 -1
  220. package/lib/cdktf/cdktf-construct.js +1 -1
  221. package/lib/circleci/circleci.js +1 -1
  222. package/lib/cli/index.js +2 -18
  223. package/lib/component.js +1 -1
  224. package/lib/dependencies.js +1 -1
  225. package/lib/dev-env.js +1 -1
  226. package/lib/docker-compose/docker-compose-service.js +1 -1
  227. package/lib/docker-compose/docker-compose.js +1 -1
  228. package/lib/file.js +1 -1
  229. package/lib/gitattributes.js +1 -1
  230. package/lib/github/actions-provider.js +1 -1
  231. package/lib/github/auto-approve.js +1 -1
  232. package/lib/github/auto-merge.js +1 -1
  233. package/lib/github/dependabot.js +1 -1
  234. package/lib/github/github-credentials.js +1 -1
  235. package/lib/github/github-project.js +1 -1
  236. package/lib/github/github.js +1 -1
  237. package/lib/github/mergify.js +1 -1
  238. package/lib/github/pr-template.js +1 -1
  239. package/lib/github/pull-request-lint.js +1 -1
  240. package/lib/github/stale.js +1 -1
  241. package/lib/github/task-workflow.js +1 -1
  242. package/lib/github/workflows.js +1 -1
  243. package/lib/gitlab/configuration.js +1 -1
  244. package/lib/gitlab/gitlab-configuration.js +1 -1
  245. package/lib/gitlab/nested-configuration.js +1 -1
  246. package/lib/gitpod.js +1 -1
  247. package/lib/ignore-file.js +1 -1
  248. package/lib/ini.js +1 -1
  249. package/lib/java/java-project.js +1 -1
  250. package/lib/java/junit.js +1 -1
  251. package/lib/java/maven-compile.js +1 -1
  252. package/lib/java/maven-packaging.js +1 -1
  253. package/lib/java/maven-sample.js +1 -1
  254. package/lib/java/pom.js +1 -1
  255. package/lib/java/projenrc.js +1 -1
  256. package/lib/javascript/bundler.js +1 -1
  257. package/lib/javascript/eslint.js +1 -1
  258. package/lib/javascript/jest.js +4 -4
  259. package/lib/javascript/node-package.js +1 -1
  260. package/lib/javascript/node-project.js +1 -1
  261. package/lib/javascript/npm-config.js +1 -1
  262. package/lib/javascript/prettier.js +1 -1
  263. package/lib/javascript/projenrc.js +1 -1
  264. package/lib/javascript/typescript-config.js +1 -1
  265. package/lib/javascript/upgrade-dependencies.js +2 -2
  266. package/lib/json-patch.js +1 -1
  267. package/lib/json.js +1 -1
  268. package/lib/license.js +1 -1
  269. package/lib/logger.js +1 -1
  270. package/lib/makefile.js +1 -1
  271. package/lib/object-file.js +1 -1
  272. package/lib/project-build.js +1 -1
  273. package/lib/project.js +1 -1
  274. package/lib/projects.js +1 -1
  275. package/lib/projenrc-json.js +2 -2
  276. package/lib/projenrc.js +1 -1
  277. package/lib/python/pip.js +1 -1
  278. package/lib/python/poetry.js +2 -2
  279. package/lib/python/projenrc.js +1 -1
  280. package/lib/python/pytest-sample.js +1 -1
  281. package/lib/python/pytest.js +1 -1
  282. package/lib/python/python-project.js +1 -1
  283. package/lib/python/python-sample.js +1 -1
  284. package/lib/python/requirements-file.js +1 -1
  285. package/lib/python/setuppy.js +1 -1
  286. package/lib/python/setuptools.js +1 -1
  287. package/lib/python/venv.js +1 -1
  288. package/lib/readme.js +1 -1
  289. package/lib/release/publisher.d.ts +7 -0
  290. package/lib/release/publisher.js +9 -2
  291. package/lib/release/release-trigger.js +1 -1
  292. package/lib/release/release.js +3 -2
  293. package/lib/renovatebot.js +1 -1
  294. package/lib/sample-file.js +2 -2
  295. package/lib/semver.js +1 -1
  296. package/lib/source-code.js +1 -1
  297. package/lib/task-runtime.js +1 -1
  298. package/lib/task.js +1 -1
  299. package/lib/tasks.js +1 -1
  300. package/lib/testing.js +1 -1
  301. package/lib/textfile.js +1 -1
  302. package/lib/toml.js +1 -1
  303. package/lib/typescript/projenrc-ts.js +1 -1
  304. package/lib/typescript/projenrc.js +1 -1
  305. package/lib/typescript/typescript-typedoc.js +1 -1
  306. package/lib/typescript/typescript.js +3 -3
  307. package/lib/util.d.ts +19 -0
  308. package/lib/util.js +33 -2
  309. package/lib/version.js +1 -1
  310. package/lib/vscode/devcontainer.js +1 -1
  311. package/lib/vscode/extensions.js +1 -1
  312. package/lib/vscode/launch-config.js +1 -1
  313. package/lib/vscode/settings.js +1 -1
  314. package/lib/vscode/vscode.js +1 -1
  315. package/lib/web/next.js +3 -3
  316. package/lib/web/postcss.js +1 -1
  317. package/lib/web/react.js +4 -4
  318. package/lib/web/tailwind.js +1 -1
  319. package/lib/xmlfile.js +1 -1
  320. package/lib/yaml.js +1 -1
  321. 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,2 @@
1
+ import { DockerComposeService } from "./docker-compose-service";
2
+ export declare function renderDockerComposeFile(serviceDescriptions: Record<string, DockerComposeService>, version: string): object;
@@ -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
+ }