projen 0.51.15 → 0.52.1

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 (127) hide show
  1. package/.jsii +334 -269
  2. package/API.md +70 -16
  3. package/README.md +0 -1
  4. package/changelog.md +1 -6
  5. package/docs/eject.md +30 -0
  6. package/lib/awscdk/auto-discover.js +1 -1
  7. package/lib/awscdk/awscdk-app-java.js +1 -1
  8. package/lib/awscdk/awscdk-app-ts.js +1 -1
  9. package/lib/awscdk/awscdk-construct.js +2 -2
  10. package/lib/awscdk/awscdk-deps-java.js +1 -1
  11. package/lib/awscdk/awscdk-deps-js.js +1 -1
  12. package/lib/awscdk/awscdk-deps.js +1 -1
  13. package/lib/awscdk/cdk-config.js +1 -1
  14. package/lib/awscdk/cdk-tasks.js +1 -1
  15. package/lib/awscdk/integration-test.js +1 -1
  16. package/lib/awscdk/lambda-function.js +6 -5
  17. package/lib/build/build-workflow.d.ts +8 -1
  18. package/lib/build/build-workflow.js +4 -4
  19. package/lib/cdk/construct-lib.js +1 -1
  20. package/lib/cdk/jsii-docgen.js +1 -1
  21. package/lib/cdk/jsii-project.js +1 -1
  22. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  23. package/lib/cdk8s/cdk8s-construct.js +1 -1
  24. package/lib/cdktf/cdktf-construct.js +1 -1
  25. package/lib/component.js +1 -1
  26. package/lib/dependencies.js +8 -6
  27. package/lib/dev-env.js +1 -1
  28. package/lib/docker-compose.js +2 -2
  29. package/lib/file.d.ts +22 -8
  30. package/lib/file.js +32 -12
  31. package/lib/gitattributes.js +3 -3
  32. package/lib/github/auto-approve.js +1 -1
  33. package/lib/github/auto-merge.js +1 -1
  34. package/lib/github/dependabot.js +1 -1
  35. package/lib/github/github-project.js +1 -1
  36. package/lib/github/github.js +1 -1
  37. package/lib/github/mergify.js +1 -1
  38. package/lib/github/pr-template.js +3 -2
  39. package/lib/github/pull-request-lint.js +1 -1
  40. package/lib/github/stale.js +1 -1
  41. package/lib/github/task-workflow.js +1 -1
  42. package/lib/github/workflows.js +1 -1
  43. package/lib/gitlab/configuration.js +1 -1
  44. package/lib/gitlab/gitlab-configuration.js +1 -1
  45. package/lib/gitlab/nested-configuration.js +1 -1
  46. package/lib/gitpod.js +1 -1
  47. package/lib/ignore-file.js +6 -3
  48. package/lib/ini.js +3 -3
  49. package/lib/java/java-project.js +1 -1
  50. package/lib/java/junit.js +1 -1
  51. package/lib/java/maven-compile.js +1 -1
  52. package/lib/java/maven-packaging.js +1 -1
  53. package/lib/java/maven-sample.js +1 -1
  54. package/lib/java/pom.js +1 -1
  55. package/lib/java/projenrc.js +5 -5
  56. package/lib/javascript/bundler.js +1 -1
  57. package/lib/javascript/eslint.js +1 -1
  58. package/lib/javascript/jest.js +1 -1
  59. package/lib/javascript/node-package.js +1 -1
  60. package/lib/javascript/node-project.d.ts +8 -1
  61. package/lib/javascript/node-project.js +7 -4
  62. package/lib/javascript/npm-config.js +1 -1
  63. package/lib/javascript/prettier.js +1 -1
  64. package/lib/javascript/projenrc.js +4 -4
  65. package/lib/javascript/typescript-config.js +1 -1
  66. package/lib/javascript/upgrade-dependencies.js +2 -2
  67. package/lib/json.js +3 -3
  68. package/lib/license.js +3 -3
  69. package/lib/logger.js +1 -1
  70. package/lib/makefile.js +1 -1
  71. package/lib/object-file.d.ts +0 -13
  72. package/lib/object-file.js +4 -5
  73. package/lib/project-build.js +3 -3
  74. package/lib/project.d.ts +18 -1
  75. package/lib/project.js +54 -15
  76. package/lib/projects.js +1 -1
  77. package/lib/projenrc-json.js +5 -5
  78. package/lib/python/pip.js +1 -1
  79. package/lib/python/poetry.js +2 -2
  80. package/lib/python/projenrc.js +4 -4
  81. package/lib/python/pytest.js +1 -1
  82. package/lib/python/python-project.js +1 -1
  83. package/lib/python/python-sample.js +1 -1
  84. package/lib/python/requirements-file.js +3 -3
  85. package/lib/python/setuppy.js +3 -3
  86. package/lib/python/setuptools.js +1 -1
  87. package/lib/python/venv.js +1 -1
  88. package/lib/readme.js +1 -1
  89. package/lib/release/bump-version.task.js +2 -2
  90. package/lib/release/publisher.js +1 -1
  91. package/lib/release/release-trigger.js +1 -1
  92. package/lib/release/release.js +1 -1
  93. package/lib/run-task.js +1823 -0
  94. package/lib/sample-file.js +2 -2
  95. package/lib/semver.js +1 -1
  96. package/lib/source-code.d.ts +4 -0
  97. package/lib/source-code.js +8 -2
  98. package/lib/task-runtime.d.ts +6 -0
  99. package/lib/task-runtime.js +13 -6
  100. package/lib/task.js +1 -1
  101. package/lib/tasks.d.ts +6 -6
  102. package/lib/tasks.js +18 -11
  103. package/lib/testing.js +1 -1
  104. package/lib/textfile.js +1 -1
  105. package/lib/toml.js +3 -3
  106. package/lib/typescript/projenrc.js +4 -4
  107. package/lib/typescript/typescript-typedoc.js +1 -1
  108. package/lib/typescript/typescript.js +7 -5
  109. package/lib/util.d.ts +2 -0
  110. package/lib/util.js +22 -2
  111. package/lib/version.js +1 -1
  112. package/lib/vscode/devcontainer.js +1 -1
  113. package/lib/vscode/launch-config.js +1 -1
  114. package/lib/vscode/vscode.js +1 -1
  115. package/lib/web/next.js +3 -3
  116. package/lib/web/postcss.js +1 -1
  117. package/lib/web/react.js +8 -11
  118. package/lib/web/tailwind.js +1 -1
  119. package/lib/xmlfile.js +3 -3
  120. package/lib/yaml.js +3 -3
  121. package/node_modules/xmlbuilder2/node_modules/@types/node/README.md +1 -1
  122. package/node_modules/xmlbuilder2/node_modules/@types/node/events.d.ts +31 -3
  123. package/node_modules/xmlbuilder2/node_modules/@types/node/package.json +2 -2
  124. package/node_modules/xmlbuilder2/node_modules/@types/node/util.d.ts +1 -1
  125. package/package.json +4 -1
  126. package/releasetag.txt +1 -1
  127. package/version.txt +1 -1
package/.jsii CHANGED
@@ -49,7 +49,7 @@
49
49
  },
50
50
  "name": "projen",
51
51
  "readme": {
52
- "markdown": "# projen\n\n![projen logo](./logo/projen.svg)\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-yellowgreen.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/projen/projen)\n![Build](https://github.com/projen/projen/workflows/Build/badge.svg)\n![Release](https://github.com/projen/projen/workflows/Release/badge.svg)\n![Commit activity](https://img.shields.io/github/commit-activity/w/projen/projen)\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![All Contributors](https://img.shields.io/badge/all_contributors-63-orange.svg?style=flat-square)](#contributors-)\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n\nDefine and maintain complex project configuration through code.\n\n> JOIN THE [#TemplatesAreEvil] MOVEMENT!\n\n[#TemplatesAreEvil]: https://twitter.com/search?q=%23TemplatesAreEvil\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\nCheck out [this talk](https://youtu.be/SOWMPzXtTCw) about projen.\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\n## Getting Started\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$ git init\n$ npx projen new PROJECT-TYPE\n🤖 Synthesizing project...\n...\n```\n\nCurrently supported project types (use `npx projen new` without a type for a\nlist):\n\n<!-- <macro exec=\"node ./scripts/readme-projects.js\"> -->\n* [awscdk-app-java](https://github.com/projen/projen/blob/main/API.md#projen-awscdk-awscdkjavaapp) - AWS CDK app in Java.\n* [awscdk-app-ts](https://github.com/projen/projen/blob/main/API.md#projen-awscdk-awscdktypescriptapp) - AWS CDK app in TypeScript.\n* [awscdk-construct](https://github.com/projen/projen/blob/main/API.md#projen-awscdk-awscdkconstructlibrary) - AWS CDK construct library project.\n* [cdk8s-app-ts](https://github.com/projen/projen/blob/main/API.md#projen-cdk8s-cdk8stypescriptapp) - CDK8s app in TypeScript.\n* [cdk8s-construct](https://github.com/projen/projen/blob/main/API.md#projen-cdk8s-constructlibrarycdk8s) - CDK8s construct library project.\n* [cdktf-construct](https://github.com/projen/projen/blob/main/API.md#projen-cdktf-constructlibrarycdktf) - CDKTF construct library project.\n* [java](https://github.com/projen/projen/blob/main/API.md#projen-java-javaproject) - Java project.\n* [jsii](https://github.com/projen/projen/blob/main/API.md#projen-cdk-jsiiproject) - Multi-language jsii library project.\n* [nextjs](https://github.com/projen/projen/blob/main/API.md#projen-web-nextjsproject) - Next.js project without TypeScript.\n* [nextjs-ts](https://github.com/projen/projen/blob/main/API.md#projen-web-nextjstypescriptproject) - Next.js project with TypeScript.\n* [node](https://github.com/projen/projen/blob/main/API.md#projen-javascript-nodeproject) - Node.js project.\n* [project](https://github.com/projen/projen/blob/main/API.md#projen-project) - Base project.\n* [python](https://github.com/projen/projen/blob/main/API.md#projen-python-pythonproject) - Python project.\n* [react](https://github.com/projen/projen/blob/main/API.md#projen-web-reactproject) - React project without TypeScript.\n* [react-ts](https://github.com/projen/projen/blob/main/API.md#projen-web-reacttypescriptproject) - React project with TypeScript.\n* [typescript](https://github.com/projen/projen/blob/main/API.md#projen-typescript-typescriptproject) - TypeScript project.\n* [typescript-app](https://github.com/projen/projen/blob/main/API.md#projen-typescript-typescriptappproject) - TypeScript app.\n<!-- </macro> -->\n\n> Use `npx 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: `npx 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 `npx 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[`python option`](https://github.com/eladb/projen/blob/master/API.md#projen-jsiipythontarget):\n\n```js\nconst project = new JsiiProject({\n // ...\n python: {\n distName: \"mydist\",\n module: \"my_module\",\n }\n});\n```\n\nRun:\n\n```shell\nnpx projen\n```\n\nAnd you'll notice that your `package.json` file now contains a `python` section in\nit's `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='npx 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 `npx projen --help`:\n\n```shell\n$ npx 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:compile compiles the test code\n projen test Run tests\n projen build Full release build (test+compile)\n projen upgrade-dependencies upgrade dependencies\n projen upgrade-projen upgrade 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\nIf installed as a global package, `projen` includes rich shell tab-completion support. To enable this in your shell, run:\n```shell\n# Bash\nprojen completion >> ~/.bashrc\n\n# ZSH\nprojen completion >> ~/.zshrc\n```\n## Features\n\nSome examples for 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 (manual releases are currently broken! [#726](https://github.com/projen/projen/issues/726))\n* Automated PR builds\n* Automated releases to npm, maven, NuGet and PyPI\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## API Reference\n\nSee [API Reference](./API.md) for API details.\n\nIn addition, several projen components and project types are explained with examples in [/docs](./docs) (currently a work in progress!).\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 it's 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$ npx 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 [yarn\nadd](https://classic.yarnpkg.com/en/docs/cli/add#toc-adding-dependencies) 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$ npx 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, TypeScript, or even JSON. Python support is also planned. 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-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## 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$ yarn\n$ yarn watch # compile in the background\n```\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n <tr>\n <td align=\"center\"><a href=\"http://eladb.github.com/\"><img src=\"https://avatars3.githubusercontent.com/u/598796?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Elad Ben-Israel</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=eladb\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://rybicki.io/\"><img src=\"https://avatars2.githubusercontent.com/u/5008987?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Christopher Rybicki</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=Chriscbr\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"http://p6m7g8.github.io/\"><img src=\"https://avatars0.githubusercontent.com/u/34295?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Philip M. Gollucci</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=pgollucci\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/hoegertn\"><img src=\"https://avatars2.githubusercontent.com/u/1287829?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Thorsten Hoeger</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=hoegertn\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/kcwinner\"><img src=\"https://avatars3.githubusercontent.com/u/2728868?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Kenneth Winner</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=kcwinner\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/JordanSinko\"><img src=\"https://avatars2.githubusercontent.com/u/10212966?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jordan Sinko</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=JordanSinko\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/misterjoshua\"><img src=\"https://avatars2.githubusercontent.com/u/644092?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Josh Kellendonk</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=misterjoshua\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/andrestone\"><img src=\"https://avatars1.githubusercontent.com/u/7958086?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>andrestone</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=andrestone\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://pallares.io/\"><img src=\"https://avatars3.githubusercontent.com/u/1077520?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Cristian Pallarés</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=skyrpex\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/jogold\"><img src=\"https://avatars2.githubusercontent.com/u/12623249?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jonathan Goldwasser</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=jogold\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"http://www.matthewbonig.com/\"><img src=\"https://avatars2.githubusercontent.com/u/1559437?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Matthew Bonig</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=mbonig\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/pahud\"><img src=\"https://avatars3.githubusercontent.com/u/278432?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Pahud Hsieh</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=pahud\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/adamelmore\"><img src=\"https://avatars2.githubusercontent.com/u/2363879?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Adam Elmore</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=adamelmore\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/abelmokadem\"><img src=\"https://avatars0.githubusercontent.com/u/9717944?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ash</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=abelmokadem\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/jmourelos\"><img src=\"https://avatars3.githubusercontent.com/u/3878434?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jacob</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=jmourelos\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/bigkraig\"><img src=\"https://avatars1.githubusercontent.com/u/508403?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Kraig Amador</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=bigkraig\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/mmuller88\"><img src=\"https://avatars0.githubusercontent.com/u/18393842?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Martin Muller</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=mmuller88\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://tlakomy.com/\"><img src=\"https://avatars2.githubusercontent.com/u/16646517?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Tomasz Łakomy</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=tlakomy\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/john-tipper\"><img src=\"https://avatars2.githubusercontent.com/u/9730398?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>john-tipper</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=john-tipper\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/henrysachs\"><img src=\"https://avatars0.githubusercontent.com/u/17173951?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Henry Sachs</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=henrysachs\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/eganjs\"><img src=\"https://avatars3.githubusercontent.com/u/6639482?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Joseph Egan</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=eganjs\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://skorfmann.com/\"><img src=\"https://avatars1.githubusercontent.com/u/136789?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Sebastian Korfmann</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=skorfmann\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"http://www.callant.net/\"><img src=\"https://avatars1.githubusercontent.com/u/5915843?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Bart Callant</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=bartcallant\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/campionfellin\"><img src=\"https://avatars3.githubusercontent.com/u/11984923?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Campion Fellin</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=campionfellin\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/gradybarrett\"><img src=\"https://avatars1.githubusercontent.com/u/1140074?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Grady Barrett</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=gradybarrett\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/HassanMahmud\"><img src=\"https://avatars3.githubusercontent.com/u/58504381?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Hassan Mahmud</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=HassanMahmud\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://dk.linkedin.com/in/hassanmahmud93\"><img src=\"https://avatars1.githubusercontent.com/u/7426703?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Hassan Mahmud</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=hass123uk\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"http://joapy.com/\"><img src=\"https://avatars3.githubusercontent.com/u/325306?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jake Pearson</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=jakepearson\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/JeremyJonas\"><img src=\"https://avatars1.githubusercontent.com/u/464119?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jeremy Jonas</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=JeremyJonas\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://dev.to/martzcodes\"><img src=\"https://avatars1.githubusercontent.com/u/978362?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Matt Martz</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=martzcodes\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/fongie\"><img src=\"https://avatars1.githubusercontent.com/u/19932622?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Max Körlinge</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=fongie\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://blog.neilkuan.dev/\"><img src=\"https://avatars2.githubusercontent.com/u/46012524?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Neil Kuan</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=guan840912\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://dynobase.dev/\"><img src=\"https://avatars3.githubusercontent.com/u/3391616?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Rafal Wilinski</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=RafalWilinski\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://keybase.io/romainmuller\"><img src=\"https://avatars2.githubusercontent.com/u/411689?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Romain Marcadier</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=RomainMuller\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/thomasklinger1234\"><img src=\"https://avatars1.githubusercontent.com/u/39558817?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Thomas Klinger</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=thomasklinger1234\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/gwriss\"><img src=\"https://avatars2.githubusercontent.com/u/1842089?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Tobias</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=gwriss\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/flyingImer\"><img src=\"https://avatars0.githubusercontent.com/u/1973868?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>flyingImer</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=flyingImer\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/Hunter-Thompson\"><img src=\"https://avatars.githubusercontent.com/u/20844961?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b> Aatman </b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=Hunter-Thompson\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/mmcculloh-dms\"><img src=\"https://avatars.githubusercontent.com/u/68597641?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mark McCulloh</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=mmcculloh-dms\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/aisamu\"><img src=\"https://avatars.githubusercontent.com/u/431708?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Samuel Tschiedel</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=aisamu\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/iliapolo\"><img src=\"https://avatars.githubusercontent.com/u/1428812?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Eli Polonsky</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=iliapolo\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://unsubstantiated.blog/\"><img src=\"https://avatars.githubusercontent.com/u/1308885?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Alexander Steppke</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=Miradorn\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/kanatti\"><img src=\"https://avatars.githubusercontent.com/u/8623654?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Balagopal Kanattil</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=kanatti\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"http://twitter.com/bracki\"><img src=\"https://avatars.githubusercontent.com/u/49786?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jan Brauer</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=bracki\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://polothy.github.io/\"><img src=\"https://avatars.githubusercontent.com/u/634657?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mark Nielsen</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=polothy\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/MrArnoldPalmer\"><img src=\"https://avatars.githubusercontent.com/u/7221111?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mitchell Valine</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=MrArnoldPalmer\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://blog.neilkuan.net/\"><img src=\"https://avatars.githubusercontent.com/u/46012524?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Neil Kuan</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=neilkuan\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://garbe.io/\"><img src=\"https://avatars.githubusercontent.com/u/721899?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Philipp Garbe</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=pgarbe\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://selfstructured.com/\"><img src=\"https://avatars.githubusercontent.com/u/361689?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Shawn MacIntyre</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=smacintyre\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/tobias-bardino\"><img src=\"https://avatars.githubusercontent.com/u/1842089?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Tobias</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=tobias-bardino\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/yglcode\"><img src=\"https://avatars.githubusercontent.com/u/11893614?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Yigong Liu</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=yglcode\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/eduardomourar\"><img src=\"https://avatars.githubusercontent.com/u/16357187?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Eduardo Rodrigues</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=eduardomourar\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/hassanazharkhan\"><img src=\"https://avatars.githubusercontent.com/u/57677979?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Hassan Azhar</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=hassanazharkhan\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://www.linkedin.com/in/julian-michel-812a223a/\"><img src=\"https://avatars.githubusercontent.com/u/15660169?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Julian Michel</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=jumic\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/lmarsden\"><img src=\"https://avatars.githubusercontent.com/u/51232932?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>lmarsden</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=lmarsden\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/adrianmace\"><img src=\"https://avatars.githubusercontent.com/u/5071859?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Adrian Mace</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=adrianmace\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/mKeRix\"><img src=\"https://avatars.githubusercontent.com/u/770596?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Heiko Rothe</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=mKeRix\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/hyandell\"><img src=\"https://avatars.githubusercontent.com/u/477715?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Henri Yandell</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=hyandell\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/mwg-rea\"><img src=\"https://avatars.githubusercontent.com/u/82480228?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Matthew Gamble</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=mwg-rea\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://willdady.com/\"><img src=\"https://avatars.githubusercontent.com/u/204259?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Will Dady</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=willdady\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/msessa\"><img src=\"https://avatars.githubusercontent.com/u/1912143?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Matteo Sessa</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=msessa\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/Hi-Fi\"><img src=\"https://avatars.githubusercontent.com/u/1499780?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Juho Saarinen</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=Hi-Fi\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/njlynch\"><img src=\"https://avatars.githubusercontent.com/u/1376292?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Nick Lynch</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=njlynch\" title=\"Code\">💻</a></td>\n </tr>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\n## License\n\nDistributed under the [Apache-2.0](./LICENSE) license.\n\n"
52
+ "markdown": "# projen\n\n![projen logo](./logo/projen.svg)\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-yellowgreen.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/projen/projen)\n![Build](https://github.com/projen/projen/workflows/Build/badge.svg)\n![Release](https://github.com/projen/projen/workflows/Release/badge.svg)\n![Commit activity](https://img.shields.io/github/commit-activity/w/projen/projen)\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![All Contributors](https://img.shields.io/badge/all_contributors-63-orange.svg?style=flat-square)](#contributors-)\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n\nDefine and maintain complex project configuration through code.\n\n> JOIN THE [#TemplatesAreEvil] MOVEMENT!\n\n[#TemplatesAreEvil]: https://twitter.com/search?q=%23TemplatesAreEvil\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\nCheck out [this talk](https://youtu.be/SOWMPzXtTCw) about projen.\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\n## Getting Started\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$ git init\n$ npx projen new PROJECT-TYPE\n🤖 Synthesizing project...\n...\n```\n\nCurrently supported project types (use `npx projen new` without a type for a\nlist):\n\n<!-- <macro exec=\"node ./scripts/readme-projects.js\"> -->\n* [awscdk-app-java](https://github.com/projen/projen/blob/main/API.md#projen-awscdk-awscdkjavaapp) - AWS CDK app in Java.\n* [awscdk-app-ts](https://github.com/projen/projen/blob/main/API.md#projen-awscdk-awscdktypescriptapp) - AWS CDK app in TypeScript.\n* [awscdk-construct](https://github.com/projen/projen/blob/main/API.md#projen-awscdk-awscdkconstructlibrary) - AWS CDK construct library project.\n* [cdk8s-app-ts](https://github.com/projen/projen/blob/main/API.md#projen-cdk8s-cdk8stypescriptapp) - CDK8s app in TypeScript.\n* [cdk8s-construct](https://github.com/projen/projen/blob/main/API.md#projen-cdk8s-constructlibrarycdk8s) - CDK8s construct library project.\n* [cdktf-construct](https://github.com/projen/projen/blob/main/API.md#projen-cdktf-constructlibrarycdktf) - CDKTF construct library project.\n* [java](https://github.com/projen/projen/blob/main/API.md#projen-java-javaproject) - Java project.\n* [jsii](https://github.com/projen/projen/blob/main/API.md#projen-cdk-jsiiproject) - Multi-language jsii library project.\n* [nextjs](https://github.com/projen/projen/blob/main/API.md#projen-web-nextjsproject) - Next.js project without TypeScript.\n* [nextjs-ts](https://github.com/projen/projen/blob/main/API.md#projen-web-nextjstypescriptproject) - Next.js project with TypeScript.\n* [node](https://github.com/projen/projen/blob/main/API.md#projen-javascript-nodeproject) - Node.js project.\n* [project](https://github.com/projen/projen/blob/main/API.md#projen-project) - Base project.\n* [python](https://github.com/projen/projen/blob/main/API.md#projen-python-pythonproject) - Python project.\n* [react](https://github.com/projen/projen/blob/main/API.md#projen-web-reactproject) - React project without TypeScript.\n* [react-ts](https://github.com/projen/projen/blob/main/API.md#projen-web-reacttypescriptproject) - React project with TypeScript.\n* [typescript](https://github.com/projen/projen/blob/main/API.md#projen-typescript-typescriptproject) - TypeScript project.\n* [typescript-app](https://github.com/projen/projen/blob/main/API.md#projen-typescript-typescriptappproject) - TypeScript app.\n<!-- </macro> -->\n\n> Use `npx 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: `npx 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 `npx 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[`python option`](https://github.com/eladb/projen/blob/master/API.md#projen-jsiipythontarget):\n\n```js\nconst project = new JsiiProject({\n // ...\n python: {\n distName: \"mydist\",\n module: \"my_module\",\n }\n});\n```\n\nRun:\n\n```shell\nnpx projen\n```\n\nAnd you'll notice that your `package.json` file now contains a `python` section in\nit's `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='npx 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 `npx projen --help`:\n\n```shell\n$ npx 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:compile compiles the test code\n projen test Run tests\n projen build Full release build (test+compile)\n projen upgrade-dependencies upgrade dependencies\n projen upgrade-projen upgrade 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\nIf installed as a global package, `projen` includes rich shell tab-completion support. To enable this in your shell, run:\n```shell\n# Bash\nprojen completion >> ~/.bashrc\n\n# ZSH\nprojen completion >> ~/.zshrc\n```\n## Features\n\nSome examples for 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 (manual releases are currently broken! [#726](https://github.com/projen/projen/issues/726))\n* Automated PR builds\n* Automated releases to npm, maven, NuGet and PyPI\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## API Reference\n\nSee [API Reference](./API.md) for API details.\n\nIn addition, several projen components and project types are explained with examples in [/docs](./docs) (currently a work in progress!).\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 it's 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$ npx 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 [yarn\nadd](https://classic.yarnpkg.com/en/docs/cli/add#toc-adding-dependencies) 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$ npx 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, TypeScript, or even JSON. Python support is also planned. 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-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## 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$ yarn\n$ yarn watch # compile in the background\n```\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n <tr>\n <td align=\"center\"><a href=\"http://eladb.github.com/\"><img src=\"https://avatars3.githubusercontent.com/u/598796?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Elad Ben-Israel</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=eladb\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://rybicki.io/\"><img src=\"https://avatars2.githubusercontent.com/u/5008987?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Christopher Rybicki</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=Chriscbr\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"http://p6m7g8.github.io/\"><img src=\"https://avatars0.githubusercontent.com/u/34295?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Philip M. Gollucci</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=pgollucci\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/hoegertn\"><img src=\"https://avatars2.githubusercontent.com/u/1287829?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Thorsten Hoeger</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=hoegertn\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/kcwinner\"><img src=\"https://avatars3.githubusercontent.com/u/2728868?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Kenneth Winner</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=kcwinner\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/JordanSinko\"><img src=\"https://avatars2.githubusercontent.com/u/10212966?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jordan Sinko</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=JordanSinko\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/misterjoshua\"><img src=\"https://avatars2.githubusercontent.com/u/644092?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Josh Kellendonk</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=misterjoshua\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/andrestone\"><img src=\"https://avatars1.githubusercontent.com/u/7958086?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>andrestone</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=andrestone\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://pallares.io/\"><img src=\"https://avatars3.githubusercontent.com/u/1077520?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Cristian Pallarés</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=skyrpex\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/jogold\"><img src=\"https://avatars2.githubusercontent.com/u/12623249?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jonathan Goldwasser</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=jogold\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"http://www.matthewbonig.com/\"><img src=\"https://avatars2.githubusercontent.com/u/1559437?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Matthew Bonig</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=mbonig\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/pahud\"><img src=\"https://avatars3.githubusercontent.com/u/278432?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Pahud Hsieh</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=pahud\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/adamelmore\"><img src=\"https://avatars2.githubusercontent.com/u/2363879?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Adam Elmore</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=adamelmore\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/abelmokadem\"><img src=\"https://avatars0.githubusercontent.com/u/9717944?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ash</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=abelmokadem\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/jmourelos\"><img src=\"https://avatars3.githubusercontent.com/u/3878434?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jacob</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=jmourelos\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/bigkraig\"><img src=\"https://avatars1.githubusercontent.com/u/508403?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Kraig Amador</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=bigkraig\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/mmuller88\"><img src=\"https://avatars0.githubusercontent.com/u/18393842?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Martin Muller</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=mmuller88\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://tlakomy.com/\"><img src=\"https://avatars2.githubusercontent.com/u/16646517?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Tomasz Łakomy</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=tlakomy\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/john-tipper\"><img src=\"https://avatars2.githubusercontent.com/u/9730398?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>john-tipper</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=john-tipper\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/henrysachs\"><img src=\"https://avatars0.githubusercontent.com/u/17173951?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Henry Sachs</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=henrysachs\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/eganjs\"><img src=\"https://avatars3.githubusercontent.com/u/6639482?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Joseph Egan</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=eganjs\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://skorfmann.com/\"><img src=\"https://avatars1.githubusercontent.com/u/136789?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Sebastian Korfmann</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=skorfmann\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"http://www.callant.net/\"><img src=\"https://avatars1.githubusercontent.com/u/5915843?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Bart Callant</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=bartcallant\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/campionfellin\"><img src=\"https://avatars3.githubusercontent.com/u/11984923?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Campion Fellin</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=campionfellin\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/gradybarrett\"><img src=\"https://avatars1.githubusercontent.com/u/1140074?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Grady Barrett</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=gradybarrett\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/HassanMahmud\"><img src=\"https://avatars3.githubusercontent.com/u/58504381?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Hassan Mahmud</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=HassanMahmud\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://dk.linkedin.com/in/hassanmahmud93\"><img src=\"https://avatars1.githubusercontent.com/u/7426703?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Hassan Mahmud</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=hass123uk\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"http://joapy.com/\"><img src=\"https://avatars3.githubusercontent.com/u/325306?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jake Pearson</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=jakepearson\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/JeremyJonas\"><img src=\"https://avatars1.githubusercontent.com/u/464119?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jeremy Jonas</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=JeremyJonas\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://dev.to/martzcodes\"><img src=\"https://avatars1.githubusercontent.com/u/978362?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Matt Martz</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=martzcodes\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/fongie\"><img src=\"https://avatars1.githubusercontent.com/u/19932622?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Max Körlinge</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=fongie\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://blog.neilkuan.dev/\"><img src=\"https://avatars2.githubusercontent.com/u/46012524?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Neil Kuan</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=guan840912\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://dynobase.dev/\"><img src=\"https://avatars3.githubusercontent.com/u/3391616?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Rafal Wilinski</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=RafalWilinski\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://keybase.io/romainmuller\"><img src=\"https://avatars2.githubusercontent.com/u/411689?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Romain Marcadier</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=RomainMuller\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/thomasklinger1234\"><img src=\"https://avatars1.githubusercontent.com/u/39558817?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Thomas Klinger</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=thomasklinger1234\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/gwriss\"><img src=\"https://avatars2.githubusercontent.com/u/1842089?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Tobias</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=gwriss\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/flyingImer\"><img src=\"https://avatars0.githubusercontent.com/u/1973868?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>flyingImer</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=flyingImer\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/Hunter-Thompson\"><img src=\"https://avatars.githubusercontent.com/u/20844961?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b> Aatman </b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=Hunter-Thompson\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/mmcculloh-dms\"><img src=\"https://avatars.githubusercontent.com/u/68597641?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mark McCulloh</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=mmcculloh-dms\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/aisamu\"><img src=\"https://avatars.githubusercontent.com/u/431708?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Samuel Tschiedel</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=aisamu\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/iliapolo\"><img src=\"https://avatars.githubusercontent.com/u/1428812?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Eli Polonsky</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=iliapolo\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://unsubstantiated.blog/\"><img src=\"https://avatars.githubusercontent.com/u/1308885?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Alexander Steppke</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=Miradorn\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/kanatti\"><img src=\"https://avatars.githubusercontent.com/u/8623654?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Balagopal Kanattil</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=kanatti\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"http://twitter.com/bracki\"><img src=\"https://avatars.githubusercontent.com/u/49786?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jan Brauer</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=bracki\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://polothy.github.io/\"><img src=\"https://avatars.githubusercontent.com/u/634657?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mark Nielsen</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=polothy\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/MrArnoldPalmer\"><img src=\"https://avatars.githubusercontent.com/u/7221111?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mitchell Valine</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=MrArnoldPalmer\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://blog.neilkuan.net/\"><img src=\"https://avatars.githubusercontent.com/u/46012524?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Neil Kuan</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=neilkuan\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://garbe.io/\"><img src=\"https://avatars.githubusercontent.com/u/721899?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Philipp Garbe</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=pgarbe\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://selfstructured.com/\"><img src=\"https://avatars.githubusercontent.com/u/361689?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Shawn MacIntyre</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=smacintyre\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/tobias-bardino\"><img src=\"https://avatars.githubusercontent.com/u/1842089?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Tobias</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=tobias-bardino\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/yglcode\"><img src=\"https://avatars.githubusercontent.com/u/11893614?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Yigong Liu</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=yglcode\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/eduardomourar\"><img src=\"https://avatars.githubusercontent.com/u/16357187?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Eduardo Rodrigues</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=eduardomourar\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/hassanazharkhan\"><img src=\"https://avatars.githubusercontent.com/u/57677979?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Hassan Azhar</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=hassanazharkhan\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://www.linkedin.com/in/julian-michel-812a223a/\"><img src=\"https://avatars.githubusercontent.com/u/15660169?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Julian Michel</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=jumic\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/lmarsden\"><img src=\"https://avatars.githubusercontent.com/u/51232932?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>lmarsden</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=lmarsden\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/adrianmace\"><img src=\"https://avatars.githubusercontent.com/u/5071859?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Adrian Mace</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=adrianmace\" title=\"Code\">💻</a></td>\n </tr>\n <tr>\n <td align=\"center\"><a href=\"https://github.com/mKeRix\"><img src=\"https://avatars.githubusercontent.com/u/770596?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Heiko Rothe</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=mKeRix\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/hyandell\"><img src=\"https://avatars.githubusercontent.com/u/477715?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Henri Yandell</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=hyandell\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/mwg-rea\"><img src=\"https://avatars.githubusercontent.com/u/82480228?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Matthew Gamble</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=mwg-rea\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://willdady.com/\"><img src=\"https://avatars.githubusercontent.com/u/204259?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Will Dady</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=willdady\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/msessa\"><img src=\"https://avatars.githubusercontent.com/u/1912143?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Matteo Sessa</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=msessa\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/Hi-Fi\"><img src=\"https://avatars.githubusercontent.com/u/1499780?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Juho Saarinen</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=Hi-Fi\" title=\"Code\">💻</a></td>\n <td align=\"center\"><a href=\"https://github.com/njlynch\"><img src=\"https://avatars.githubusercontent.com/u/1376292?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Nick Lynch</b></sub></a><br /><a href=\"https://github.com/projen/projen/commits?author=njlynch\" title=\"Code\">💻</a></td>\n </tr>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\n## License\n\nDistributed under the [Apache-2.0](./LICENSE) license.\n"
53
53
  },
54
54
  "repository": {
55
55
  "type": "git",
@@ -464,7 +464,7 @@
464
464
  },
465
465
  "locationInModule": {
466
466
  "filename": "src/dependencies.ts",
467
- "line": 132
467
+ "line": 134
468
468
  },
469
469
  "name": "addDependency",
470
470
  "parameters": [
@@ -514,7 +514,7 @@
514
514
  },
515
515
  "locationInModule": {
516
516
  "filename": "src/dependencies.ts",
517
- "line": 85
517
+ "line": 87
518
518
  },
519
519
  "name": "getDependency",
520
520
  "parameters": [
@@ -552,7 +552,7 @@
552
552
  },
553
553
  "locationInModule": {
554
554
  "filename": "src/dependencies.ts",
555
- "line": 165
555
+ "line": 167
556
556
  },
557
557
  "name": "removeDependency",
558
558
  "parameters": [
@@ -587,7 +587,7 @@
587
587
  },
588
588
  "locationInModule": {
589
589
  "filename": "src/dependencies.ts",
590
- "line": 111
590
+ "line": 113
591
591
  },
592
592
  "name": "tryGetDependency",
593
593
  "parameters": [
@@ -648,7 +648,7 @@
648
648
  "immutable": true,
649
649
  "locationInModule": {
650
650
  "filename": "src/dependencies.ts",
651
- "line": 69
651
+ "line": 71
652
652
  },
653
653
  "name": "all",
654
654
  "type": {
@@ -677,7 +677,7 @@
677
677
  "kind": "interface",
678
678
  "locationInModule": {
679
679
  "filename": "src/dependencies.ts",
680
- "line": 267
680
+ "line": 269
681
681
  },
682
682
  "name": "Dependency",
683
683
  "properties": [
@@ -690,7 +690,7 @@
690
690
  "immutable": true,
691
691
  "locationInModule": {
692
692
  "filename": "src/dependencies.ts",
693
- "line": 271
693
+ "line": 273
694
694
  },
695
695
  "name": "type",
696
696
  "type": {
@@ -707,7 +707,7 @@
707
707
  "immutable": true,
708
708
  "locationInModule": {
709
709
  "filename": "src/dependencies.ts",
710
- "line": 278
710
+ "line": 280
711
711
  },
712
712
  "name": "metadata",
713
713
  "optional": true,
@@ -734,7 +734,7 @@
734
734
  "kind": "interface",
735
735
  "locationInModule": {
736
736
  "filename": "src/dependencies.ts",
737
- "line": 247
737
+ "line": 249
738
738
  },
739
739
  "name": "DependencyCoordinates",
740
740
  "properties": [
@@ -748,7 +748,7 @@
748
748
  "immutable": true,
749
749
  "locationInModule": {
750
750
  "filename": "src/dependencies.ts",
751
- "line": 254
751
+ "line": 256
752
752
  },
753
753
  "name": "name",
754
754
  "type": {
@@ -765,7 +765,7 @@
765
765
  "immutable": true,
766
766
  "locationInModule": {
767
767
  "filename": "src/dependencies.ts",
768
- "line": 261
768
+ "line": 263
769
769
  },
770
770
  "name": "version",
771
771
  "optional": true,
@@ -786,7 +786,7 @@
786
786
  "kind": "enum",
787
787
  "locationInModule": {
788
788
  "filename": "src/dependencies.ts",
789
- "line": 284
789
+ "line": 286
790
790
  },
791
791
  "members": [
792
792
  {
@@ -845,7 +845,7 @@
845
845
  "kind": "interface",
846
846
  "locationInModule": {
847
847
  "filename": "src/dependencies.ts",
848
- "line": 237
848
+ "line": 239
849
849
  },
850
850
  "name": "DepsManifest",
851
851
  "properties": [
@@ -858,7 +858,7 @@
858
858
  "immutable": true,
859
859
  "locationInModule": {
860
860
  "filename": "src/dependencies.ts",
861
- "line": 241
861
+ "line": 243
862
862
  },
863
863
  "name": "dependencies",
864
864
  "type": {
@@ -2269,7 +2269,7 @@
2269
2269
  },
2270
2270
  "locationInModule": {
2271
2271
  "filename": "src/file.ts",
2272
- "line": 69
2272
+ "line": 77
2273
2273
  },
2274
2274
  "parameters": [
2275
2275
  {
@@ -2296,7 +2296,7 @@
2296
2296
  "kind": "class",
2297
2297
  "locationInModule": {
2298
2298
  "filename": "src/file.ts",
2299
- "line": 40
2299
+ "line": 47
2300
2300
  },
2301
2301
  "methods": [
2302
2302
  {
@@ -2306,7 +2306,7 @@
2306
2306
  },
2307
2307
  "locationInModule": {
2308
2308
  "filename": "src/file.ts",
2309
- "line": 123
2309
+ "line": 137
2310
2310
  },
2311
2311
  "name": "synthesize",
2312
2312
  "overrides": "projen.Component"
@@ -2320,7 +2320,7 @@
2320
2320
  },
2321
2321
  "locationInModule": {
2322
2322
  "filename": "src/file.ts",
2323
- "line": 118
2323
+ "line": 132
2324
2324
  },
2325
2325
  "name": "synthesizeContent",
2326
2326
  "parameters": [
@@ -2346,19 +2346,16 @@
2346
2346
  "name": "FileBase",
2347
2347
  "properties": [
2348
2348
  {
2349
- "const": true,
2350
2349
  "docs": {
2351
- "remarks": "This marker is used to prune these files before synthesis.",
2352
2350
  "stability": "experimental",
2353
- "summary": "The marker to embed in files in order to identify them as projen files."
2351
+ "summary": "The absolute path of this file."
2354
2352
  },
2355
2353
  "immutable": true,
2356
2354
  "locationInModule": {
2357
2355
  "filename": "src/file.ts",
2358
- "line": 45
2356
+ "line": 73
2359
2357
  },
2360
- "name": "PROJEN_MARKER",
2361
- "static": true,
2358
+ "name": "absolutePath",
2362
2359
  "type": {
2363
2360
  "primitive": "string"
2364
2361
  }
@@ -2366,48 +2363,50 @@
2366
2363
  {
2367
2364
  "docs": {
2368
2365
  "stability": "experimental",
2369
- "summary": "The absolute path of this file."
2366
+ "summary": "The file path, relative to the project root."
2370
2367
  },
2371
2368
  "immutable": true,
2372
2369
  "locationInModule": {
2373
2370
  "filename": "src/file.ts",
2374
- "line": 65
2371
+ "line": 51
2375
2372
  },
2376
- "name": "absolutePath",
2373
+ "name": "path",
2377
2374
  "type": {
2378
2375
  "primitive": "string"
2379
2376
  }
2380
2377
  },
2381
2378
  {
2382
2379
  "docs": {
2380
+ "remarks": "This property is\nonly available in `postSynthesize()` hooks. If this is `undefined`, the\nfile has not been synthesized yet.",
2383
2381
  "stability": "experimental",
2384
- "summary": "The file path, relative to the project root."
2382
+ "summary": "Indicates if the file has been changed during synthesis."
2385
2383
  },
2386
2384
  "immutable": true,
2387
2385
  "locationInModule": {
2388
2386
  "filename": "src/file.ts",
2389
- "line": 50
2387
+ "line": 201
2390
2388
  },
2391
- "name": "path",
2389
+ "name": "changed",
2390
+ "optional": true,
2392
2391
  "type": {
2393
- "primitive": "string"
2392
+ "primitive": "boolean"
2394
2393
  }
2395
2394
  },
2396
2395
  {
2397
2396
  "docs": {
2398
- "remarks": "This property is\nonly available in `postSynthesize()` hooks. If this is `undefined`, the\nfile has not been synthesized yet.",
2397
+ "remarks": "Value is undefined if the project is being ejected.",
2399
2398
  "stability": "experimental",
2400
- "summary": "Indicates if the file has been changed during synthesis."
2399
+ "summary": "The projen marker, used to identify files as projen-generated."
2401
2400
  },
2402
2401
  "immutable": true,
2403
2402
  "locationInModule": {
2404
2403
  "filename": "src/file.ts",
2405
- "line": 157
2404
+ "line": 68
2406
2405
  },
2407
- "name": "changed",
2406
+ "name": "marker",
2408
2407
  "optional": true,
2409
2408
  "type": {
2410
- "primitive": "boolean"
2409
+ "primitive": "string"
2411
2410
  }
2412
2411
  },
2413
2412
  {
@@ -2417,7 +2416,7 @@
2417
2416
  },
2418
2417
  "locationInModule": {
2419
2418
  "filename": "src/file.ts",
2420
- "line": 60
2419
+ "line": 61
2421
2420
  },
2422
2421
  "name": "executable",
2423
2422
  "type": {
@@ -2431,7 +2430,7 @@
2431
2430
  },
2432
2431
  "locationInModule": {
2433
2432
  "filename": "src/file.ts",
2434
- "line": 55
2433
+ "line": 56
2435
2434
  },
2436
2435
  "name": "readonly",
2437
2436
  "type": {
@@ -2510,6 +2509,24 @@
2510
2509
  "primitive": "boolean"
2511
2510
  }
2512
2511
  },
2512
+ {
2513
+ "abstract": true,
2514
+ "docs": {
2515
+ "default": "- marker will be included as long as the project is not ejected",
2516
+ "stability": "experimental",
2517
+ "summary": "Adds the projen marker to the file."
2518
+ },
2519
+ "immutable": true,
2520
+ "locationInModule": {
2521
+ "filename": "src/file.ts",
2522
+ "line": 44
2523
+ },
2524
+ "name": "marker",
2525
+ "optional": true,
2526
+ "type": {
2527
+ "primitive": "boolean"
2528
+ }
2529
+ },
2513
2530
  {
2514
2531
  "abstract": true,
2515
2532
  "docs": {
@@ -3685,7 +3702,7 @@
3685
3702
  "kind": "interface",
3686
3703
  "locationInModule": {
3687
3704
  "filename": "src/file.ts",
3688
- "line": 192
3705
+ "line": 236
3689
3706
  },
3690
3707
  "methods": [
3691
3708
  {
@@ -3696,7 +3713,7 @@
3696
3713
  },
3697
3714
  "locationInModule": {
3698
3715
  "filename": "src/file.ts",
3699
- "line": 196
3716
+ "line": 240
3700
3717
  },
3701
3718
  "name": "toJSON",
3702
3719
  "returns": {
@@ -3719,7 +3736,7 @@
3719
3736
  "kind": "interface",
3720
3737
  "locationInModule": {
3721
3738
  "filename": "src/file.ts",
3722
- "line": 165
3739
+ "line": 209
3723
3740
  },
3724
3741
  "methods": [
3725
3742
  {
@@ -3733,7 +3750,7 @@
3733
3750
  },
3734
3751
  "locationInModule": {
3735
3752
  "filename": "src/file.ts",
3736
- "line": 172
3753
+ "line": 216
3737
3754
  },
3738
3755
  "name": "resolve",
3739
3756
  "parameters": [
@@ -4034,7 +4051,7 @@
4034
4051
  "kind": "interface",
4035
4052
  "locationInModule": {
4036
4053
  "filename": "src/project.ts",
4037
- "line": 562
4054
+ "line": 615
4038
4055
  },
4039
4056
  "name": "InitProject",
4040
4057
  "properties": [
@@ -4047,7 +4064,7 @@
4047
4064
  "immutable": true,
4048
4065
  "locationInModule": {
4049
4066
  "filename": "src/project.ts",
4050
- "line": 571
4067
+ "line": 624
4051
4068
  },
4052
4069
  "name": "args",
4053
4070
  "type": {
@@ -4070,7 +4087,7 @@
4070
4087
  "immutable": true,
4071
4088
  "locationInModule": {
4072
4089
  "filename": "src/project.ts",
4073
- "line": 582
4090
+ "line": 635
4074
4091
  },
4075
4092
  "name": "comments",
4076
4093
  "type": {
@@ -4086,7 +4103,7 @@
4086
4103
  "immutable": true,
4087
4104
  "locationInModule": {
4088
4105
  "filename": "src/project.ts",
4089
- "line": 566
4106
+ "line": 619
4090
4107
  },
4091
4108
  "name": "fqn",
4092
4109
  "type": {
@@ -4102,7 +4119,7 @@
4102
4119
  "immutable": true,
4103
4120
  "locationInModule": {
4104
4121
  "filename": "src/project.ts",
4105
- "line": 576
4122
+ "line": 629
4106
4123
  },
4107
4124
  "name": "type",
4108
4125
  "type": {
@@ -4986,7 +5003,7 @@
4986
5003
  },
4987
5004
  "locationInModule": {
4988
5005
  "filename": "src/object-file.ts",
4989
- "line": 57
5006
+ "line": 44
4990
5007
  },
4991
5008
  "parameters": [
4992
5009
  {
@@ -5012,7 +5029,7 @@
5012
5029
  "kind": "class",
5013
5030
  "locationInModule": {
5014
5031
  "filename": "src/object-file.ts",
5015
- "line": 34
5032
+ "line": 27
5016
5033
  },
5017
5034
  "methods": [
5018
5035
  {
@@ -5022,7 +5039,7 @@
5022
5039
  },
5023
5040
  "locationInModule": {
5024
5041
  "filename": "src/object-file.ts",
5025
- "line": 128
5042
+ "line": 114
5026
5043
  },
5027
5044
  "name": "addDeletionOverride",
5028
5045
  "parameters": [
@@ -5045,7 +5062,7 @@
5045
5062
  },
5046
5063
  "locationInModule": {
5047
5064
  "filename": "src/object-file.ts",
5048
- "line": 100
5065
+ "line": 86
5049
5066
  },
5050
5067
  "name": "addOverride",
5051
5068
  "parameters": [
@@ -5078,7 +5095,7 @@
5078
5095
  },
5079
5096
  "locationInModule": {
5080
5097
  "filename": "src/object-file.ts",
5081
- "line": 132
5098
+ "line": 118
5082
5099
  },
5083
5100
  "name": "synthesizeContent",
5084
5101
  "overrides": "projen.FileBase",
@@ -5109,26 +5126,12 @@
5109
5126
  "immutable": true,
5110
5127
  "locationInModule": {
5111
5128
  "filename": "src/object-file.ts",
5112
- "line": 55
5129
+ "line": 42
5113
5130
  },
5114
5131
  "name": "omitEmpty",
5115
5132
  "type": {
5116
5133
  "primitive": "boolean"
5117
5134
  }
5118
- },
5119
- {
5120
- "docs": {
5121
- "stability": "experimental",
5122
- "summary": "Indicates if the projen marker JSON-comment will be added to the output object."
5123
- },
5124
- "locationInModule": {
5125
- "filename": "src/object-file.ts",
5126
- "line": 45
5127
- },
5128
- "name": "marker",
5129
- "type": {
5130
- "primitive": "boolean"
5131
- }
5132
5135
  }
5133
5136
  ],
5134
5137
  "symbolId": "src/object-file:ObjectFile"
@@ -5151,24 +5154,6 @@
5151
5154
  },
5152
5155
  "name": "ObjectFileOptions",
5153
5156
  "properties": [
5154
- {
5155
- "abstract": true,
5156
- "docs": {
5157
- "default": "true",
5158
- "stability": "experimental",
5159
- "summary": "Adds the projen marker to the file."
5160
- },
5161
- "immutable": true,
5162
- "locationInModule": {
5163
- "filename": "src/object-file.ts",
5164
- "line": 28
5165
- },
5166
- "name": "marker",
5167
- "optional": true,
5168
- "type": {
5169
- "primitive": "boolean"
5170
- }
5171
- },
5172
5157
  {
5173
5158
  "abstract": true,
5174
5159
  "docs": {
@@ -5222,7 +5207,7 @@
5222
5207
  },
5223
5208
  "locationInModule": {
5224
5209
  "filename": "src/project.ts",
5225
- "line": 165
5210
+ "line": 176
5226
5211
  },
5227
5212
  "parameters": [
5228
5213
  {
@@ -5236,7 +5221,7 @@
5236
5221
  "kind": "class",
5237
5222
  "locationInModule": {
5238
5223
  "filename": "src/project.ts",
5239
- "line": 86
5224
+ "line": 87
5240
5225
  },
5241
5226
  "methods": [
5242
5227
  {
@@ -5247,7 +5232,7 @@
5247
5232
  },
5248
5233
  "locationInModule": {
5249
5234
  "filename": "src/project.ts",
5250
- "line": 359
5235
+ "line": 389
5251
5236
  },
5252
5237
  "name": "addExcludeFromCleanup",
5253
5238
  "parameters": [
@@ -5271,7 +5256,7 @@
5271
5256
  },
5272
5257
  "locationInModule": {
5273
5258
  "filename": "src/project.ts",
5274
- "line": 388
5259
+ "line": 418
5275
5260
  },
5276
5261
  "name": "addGitIgnore",
5277
5262
  "parameters": [
@@ -5294,7 +5279,7 @@
5294
5279
  },
5295
5280
  "locationInModule": {
5296
5281
  "filename": "src/project.ts",
5297
- "line": 380
5282
+ "line": 410
5298
5283
  },
5299
5284
  "name": "addPackageIgnore",
5300
5285
  "parameters": [
@@ -5317,7 +5302,7 @@
5317
5302
  },
5318
5303
  "locationInModule": {
5319
5304
  "filename": "src/project.ts",
5320
- "line": 243
5305
+ "line": 273
5321
5306
  },
5322
5307
  "name": "addTask",
5323
5308
  "parameters": [
@@ -5355,7 +5340,7 @@
5355
5340
  },
5356
5341
  "locationInModule": {
5357
5342
  "filename": "src/project.ts",
5358
- "line": 349
5343
+ "line": 379
5359
5344
  },
5360
5345
  "name": "addTip",
5361
5346
  "parameters": [
@@ -5378,7 +5363,7 @@
5378
5363
  },
5379
5364
  "locationInModule": {
5380
5365
  "filename": "src/project.ts",
5381
- "line": 399
5366
+ "line": 429
5382
5367
  },
5383
5368
  "name": "annotateGenerated",
5384
5369
  "parameters": [
@@ -5401,7 +5386,7 @@
5401
5386
  },
5402
5387
  "locationInModule": {
5403
5388
  "filename": "src/project.ts",
5404
- "line": 464
5389
+ "line": 517
5405
5390
  },
5406
5391
  "name": "postSynthesize"
5407
5392
  },
@@ -5412,7 +5397,7 @@
5412
5397
  },
5413
5398
  "locationInModule": {
5414
5399
  "filename": "src/project.ts",
5415
- "line": 459
5400
+ "line": 512
5416
5401
  },
5417
5402
  "name": "preSynthesize"
5418
5403
  },
@@ -5424,7 +5409,7 @@
5424
5409
  },
5425
5410
  "locationInModule": {
5426
5411
  "filename": "src/project.ts",
5427
- "line": 254
5412
+ "line": 284
5428
5413
  },
5429
5414
  "name": "removeTask",
5430
5415
  "parameters": [
@@ -5453,7 +5438,7 @@
5453
5438
  },
5454
5439
  "locationInModule": {
5455
5440
  "filename": "src/project.ts",
5456
- "line": 370
5441
+ "line": 400
5457
5442
  },
5458
5443
  "name": "runTaskCommand",
5459
5444
  "parameters": [
@@ -5481,7 +5466,7 @@
5481
5466
  },
5482
5467
  "locationInModule": {
5483
5468
  "filename": "src/project.ts",
5484
- "line": 413
5469
+ "line": 443
5485
5470
  },
5486
5471
  "name": "synth"
5487
5472
  },
@@ -5493,7 +5478,7 @@
5493
5478
  },
5494
5479
  "locationInModule": {
5495
5480
  "filename": "src/project.ts",
5496
- "line": 285
5481
+ "line": 315
5497
5482
  },
5498
5483
  "name": "tryFindFile",
5499
5484
  "parameters": [
@@ -5523,7 +5508,7 @@
5523
5508
  },
5524
5509
  "locationInModule": {
5525
5510
  "filename": "src/project.ts",
5526
- "line": 310
5511
+ "line": 340
5527
5512
  },
5528
5513
  "name": "tryFindJsonFile",
5529
5514
  "parameters": [
@@ -5551,7 +5536,7 @@
5551
5536
  },
5552
5537
  "locationInModule": {
5553
5538
  "filename": "src/project.ts",
5554
- "line": 329
5539
+ "line": 359
5555
5540
  },
5556
5541
  "name": "tryFindObjectFile",
5557
5542
  "parameters": [
@@ -5585,7 +5570,7 @@
5585
5570
  "immutable": true,
5586
5571
  "locationInModule": {
5587
5572
  "filename": "src/project.ts",
5588
- "line": 91
5573
+ "line": 92
5589
5574
  },
5590
5575
  "name": "DEFAULT_TASK",
5591
5576
  "static": true,
@@ -5600,7 +5585,7 @@
5600
5585
  "immutable": true,
5601
5586
  "locationInModule": {
5602
5587
  "filename": "src/project.ts",
5603
- "line": 258
5588
+ "line": 288
5604
5589
  },
5605
5590
  "name": "buildTask",
5606
5591
  "type": {
@@ -5614,7 +5599,7 @@
5614
5599
  "immutable": true,
5615
5600
  "locationInModule": {
5616
5601
  "filename": "src/project.ts",
5617
- "line": 261
5602
+ "line": 291
5618
5603
  },
5619
5604
  "name": "compileTask",
5620
5605
  "type": {
@@ -5629,7 +5614,7 @@
5629
5614
  "immutable": true,
5630
5615
  "locationInModule": {
5631
5616
  "filename": "src/project.ts",
5632
- "line": 222
5617
+ "line": 252
5633
5618
  },
5634
5619
  "name": "components",
5635
5620
  "type": {
@@ -5644,31 +5629,31 @@
5644
5629
  {
5645
5630
  "docs": {
5646
5631
  "stability": "experimental",
5647
- "summary": "This is the \"default\" task, the one that executes \"projen\"."
5632
+ "summary": "Project dependencies."
5648
5633
  },
5649
5634
  "immutable": true,
5650
5635
  "locationInModule": {
5651
5636
  "filename": "src/project.ts",
5652
- "line": 153
5637
+ "line": 132
5653
5638
  },
5654
- "name": "defaultTask",
5639
+ "name": "deps",
5655
5640
  "type": {
5656
- "fqn": "projen.Task"
5641
+ "fqn": "projen.Dependencies"
5657
5642
  }
5658
5643
  },
5659
5644
  {
5660
5645
  "docs": {
5661
5646
  "stability": "experimental",
5662
- "summary": "Project dependencies."
5647
+ "summary": "Whether or not the project is being ejected."
5663
5648
  },
5664
5649
  "immutable": true,
5665
5650
  "locationInModule": {
5666
5651
  "filename": "src/project.ts",
5667
- "line": 131
5652
+ "line": 505
5668
5653
  },
5669
- "name": "deps",
5654
+ "name": "ejected",
5670
5655
  "type": {
5671
- "fqn": "projen.Dependencies"
5656
+ "primitive": "boolean"
5672
5657
  }
5673
5658
  },
5674
5659
  {
@@ -5679,7 +5664,7 @@
5679
5664
  "immutable": true,
5680
5665
  "locationInModule": {
5681
5666
  "filename": "src/project.ts",
5682
- "line": 229
5667
+ "line": 259
5683
5668
  },
5684
5669
  "name": "files",
5685
5670
  "type": {
@@ -5699,7 +5684,7 @@
5699
5684
  "immutable": true,
5700
5685
  "locationInModule": {
5701
5686
  "filename": "src/project.ts",
5702
- "line": 106
5687
+ "line": 107
5703
5688
  },
5704
5689
  "name": "gitattributes",
5705
5690
  "type": {
@@ -5714,7 +5699,7 @@
5714
5699
  "immutable": true,
5715
5700
  "locationInModule": {
5716
5701
  "filename": "src/project.ts",
5717
- "line": 101
5702
+ "line": 102
5718
5703
  },
5719
5704
  "name": "gitignore",
5720
5705
  "type": {
@@ -5729,7 +5714,7 @@
5729
5714
  "immutable": true,
5730
5715
  "locationInModule": {
5731
5716
  "filename": "src/project.ts",
5732
- "line": 136
5717
+ "line": 137
5733
5718
  },
5734
5719
  "name": "logger",
5735
5720
  "type": {
@@ -5744,7 +5729,7 @@
5744
5729
  "immutable": true,
5745
5730
  "locationInModule": {
5746
5731
  "filename": "src/project.ts",
5747
- "line": 96
5732
+ "line": 97
5748
5733
  },
5749
5734
  "name": "name",
5750
5735
  "type": {
@@ -5759,7 +5744,7 @@
5759
5744
  "immutable": true,
5760
5745
  "locationInModule": {
5761
5746
  "filename": "src/project.ts",
5762
- "line": 116
5747
+ "line": 117
5763
5748
  },
5764
5749
  "name": "outdir",
5765
5750
  "type": {
@@ -5773,7 +5758,7 @@
5773
5758
  "immutable": true,
5774
5759
  "locationInModule": {
5775
5760
  "filename": "src/project.ts",
5776
- "line": 273
5761
+ "line": 303
5777
5762
  },
5778
5763
  "name": "packageTask",
5779
5764
  "type": {
@@ -5787,7 +5772,7 @@
5787
5772
  "immutable": true,
5788
5773
  "locationInModule": {
5789
5774
  "filename": "src/project.ts",
5790
- "line": 270
5775
+ "line": 300
5791
5776
  },
5792
5777
  "name": "postCompileTask",
5793
5778
  "type": {
@@ -5801,7 +5786,7 @@
5801
5786
  "immutable": true,
5802
5787
  "locationInModule": {
5803
5788
  "filename": "src/project.ts",
5804
- "line": 267
5789
+ "line": 297
5805
5790
  },
5806
5791
  "name": "preCompileTask",
5807
5792
  "type": {
@@ -5816,7 +5801,7 @@
5816
5801
  "immutable": true,
5817
5802
  "locationInModule": {
5818
5803
  "filename": "src/project.ts",
5819
- "line": 158
5804
+ "line": 168
5820
5805
  },
5821
5806
  "name": "projectBuild",
5822
5807
  "type": {
@@ -5831,7 +5816,7 @@
5831
5816
  "immutable": true,
5832
5817
  "locationInModule": {
5833
5818
  "filename": "src/project.ts",
5834
- "line": 148
5819
+ "line": 149
5835
5820
  },
5836
5821
  "name": "projenCommand",
5837
5822
  "type": {
@@ -5846,7 +5831,7 @@
5846
5831
  "immutable": true,
5847
5832
  "locationInModule": {
5848
5833
  "filename": "src/project.ts",
5849
- "line": 121
5834
+ "line": 122
5850
5835
  },
5851
5836
  "name": "root",
5852
5837
  "type": {
@@ -5861,7 +5846,7 @@
5861
5846
  "immutable": true,
5862
5847
  "locationInModule": {
5863
5848
  "filename": "src/project.ts",
5864
- "line": 126
5849
+ "line": 127
5865
5850
  },
5866
5851
  "name": "tasks",
5867
5852
  "type": {
@@ -5875,13 +5860,30 @@
5875
5860
  "immutable": true,
5876
5861
  "locationInModule": {
5877
5862
  "filename": "src/project.ts",
5878
- "line": 264
5863
+ "line": 294
5879
5864
  },
5880
5865
  "name": "testTask",
5881
5866
  "type": {
5882
5867
  "fqn": "projen.Task"
5883
5868
  }
5884
5869
  },
5870
+ {
5871
+ "docs": {
5872
+ "remarks": "Undefined if\nthe project is being ejected.",
5873
+ "stability": "experimental",
5874
+ "summary": "This is the \"default\" task, the one that executes \"projen\"."
5875
+ },
5876
+ "immutable": true,
5877
+ "locationInModule": {
5878
+ "filename": "src/project.ts",
5879
+ "line": 155
5880
+ },
5881
+ "name": "defaultTask",
5882
+ "optional": true,
5883
+ "type": {
5884
+ "fqn": "projen.Task"
5885
+ }
5886
+ },
5885
5887
  {
5886
5888
  "docs": {
5887
5889
  "remarks": "It\nincludes the original set of options passed to the CLI and also the JSII\nFQN of the project type.",
@@ -5891,7 +5893,7 @@
5891
5893
  "immutable": true,
5892
5894
  "locationInModule": {
5893
5895
  "filename": "src/project.ts",
5894
- "line": 143
5896
+ "line": 144
5895
5897
  },
5896
5898
  "name": "initProject",
5897
5899
  "optional": true,
@@ -5908,7 +5910,7 @@
5908
5910
  "immutable": true,
5909
5911
  "locationInModule": {
5910
5912
  "filename": "src/project.ts",
5911
- "line": 111
5913
+ "line": 112
5912
5914
  },
5913
5915
  "name": "parent",
5914
5916
  "optional": true,
@@ -6057,7 +6059,7 @@
6057
6059
  "kind": "interface",
6058
6060
  "locationInModule": {
6059
6061
  "filename": "src/project.ts",
6060
- "line": 26
6062
+ "line": 27
6061
6063
  },
6062
6064
  "name": "ProjectOptions",
6063
6065
  "properties": [
@@ -6074,7 +6076,7 @@
6074
6076
  "immutable": true,
6075
6077
  "locationInModule": {
6076
6078
  "filename": "src/project.ts",
6077
- "line": 33
6079
+ "line": 34
6078
6080
  },
6079
6081
  "name": "name",
6080
6082
  "type": {
@@ -6091,7 +6093,7 @@
6091
6093
  "immutable": true,
6092
6094
  "locationInModule": {
6093
6095
  "filename": "src/project.ts",
6094
- "line": 57
6096
+ "line": 58
6095
6097
  },
6096
6098
  "name": "logging",
6097
6099
  "optional": true,
@@ -6110,7 +6112,7 @@
6110
6112
  "immutable": true,
6111
6113
  "locationInModule": {
6112
6114
  "filename": "src/project.ts",
6113
- "line": 51
6115
+ "line": 52
6114
6116
  },
6115
6117
  "name": "outdir",
6116
6118
  "optional": true,
@@ -6127,7 +6129,7 @@
6127
6129
  "immutable": true,
6128
6130
  "locationInModule": {
6129
6131
  "filename": "src/project.ts",
6130
- "line": 38
6132
+ "line": 39
6131
6133
  },
6132
6134
  "name": "parent",
6133
6135
  "optional": true,
@@ -6146,7 +6148,7 @@
6146
6148
  "immutable": true,
6147
6149
  "locationInModule": {
6148
6150
  "filename": "src/project.ts",
6149
- "line": 80
6151
+ "line": 81
6150
6152
  },
6151
6153
  "name": "projenCommand",
6152
6154
  "optional": true,
@@ -6164,7 +6166,7 @@
6164
6166
  "immutable": true,
6165
6167
  "locationInModule": {
6166
6168
  "filename": "src/project.ts",
6167
- "line": 65
6169
+ "line": 66
6168
6170
  },
6169
6171
  "name": "projenrcJson",
6170
6172
  "optional": true,
@@ -6182,7 +6184,7 @@
6182
6184
  "immutable": true,
6183
6185
  "locationInModule": {
6184
6186
  "filename": "src/project.ts",
6185
- "line": 71
6187
+ "line": 72
6186
6188
  },
6187
6189
  "name": "projenrcJsonOptions",
6188
6190
  "optional": true,
@@ -6204,7 +6206,7 @@
6204
6206
  "kind": "enum",
6205
6207
  "locationInModule": {
6206
6208
  "filename": "src/project.ts",
6207
- "line": 539
6209
+ "line": 592
6208
6210
  },
6209
6211
  "members": [
6210
6212
  {
@@ -6357,7 +6359,7 @@
6357
6359
  "kind": "interface",
6358
6360
  "locationInModule": {
6359
6361
  "filename": "src/file.ts",
6360
- "line": 178
6362
+ "line": 222
6361
6363
  },
6362
6364
  "name": "ResolveOptions",
6363
6365
  "properties": [
@@ -6371,7 +6373,7 @@
6371
6373
  "immutable": true,
6372
6374
  "locationInModule": {
6373
6375
  "filename": "src/file.ts",
6374
- "line": 189
6376
+ "line": 233
6375
6377
  },
6376
6378
  "name": "args",
6377
6379
  "optional": true,
@@ -6394,7 +6396,7 @@
6394
6396
  "immutable": true,
6395
6397
  "locationInModule": {
6396
6398
  "filename": "src/file.ts",
6397
- "line": 183
6399
+ "line": 227
6398
6400
  },
6399
6401
  "name": "omitEmpty",
6400
6402
  "optional": true,
@@ -7089,7 +7091,7 @@
7089
7091
  },
7090
7092
  "locationInModule": {
7091
7093
  "filename": "src/source-code.ts",
7092
- "line": 62
7094
+ "line": 66
7093
7095
  },
7094
7096
  "name": "close",
7095
7097
  "parameters": [
@@ -7112,7 +7114,7 @@
7112
7114
  },
7113
7115
  "locationInModule": {
7114
7116
  "filename": "src/source-code.ts",
7115
- "line": 38
7117
+ "line": 42
7116
7118
  },
7117
7119
  "name": "line",
7118
7120
  "parameters": [
@@ -7135,7 +7137,7 @@
7135
7137
  },
7136
7138
  "locationInModule": {
7137
7139
  "filename": "src/source-code.ts",
7138
- "line": 49
7140
+ "line": 53
7139
7141
  },
7140
7142
  "name": "open",
7141
7143
  "parameters": [
@@ -7167,6 +7169,21 @@
7167
7169
  "type": {
7168
7170
  "primitive": "string"
7169
7171
  }
7172
+ },
7173
+ {
7174
+ "docs": {
7175
+ "stability": "experimental"
7176
+ },
7177
+ "immutable": true,
7178
+ "locationInModule": {
7179
+ "filename": "src/source-code.ts",
7180
+ "line": 34
7181
+ },
7182
+ "name": "marker",
7183
+ "optional": true,
7184
+ "type": {
7185
+ "primitive": "string"
7186
+ }
7170
7187
  }
7171
7188
  ],
7172
7189
  "symbolId": "src/source-code:SourceCode"
@@ -7794,7 +7811,7 @@
7794
7811
  },
7795
7812
  "locationInModule": {
7796
7813
  "filename": "src/task-runtime.ts",
7797
- "line": 27
7814
+ "line": 36
7798
7815
  },
7799
7816
  "parameters": [
7800
7817
  {
@@ -7808,7 +7825,7 @@
7808
7825
  "kind": "class",
7809
7826
  "locationInModule": {
7810
7827
  "filename": "src/task-runtime.ts",
7811
- "line": 16
7828
+ "line": 17
7812
7829
  },
7813
7830
  "methods": [
7814
7831
  {
@@ -7818,7 +7835,7 @@
7818
7835
  },
7819
7836
  "locationInModule": {
7820
7837
  "filename": "src/task-runtime.ts",
7821
- "line": 56
7838
+ "line": 65
7822
7839
  },
7823
7840
  "name": "runTask",
7824
7841
  "parameters": [
@@ -7852,7 +7869,7 @@
7852
7869
  },
7853
7870
  "locationInModule": {
7854
7871
  "filename": "src/task-runtime.ts",
7855
- "line": 45
7872
+ "line": 54
7856
7873
  },
7857
7874
  "name": "tryFindTask",
7858
7875
  "parameters": [
@@ -7873,6 +7890,23 @@
7873
7890
  ],
7874
7891
  "name": "TaskRuntime",
7875
7892
  "properties": [
7893
+ {
7894
+ "const": true,
7895
+ "docs": {
7896
+ "stability": "experimental",
7897
+ "summary": "The project-relative path of the tasks manifest file."
7898
+ },
7899
+ "immutable": true,
7900
+ "locationInModule": {
7901
+ "filename": "src/task-runtime.ts",
7902
+ "line": 21
7903
+ },
7904
+ "name": "MANIFEST_FILE",
7905
+ "static": true,
7906
+ "type": {
7907
+ "primitive": "string"
7908
+ }
7909
+ },
7876
7910
  {
7877
7911
  "docs": {
7878
7912
  "stability": "experimental",
@@ -7881,7 +7915,7 @@
7881
7915
  "immutable": true,
7882
7916
  "locationInModule": {
7883
7917
  "filename": "src/task-runtime.ts",
7884
- "line": 20
7918
+ "line": 29
7885
7919
  },
7886
7920
  "name": "manifest",
7887
7921
  "type": {
@@ -7896,7 +7930,7 @@
7896
7930
  "immutable": true,
7897
7931
  "locationInModule": {
7898
7932
  "filename": "src/task-runtime.ts",
7899
- "line": 38
7933
+ "line": 47
7900
7934
  },
7901
7935
  "name": "tasks",
7902
7936
  "type": {
@@ -7916,7 +7950,7 @@
7916
7950
  "immutable": true,
7917
7951
  "locationInModule": {
7918
7952
  "filename": "src/task-runtime.ts",
7919
- "line": 25
7953
+ "line": 34
7920
7954
  },
7921
7955
  "name": "workdir",
7922
7956
  "type": {
@@ -8149,7 +8183,7 @@
8149
8183
  },
8150
8184
  "locationInModule": {
8151
8185
  "filename": "src/tasks.ts",
8152
- "line": 27
8186
+ "line": 20
8153
8187
  },
8154
8188
  "parameters": [
8155
8189
  {
@@ -8163,7 +8197,7 @@
8163
8197
  "kind": "class",
8164
8198
  "locationInModule": {
8165
8199
  "filename": "src/tasks.ts",
8166
- "line": 15
8200
+ "line": 16
8167
8201
  },
8168
8202
  "methods": [
8169
8203
  {
@@ -8173,7 +8207,7 @@
8173
8207
  },
8174
8208
  "locationInModule": {
8175
8209
  "filename": "src/tasks.ts",
8176
- "line": 98
8210
+ "line": 90
8177
8211
  },
8178
8212
  "name": "addEnvironment",
8179
8213
  "parameters": [
@@ -8204,7 +8238,7 @@
8204
8238
  },
8205
8239
  "locationInModule": {
8206
8240
  "filename": "src/tasks.ts",
8207
- "line": 55
8241
+ "line": 47
8208
8242
  },
8209
8243
  "name": "addTask",
8210
8244
  "parameters": [
@@ -8242,7 +8276,7 @@
8242
8276
  },
8243
8277
  "locationInModule": {
8244
8278
  "filename": "src/tasks.ts",
8245
- "line": 73
8279
+ "line": 65
8246
8280
  },
8247
8281
  "name": "removeTask",
8248
8282
  "parameters": [
@@ -8263,6 +8297,18 @@
8263
8297
  }
8264
8298
  }
8265
8299
  },
8300
+ {
8301
+ "docs": {
8302
+ "stability": "experimental",
8303
+ "summary": "Synthesizes files to the project output directory."
8304
+ },
8305
+ "locationInModule": {
8306
+ "filename": "src/tasks.ts",
8307
+ "line": 111
8308
+ },
8309
+ "name": "synthesize",
8310
+ "overrides": "projen.Component"
8311
+ },
8266
8312
  {
8267
8313
  "docs": {
8268
8314
  "remarks": "Returns `undefined` if the task cannot be found.",
@@ -8271,7 +8317,7 @@
8271
8317
  },
8272
8318
  "locationInModule": {
8273
8319
  "filename": "src/tasks.ts",
8274
- "line": 115
8320
+ "line": 107
8275
8321
  },
8276
8322
  "name": "tryFind",
8277
8323
  "parameters": [
@@ -8295,23 +8341,6 @@
8295
8341
  ],
8296
8342
  "name": "Tasks",
8297
8343
  "properties": [
8298
- {
8299
- "const": true,
8300
- "docs": {
8301
- "stability": "experimental",
8302
- "summary": "The project-relative path of the tasks manifest file."
8303
- },
8304
- "immutable": true,
8305
- "locationInModule": {
8306
- "filename": "src/tasks.ts",
8307
- "line": 19
8308
- },
8309
- "name": "MANIFEST_FILE",
8310
- "static": true,
8311
- "type": {
8312
- "primitive": "string"
8313
- }
8314
- },
8315
8344
  {
8316
8345
  "docs": {
8317
8346
  "stability": "experimental",
@@ -8320,7 +8349,7 @@
8320
8349
  "immutable": true,
8321
8350
  "locationInModule": {
8322
8351
  "filename": "src/tasks.ts",
8323
- "line": 46
8352
+ "line": 38
8324
8353
  },
8325
8354
  "name": "all",
8326
8355
  "type": {
@@ -8340,7 +8369,7 @@
8340
8369
  "immutable": true,
8341
8370
  "locationInModule": {
8342
8371
  "filename": "src/tasks.ts",
8343
- "line": 105
8372
+ "line": 97
8344
8373
  },
8345
8374
  "name": "env",
8346
8375
  "type": {
@@ -11277,7 +11306,7 @@
11277
11306
  },
11278
11307
  "locationInModule": {
11279
11308
  "filename": "src/awscdk/lambda-function.ts",
11280
- "line": 98
11309
+ "line": 97
11281
11310
  },
11282
11311
  "parameters": [
11283
11312
  {
@@ -11303,7 +11332,7 @@
11303
11332
  "kind": "class",
11304
11333
  "locationInModule": {
11305
11334
  "filename": "src/awscdk/lambda-function.ts",
11306
- "line": 91
11335
+ "line": 90
11307
11336
  },
11308
11337
  "name": "LambdaFunction",
11309
11338
  "namespace": "awscdk",
@@ -11321,7 +11350,7 @@
11321
11350
  "kind": "interface",
11322
11351
  "locationInModule": {
11323
11352
  "filename": "src/awscdk/lambda-function.ts",
11324
- "line": 15
11353
+ "line": 14
11325
11354
  },
11326
11355
  "name": "LambdaFunctionCommonOptions",
11327
11356
  "namespace": "awscdk",
@@ -11337,7 +11366,7 @@
11337
11366
  "immutable": true,
11338
11367
  "locationInModule": {
11339
11368
  "filename": "src/awscdk/lambda-function.ts",
11340
- "line": 31
11369
+ "line": 30
11341
11370
  },
11342
11371
  "name": "bundlingOptions",
11343
11372
  "optional": true,
@@ -11355,7 +11384,7 @@
11355
11384
  "immutable": true,
11356
11385
  "locationInModule": {
11357
11386
  "filename": "src/awscdk/lambda-function.ts",
11358
- "line": 21
11387
+ "line": 20
11359
11388
  },
11360
11389
  "name": "runtime",
11361
11390
  "optional": true,
@@ -11380,7 +11409,7 @@
11380
11409
  "kind": "interface",
11381
11410
  "locationInModule": {
11382
11411
  "filename": "src/awscdk/lambda-function.ts",
11383
- "line": 37
11412
+ "line": 36
11384
11413
  },
11385
11414
  "name": "LambdaFunctionOptions",
11386
11415
  "namespace": "awscdk",
@@ -11394,7 +11423,7 @@
11394
11423
  "immutable": true,
11395
11424
  "locationInModule": {
11396
11425
  "filename": "src/awscdk/lambda-function.ts",
11397
- "line": 68
11426
+ "line": 67
11398
11427
  },
11399
11428
  "name": "cdkDeps",
11400
11429
  "type": {
@@ -11412,7 +11441,7 @@
11412
11441
  "immutable": true,
11413
11442
  "locationInModule": {
11414
11443
  "filename": "src/awscdk/lambda-function.ts",
11415
- "line": 46
11444
+ "line": 45
11416
11445
  },
11417
11446
  "name": "entrypoint",
11418
11447
  "type": {
@@ -11430,7 +11459,7 @@
11430
11459
  "immutable": true,
11431
11460
  "locationInModule": {
11432
11461
  "filename": "src/awscdk/lambda-function.ts",
11433
- "line": 55
11462
+ "line": 54
11434
11463
  },
11435
11464
  "name": "constructFile",
11436
11465
  "optional": true,
@@ -11448,7 +11477,7 @@
11448
11477
  "immutable": true,
11449
11478
  "locationInModule": {
11450
11479
  "filename": "src/awscdk/lambda-function.ts",
11451
- "line": 63
11480
+ "line": 62
11452
11481
  },
11453
11482
  "name": "constructName",
11454
11483
  "optional": true,
@@ -11469,7 +11498,7 @@
11469
11498
  "kind": "class",
11470
11499
  "locationInModule": {
11471
11500
  "filename": "src/awscdk/lambda-function.ts",
11472
- "line": 224
11501
+ "line": 225
11473
11502
  },
11474
11503
  "name": "LambdaRuntime",
11475
11504
  "namespace": "awscdk",
@@ -11483,7 +11512,7 @@
11483
11512
  "immutable": true,
11484
11513
  "locationInModule": {
11485
11514
  "filename": "src/awscdk/lambda-function.ts",
11486
- "line": 228
11515
+ "line": 229
11487
11516
  },
11488
11517
  "name": "NODEJS_10_X",
11489
11518
  "static": true,
@@ -11500,7 +11529,7 @@
11500
11529
  "immutable": true,
11501
11530
  "locationInModule": {
11502
11531
  "filename": "src/awscdk/lambda-function.ts",
11503
- "line": 236
11532
+ "line": 237
11504
11533
  },
11505
11534
  "name": "NODEJS_12_X",
11506
11535
  "static": true,
@@ -11517,7 +11546,7 @@
11517
11546
  "immutable": true,
11518
11547
  "locationInModule": {
11519
11548
  "filename": "src/awscdk/lambda-function.ts",
11520
- "line": 244
11549
+ "line": 245
11521
11550
  },
11522
11551
  "name": "NODEJS_14_X",
11523
11552
  "static": true,
@@ -11532,7 +11561,7 @@
11532
11561
  "immutable": true,
11533
11562
  "locationInModule": {
11534
11563
  "filename": "src/awscdk/lambda-function.ts",
11535
- "line": 249
11564
+ "line": 250
11536
11565
  },
11537
11566
  "name": "esbuildPlatform",
11538
11567
  "type": {
@@ -11547,7 +11576,7 @@
11547
11576
  "immutable": true,
11548
11577
  "locationInModule": {
11549
11578
  "filename": "src/awscdk/lambda-function.ts",
11550
- "line": 260
11579
+ "line": 261
11551
11580
  },
11552
11581
  "name": "esbuildTarget",
11553
11582
  "type": {
@@ -11562,7 +11591,7 @@
11562
11591
  "immutable": true,
11563
11592
  "locationInModule": {
11564
11593
  "filename": "src/awscdk/lambda-function.ts",
11565
- "line": 255
11594
+ "line": 256
11566
11595
  },
11567
11596
  "name": "functionRuntime",
11568
11597
  "type": {
@@ -11583,7 +11612,7 @@
11583
11612
  "kind": "interface",
11584
11613
  "locationInModule": {
11585
11614
  "filename": "src/build/build-workflow.ts",
11586
- "line": 379
11615
+ "line": 393
11587
11616
  },
11588
11617
  "name": "AddPostBuildJobCommandsOptions",
11589
11618
  "namespace": "build",
@@ -11598,7 +11627,7 @@
11598
11627
  "immutable": true,
11599
11628
  "locationInModule": {
11600
11629
  "filename": "src/build/build-workflow.ts",
11601
- "line": 391
11630
+ "line": 405
11602
11631
  },
11603
11632
  "name": "checkoutRepo",
11604
11633
  "optional": true,
@@ -11617,7 +11646,7 @@
11617
11646
  "immutable": true,
11618
11647
  "locationInModule": {
11619
11648
  "filename": "src/build/build-workflow.ts",
11620
- "line": 401
11649
+ "line": 415
11621
11650
  },
11622
11651
  "name": "installDeps",
11623
11652
  "optional": true,
@@ -11635,7 +11664,7 @@
11635
11664
  "immutable": true,
11636
11665
  "locationInModule": {
11637
11666
  "filename": "src/build/build-workflow.ts",
11638
- "line": 407
11667
+ "line": 421
11639
11668
  },
11640
11669
  "name": "runsOn",
11641
11670
  "optional": true,
@@ -11657,7 +11686,7 @@
11657
11686
  "immutable": true,
11658
11687
  "locationInModule": {
11659
11688
  "filename": "src/build/build-workflow.ts",
11660
- "line": 383
11689
+ "line": 397
11661
11690
  },
11662
11691
  "name": "tools",
11663
11692
  "optional": true,
@@ -11679,7 +11708,7 @@
11679
11708
  "kind": "interface",
11680
11709
  "locationInModule": {
11681
11710
  "filename": "src/build/build-workflow.ts",
11682
- "line": 363
11711
+ "line": 377
11683
11712
  },
11684
11713
  "name": "AddPostBuildJobTaskOptions",
11685
11714
  "namespace": "build",
@@ -11694,7 +11723,7 @@
11694
11723
  "immutable": true,
11695
11724
  "locationInModule": {
11696
11725
  "filename": "src/build/build-workflow.ts",
11697
- "line": 373
11726
+ "line": 387
11698
11727
  },
11699
11728
  "name": "runsOn",
11700
11729
  "optional": true,
@@ -11716,7 +11745,7 @@
11716
11745
  "immutable": true,
11717
11746
  "locationInModule": {
11718
11747
  "filename": "src/build/build-workflow.ts",
11719
- "line": 367
11748
+ "line": 381
11720
11749
  },
11721
11750
  "name": "tools",
11722
11751
  "optional": true,
@@ -11740,7 +11769,7 @@
11740
11769
  },
11741
11770
  "locationInModule": {
11742
11771
  "filename": "src/build/build-workflow.ts",
11743
- "line": 99
11772
+ "line": 111
11744
11773
  },
11745
11774
  "parameters": [
11746
11775
  {
@@ -11760,7 +11789,7 @@
11760
11789
  "kind": "class",
11761
11790
  "locationInModule": {
11762
11791
  "filename": "src/build/build-workflow.ts",
11763
- "line": 87
11792
+ "line": 99
11764
11793
  },
11765
11794
  "methods": [
11766
11795
  {
@@ -11771,7 +11800,7 @@
11771
11800
  },
11772
11801
  "locationInModule": {
11773
11802
  "filename": "src/build/build-workflow.ts",
11774
- "line": 179
11803
+ "line": 193
11775
11804
  },
11776
11805
  "name": "addPostBuildJob",
11777
11806
  "parameters": [
@@ -11803,7 +11832,7 @@
11803
11832
  },
11804
11833
  "locationInModule": {
11805
11834
  "filename": "src/build/build-workflow.ts",
11806
- "line": 243
11835
+ "line": 257
11807
11836
  },
11808
11837
  "name": "addPostBuildJobCommands",
11809
11838
  "parameters": [
@@ -11844,7 +11873,7 @@
11844
11873
  },
11845
11874
  "locationInModule": {
11846
11875
  "filename": "src/build/build-workflow.ts",
11847
- "line": 220
11876
+ "line": 234
11848
11877
  },
11849
11878
  "name": "addPostBuildJobTask",
11850
11879
  "parameters": [
@@ -11872,7 +11901,7 @@
11872
11901
  },
11873
11902
  "locationInModule": {
11874
11903
  "filename": "src/build/build-workflow.ts",
11875
- "line": 164
11904
+ "line": 178
11876
11905
  },
11877
11906
  "name": "addPostBuildSteps",
11878
11907
  "parameters": [
@@ -11901,7 +11930,7 @@
11901
11930
  "immutable": true,
11902
11931
  "locationInModule": {
11903
11932
  "filename": "src/build/build-workflow.ts",
11904
- "line": 156
11933
+ "line": 170
11905
11934
  },
11906
11935
  "name": "buildJobIds",
11907
11936
  "type": {
@@ -11926,7 +11955,7 @@
11926
11955
  "kind": "interface",
11927
11956
  "locationInModule": {
11928
11957
  "filename": "src/build/build-workflow.ts",
11929
- "line": 24
11958
+ "line": 30
11930
11959
  },
11931
11960
  "name": "BuildWorkflowOptions",
11932
11961
  "namespace": "build",
@@ -11940,7 +11969,7 @@
11940
11969
  "immutable": true,
11941
11970
  "locationInModule": {
11942
11971
  "filename": "src/build/build-workflow.ts",
11943
- "line": 33
11972
+ "line": 39
11944
11973
  },
11945
11974
  "name": "artifactsDirectory",
11946
11975
  "type": {
@@ -11956,7 +11985,7 @@
11956
11985
  "immutable": true,
11957
11986
  "locationInModule": {
11958
11987
  "filename": "src/build/build-workflow.ts",
11959
- "line": 28
11988
+ "line": 34
11960
11989
  },
11961
11990
  "name": "buildTask",
11962
11991
  "type": {
@@ -11973,7 +12002,7 @@
11973
12002
  "immutable": true,
11974
12003
  "locationInModule": {
11975
12004
  "filename": "src/build/build-workflow.ts",
11976
- "line": 39
12005
+ "line": 45
11977
12006
  },
11978
12007
  "name": "containerImage",
11979
12008
  "optional": true,
@@ -11991,7 +12020,7 @@
11991
12020
  "immutable": true,
11992
12021
  "locationInModule": {
11993
12022
  "filename": "src/build/build-workflow.ts",
11994
- "line": 78
12023
+ "line": 84
11995
12024
  },
11996
12025
  "name": "env",
11997
12026
  "optional": true,
@@ -12014,7 +12043,7 @@
12014
12043
  "immutable": true,
12015
12044
  "locationInModule": {
12016
12045
  "filename": "src/build/build-workflow.ts",
12017
- "line": 72
12046
+ "line": 78
12018
12047
  },
12019
12048
  "name": "gitIdentity",
12020
12049
  "optional": true,
@@ -12033,7 +12062,7 @@
12033
12062
  "immutable": true,
12034
12063
  "locationInModule": {
12035
12064
  "filename": "src/build/build-workflow.ts",
12036
- "line": 54
12065
+ "line": 60
12037
12066
  },
12038
12067
  "name": "mutableBuild",
12039
12068
  "optional": true,
@@ -12051,7 +12080,7 @@
12051
12080
  "immutable": true,
12052
12081
  "locationInModule": {
12053
12082
  "filename": "src/build/build-workflow.ts",
12054
- "line": 66
12083
+ "line": 72
12055
12084
  },
12056
12085
  "name": "postBuildSteps",
12057
12086
  "optional": true,
@@ -12074,7 +12103,7 @@
12074
12103
  "immutable": true,
12075
12104
  "locationInModule": {
12076
12105
  "filename": "src/build/build-workflow.ts",
12077
- "line": 60
12106
+ "line": 66
12078
12107
  },
12079
12108
  "name": "preBuildSteps",
12080
12109
  "optional": true,
@@ -12097,7 +12126,7 @@
12097
12126
  "immutable": true,
12098
12127
  "locationInModule": {
12099
12128
  "filename": "src/build/build-workflow.ts",
12100
- "line": 84
12129
+ "line": 90
12101
12130
  },
12102
12131
  "name": "runsOn",
12103
12132
  "optional": true,
@@ -12109,6 +12138,24 @@
12109
12138
  "kind": "array"
12110
12139
  }
12111
12140
  }
12141
+ },
12142
+ {
12143
+ "abstract": true,
12144
+ "docs": {
12145
+ "default": "\"{ pullRequest: {}, workflowDispatch: {} }\"",
12146
+ "stability": "experimental",
12147
+ "summary": "Build workflow triggers."
12148
+ },
12149
+ "immutable": true,
12150
+ "locationInModule": {
12151
+ "filename": "src/build/build-workflow.ts",
12152
+ "line": 96
12153
+ },
12154
+ "name": "workflowTriggers",
12155
+ "optional": true,
12156
+ "type": {
12157
+ "fqn": "projen.github.workflows.Triggers"
12158
+ }
12112
12159
  }
12113
12160
  ],
12114
12161
  "symbolId": "src/build/build-workflow:BuildWorkflowOptions"
@@ -26534,7 +26581,7 @@
26534
26581
  "kind": "enum",
26535
26582
  "locationInModule": {
26536
26583
  "filename": "src/javascript/node-project.ts",
26537
- "line": 332
26584
+ "line": 338
26538
26585
  },
26539
26586
  "members": [
26540
26587
  {
@@ -31019,7 +31066,7 @@
31019
31066
  },
31020
31067
  "locationInModule": {
31021
31068
  "filename": "src/javascript/node-project.ts",
31022
- "line": 462
31069
+ "line": 468
31023
31070
  },
31024
31071
  "parameters": [
31025
31072
  {
@@ -31033,7 +31080,7 @@
31033
31080
  "kind": "class",
31034
31081
  "locationInModule": {
31035
31082
  "filename": "src/javascript/node-project.ts",
31036
- "line": 349
31083
+ "line": 355
31037
31084
  },
31038
31085
  "methods": [
31039
31086
  {
@@ -31042,7 +31089,7 @@
31042
31089
  },
31043
31090
  "locationInModule": {
31044
31091
  "filename": "src/javascript/node-project.ts",
31045
- "line": 766
31092
+ "line": 775
31046
31093
  },
31047
31094
  "name": "addBins",
31048
31095
  "parameters": [
@@ -31067,7 +31114,7 @@
31067
31114
  },
31068
31115
  "locationInModule": {
31069
31116
  "filename": "src/javascript/node-project.ts",
31070
- "line": 932
31117
+ "line": 941
31071
31118
  },
31072
31119
  "name": "addBundledDeps",
31073
31120
  "parameters": [
@@ -31093,7 +31140,7 @@
31093
31140
  },
31094
31141
  "locationInModule": {
31095
31142
  "filename": "src/javascript/node-project.ts",
31096
- "line": 800
31143
+ "line": 809
31097
31144
  },
31098
31145
  "name": "addCompileCommand",
31099
31146
  "parameters": [
@@ -31114,7 +31161,7 @@
31114
31161
  },
31115
31162
  "locationInModule": {
31116
31163
  "filename": "src/javascript/node-project.ts",
31117
- "line": 886
31164
+ "line": 895
31118
31165
  },
31119
31166
  "name": "addDeps",
31120
31167
  "parameters": [
@@ -31139,7 +31186,7 @@
31139
31186
  },
31140
31187
  "locationInModule": {
31141
31188
  "filename": "src/javascript/node-project.ts",
31142
- "line": 899
31189
+ "line": 908
31143
31190
  },
31144
31191
  "name": "addDevDeps",
31145
31192
  "parameters": [
@@ -31164,7 +31211,7 @@
31164
31211
  },
31165
31212
  "locationInModule": {
31166
31213
  "filename": "src/javascript/node-project.ts",
31167
- "line": 820
31214
+ "line": 829
31168
31215
  },
31169
31216
  "name": "addFields",
31170
31217
  "parameters": [
@@ -31191,7 +31238,7 @@
31191
31238
  },
31192
31239
  "locationInModule": {
31193
31240
  "filename": "src/javascript/node-project.ts",
31194
- "line": 830
31241
+ "line": 839
31195
31242
  },
31196
31243
  "name": "addKeywords",
31197
31244
  "parameters": [
@@ -31216,7 +31263,7 @@
31216
31263
  },
31217
31264
  "locationInModule": {
31218
31265
  "filename": "src/javascript/node-project.ts",
31219
- "line": 936
31266
+ "line": 945
31220
31267
  },
31221
31268
  "name": "addPackageIgnore",
31222
31269
  "overrides": "projen.Project",
@@ -31237,7 +31284,7 @@
31237
31284
  },
31238
31285
  "locationInModule": {
31239
31286
  "filename": "src/javascript/node-project.ts",
31240
- "line": 916
31287
+ "line": 925
31241
31288
  },
31242
31289
  "name": "addPeerDeps",
31243
31290
  "parameters": [
@@ -31263,7 +31310,7 @@
31263
31310
  },
31264
31311
  "locationInModule": {
31265
31312
  "filename": "src/javascript/node-project.ts",
31266
- "line": 810
31313
+ "line": 819
31267
31314
  },
31268
31315
  "name": "addTestCommand",
31269
31316
  "parameters": [
@@ -31284,7 +31331,7 @@
31284
31331
  },
31285
31332
  "locationInModule": {
31286
31333
  "filename": "src/javascript/node-project.ts",
31287
- "line": 792
31334
+ "line": 801
31288
31335
  },
31289
31336
  "name": "hasScript",
31290
31337
  "parameters": [
@@ -31311,7 +31358,7 @@
31311
31358
  },
31312
31359
  "locationInModule": {
31313
31360
  "filename": "src/javascript/node-project.ts",
31314
- "line": 784
31361
+ "line": 793
31315
31362
  },
31316
31363
  "name": "removeScript",
31317
31364
  "parameters": [
@@ -31334,7 +31381,7 @@
31334
31381
  },
31335
31382
  "locationInModule": {
31336
31383
  "filename": "src/javascript/node-project.ts",
31337
- "line": 841
31384
+ "line": 850
31338
31385
  },
31339
31386
  "name": "renderWorkflowSetup",
31340
31387
  "parameters": [
@@ -31368,7 +31415,7 @@
31368
31415
  },
31369
31416
  "locationInModule": {
31370
31417
  "filename": "src/javascript/node-project.ts",
31371
- "line": 1009
31418
+ "line": 1018
31372
31419
  },
31373
31420
  "name": "runTaskCommand",
31374
31421
  "overrides": "projen.Project",
@@ -31396,7 +31443,7 @@
31396
31443
  },
31397
31444
  "locationInModule": {
31398
31445
  "filename": "src/javascript/node-project.ts",
31399
- "line": 776
31446
+ "line": 785
31400
31447
  },
31401
31448
  "name": "setScript",
31402
31449
  "parameters": [
@@ -31432,7 +31479,7 @@
31432
31479
  "immutable": true,
31433
31480
  "locationInModule": {
31434
31481
  "filename": "src/javascript/node-project.ts",
31435
- "line": 363
31482
+ "line": 369
31436
31483
  },
31437
31484
  "name": "allowLibraryDependencies",
31438
31485
  "type": {
@@ -31448,7 +31495,7 @@
31448
31495
  "immutable": true,
31449
31496
  "locationInModule": {
31450
31497
  "filename": "src/javascript/node-project.ts",
31451
- "line": 446
31498
+ "line": 452
31452
31499
  },
31453
31500
  "name": "artifactsDirectory",
31454
31501
  "type": {
@@ -31463,7 +31510,7 @@
31463
31510
  "immutable": true,
31464
31511
  "locationInModule": {
31465
31512
  "filename": "src/javascript/node-project.ts",
31466
- "line": 451
31513
+ "line": 457
31467
31514
  },
31468
31515
  "name": "artifactsJavascriptDirectory",
31469
31516
  "type": {
@@ -31477,7 +31524,7 @@
31477
31524
  "immutable": true,
31478
31525
  "locationInModule": {
31479
31526
  "filename": "src/javascript/node-project.ts",
31480
- "line": 439
31527
+ "line": 445
31481
31528
  },
31482
31529
  "name": "bundler",
31483
31530
  "type": {
@@ -31492,7 +31539,7 @@
31492
31539
  "immutable": true,
31493
31540
  "locationInModule": {
31494
31541
  "filename": "src/javascript/node-project.ts",
31495
- "line": 370
31542
+ "line": 376
31496
31543
  },
31497
31544
  "name": "entrypoint",
31498
31545
  "type": {
@@ -31507,7 +31554,7 @@
31507
31554
  "immutable": true,
31508
31555
  "locationInModule": {
31509
31556
  "filename": "src/javascript/node-project.ts",
31510
- "line": 435
31557
+ "line": 441
31511
31558
  },
31512
31559
  "name": "manifest",
31513
31560
  "type": {
@@ -31522,7 +31569,7 @@
31522
31569
  "immutable": true,
31523
31570
  "locationInModule": {
31524
31571
  "filename": "src/javascript/node-project.ts",
31525
- "line": 353
31572
+ "line": 359
31526
31573
  },
31527
31574
  "name": "package",
31528
31575
  "type": {
@@ -31538,7 +31585,7 @@
31538
31585
  "immutable": true,
31539
31586
  "locationInModule": {
31540
31587
  "filename": "src/javascript/node-project.ts",
31541
- "line": 418
31588
+ "line": 424
31542
31589
  },
31543
31590
  "name": "packageManager",
31544
31591
  "type": {
@@ -31553,7 +31600,7 @@
31553
31600
  "immutable": true,
31554
31601
  "locationInModule": {
31555
31602
  "filename": "src/javascript/node-project.ts",
31556
- "line": 425
31603
+ "line": 431
31557
31604
  },
31558
31605
  "name": "runScriptCommand",
31559
31606
  "type": {
@@ -31568,7 +31615,7 @@
31568
31615
  "immutable": true,
31569
31616
  "locationInModule": {
31570
31617
  "filename": "src/javascript/node-project.ts",
31571
- "line": 377
31618
+ "line": 383
31572
31619
  },
31573
31620
  "name": "autoMerge",
31574
31621
  "optional": true,
@@ -31585,7 +31632,7 @@
31585
31632
  "immutable": true,
31586
31633
  "locationInModule": {
31587
31634
  "filename": "src/javascript/node-project.ts",
31588
- "line": 382
31635
+ "line": 388
31589
31636
  },
31590
31637
  "name": "buildWorkflow",
31591
31638
  "optional": true,
@@ -31601,7 +31648,7 @@
31601
31648
  "immutable": true,
31602
31649
  "locationInModule": {
31603
31650
  "filename": "src/javascript/node-project.ts",
31604
- "line": 1016
31651
+ "line": 1025
31605
31652
  },
31606
31653
  "name": "buildWorkflowJobId",
31607
31654
  "optional": true,
@@ -31617,7 +31664,7 @@
31617
31664
  "immutable": true,
31618
31665
  "locationInModule": {
31619
31666
  "filename": "src/javascript/node-project.ts",
31620
- "line": 430
31667
+ "line": 436
31621
31668
  },
31622
31669
  "name": "jest",
31623
31670
  "optional": true,
@@ -31633,7 +31680,7 @@
31633
31680
  "immutable": true,
31634
31681
  "locationInModule": {
31635
31682
  "filename": "src/javascript/node-project.ts",
31636
- "line": 407
31683
+ "line": 413
31637
31684
  },
31638
31685
  "name": "maxNodeVersion",
31639
31686
  "optional": true,
@@ -31649,7 +31696,7 @@
31649
31696
  "immutable": true,
31650
31697
  "locationInModule": {
31651
31698
  "filename": "src/javascript/node-project.ts",
31652
- "line": 400
31699
+ "line": 406
31653
31700
  },
31654
31701
  "name": "minNodeVersion",
31655
31702
  "optional": true,
@@ -31665,7 +31712,7 @@
31665
31712
  "immutable": true,
31666
31713
  "locationInModule": {
31667
31714
  "filename": "src/javascript/node-project.ts",
31668
- "line": 358
31715
+ "line": 364
31669
31716
  },
31670
31717
  "name": "npmignore",
31671
31718
  "optional": true,
@@ -31680,7 +31727,7 @@
31680
31727
  "immutable": true,
31681
31728
  "locationInModule": {
31682
31729
  "filename": "src/javascript/node-project.ts",
31683
- "line": 460
31730
+ "line": 466
31684
31731
  },
31685
31732
  "name": "prettier",
31686
31733
  "optional": true,
@@ -31698,7 +31745,7 @@
31698
31745
  "immutable": true,
31699
31746
  "locationInModule": {
31700
31747
  "filename": "src/javascript/node-project.ts",
31701
- "line": 390
31748
+ "line": 396
31702
31749
  },
31703
31750
  "name": "publisher",
31704
31751
  "optional": true,
@@ -31714,7 +31761,7 @@
31714
31761
  "immutable": true,
31715
31762
  "locationInModule": {
31716
31763
  "filename": "src/javascript/node-project.ts",
31717
- "line": 395
31764
+ "line": 401
31718
31765
  },
31719
31766
  "name": "release",
31720
31767
  "optional": true,
@@ -31730,7 +31777,7 @@
31730
31777
  "immutable": true,
31731
31778
  "locationInModule": {
31732
31779
  "filename": "src/javascript/node-project.ts",
31733
- "line": 456
31780
+ "line": 462
31734
31781
  },
31735
31782
  "name": "upgradeWorkflow",
31736
31783
  "optional": true,
@@ -31852,6 +31899,24 @@
31852
31899
  "primitive": "boolean"
31853
31900
  }
31854
31901
  },
31902
+ {
31903
+ "abstract": true,
31904
+ "docs": {
31905
+ "default": "\"{ pullRequest: {}, workflowDispatch: {} }\"",
31906
+ "stability": "experimental",
31907
+ "summary": "Build workflow triggers."
31908
+ },
31909
+ "immutable": true,
31910
+ "locationInModule": {
31911
+ "filename": "src/javascript/node-project.ts",
31912
+ "line": 332
31913
+ },
31914
+ "name": "buildWorkflowTriggers",
31915
+ "optional": true,
31916
+ "type": {
31917
+ "fqn": "projen.github.workflows.Triggers"
31918
+ }
31919
+ },
31855
31920
  {
31856
31921
  "abstract": true,
31857
31922
  "docs": {
@@ -33691,7 +33756,7 @@
33691
33756
  "kind": "interface",
33692
33757
  "locationInModule": {
33693
33758
  "filename": "src/javascript/node-project.ts",
33694
- "line": 1024
33759
+ "line": 1033
33695
33760
  },
33696
33761
  "name": "RenderWorkflowSetupOptions",
33697
33762
  "namespace": "javascript",
@@ -33706,7 +33771,7 @@
33706
33771
  "immutable": true,
33707
33772
  "locationInModule": {
33708
33773
  "filename": "src/javascript/node-project.ts",
33709
- "line": 1029
33774
+ "line": 1038
33710
33775
  },
33711
33776
  "name": "mutable",
33712
33777
  "optional": true,
@@ -40581,7 +40646,7 @@
40581
40646
  },
40582
40647
  "locationInModule": {
40583
40648
  "filename": "src/typescript/typescript.ts",
40584
- "line": 474
40649
+ "line": 476
40585
40650
  },
40586
40651
  "parameters": [
40587
40652
  {
@@ -40595,7 +40660,7 @@
40595
40660
  "kind": "class",
40596
40661
  "locationInModule": {
40597
40662
  "filename": "src/typescript/typescript.ts",
40598
- "line": 473
40663
+ "line": 475
40599
40664
  },
40600
40665
  "name": "TypeScriptAppProject",
40601
40666
  "namespace": "typescript",
@@ -40629,7 +40694,7 @@
40629
40694
  "kind": "class",
40630
40695
  "locationInModule": {
40631
40696
  "filename": "src/typescript/typescript.ts",
40632
- "line": 488
40697
+ "line": 490
40633
40698
  },
40634
40699
  "name": "TypeScriptLibraryProject",
40635
40700
  "namespace": "typescript",
@@ -40649,7 +40714,7 @@
40649
40714
  "kind": "interface",
40650
40715
  "locationInModule": {
40651
40716
  "filename": "src/typescript/typescript.ts",
40652
- "line": 493
40717
+ "line": 495
40653
40718
  },
40654
40719
  "name": "TypeScriptLibraryProjectOptions",
40655
40720
  "namespace": "typescript",
@@ -42736,7 +42801,7 @@
42736
42801
  },
42737
42802
  "locationInModule": {
42738
42803
  "filename": "src/web/react.ts",
42739
- "line": 479
42804
+ "line": 475
42740
42805
  },
42741
42806
  "parameters": [
42742
42807
  {
@@ -42763,7 +42828,7 @@
42763
42828
  "kind": "class",
42764
42829
  "locationInModule": {
42765
42830
  "filename": "src/web/react.ts",
42766
- "line": 478
42831
+ "line": 474
42767
42832
  },
42768
42833
  "methods": [
42769
42834
  {
@@ -42773,7 +42838,7 @@
42773
42838
  },
42774
42839
  "locationInModule": {
42775
42840
  "filename": "src/web/react.ts",
42776
- "line": 487
42841
+ "line": 483
42777
42842
  },
42778
42843
  "name": "synthesizeContent",
42779
42844
  "overrides": "projen.FileBase",
@@ -42811,7 +42876,7 @@
42811
42876
  "kind": "interface",
42812
42877
  "locationInModule": {
42813
42878
  "filename": "src/web/react.ts",
42814
- "line": 476
42879
+ "line": 472
42815
42880
  },
42816
42881
  "name": "ReactTypeDefOptions",
42817
42882
  "namespace": "web",
@@ -43015,6 +43080,6 @@
43015
43080
  "symbolId": "src/web/tailwind:TailwindConfigOptions"
43016
43081
  }
43017
43082
  },
43018
- "version": "0.51.15",
43019
- "fingerprint": "9nGz8RxxwNN6w/HgUTF/6LfNkonBGH8InnN4qBD9gPY="
43083
+ "version": "0.52.1",
43084
+ "fingerprint": "QbAFWtpO8OYbn9xkJsMxg5tc8FlzZ7SdWgUhD4xe1QY="
43020
43085
  }