projen 0.101.33 → 0.101.34

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 (160) hide show
  1. package/.jsii +878 -35
  2. package/README.md +1 -0
  3. package/lib/ai-instructions.js +2 -2
  4. package/lib/awscdk/auto-discover.js +6 -6
  5. package/lib/awscdk/awscdk-app-java.js +1 -1
  6. package/lib/awscdk/awscdk-app-py.js +1 -1
  7. package/lib/awscdk/awscdk-app-ts.js +1 -1
  8. package/lib/awscdk/awscdk-construct.js +1 -1
  9. package/lib/awscdk/awscdk-deps-java.js +1 -1
  10. package/lib/awscdk/awscdk-deps-js.js +1 -1
  11. package/lib/awscdk/awscdk-deps-py.js +1 -1
  12. package/lib/awscdk/awscdk-deps.js +1 -1
  13. package/lib/awscdk/cdk-config.js +3 -3
  14. package/lib/awscdk/cdk-tasks.js +1 -1
  15. package/lib/awscdk/integration-test.js +1 -1
  16. package/lib/awscdk/lambda-extension.js +1 -1
  17. package/lib/awscdk/lambda-function.js +2 -2
  18. package/lib/build/build-workflow.js +1 -1
  19. package/lib/cdk/auto-discover-base.js +2 -2
  20. package/lib/cdk/construct-lib.js +1 -1
  21. package/lib/cdk/integration-test-base.js +1 -1
  22. package/lib/cdk/jsii-build.js +1 -1
  23. package/lib/cdk/jsii-docgen.js +1 -1
  24. package/lib/cdk/jsii-project.js +1 -1
  25. package/lib/cdk8s/auto-discover.js +2 -2
  26. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  27. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  28. package/lib/cdk8s/cdk8s-construct.js +1 -1
  29. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  30. package/lib/cdk8s/cdk8s-deps.js +1 -1
  31. package/lib/cdk8s/integration-test.js +1 -1
  32. package/lib/cdktf/cdktf-construct.js +1 -1
  33. package/lib/cdktn/cdktn-app-ts.d.ts +46 -0
  34. package/lib/cdktn/cdktn-app-ts.js +199 -0
  35. package/lib/cdktn/cdktn-config.d.ts +116 -0
  36. package/lib/cdktn/cdktn-config.js +153 -0
  37. package/lib/cdktn/cdktn-construct.d.ts +11 -12
  38. package/lib/cdktn/cdktn-construct.js +21 -49
  39. package/lib/cdktn/cdktn-deps.d.ts +70 -0
  40. package/lib/cdktn/cdktn-deps.js +114 -0
  41. package/lib/cdktn/cdktn-tasks.d.ts +41 -0
  42. package/lib/cdktn/cdktn-tasks.js +86 -0
  43. package/lib/cdktn/index.d.ts +4 -0
  44. package/lib/cdktn/index.js +5 -1
  45. package/lib/circleci/circleci.js +1 -1
  46. package/lib/component.js +2 -2
  47. package/lib/dependencies.js +1 -1
  48. package/lib/dev-env.js +1 -1
  49. package/lib/docker-compose/docker-compose-service.js +1 -1
  50. package/lib/docker-compose/docker-compose.js +1 -1
  51. package/lib/file.js +1 -1
  52. package/lib/gitattributes.js +1 -1
  53. package/lib/github/actions-provider.js +1 -1
  54. package/lib/github/auto-approve.js +1 -1
  55. package/lib/github/auto-merge.js +1 -1
  56. package/lib/github/auto-queue.js +1 -1
  57. package/lib/github/dependabot.js +1 -1
  58. package/lib/github/dependency-review.js +1 -1
  59. package/lib/github/github-credentials.js +1 -1
  60. package/lib/github/github-project.js +1 -1
  61. package/lib/github/github.js +1 -1
  62. package/lib/github/merge-queue.js +1 -1
  63. package/lib/github/mergify.js +1 -1
  64. package/lib/github/pr-template.js +1 -1
  65. package/lib/github/pull-request-backport.js +1 -1
  66. package/lib/github/pull-request-lint.js +1 -1
  67. package/lib/github/stale.js +1 -1
  68. package/lib/github/task-workflow-job.js +1 -1
  69. package/lib/github/task-workflow.js +1 -1
  70. package/lib/github/workflow-actions.js +1 -1
  71. package/lib/github/workflow-jobs.js +1 -1
  72. package/lib/github/workflow-steps.js +1 -1
  73. package/lib/github/workflows.js +1 -1
  74. package/lib/gitlab/configuration.js +1 -1
  75. package/lib/gitlab/gitlab-configuration.js +1 -1
  76. package/lib/gitlab/nested-configuration.js +1 -1
  77. package/lib/gitpod.js +1 -1
  78. package/lib/ignore-file.js +1 -1
  79. package/lib/ini.js +1 -1
  80. package/lib/java/java-project.js +1 -1
  81. package/lib/java/junit.js +1 -1
  82. package/lib/java/maven-compile.js +1 -1
  83. package/lib/java/maven-packaging.js +1 -1
  84. package/lib/java/maven-sample.js +1 -1
  85. package/lib/java/pom.js +2 -2
  86. package/lib/java/projenrc.js +1 -1
  87. package/lib/javascript/biome/biome.js +1 -1
  88. package/lib/javascript/bundler.js +1 -1
  89. package/lib/javascript/eslint.js +1 -1
  90. package/lib/javascript/jest.js +4 -4
  91. package/lib/javascript/license-checker.js +1 -1
  92. package/lib/javascript/node-package.js +1 -1
  93. package/lib/javascript/node-project.js +1 -1
  94. package/lib/javascript/npm-config.js +1 -1
  95. package/lib/javascript/pnpm-workspace-config.js +2 -2
  96. package/lib/javascript/pnpm-workspace.js +1 -1
  97. package/lib/javascript/prettier.js +1 -1
  98. package/lib/javascript/projenrc.js +1 -1
  99. package/lib/javascript/typescript-config.js +2 -2
  100. package/lib/javascript/upgrade-dependencies.js +2 -2
  101. package/lib/javascript/yarnrc.js +1 -1
  102. package/lib/json-patch.js +1 -1
  103. package/lib/json.js +1 -1
  104. package/lib/license.js +1 -1
  105. package/lib/logger.js +1 -1
  106. package/lib/makefile.js +1 -1
  107. package/lib/object-file.js +1 -1
  108. package/lib/project-build.js +1 -1
  109. package/lib/project-tree.js +1 -1
  110. package/lib/project.js +1 -1
  111. package/lib/projects.js +1 -1
  112. package/lib/projenrc-json.js +1 -1
  113. package/lib/projenrc.js +1 -1
  114. package/lib/python/pip.js +1 -1
  115. package/lib/python/poetry.js +2 -2
  116. package/lib/python/projenrc.js +1 -1
  117. package/lib/python/pyproject-toml-file.js +1 -1
  118. package/lib/python/pytest-sample.js +1 -1
  119. package/lib/python/pytest.js +1 -1
  120. package/lib/python/python-project.js +1 -1
  121. package/lib/python/python-sample.js +1 -1
  122. package/lib/python/requirements-file.js +1 -1
  123. package/lib/python/setuppy.js +1 -1
  124. package/lib/python/setuptools.js +1 -1
  125. package/lib/python/uv-config.js +1 -1
  126. package/lib/python/uv.js +1 -1
  127. package/lib/python/venv.js +1 -1
  128. package/lib/readme.js +1 -1
  129. package/lib/release/publisher.js +1 -1
  130. package/lib/release/release-trigger.js +1 -1
  131. package/lib/release/release.js +1 -1
  132. package/lib/renovatebot.js +1 -1
  133. package/lib/run-task.cjs +1 -1
  134. package/lib/sample-file.js +2 -2
  135. package/lib/script-runner.js +1 -1
  136. package/lib/source-code.js +1 -1
  137. package/lib/task-shell.js +1 -1
  138. package/lib/task.js +1 -1
  139. package/lib/tasks.js +1 -1
  140. package/lib/testing.js +1 -1
  141. package/lib/textfile.js +1 -1
  142. package/lib/toml.js +1 -1
  143. package/lib/typescript/projenrc-ts.js +1 -1
  144. package/lib/typescript/projenrc.js +1 -1
  145. package/lib/typescript/typescript-runner.js +1 -1
  146. package/lib/typescript/typescript-typedoc.js +1 -1
  147. package/lib/typescript/typescript.js +5 -5
  148. package/lib/version.js +2 -2
  149. package/lib/vscode/devcontainer.js +1 -1
  150. package/lib/vscode/extensions.js +1 -1
  151. package/lib/vscode/launch-config.js +1 -1
  152. package/lib/vscode/settings.js +1 -1
  153. package/lib/vscode/vscode.js +1 -1
  154. package/lib/web/next.js +3 -3
  155. package/lib/web/postcss.js +1 -1
  156. package/lib/web/react.js +3 -3
  157. package/lib/web/tailwind.js +1 -1
  158. package/lib/xmlfile.js +1 -1
  159. package/lib/yaml.js +1 -1
  160. package/package.json +1 -1
package/.jsii CHANGED
@@ -82,7 +82,7 @@
82
82
  },
83
83
  "name": "projen",
84
84
  "readme": {
85
- "markdown": "<p align=\"center\">\n <a href=\"https://projen.io\">\n <img src=\"https://raw.githubusercontent.com/projen/projen/main/logo/projen.svg\">\n <h3 align=\"center\">projen</h3>\n </a>\n</p>\n\n<p align=\"center\">\n Define and maintain complex project configuration through code.\n</p>\n\n<p align=\"center\">\n <a href=\"https://projen.io/\"><strong>Documentation</strong></a> ·\n <a href=\"https://github.com/projen/projen/releases\"><strong>Changelog</strong></a> ·\n <a href=\"#project-types\"><strong>Project types</strong></a> ·\n <a href=\"#community\"><strong>Join the community</strong></a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://opensource.org/licenses/Apache-2.0\"><img src=\"https://img.shields.io/badge/License-Apache%202.0-yellowgreen.svg\" alt=\"Apache 2.0 License\"></a>\n <a href=\"https://gitpod.io/#https://github.com/projen/projen\"><img src=\"https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\" alt=\"Gitpod ready-to-code\"></a>\n <a href=\"https://github.com/projen/projen/actions/workflows/release.yml\"><img src=\"https://github.com/projen/projen/actions/workflows/release.yml/badge.svg\" alt=\"Release badge\"></a>\n <a href=\"https://github.com/projen/projen/commits/main\"><img src=\"https://img.shields.io/github/commit-activity/w/projen/projen\" alt=\"Commit activity\"></a>\n</p>\n\n<br/>\n\n*projen* synthesizes project configuration files such as `package.json`,\n`tsconfig.json`, `.gitignore`, GitHub Workflows, eslint, jest, etc. from a\nwell-typed definition written in JavaScript.\n\nAs opposed to existing templating/scaffolding tools, *projen* is not a one-off\ngenerator. Synthesized files should never be manually edited (in fact, projen\nenforces that). To modify your project setup, users interact with rich\nstrongly-typed class and execute `projen` to update their project configuration\nfiles.\n\nBy defining a custom project type and using projen in multiple repositories, it's\npossible to update configuration files and CI/CD workflows across dozens (or\nhundreds!?) of projects.\n\nCheck out [this talk](https://youtu.be/SOWMPzXtTCw) about projen from its creator.\n\n## Getting Started\n\n*projen* doesn't need to be installed. You will be using [pnpm dlx](https://pnpm.io/cli/dlx) to run *projen* which takes care of all required setup steps. (`npx` works too, but `pnpm dlx` avoids the supply-chain risk of phantom dependency resolution in npm.)\n\nTo create a new project, run the following command and follow the instructions:\n\n```console\n$ mkdir my-project\n$ cd my-project\n$ pnpm dlx projen new PROJECT-TYPE\n🤖 Synthesizing project...\n...\n```\n\n### Project types\n\nCurrently supported project types (use `pnpm dlx projen new` without a type for a\nfull list):\n\n**Built-in:** (run `pnpm dlx projen new <type>`)\n\n<!-- <macro exec=\"node ./scripts/readme-projects.js\"> -->\n* [awscdk-app-java](https://projen.io/docs/api/awscdk#awscdkjavaapp-) - AWS CDK app in Java.\n* [awscdk-app-py](https://projen.io/docs/api/awscdk#awscdkpythonapp-) - AWS CDK app in Python.\n* [awscdk-app-ts](https://projen.io/docs/api/awscdk#awscdktypescriptapp-) - AWS CDK app in TypeScript.\n* [awscdk-construct](https://projen.io/docs/api/awscdk#awscdkconstructlibrary-) - AWS CDK construct library project.\n* [cdk8s-app-py](https://projen.io/docs/api/cdk8s#cdk8spythonapp-) - CDK8s app in Python.\n* [cdk8s-app-ts](https://projen.io/docs/api/cdk8s#cdk8stypescriptapp-) - CDK8s app in TypeScript.\n* [cdk8s-construct](https://projen.io/docs/api/cdk8s#constructlibrarycdk8s-) - CDK8s construct library project.\n* [cdktn-construct](https://projen.io/docs/api/cdktn#constructlibrarycdktn-) - CDKTN construct library project.\n* [java](https://projen.io/docs/api/java#javaproject-) - Java project.\n* [jsii](https://projen.io/docs/api/cdk#jsiiproject-) - Multi-language jsii library project.\n* [nextjs](https://projen.io/docs/api/web#nextjsproject-) - Next.js project using JavaScript.\n* [nextjs-ts](https://projen.io/docs/api/web#nextjstypescriptproject-) - Next.js project using TypeScript.\n* [node](https://projen.io/docs/api/javascript#nodeproject-) - Node.js project.\n* [project](https://projen.io/docs/api/projen#project-) - Base project.\n* [python](https://projen.io/docs/api/python#pythonproject-) - Python project.\n* [react](https://projen.io/docs/api/web#reactproject-) - React project using JavaScript.\n* [react-ts](https://projen.io/docs/api/web#reacttypescriptproject-) - React project using TypeScript.\n* [typescript](https://projen.io/docs/api/typescript#typescriptproject-) - TypeScript project.\n* [typescript-app](https://projen.io/docs/api/typescript#typescriptappproject-) - TypeScript app.\n<!-- </macro> -->\n\n**External:** (run `pnpm dlx projen new --from <type>`)\n\n* [projen-github-action-typescript](https://github.com/projen/projen-github-action-typescript/blob/main/API.md) - GitHub Action in TypeScript project.\n\n> Use `pnpm dlx projen new PROJECT-TYPE --help` to view a list of command line\n> switches that allows you to specify most project options during bootstrapping.\n> For example: `pnpm dlx projen new jsii --author-name \"Jerry Berry\"`.\n\nThe `new` command will create a `.projenrc.js` file which looks like this for\n`jsii` projects:\n\n```js\nconst { JsiiProject } = require('projen');\n\nconst project = new JsiiProject({\n authorAddress: \"elad.benisrael@gmail.com\",\n authorName: \"Elad Ben-Israel\",\n name: \"foobar\",\n repository: \"https://github.com/eladn/foobar.git\",\n});\n\nproject.synth();\n```\n\nThis program instantiates the project type with minimal setup, and then calls\n`synth()` to synthesize the project files. By default, the `new` command will\nalso execute this program, which will result in a fully working project.\n\nOnce your project is created, you can configure your project by editing\n`.projenrc.js` and re-running `pnpm dlx projen` to synthesize again.\n\n> The files generated by *projen* are considered an \"implementation detail\" and\n> *projen* protects them from being manually edited (most files are marked\n> read-only, and an \"anti tamper\" check is configured in the CI build workflow\n> to ensure that files are not updated during build).\n\nFor example, to setup PyPI publishing in `jsii` projects, you can use\n[`publishToPypi option`](https://projen.io/publisher.html):\n\n```js\nconst project = new JsiiProject({\n // ...\n publishToPypi: {\n distName: \"mydist\",\n module: \"my_module\",\n }\n});\n```\n\nRun:\n\n```shell\npnpm dlx projen\n```\n\nAnd you'll notice that your `package.json` file now contains a `python` section in\nits `jsii` config and the GitHub `release.yml` workflow includes a PyPI\npublishing step.\n\nWe recommend to put this in your shell profile, so you can simply run `pj` every\ntime you update `.projenrc.js`:\n\n```bash\nalias pj='pnpm dlx projen'\n```\n\nMost projects come with an assortment of **tasks** that handle various\ndevelopment activities, from compiling to publishing. Tasks can be and composed\ntogether, and can be run as local commands or turned into GitHub workflows. You\ncan list all tasks with `pnpm dlx projen --help`:\n\n```shell\n$ pnpm dlx projen --help\nprojen [command]\n\nCommands:\n projen new [PROJECT-TYPE-NAME] [OPTIONS] Creates a new projen project\n projen clobber hard resets to HEAD of origin and cleans the local repo\n projen compile Only compile\n projen test Run tests\n projen build Full release build (test+compile)\n projen upgrade upgrade dependencies (including projen)\n...\n```\n\nThe `build` task is the same task that's executed in your CI builds. It\ntypically compiles, lints, tests and packages your module for distribution.\n\n### Shell Completions\n\nIf installed as a global package, `projen` includes rich shell tab-completion support. To enable this in your shell, run:\n\n```shell\n# Bash\nprojen completion >> ~/.bashrc\n\n# ZSH\nprojen completion >> ~/.zshrc\n```\n\n## Features\n\nSome examples of features built-in to project types:\n\n* Fully synthesize `package.json`\n* Standard npm scripts like `compile`, `build`, `test`, `package`\n* eslint\n* Jest\n* jsii: compile, package, api compatibility checks, API.md\n* Bump & release scripts with CHANGELOG generation based on conventional commits\n* Automated PR builds\n* Automated releases to npm, maven, NuGet and PyPI\n* Automated dependency upgrades\n* Mergify configuration\n* LICENSE file generation\n* gitignore + npmignore management\n* Node \"engines\" support with coupling to CI build environment and @types/node\n* Anti-tamper: CI builds will fail if a synthesized file is modified manually\n\n## Documentation\n\nFor documentation including examples and a full API reference, visit <https://projen.io/>.\n\n## Ecosystem\n\n*projen* takes a \"batteries included\" approach and aims to offer dozens of different project types out of\nthe box (we are just getting started). Think `projen new react`, `projen new angular`, `projen new java-maven`,\n`projen new awscdk-typescript`, `projen new cdk8s-python` (nothing in projen is tied to javascript or npm!)...\n\nAdding new project types is as simple as submitting a pull request to this repo and exporting a class that\nextends `projen.Project` (or one of its derivatives). Projen automatically discovers project types so your\ntype will immediately be available in `projen new`.\n\n### Projects in external modules\n\n*projen* is bundled with many project types out of the box, but it can also work\nwith project types and components defined in external jsii modules (the reason\nwe need jsii is because projen uses the jsii metadata to discover project types\n& options in projen new).\n\nSay we have a module in npm called `projen-vuejs` which includes a single project\ntype for vue.js:\n\n```bash\n$ pnpm dlx projen new --from projen-vuejs\n```\n\nIf the referenced module includes multiple project types, the type is required.\nSwitches can also be used to specify initial values based on the project type\nAPIs. You can also use any package syntax supported by [pnpm\nadd](https://pnpm.io/cli/add) like\n`projen-vuejs@1.2.3`, `file:/path/to/local/folder`,\n`git@github.com/awesome/projen-vuejs#1.2.3`, etc.\n\n```bash\n$ pnpm dlx projen new --from projen-vuejs@^2 vuejs-ts --description \"my awesome vue project\"\n```\n\nUnder the hood, `projen new` will install the `projen-vuejs` module from npm\n(version 2.0.0 and above), discover the project types in it and bootstrap the\n`vuejs-ts` project type. It will assign the value `\"my awesome vue project\"` to\nthe `description` field. If you examine your `.projenrc.js` file, you'll see\nthat `projen-vuejs` is defined as a dev dependency:\n\n```javascript\nconst { VueJsProject } = require('projen-vuejs');\n\nconst project = new VueJsProject({\n name: 'my-vuejs-sample',\n description: \"my awesome vue project\",\n // ...\n devDeps: [\n 'projen-vuejs'\n ]\n});\n\nproject.synth();\n```\n\n## Roadmap\n\nSee [Vision](./VISION.md).\n\n## FAQ\n\n### Do I have to write my configuration in JavaScript?\n\nNot at all! JavaScript is the default, but it's also possible to write it in\nJava, Python, TypeScript, or even JSON. This is made\npossible by the [jsii](https://github.com/aws/jsii) library which allows us\nto write APIs once and generate libraries in several languages. You can choose\na different language by passing the `--projenrc-ts`, `--projenrc-py`, `--projenrc-java`, or\n`--projenrc-json` flags when running `projen new`.\n\nNote: using a `.projenrc.json` file to specify configuration only allows\naccessing a subset of the entire API - the options which are passed to the\nconstructor of each project type.\n\n### How does projen work with my IDE?\n\nprojen has an unofficial [VS Code extension]. Check it out!\n\n[VS Code extension]: https://marketplace.visualstudio.com/items?itemName=MarkMcCulloh.vscode-projen\n\n## Community\n\nThe projen community can be found within the #projen channel in the [cdk.dev]\ncommunity Slack workspace.\n\n[cdk.dev]: https://cdk.dev/\n\n## Contributions\n\nContributions of all kinds are welcome! Check out our [contributor's\nguide](./CONTRIBUTING.md) and our [code of conduct](./CODE_OF_CONDUCT.md).\n\nFor a quick start, check out a development environment:\n\n```bash\n$ git clone git@github.com:projen/projen\n$ cd projen\n$ npm ci\n$ npm run watch # compile in the background\n```\n\n### Contributors\n\nThanks goes to [our wonderful contributors](https://github.com/projen/projen/graphs/contributors)!\n\n## License\n\nDistributed under the [Apache-2.0](./LICENSE) license.\n"
85
+ "markdown": "<p align=\"center\">\n <a href=\"https://projen.io\">\n <img src=\"https://raw.githubusercontent.com/projen/projen/main/logo/projen.svg\">\n <h3 align=\"center\">projen</h3>\n </a>\n</p>\n\n<p align=\"center\">\n Define and maintain complex project configuration through code.\n</p>\n\n<p align=\"center\">\n <a href=\"https://projen.io/\"><strong>Documentation</strong></a> ·\n <a href=\"https://github.com/projen/projen/releases\"><strong>Changelog</strong></a> ·\n <a href=\"#project-types\"><strong>Project types</strong></a> ·\n <a href=\"#community\"><strong>Join the community</strong></a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://opensource.org/licenses/Apache-2.0\"><img src=\"https://img.shields.io/badge/License-Apache%202.0-yellowgreen.svg\" alt=\"Apache 2.0 License\"></a>\n <a href=\"https://gitpod.io/#https://github.com/projen/projen\"><img src=\"https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\" alt=\"Gitpod ready-to-code\"></a>\n <a href=\"https://github.com/projen/projen/actions/workflows/release.yml\"><img src=\"https://github.com/projen/projen/actions/workflows/release.yml/badge.svg\" alt=\"Release badge\"></a>\n <a href=\"https://github.com/projen/projen/commits/main\"><img src=\"https://img.shields.io/github/commit-activity/w/projen/projen\" alt=\"Commit activity\"></a>\n</p>\n\n<br/>\n\n*projen* synthesizes project configuration files such as `package.json`,\n`tsconfig.json`, `.gitignore`, GitHub Workflows, eslint, jest, etc. from a\nwell-typed definition written in JavaScript.\n\nAs opposed to existing templating/scaffolding tools, *projen* is not a one-off\ngenerator. Synthesized files should never be manually edited (in fact, projen\nenforces that). To modify your project setup, users interact with rich\nstrongly-typed class and execute `projen` to update their project configuration\nfiles.\n\nBy defining a custom project type and using projen in multiple repositories, it's\npossible to update configuration files and CI/CD workflows across dozens (or\nhundreds!?) of projects.\n\nCheck out [this talk](https://youtu.be/SOWMPzXtTCw) about projen from its creator.\n\n## Getting Started\n\n*projen* doesn't need to be installed. You will be using [pnpm dlx](https://pnpm.io/cli/dlx) to run *projen* which takes care of all required setup steps. (`npx` works too, but `pnpm dlx` avoids the supply-chain risk of phantom dependency resolution in npm.)\n\nTo create a new project, run the following command and follow the instructions:\n\n```console\n$ mkdir my-project\n$ cd my-project\n$ pnpm dlx projen new PROJECT-TYPE\n🤖 Synthesizing project...\n...\n```\n\n### Project types\n\nCurrently supported project types (use `pnpm dlx projen new` without a type for a\nfull list):\n\n**Built-in:** (run `pnpm dlx projen new <type>`)\n\n<!-- <macro exec=\"node ./scripts/readme-projects.js\"> -->\n* [awscdk-app-java](https://projen.io/docs/api/awscdk#awscdkjavaapp-) - AWS CDK app in Java.\n* [awscdk-app-py](https://projen.io/docs/api/awscdk#awscdkpythonapp-) - AWS CDK app in Python.\n* [awscdk-app-ts](https://projen.io/docs/api/awscdk#awscdktypescriptapp-) - AWS CDK app in TypeScript.\n* [awscdk-construct](https://projen.io/docs/api/awscdk#awscdkconstructlibrary-) - AWS CDK construct library project.\n* [cdk8s-app-py](https://projen.io/docs/api/cdk8s#cdk8spythonapp-) - CDK8s app in Python.\n* [cdk8s-app-ts](https://projen.io/docs/api/cdk8s#cdk8stypescriptapp-) - CDK8s app in TypeScript.\n* [cdk8s-construct](https://projen.io/docs/api/cdk8s#constructlibrarycdk8s-) - CDK8s construct library project.\n* [cdktn-app-ts](https://projen.io/docs/api/cdktn#cdktntypescriptapp-) - CDKTN app in TypeScript.\n* [cdktn-construct](https://projen.io/docs/api/cdktn#constructlibrarycdktn-) - CDKTN construct library project.\n* [java](https://projen.io/docs/api/java#javaproject-) - Java project.\n* [jsii](https://projen.io/docs/api/cdk#jsiiproject-) - Multi-language jsii library project.\n* [nextjs](https://projen.io/docs/api/web#nextjsproject-) - Next.js project using JavaScript.\n* [nextjs-ts](https://projen.io/docs/api/web#nextjstypescriptproject-) - Next.js project using TypeScript.\n* [node](https://projen.io/docs/api/javascript#nodeproject-) - Node.js project.\n* [project](https://projen.io/docs/api/projen#project-) - Base project.\n* [python](https://projen.io/docs/api/python#pythonproject-) - Python project.\n* [react](https://projen.io/docs/api/web#reactproject-) - React project using JavaScript.\n* [react-ts](https://projen.io/docs/api/web#reacttypescriptproject-) - React project using TypeScript.\n* [typescript](https://projen.io/docs/api/typescript#typescriptproject-) - TypeScript project.\n* [typescript-app](https://projen.io/docs/api/typescript#typescriptappproject-) - TypeScript app.\n<!-- </macro> -->\n\n**External:** (run `pnpm dlx projen new --from <type>`)\n\n* [projen-github-action-typescript](https://github.com/projen/projen-github-action-typescript/blob/main/API.md) - GitHub Action in TypeScript project.\n\n> Use `pnpm dlx projen new PROJECT-TYPE --help` to view a list of command line\n> switches that allows you to specify most project options during bootstrapping.\n> For example: `pnpm dlx projen new jsii --author-name \"Jerry Berry\"`.\n\nThe `new` command will create a `.projenrc.js` file which looks like this for\n`jsii` projects:\n\n```js\nconst { JsiiProject } = require('projen');\n\nconst project = new JsiiProject({\n authorAddress: \"elad.benisrael@gmail.com\",\n authorName: \"Elad Ben-Israel\",\n name: \"foobar\",\n repository: \"https://github.com/eladn/foobar.git\",\n});\n\nproject.synth();\n```\n\nThis program instantiates the project type with minimal setup, and then calls\n`synth()` to synthesize the project files. By default, the `new` command will\nalso execute this program, which will result in a fully working project.\n\nOnce your project is created, you can configure your project by editing\n`.projenrc.js` and re-running `pnpm dlx projen` to synthesize again.\n\n> The files generated by *projen* are considered an \"implementation detail\" and\n> *projen* protects them from being manually edited (most files are marked\n> read-only, and an \"anti tamper\" check is configured in the CI build workflow\n> to ensure that files are not updated during build).\n\nFor example, to setup PyPI publishing in `jsii` projects, you can use\n[`publishToPypi option`](https://projen.io/publisher.html):\n\n```js\nconst project = new JsiiProject({\n // ...\n publishToPypi: {\n distName: \"mydist\",\n module: \"my_module\",\n }\n});\n```\n\nRun:\n\n```shell\npnpm dlx projen\n```\n\nAnd you'll notice that your `package.json` file now contains a `python` section in\nits `jsii` config and the GitHub `release.yml` workflow includes a PyPI\npublishing step.\n\nWe recommend to put this in your shell profile, so you can simply run `pj` every\ntime you update `.projenrc.js`:\n\n```bash\nalias pj='pnpm dlx projen'\n```\n\nMost projects come with an assortment of **tasks** that handle various\ndevelopment activities, from compiling to publishing. Tasks can be and composed\ntogether, and can be run as local commands or turned into GitHub workflows. You\ncan list all tasks with `pnpm dlx projen --help`:\n\n```shell\n$ pnpm dlx projen --help\nprojen [command]\n\nCommands:\n projen new [PROJECT-TYPE-NAME] [OPTIONS] Creates a new projen project\n projen clobber hard resets to HEAD of origin and cleans the local repo\n projen compile Only compile\n projen test Run tests\n projen build Full release build (test+compile)\n projen upgrade upgrade dependencies (including projen)\n...\n```\n\nThe `build` task is the same task that's executed in your CI builds. It\ntypically compiles, lints, tests and packages your module for distribution.\n\n### Shell Completions\n\nIf installed as a global package, `projen` includes rich shell tab-completion support. To enable this in your shell, run:\n\n```shell\n# Bash\nprojen completion >> ~/.bashrc\n\n# ZSH\nprojen completion >> ~/.zshrc\n```\n\n## Features\n\nSome examples of features built-in to project types:\n\n* Fully synthesize `package.json`\n* Standard npm scripts like `compile`, `build`, `test`, `package`\n* eslint\n* Jest\n* jsii: compile, package, api compatibility checks, API.md\n* Bump & release scripts with CHANGELOG generation based on conventional commits\n* Automated PR builds\n* Automated releases to npm, maven, NuGet and PyPI\n* Automated dependency upgrades\n* Mergify configuration\n* LICENSE file generation\n* gitignore + npmignore management\n* Node \"engines\" support with coupling to CI build environment and @types/node\n* Anti-tamper: CI builds will fail if a synthesized file is modified manually\n\n## Documentation\n\nFor documentation including examples and a full API reference, visit <https://projen.io/>.\n\n## Ecosystem\n\n*projen* takes a \"batteries included\" approach and aims to offer dozens of different project types out of\nthe box (we are just getting started). Think `projen new react`, `projen new angular`, `projen new java-maven`,\n`projen new awscdk-typescript`, `projen new cdk8s-python` (nothing in projen is tied to javascript or npm!)...\n\nAdding new project types is as simple as submitting a pull request to this repo and exporting a class that\nextends `projen.Project` (or one of its derivatives). Projen automatically discovers project types so your\ntype will immediately be available in `projen new`.\n\n### Projects in external modules\n\n*projen* is bundled with many project types out of the box, but it can also work\nwith project types and components defined in external jsii modules (the reason\nwe need jsii is because projen uses the jsii metadata to discover project types\n& options in projen new).\n\nSay we have a module in npm called `projen-vuejs` which includes a single project\ntype for vue.js:\n\n```bash\n$ pnpm dlx projen new --from projen-vuejs\n```\n\nIf the referenced module includes multiple project types, the type is required.\nSwitches can also be used to specify initial values based on the project type\nAPIs. You can also use any package syntax supported by [pnpm\nadd](https://pnpm.io/cli/add) like\n`projen-vuejs@1.2.3`, `file:/path/to/local/folder`,\n`git@github.com/awesome/projen-vuejs#1.2.3`, etc.\n\n```bash\n$ pnpm dlx projen new --from projen-vuejs@^2 vuejs-ts --description \"my awesome vue project\"\n```\n\nUnder the hood, `projen new` will install the `projen-vuejs` module from npm\n(version 2.0.0 and above), discover the project types in it and bootstrap the\n`vuejs-ts` project type. It will assign the value `\"my awesome vue project\"` to\nthe `description` field. If you examine your `.projenrc.js` file, you'll see\nthat `projen-vuejs` is defined as a dev dependency:\n\n```javascript\nconst { VueJsProject } = require('projen-vuejs');\n\nconst project = new VueJsProject({\n name: 'my-vuejs-sample',\n description: \"my awesome vue project\",\n // ...\n devDeps: [\n 'projen-vuejs'\n ]\n});\n\nproject.synth();\n```\n\n## Roadmap\n\nSee [Vision](./VISION.md).\n\n## FAQ\n\n### Do I have to write my configuration in JavaScript?\n\nNot at all! JavaScript is the default, but it's also possible to write it in\nJava, Python, TypeScript, or even JSON. This is made\npossible by the [jsii](https://github.com/aws/jsii) library which allows us\nto write APIs once and generate libraries in several languages. You can choose\na different language by passing the `--projenrc-ts`, `--projenrc-py`, `--projenrc-java`, or\n`--projenrc-json` flags when running `projen new`.\n\nNote: using a `.projenrc.json` file to specify configuration only allows\naccessing a subset of the entire API - the options which are passed to the\nconstructor of each project type.\n\n### How does projen work with my IDE?\n\nprojen has an unofficial [VS Code extension]. Check it out!\n\n[VS Code extension]: https://marketplace.visualstudio.com/items?itemName=MarkMcCulloh.vscode-projen\n\n## Community\n\nThe projen community can be found within the #projen channel in the [cdk.dev]\ncommunity Slack workspace.\n\n[cdk.dev]: https://cdk.dev/\n\n## Contributions\n\nContributions of all kinds are welcome! Check out our [contributor's\nguide](./CONTRIBUTING.md) and our [code of conduct](./CODE_OF_CONDUCT.md).\n\nFor a quick start, check out a development environment:\n\n```bash\n$ git clone git@github.com:projen/projen\n$ cd projen\n$ npm ci\n$ npm run watch # compile in the background\n```\n\n### Contributors\n\nThanks goes to [our wonderful contributors](https://github.com/projen/projen/graphs/contributors)!\n\n## License\n\nDistributed under the [Apache-2.0](./LICENSE) license.\n"
86
86
  },
87
87
  "repository": {
88
88
  "type": "git",
@@ -21644,76 +21644,441 @@
21644
21644
  ],
21645
21645
  "symbolId": "src/cdktf/cdktf-construct:ConstructLibraryCdktfOptions"
21646
21646
  },
21647
- "projen.cdktn.ConstructLibraryCdktn": {
21647
+ "projen.cdktn.CdktnConfig": {
21648
21648
  "assembly": "projen",
21649
- "base": "projen.cdk.ConstructLibrary",
21649
+ "base": "projen.Component",
21650
21650
  "docs": {
21651
- "custom": {
21652
- "pjid": "cdktn-construct"
21653
- },
21654
- "remarks": "A multi-language (jsii) construct library which vends constructs designed to\nuse within CDK Terrain (CDKTN), a community-driven fork of CDKTF.\nProvides a friendly workflow and automatic publishing to the construct catalog.\n\nLearn more at https://cdktn.io/",
21651
+ "remarks": "CDKTN (CDK Terrain) continues to use the `cdktf.json` filename for\nbackwards compatibility with its CDKTF origins.",
21655
21652
  "stability": "experimental",
21656
- "summary": "CDKTN construct library project."
21653
+ "summary": "Represents cdktf.json file."
21657
21654
  },
21658
- "fqn": "projen.cdktn.ConstructLibraryCdktn",
21655
+ "fqn": "projen.cdktn.CdktnConfig",
21659
21656
  "initializer": {
21660
21657
  "docs": {
21661
21658
  "stability": "experimental"
21662
21659
  },
21663
21660
  "locationInModule": {
21664
- "filename": "src/cdktn/cdktn-construct.ts",
21665
- "line": 32
21661
+ "filename": "src/cdktn/cdktn-config.ts",
21662
+ "line": 99
21666
21663
  },
21667
21664
  "parameters": [
21665
+ {
21666
+ "name": "scope",
21667
+ "type": {
21668
+ "fqn": "constructs.IConstruct"
21669
+ }
21670
+ },
21668
21671
  {
21669
21672
  "name": "options",
21670
21673
  "type": {
21671
- "fqn": "projen.cdktn.ConstructLibraryCdktnOptions"
21674
+ "fqn": "projen.cdktn.CdktnConfigOptions"
21672
21675
  }
21673
21676
  }
21674
21677
  ]
21675
21678
  },
21676
21679
  "kind": "class",
21677
21680
  "locationInModule": {
21678
- "filename": "src/cdktn/cdktn-construct.ts",
21679
- "line": 31
21681
+ "filename": "src/cdktn/cdktn-config.ts",
21682
+ "line": 78
21680
21683
  },
21681
- "name": "ConstructLibraryCdktn",
21684
+ "methods": [
21685
+ {
21686
+ "docs": {
21687
+ "stability": "experimental",
21688
+ "summary": "Add Terraform modules to `cdktf.json`."
21689
+ },
21690
+ "locationInModule": {
21691
+ "filename": "src/cdktn/cdktn-config.ts",
21692
+ "line": 139
21693
+ },
21694
+ "name": "addTerraformModules",
21695
+ "parameters": [
21696
+ {
21697
+ "docs": {
21698
+ "summary": "The modules to add."
21699
+ },
21700
+ "name": "modules",
21701
+ "type": {
21702
+ "primitive": "string"
21703
+ },
21704
+ "variadic": true
21705
+ }
21706
+ ],
21707
+ "variadic": true
21708
+ },
21709
+ {
21710
+ "docs": {
21711
+ "stability": "experimental",
21712
+ "summary": "Add Terraform providers to `cdktf.json`."
21713
+ },
21714
+ "locationInModule": {
21715
+ "filename": "src/cdktn/cdktn-config.ts",
21716
+ "line": 131
21717
+ },
21718
+ "name": "addTerraformProviders",
21719
+ "parameters": [
21720
+ {
21721
+ "docs": {
21722
+ "summary": "The providers to add."
21723
+ },
21724
+ "name": "providers",
21725
+ "type": {
21726
+ "primitive": "string"
21727
+ },
21728
+ "variadic": true
21729
+ }
21730
+ ],
21731
+ "variadic": true
21732
+ }
21733
+ ],
21734
+ "name": "CdktnConfig",
21682
21735
  "namespace": "cdktn",
21683
- "symbolId": "src/cdktn/cdktn-construct:ConstructLibraryCdktn"
21736
+ "properties": [
21737
+ {
21738
+ "docs": {
21739
+ "stability": "experimental",
21740
+ "summary": "Name of the cdktn.out directory."
21741
+ },
21742
+ "immutable": true,
21743
+ "locationInModule": {
21744
+ "filename": "src/cdktn/cdktn-config.ts",
21745
+ "line": 87
21746
+ },
21747
+ "name": "cdktnOut",
21748
+ "type": {
21749
+ "primitive": "string"
21750
+ }
21751
+ },
21752
+ {
21753
+ "docs": {
21754
+ "stability": "experimental",
21755
+ "summary": "Represents the JSON file."
21756
+ },
21757
+ "immutable": true,
21758
+ "locationInModule": {
21759
+ "filename": "src/cdktn/cdktn-config.ts",
21760
+ "line": 82
21761
+ },
21762
+ "name": "file",
21763
+ "type": {
21764
+ "fqn": "projen.JsonFile"
21765
+ }
21766
+ }
21767
+ ],
21768
+ "symbolId": "src/cdktn/cdktn-config:CdktnConfig"
21684
21769
  },
21685
- "projen.cdktn.ConstructLibraryCdktnOptions": {
21770
+ "projen.cdktn.CdktnConfigCommonOptions": {
21686
21771
  "assembly": "projen",
21687
21772
  "datatype": true,
21688
21773
  "docs": {
21689
- "stability": "experimental"
21774
+ "stability": "experimental",
21775
+ "summary": "Common options for `cdktf.json`."
21690
21776
  },
21691
- "fqn": "projen.cdktn.ConstructLibraryCdktnOptions",
21777
+ "fqn": "projen.cdktn.CdktnConfigCommonOptions",
21778
+ "kind": "interface",
21779
+ "locationInModule": {
21780
+ "filename": "src/cdktn/cdktn-config.ts",
21781
+ "line": 10
21782
+ },
21783
+ "name": "CdktnConfigCommonOptions",
21784
+ "namespace": "cdktn",
21785
+ "properties": [
21786
+ {
21787
+ "abstract": true,
21788
+ "docs": {
21789
+ "default": "\"cdktf.out\"",
21790
+ "stability": "experimental",
21791
+ "summary": "CDKTN output directory."
21792
+ },
21793
+ "immutable": true,
21794
+ "locationInModule": {
21795
+ "filename": "src/cdktn/cdktn-config.ts",
21796
+ "line": 37
21797
+ },
21798
+ "name": "cdktnOut",
21799
+ "optional": true,
21800
+ "type": {
21801
+ "primitive": "string"
21802
+ }
21803
+ },
21804
+ {
21805
+ "abstract": true,
21806
+ "docs": {
21807
+ "default": "- no additional context",
21808
+ "stability": "experimental",
21809
+ "summary": "Additional context to include in `cdktf.json`."
21810
+ },
21811
+ "immutable": true,
21812
+ "locationInModule": {
21813
+ "filename": "src/cdktn/cdktn-config.ts",
21814
+ "line": 30
21815
+ },
21816
+ "name": "context",
21817
+ "optional": true,
21818
+ "type": {
21819
+ "collection": {
21820
+ "elementtype": {
21821
+ "primitive": "any"
21822
+ },
21823
+ "kind": "map"
21824
+ }
21825
+ }
21826
+ },
21827
+ {
21828
+ "abstract": true,
21829
+ "docs": {
21830
+ "default": "- Automatically generated",
21831
+ "stability": "experimental",
21832
+ "summary": "CDK project identifier."
21833
+ },
21834
+ "immutable": true,
21835
+ "locationInModule": {
21836
+ "filename": "src/cdktn/cdktn-config.ts",
21837
+ "line": 44
21838
+ },
21839
+ "name": "projectId",
21840
+ "optional": true,
21841
+ "type": {
21842
+ "primitive": "string"
21843
+ }
21844
+ },
21845
+ {
21846
+ "abstract": true,
21847
+ "docs": {
21848
+ "default": "true",
21849
+ "stability": "experimental",
21850
+ "summary": "Whether report crashing to a remote server."
21851
+ },
21852
+ "immutable": true,
21853
+ "locationInModule": {
21854
+ "filename": "src/cdktn/cdktn-config.ts",
21855
+ "line": 51
21856
+ },
21857
+ "name": "sendCrashReports",
21858
+ "optional": true,
21859
+ "type": {
21860
+ "primitive": "boolean"
21861
+ }
21862
+ },
21863
+ {
21864
+ "abstract": true,
21865
+ "docs": {
21866
+ "default": "[]",
21867
+ "stability": "experimental",
21868
+ "summary": "Terraform modules to build."
21869
+ },
21870
+ "immutable": true,
21871
+ "locationInModule": {
21872
+ "filename": "src/cdktn/cdktn-config.ts",
21873
+ "line": 23
21874
+ },
21875
+ "name": "terraformModules",
21876
+ "optional": true,
21877
+ "type": {
21878
+ "collection": {
21879
+ "elementtype": {
21880
+ "primitive": "string"
21881
+ },
21882
+ "kind": "array"
21883
+ }
21884
+ }
21885
+ },
21886
+ {
21887
+ "abstract": true,
21888
+ "docs": {
21889
+ "default": "[]",
21890
+ "stability": "experimental",
21891
+ "summary": "Terraform providers to build."
21892
+ },
21893
+ "immutable": true,
21894
+ "locationInModule": {
21895
+ "filename": "src/cdktn/cdktn-config.ts",
21896
+ "line": 16
21897
+ },
21898
+ "name": "terraformProviders",
21899
+ "optional": true,
21900
+ "type": {
21901
+ "collection": {
21902
+ "elementtype": {
21903
+ "primitive": "string"
21904
+ },
21905
+ "kind": "array"
21906
+ }
21907
+ }
21908
+ }
21909
+ ],
21910
+ "symbolId": "src/cdktn/cdktn-config:CdktnConfigCommonOptions"
21911
+ },
21912
+ "projen.cdktn.CdktnConfigOptions": {
21913
+ "assembly": "projen",
21914
+ "datatype": true,
21915
+ "docs": {
21916
+ "stability": "experimental",
21917
+ "summary": "Options for `CdktnConfig`."
21918
+ },
21919
+ "fqn": "projen.cdktn.CdktnConfigOptions",
21692
21920
  "interfaces": [
21693
- "projen.cdk.ConstructLibraryOptions"
21921
+ "projen.cdktn.CdktnConfigCommonOptions"
21694
21922
  ],
21695
21923
  "kind": "interface",
21696
21924
  "locationInModule": {
21697
- "filename": "src/cdktn/cdktn-construct.ts",
21698
- "line": 5
21925
+ "filename": "src/cdktn/cdktn-config.ts",
21926
+ "line": 57
21699
21927
  },
21700
- "name": "ConstructLibraryCdktnOptions",
21928
+ "name": "CdktnConfigOptions",
21929
+ "namespace": "cdktn",
21930
+ "properties": [
21931
+ {
21932
+ "abstract": true,
21933
+ "docs": {
21934
+ "stability": "experimental",
21935
+ "summary": "The command line to execute in order to synthesize the CDKTN application (language specific)."
21936
+ },
21937
+ "immutable": true,
21938
+ "locationInModule": {
21939
+ "filename": "src/cdktn/cdktn-config.ts",
21940
+ "line": 62
21941
+ },
21942
+ "name": "app",
21943
+ "type": {
21944
+ "primitive": "string"
21945
+ }
21946
+ },
21947
+ {
21948
+ "abstract": true,
21949
+ "docs": {
21950
+ "default": "\"typescript\"",
21951
+ "stability": "experimental",
21952
+ "summary": "The programming language used in the CDKTN app."
21953
+ },
21954
+ "immutable": true,
21955
+ "locationInModule": {
21956
+ "filename": "src/cdktn/cdktn-config.ts",
21957
+ "line": 69
21958
+ },
21959
+ "name": "language",
21960
+ "optional": true,
21961
+ "type": {
21962
+ "primitive": "string"
21963
+ }
21964
+ }
21965
+ ],
21966
+ "symbolId": "src/cdktn/cdktn-config:CdktnConfigOptions"
21967
+ },
21968
+ "projen.cdktn.CdktnDeps": {
21969
+ "assembly": "projen",
21970
+ "base": "projen.Component",
21971
+ "docs": {
21972
+ "stability": "experimental",
21973
+ "summary": "Manages dependencies on CDK Terrain (CDKTN)."
21974
+ },
21975
+ "fqn": "projen.cdktn.CdktnDeps",
21976
+ "initializer": {
21977
+ "docs": {
21978
+ "stability": "experimental"
21979
+ },
21980
+ "locationInModule": {
21981
+ "filename": "src/cdktn/cdktn-deps.ts",
21982
+ "line": 75
21983
+ },
21984
+ "parameters": [
21985
+ {
21986
+ "name": "project",
21987
+ "type": {
21988
+ "fqn": "projen.Project"
21989
+ }
21990
+ },
21991
+ {
21992
+ "name": "options",
21993
+ "type": {
21994
+ "fqn": "projen.cdktn.CdktnDepsOptions"
21995
+ }
21996
+ }
21997
+ ]
21998
+ },
21999
+ "kind": "class",
22000
+ "locationInModule": {
22001
+ "filename": "src/cdktn/cdktn-deps.ts",
22002
+ "line": 57
22003
+ },
22004
+ "name": "CdktnDeps",
22005
+ "namespace": "cdktn",
22006
+ "properties": [
22007
+ {
22008
+ "docs": {
22009
+ "stability": "experimental",
22010
+ "summary": "The dependency requirement for the CDKTN CLI."
22011
+ },
22012
+ "immutable": true,
22013
+ "locationInModule": {
22014
+ "filename": "src/cdktn/cdktn-deps.ts",
22015
+ "line": 66
22016
+ },
22017
+ "name": "cdktnCliVersion",
22018
+ "type": {
22019
+ "primitive": "string"
22020
+ }
22021
+ },
22022
+ {
22023
+ "docs": {
22024
+ "stability": "experimental",
22025
+ "summary": "The minimum version of CDKTN (e.g. `0.24.0`)."
22026
+ },
22027
+ "immutable": true,
22028
+ "locationInModule": {
22029
+ "filename": "src/cdktn/cdktn-deps.ts",
22030
+ "line": 71
22031
+ },
22032
+ "name": "cdktnMinimumVersion",
22033
+ "type": {
22034
+ "primitive": "string"
22035
+ }
22036
+ },
22037
+ {
22038
+ "docs": {
22039
+ "stability": "experimental",
22040
+ "summary": "The dependency requirement for CDKTN (e.g. `^0.24.0`)."
22041
+ },
22042
+ "immutable": true,
22043
+ "locationInModule": {
22044
+ "filename": "src/cdktn/cdktn-deps.ts",
22045
+ "line": 61
22046
+ },
22047
+ "name": "cdktnVersion",
22048
+ "type": {
22049
+ "primitive": "string"
22050
+ }
22051
+ }
22052
+ ],
22053
+ "symbolId": "src/cdktn/cdktn-deps:CdktnDeps"
22054
+ },
22055
+ "projen.cdktn.CdktnDepsCommonOptions": {
22056
+ "assembly": "projen",
22057
+ "datatype": true,
22058
+ "docs": {
22059
+ "stability": "experimental",
22060
+ "summary": "Options for `CdktnDeps`."
22061
+ },
22062
+ "fqn": "projen.cdktn.CdktnDepsCommonOptions",
22063
+ "kind": "interface",
22064
+ "locationInModule": {
22065
+ "filename": "src/cdktn/cdktn-deps.ts",
22066
+ "line": 9
22067
+ },
22068
+ "name": "CdktnDepsCommonOptions",
21701
22069
  "namespace": "cdktn",
21702
22070
  "properties": [
21703
22071
  {
21704
22072
  "abstract": true,
21705
22073
  "docs": {
21706
- "custom": {
21707
- "featured": "true"
21708
- },
21709
22074
  "default": "\"^0.24.0\"",
21710
22075
  "stability": "experimental",
21711
- "summary": "Minimum target version this library is tested against."
22076
+ "summary": "Minimum version of the CDKTN to depend on."
21712
22077
  },
21713
22078
  "immutable": true,
21714
22079
  "locationInModule": {
21715
- "filename": "src/cdktn/cdktn-construct.ts",
21716
- "line": 11
22080
+ "filename": "src/cdktn/cdktn-deps.ts",
22081
+ "line": 15
21717
22082
  },
21718
22083
  "name": "cdktnVersion",
21719
22084
  "type": {
@@ -21723,14 +22088,51 @@
21723
22088
  {
21724
22089
  "abstract": true,
21725
22090
  "docs": {
21726
- "default": "\"^10.7.0\"",
22091
+ "default": "- no specific version",
22092
+ "remarks": "Can be either a specific version, or an NPM version range.\n\nBy default, the latest version will be installed; you can use this\noption to restrict it to a specific version or version range.",
21727
22093
  "stability": "experimental",
21728
- "summary": "Construct version to use."
22094
+ "summary": "Version range of the CDKTN CLI to depend on."
21729
22095
  },
21730
22096
  "immutable": true,
21731
22097
  "locationInModule": {
21732
- "filename": "src/cdktn/cdktn-construct.ts",
21733
- "line": 17
22098
+ "filename": "src/cdktn/cdktn-deps.ts",
22099
+ "line": 27
22100
+ },
22101
+ "name": "cdktnCliVersion",
22102
+ "optional": true,
22103
+ "type": {
22104
+ "primitive": "string"
22105
+ }
22106
+ },
22107
+ {
22108
+ "abstract": true,
22109
+ "docs": {
22110
+ "remarks": "You can use this to prevent mixed versions for your CDKTN dependencies and to prevent auto-updates.\nIf you use experimental features this will let you define the moment you include breaking changes.",
22111
+ "stability": "experimental",
22112
+ "summary": "Use pinned version instead of caret version for CDKTN."
22113
+ },
22114
+ "immutable": true,
22115
+ "locationInModule": {
22116
+ "filename": "src/cdktn/cdktn-deps.ts",
22117
+ "line": 42
22118
+ },
22119
+ "name": "cdktnVersionPinning",
22120
+ "optional": true,
22121
+ "type": {
22122
+ "primitive": "boolean"
22123
+ }
22124
+ },
22125
+ {
22126
+ "abstract": true,
22127
+ "docs": {
22128
+ "default": "\"^10.7.2\"",
22129
+ "stability": "experimental",
22130
+ "summary": "Minimum version of the `constructs` library to depend on."
22131
+ },
22132
+ "immutable": true,
22133
+ "locationInModule": {
22134
+ "filename": "src/cdktn/cdktn-deps.ts",
22135
+ "line": 34
21734
22136
  },
21735
22137
  "name": "constructsVersion",
21736
22138
  "optional": true,
@@ -21739,6 +22141,447 @@
21739
22141
  }
21740
22142
  }
21741
22143
  ],
22144
+ "symbolId": "src/cdktn/cdktn-deps:CdktnDepsCommonOptions"
22145
+ },
22146
+ "projen.cdktn.CdktnDepsOptions": {
22147
+ "assembly": "projen",
22148
+ "datatype": true,
22149
+ "docs": {
22150
+ "stability": "experimental"
22151
+ },
22152
+ "fqn": "projen.cdktn.CdktnDepsOptions",
22153
+ "interfaces": [
22154
+ "projen.cdktn.CdktnDepsCommonOptions"
22155
+ ],
22156
+ "kind": "interface",
22157
+ "locationInModule": {
22158
+ "filename": "src/cdktn/cdktn-deps.ts",
22159
+ "line": 45
22160
+ },
22161
+ "name": "CdktnDepsOptions",
22162
+ "namespace": "cdktn",
22163
+ "properties": [
22164
+ {
22165
+ "abstract": true,
22166
+ "docs": {
22167
+ "remarks": "For libraries, use peer dependencies and for apps use runtime dependencies.",
22168
+ "stability": "experimental",
22169
+ "summary": "The type of dependency to use for the runtime `cdktn` module."
22170
+ },
22171
+ "immutable": true,
22172
+ "locationInModule": {
22173
+ "filename": "src/cdktn/cdktn-deps.ts",
22174
+ "line": 51
22175
+ },
22176
+ "name": "dependencyType",
22177
+ "type": {
22178
+ "fqn": "projen.DependencyType"
22179
+ }
22180
+ }
22181
+ ],
22182
+ "symbolId": "src/cdktn/cdktn-deps:CdktnDepsOptions"
22183
+ },
22184
+ "projen.cdktn.CdktnTasks": {
22185
+ "assembly": "projen",
22186
+ "base": "projen.Component",
22187
+ "docs": {
22188
+ "stability": "experimental",
22189
+ "summary": "Adds standard CDKTN tasks to your project."
22190
+ },
22191
+ "fqn": "projen.cdktn.CdktnTasks",
22192
+ "initializer": {
22193
+ "docs": {
22194
+ "stability": "experimental"
22195
+ },
22196
+ "locationInModule": {
22197
+ "filename": "src/cdktn/cdktn-tasks.ts",
22198
+ "line": 49
22199
+ },
22200
+ "parameters": [
22201
+ {
22202
+ "name": "project",
22203
+ "type": {
22204
+ "fqn": "projen.Project"
22205
+ }
22206
+ }
22207
+ ]
22208
+ },
22209
+ "kind": "class",
22210
+ "locationInModule": {
22211
+ "filename": "src/cdktn/cdktn-tasks.ts",
22212
+ "line": 8
22213
+ },
22214
+ "name": "CdktnTasks",
22215
+ "namespace": "cdktn",
22216
+ "properties": [
22217
+ {
22218
+ "docs": {
22219
+ "stability": "experimental",
22220
+ "summary": "Deploys your app."
22221
+ },
22222
+ "immutable": true,
22223
+ "locationInModule": {
22224
+ "filename": "src/cdktn/cdktn-tasks.ts",
22225
+ "line": 32
22226
+ },
22227
+ "name": "deploy",
22228
+ "type": {
22229
+ "fqn": "projen.Task"
22230
+ }
22231
+ },
22232
+ {
22233
+ "docs": {
22234
+ "stability": "experimental",
22235
+ "summary": "Destroys all the stacks."
22236
+ },
22237
+ "immutable": true,
22238
+ "locationInModule": {
22239
+ "filename": "src/cdktn/cdktn-tasks.ts",
22240
+ "line": 37
22241
+ },
22242
+ "name": "destroy",
22243
+ "type": {
22244
+ "fqn": "projen.Task"
22245
+ }
22246
+ },
22247
+ {
22248
+ "docs": {
22249
+ "stability": "experimental",
22250
+ "summary": "Diff against the currently deployed stacks."
22251
+ },
22252
+ "immutable": true,
22253
+ "locationInModule": {
22254
+ "filename": "src/cdktn/cdktn-tasks.ts",
22255
+ "line": 42
22256
+ },
22257
+ "name": "diff",
22258
+ "type": {
22259
+ "fqn": "projen.Task"
22260
+ }
22261
+ },
22262
+ {
22263
+ "docs": {
22264
+ "stability": "experimental",
22265
+ "summary": "Gets/updates Terraform providers and modules."
22266
+ },
22267
+ "immutable": true,
22268
+ "locationInModule": {
22269
+ "filename": "src/cdktn/cdktn-tasks.ts",
22270
+ "line": 12
22271
+ },
22272
+ "name": "get",
22273
+ "type": {
22274
+ "fqn": "projen.Task"
22275
+ }
22276
+ },
22277
+ {
22278
+ "docs": {
22279
+ "stability": "experimental",
22280
+ "summary": "Plan your app deployment."
22281
+ },
22282
+ "immutable": true,
22283
+ "locationInModule": {
22284
+ "filename": "src/cdktn/cdktn-tasks.ts",
22285
+ "line": 27
22286
+ },
22287
+ "name": "plan",
22288
+ "type": {
22289
+ "fqn": "projen.Task"
22290
+ }
22291
+ },
22292
+ {
22293
+ "docs": {
22294
+ "stability": "experimental",
22295
+ "summary": "Synthesizes your app."
22296
+ },
22297
+ "immutable": true,
22298
+ "locationInModule": {
22299
+ "filename": "src/cdktn/cdktn-tasks.ts",
22300
+ "line": 17
22301
+ },
22302
+ "name": "synth",
22303
+ "type": {
22304
+ "fqn": "projen.Task"
22305
+ }
22306
+ },
22307
+ {
22308
+ "docs": {
22309
+ "stability": "experimental",
22310
+ "summary": "Synthesizes your app and suppresses stdout."
22311
+ },
22312
+ "immutable": true,
22313
+ "locationInModule": {
22314
+ "filename": "src/cdktn/cdktn-tasks.ts",
22315
+ "line": 22
22316
+ },
22317
+ "name": "synthSilent",
22318
+ "type": {
22319
+ "fqn": "projen.Task"
22320
+ }
22321
+ },
22322
+ {
22323
+ "docs": {
22324
+ "stability": "experimental",
22325
+ "summary": "Watch task."
22326
+ },
22327
+ "immutable": true,
22328
+ "locationInModule": {
22329
+ "filename": "src/cdktn/cdktn-tasks.ts",
22330
+ "line": 47
22331
+ },
22332
+ "name": "watch",
22333
+ "type": {
22334
+ "fqn": "projen.Task"
22335
+ }
22336
+ }
22337
+ ],
22338
+ "symbolId": "src/cdktn/cdktn-tasks:CdktnTasks"
22339
+ },
22340
+ "projen.cdktn.CdktnTypeScriptApp": {
22341
+ "assembly": "projen",
22342
+ "base": "projen.typescript.TypeScriptAppProject",
22343
+ "docs": {
22344
+ "custom": {
22345
+ "pjid": "cdktn-app-ts"
22346
+ },
22347
+ "remarks": "CDKTN (CDK Terrain) is a community-driven fork of CDK for Terraform (CDKTF).\nLearn more at https://cdktn.io/",
22348
+ "stability": "experimental",
22349
+ "summary": "CDKTN app in TypeScript."
22350
+ },
22351
+ "fqn": "projen.cdktn.CdktnTypeScriptApp",
22352
+ "initializer": {
22353
+ "docs": {
22354
+ "stability": "experimental"
22355
+ },
22356
+ "locationInModule": {
22357
+ "filename": "src/cdktn/cdktn-app-ts.ts",
22358
+ "line": 61
22359
+ },
22360
+ "parameters": [
22361
+ {
22362
+ "name": "options",
22363
+ "type": {
22364
+ "fqn": "projen.cdktn.CdktnTypeScriptAppOptions"
22365
+ }
22366
+ }
22367
+ ]
22368
+ },
22369
+ "kind": "class",
22370
+ "locationInModule": {
22371
+ "filename": "src/cdktn/cdktn-app-ts.ts",
22372
+ "line": 43
22373
+ },
22374
+ "name": "CdktnTypeScriptApp",
22375
+ "namespace": "cdktn",
22376
+ "properties": [
22377
+ {
22378
+ "docs": {
22379
+ "stability": "experimental",
22380
+ "summary": "The CDKTN app entrypoint."
22381
+ },
22382
+ "immutable": true,
22383
+ "locationInModule": {
22384
+ "filename": "src/cdktn/cdktn-app-ts.ts",
22385
+ "line": 47
22386
+ },
22387
+ "name": "appEntrypoint",
22388
+ "type": {
22389
+ "primitive": "string"
22390
+ }
22391
+ },
22392
+ {
22393
+ "docs": {
22394
+ "stability": "experimental",
22395
+ "summary": "cdktf.json configuration."
22396
+ },
22397
+ "immutable": true,
22398
+ "locationInModule": {
22399
+ "filename": "src/cdktn/cdktn-app-ts.ts",
22400
+ "line": 57
22401
+ },
22402
+ "name": "cdktnConfig",
22403
+ "type": {
22404
+ "fqn": "projen.cdktn.CdktnConfig"
22405
+ }
22406
+ },
22407
+ {
22408
+ "docs": {
22409
+ "stability": "experimental"
22410
+ },
22411
+ "immutable": true,
22412
+ "locationInModule": {
22413
+ "filename": "src/cdktn/cdktn-app-ts.ts",
22414
+ "line": 59
22415
+ },
22416
+ "name": "cdktnDeps",
22417
+ "type": {
22418
+ "fqn": "projen.cdktn.CdktnDeps"
22419
+ }
22420
+ },
22421
+ {
22422
+ "docs": {
22423
+ "stability": "experimental",
22424
+ "summary": "Common CDKTN tasks."
22425
+ },
22426
+ "immutable": true,
22427
+ "locationInModule": {
22428
+ "filename": "src/cdktn/cdktn-app-ts.ts",
22429
+ "line": 52
22430
+ },
22431
+ "name": "cdktnTasks",
22432
+ "type": {
22433
+ "fqn": "projen.cdktn.CdktnTasks"
22434
+ }
22435
+ }
22436
+ ],
22437
+ "symbolId": "src/cdktn/cdktn-app-ts:CdktnTypeScriptApp"
22438
+ },
22439
+ "projen.cdktn.CdktnTypeScriptAppOptions": {
22440
+ "assembly": "projen",
22441
+ "datatype": true,
22442
+ "docs": {
22443
+ "stability": "experimental"
22444
+ },
22445
+ "fqn": "projen.cdktn.CdktnTypeScriptAppOptions",
22446
+ "interfaces": [
22447
+ "projen.typescript.TypeScriptProjectOptions",
22448
+ "projen.cdktn.CdktnDepsCommonOptions",
22449
+ "projen.cdktn.CdktnConfigCommonOptions"
22450
+ ],
22451
+ "kind": "interface",
22452
+ "locationInModule": {
22453
+ "filename": "src/cdktn/cdktn-app-ts.ts",
22454
+ "line": 15
22455
+ },
22456
+ "name": "CdktnTypeScriptAppOptions",
22457
+ "namespace": "cdktn",
22458
+ "properties": [
22459
+ {
22460
+ "abstract": true,
22461
+ "docs": {
22462
+ "stability": "experimental",
22463
+ "summary": "The command line to execute in order to synthesize the CDKTN application (language specific)."
22464
+ },
22465
+ "immutable": true,
22466
+ "locationInModule": {
22467
+ "filename": "src/cdktn/cdktn-app-ts.ts",
22468
+ "line": 32
22469
+ },
22470
+ "name": "app",
22471
+ "optional": true,
22472
+ "type": {
22473
+ "primitive": "string"
22474
+ }
22475
+ },
22476
+ {
22477
+ "abstract": true,
22478
+ "docs": {
22479
+ "default": "\"main.ts\"",
22480
+ "stability": "experimental",
22481
+ "summary": "The CDKTN app's entrypoint (relative to the source directory, which is \"src\" by default)."
22482
+ },
22483
+ "immutable": true,
22484
+ "locationInModule": {
22485
+ "filename": "src/cdktn/cdktn-app-ts.ts",
22486
+ "line": 26
22487
+ },
22488
+ "name": "appEntrypoint",
22489
+ "optional": true,
22490
+ "type": {
22491
+ "primitive": "string"
22492
+ }
22493
+ }
22494
+ ],
22495
+ "symbolId": "src/cdktn/cdktn-app-ts:CdktnTypeScriptAppOptions"
22496
+ },
22497
+ "projen.cdktn.ConstructLibraryCdktn": {
22498
+ "assembly": "projen",
22499
+ "base": "projen.cdk.ConstructLibrary",
22500
+ "docs": {
22501
+ "custom": {
22502
+ "pjid": "cdktn-construct"
22503
+ },
22504
+ "remarks": "A multi-language (jsii) construct library which vends constructs designed to\nuse within CDK Terrain (CDKTN), a community-driven fork of CDKTF.\nProvides a friendly workflow and automatic publishing to the construct catalog.\n\nLearn more at https://cdktn.io/",
22505
+ "stability": "experimental",
22506
+ "summary": "CDKTN construct library project."
22507
+ },
22508
+ "fqn": "projen.cdktn.ConstructLibraryCdktn",
22509
+ "initializer": {
22510
+ "docs": {
22511
+ "stability": "experimental"
22512
+ },
22513
+ "locationInModule": {
22514
+ "filename": "src/cdktn/cdktn-construct.ts",
22515
+ "line": 27
22516
+ },
22517
+ "parameters": [
22518
+ {
22519
+ "name": "options",
22520
+ "type": {
22521
+ "fqn": "projen.cdktn.ConstructLibraryCdktnOptions"
22522
+ }
22523
+ }
22524
+ ]
22525
+ },
22526
+ "kind": "class",
22527
+ "locationInModule": {
22528
+ "filename": "src/cdktn/cdktn-construct.ts",
22529
+ "line": 24
22530
+ },
22531
+ "name": "ConstructLibraryCdktn",
22532
+ "namespace": "cdktn",
22533
+ "properties": [
22534
+ {
22535
+ "docs": {
22536
+ "stability": "experimental"
22537
+ },
22538
+ "immutable": true,
22539
+ "locationInModule": {
22540
+ "filename": "src/cdktn/cdktn-construct.ts",
22541
+ "line": 25
22542
+ },
22543
+ "name": "cdktnDeps",
22544
+ "type": {
22545
+ "fqn": "projen.cdktn.CdktnDeps"
22546
+ }
22547
+ },
22548
+ {
22549
+ "docs": {
22550
+ "stability": "experimental",
22551
+ "summary": "The target CDKTN version for this library."
22552
+ },
22553
+ "immutable": true,
22554
+ "locationInModule": {
22555
+ "filename": "src/cdktn/cdktn-construct.ts",
22556
+ "line": 47
22557
+ },
22558
+ "name": "cdktnVersion",
22559
+ "type": {
22560
+ "primitive": "string"
22561
+ }
22562
+ }
22563
+ ],
22564
+ "symbolId": "src/cdktn/cdktn-construct:ConstructLibraryCdktn"
22565
+ },
22566
+ "projen.cdktn.ConstructLibraryCdktnOptions": {
22567
+ "assembly": "projen",
22568
+ "datatype": true,
22569
+ "docs": {
22570
+ "stability": "experimental",
22571
+ "summary": "Options for `ConstructLibraryCdktn`."
22572
+ },
22573
+ "fqn": "projen.cdktn.ConstructLibraryCdktnOptions",
22574
+ "interfaces": [
22575
+ "projen.cdk.ConstructLibraryOptions",
22576
+ "projen.cdktn.CdktnDepsCommonOptions"
22577
+ ],
22578
+ "kind": "interface",
22579
+ "locationInModule": {
22580
+ "filename": "src/cdktn/cdktn-construct.ts",
22581
+ "line": 10
22582
+ },
22583
+ "name": "ConstructLibraryCdktnOptions",
22584
+ "namespace": "cdktn",
21742
22585
  "symbolId": "src/cdktn/cdktn-construct:ConstructLibraryCdktnOptions"
21743
22586
  },
21744
22587
  "projen.circleci.CircleCiProps": {
@@ -91390,6 +92233,6 @@
91390
92233
  "usedFeatures": [
91391
92234
  "class-covariant-overrides"
91392
92235
  ],
91393
- "version": "0.101.33",
91394
- "fingerprint": "Fpj5y14uEtBev0LNigy8/ApLUo2r6nVk7GJRAp/Sgb4="
92236
+ "version": "0.101.34",
92237
+ "fingerprint": "lMKNI3CEmKQsK/Gw9/UsIyIH0/A2J4wSqNMpVpRIK9Q="
91395
92238
  }