projen 0.51.14 → 0.52.0

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 (124) hide show
  1. package/.jsii +368 -285
  2. package/API.md +72 -16
  3. package/README.md +0 -1
  4. package/changelog.md +8 -2
  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.d.ts +7 -0
  23. package/lib/cdk8s/cdk8s-app-ts.js +18 -15
  24. package/lib/cdk8s/cdk8s-construct.js +1 -1
  25. package/lib/cdktf/cdktf-construct.js +1 -1
  26. package/lib/component.js +1 -1
  27. package/lib/dependencies.js +8 -6
  28. package/lib/dev-env.js +1 -1
  29. package/lib/docker-compose.js +2 -2
  30. package/lib/file.d.ts +22 -8
  31. package/lib/file.js +32 -12
  32. package/lib/gitattributes.js +3 -3
  33. package/lib/github/auto-approve.js +1 -1
  34. package/lib/github/auto-merge.js +1 -1
  35. package/lib/github/dependabot.js +1 -1
  36. package/lib/github/github-project.js +1 -1
  37. package/lib/github/github.js +1 -1
  38. package/lib/github/mergify.js +1 -1
  39. package/lib/github/pr-template.js +3 -2
  40. package/lib/github/pull-request-lint.js +1 -1
  41. package/lib/github/stale.js +1 -1
  42. package/lib/github/task-workflow.js +1 -1
  43. package/lib/github/workflows.js +1 -1
  44. package/lib/gitlab/configuration.js +1 -1
  45. package/lib/gitlab/gitlab-configuration.js +1 -1
  46. package/lib/gitlab/nested-configuration.js +1 -1
  47. package/lib/gitpod.js +1 -1
  48. package/lib/ignore-file.js +6 -3
  49. package/lib/ini.js +3 -3
  50. package/lib/java/java-project.js +1 -1
  51. package/lib/java/junit.js +1 -1
  52. package/lib/java/maven-compile.js +1 -1
  53. package/lib/java/maven-packaging.js +1 -1
  54. package/lib/java/maven-sample.js +1 -1
  55. package/lib/java/pom.js +1 -1
  56. package/lib/java/projenrc.js +5 -5
  57. package/lib/javascript/bundler.js +1 -1
  58. package/lib/javascript/eslint.js +1 -1
  59. package/lib/javascript/jest.js +1 -1
  60. package/lib/javascript/node-package.js +1 -1
  61. package/lib/javascript/node-project.d.ts +8 -1
  62. package/lib/javascript/node-project.js +7 -4
  63. package/lib/javascript/npm-config.js +1 -1
  64. package/lib/javascript/prettier.js +1 -1
  65. package/lib/javascript/projenrc.js +4 -4
  66. package/lib/javascript/typescript-config.js +1 -1
  67. package/lib/javascript/upgrade-dependencies.js +2 -2
  68. package/lib/json.js +3 -3
  69. package/lib/license.js +3 -3
  70. package/lib/logger.js +1 -1
  71. package/lib/makefile.js +1 -1
  72. package/lib/object-file.d.ts +0 -13
  73. package/lib/object-file.js +4 -5
  74. package/lib/project-build.js +3 -3
  75. package/lib/project.d.ts +18 -1
  76. package/lib/project.js +54 -15
  77. package/lib/projects.js +1 -1
  78. package/lib/projenrc-json.js +5 -5
  79. package/lib/python/pip.js +1 -1
  80. package/lib/python/poetry.js +2 -2
  81. package/lib/python/projenrc.js +4 -4
  82. package/lib/python/pytest.js +1 -1
  83. package/lib/python/python-project.js +1 -1
  84. package/lib/python/python-sample.js +1 -1
  85. package/lib/python/requirements-file.js +3 -3
  86. package/lib/python/setuppy.js +3 -3
  87. package/lib/python/setuptools.js +1 -1
  88. package/lib/python/venv.js +1 -1
  89. package/lib/readme.js +1 -1
  90. package/lib/release/bump-version.task.js +2 -2
  91. package/lib/release/publisher.js +1 -1
  92. package/lib/release/release-trigger.js +1 -1
  93. package/lib/release/release.js +1 -1
  94. package/lib/run-task.js +1823 -0
  95. package/lib/sample-file.js +2 -2
  96. package/lib/semver.js +1 -1
  97. package/lib/source-code.d.ts +4 -0
  98. package/lib/source-code.js +8 -2
  99. package/lib/task-runtime.d.ts +6 -0
  100. package/lib/task-runtime.js +13 -6
  101. package/lib/task.js +1 -1
  102. package/lib/tasks.d.ts +6 -6
  103. package/lib/tasks.js +18 -11
  104. package/lib/testing.js +1 -1
  105. package/lib/textfile.js +1 -1
  106. package/lib/toml.js +3 -3
  107. package/lib/typescript/projenrc.js +4 -4
  108. package/lib/typescript/typescript-typedoc.js +1 -1
  109. package/lib/typescript/typescript.js +7 -5
  110. package/lib/util.d.ts +2 -0
  111. package/lib/util.js +22 -2
  112. package/lib/version.js +1 -1
  113. package/lib/vscode/devcontainer.js +1 -1
  114. package/lib/vscode/launch-config.js +1 -1
  115. package/lib/vscode/vscode.js +1 -1
  116. package/lib/web/next.js +3 -3
  117. package/lib/web/postcss.js +1 -1
  118. package/lib/web/react.js +8 -11
  119. package/lib/web/tailwind.js +1 -1
  120. package/lib/xmlfile.js +3 -3
  121. package/lib/yaml.js +3 -3
  122. package/package.json +4 -1
  123. package/releasetag.txt +1 -1
  124. 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"
@@ -12844,7 +12891,7 @@
12844
12891
  },
12845
12892
  "locationInModule": {
12846
12893
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
12847
- "line": 116
12894
+ "line": 124
12848
12895
  },
12849
12896
  "parameters": [
12850
12897
  {
@@ -12858,7 +12905,7 @@
12858
12905
  "kind": "class",
12859
12906
  "locationInModule": {
12860
12907
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
12861
- "line": 94
12908
+ "line": 102
12862
12909
  },
12863
12910
  "name": "Cdk8sTypeScriptApp",
12864
12911
  "namespace": "cdk8s",
@@ -12871,7 +12918,7 @@
12871
12918
  "immutable": true,
12872
12919
  "locationInModule": {
12873
12920
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
12874
- "line": 114
12921
+ "line": 122
12875
12922
  },
12876
12923
  "name": "appEntrypoint",
12877
12924
  "type": {
@@ -12886,7 +12933,7 @@
12886
12933
  "immutable": true,
12887
12934
  "locationInModule": {
12888
12935
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
12889
- "line": 109
12936
+ "line": 117
12890
12937
  },
12891
12938
  "name": "cdk8sCliVersion",
12892
12939
  "type": {
@@ -12901,7 +12948,7 @@
12901
12948
  "immutable": true,
12902
12949
  "locationInModule": {
12903
12950
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
12904
- "line": 98
12951
+ "line": 106
12905
12952
  },
12906
12953
  "name": "cdk8sVersion",
12907
12954
  "type": {
@@ -12916,7 +12963,7 @@
12916
12963
  "immutable": true,
12917
12964
  "locationInModule": {
12918
12965
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
12919
- "line": 103
12966
+ "line": 111
12920
12967
  },
12921
12968
  "name": "constructsVersion",
12922
12969
  "type": {
@@ -12939,7 +12986,7 @@
12939
12986
  "kind": "interface",
12940
12987
  "locationInModule": {
12941
12988
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
12942
- "line": 6
12989
+ "line": 7
12943
12990
  },
12944
12991
  "name": "Cdk8sTypeScriptAppOptions",
12945
12992
  "namespace": "cdk8s",
@@ -12957,7 +13004,7 @@
12957
13004
  "immutable": true,
12958
13005
  "locationInModule": {
12959
13006
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
12960
- "line": 13
13007
+ "line": 14
12961
13008
  },
12962
13009
  "name": "cdk8sVersion",
12963
13010
  "type": {
@@ -12974,7 +13021,7 @@
12974
13021
  "immutable": true,
12975
13022
  "locationInModule": {
12976
13023
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
12977
- "line": 84
13024
+ "line": 92
12978
13025
  },
12979
13026
  "name": "appEntrypoint",
12980
13027
  "optional": true,
@@ -12992,7 +13039,7 @@
12992
13039
  "immutable": true,
12993
13040
  "locationInModule": {
12994
13041
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
12995
- "line": 36
13042
+ "line": 44
12996
13043
  },
12997
13044
  "name": "cdk8sCliVersion",
12998
13045
  "optional": true,
@@ -13011,7 +13058,7 @@
13011
13058
  "immutable": true,
13012
13059
  "locationInModule": {
13013
13060
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
13014
- "line": 56
13061
+ "line": 64
13015
13062
  },
13016
13063
  "name": "cdk8sCliVersionPinning",
13017
13064
  "optional": true,
@@ -13029,7 +13076,7 @@
13029
13076
  "immutable": true,
13030
13077
  "locationInModule": {
13031
13078
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
13032
- "line": 20
13079
+ "line": 28
13033
13080
  },
13034
13081
  "name": "cdk8sImports",
13035
13082
  "optional": true,
@@ -13053,7 +13100,7 @@
13053
13100
  "immutable": true,
13054
13101
  "locationInModule": {
13055
13102
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
13056
- "line": 66
13103
+ "line": 74
13057
13104
  },
13058
13105
  "name": "cdk8sPlusVersionPinning",
13059
13106
  "optional": true,
@@ -13072,7 +13119,7 @@
13072
13119
  "immutable": true,
13073
13120
  "locationInModule": {
13074
13121
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
13075
- "line": 46
13122
+ "line": 54
13076
13123
  },
13077
13124
  "name": "cdk8sVersionPinning",
13078
13125
  "optional": true,
@@ -13090,7 +13137,7 @@
13090
13137
  "immutable": true,
13091
13138
  "locationInModule": {
13092
13139
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
13093
- "line": 28
13140
+ "line": 36
13094
13141
  },
13095
13142
  "name": "constructsVersion",
13096
13143
  "optional": true,
@@ -13109,13 +13156,31 @@
13109
13156
  "immutable": true,
13110
13157
  "locationInModule": {
13111
13158
  "filename": "src/cdk8s/cdk8s-app-ts.ts",
13112
- "line": 76
13159
+ "line": 84
13113
13160
  },
13114
13161
  "name": "constructsVersionPinning",
13115
13162
  "optional": true,
13116
13163
  "type": {
13117
13164
  "primitive": "boolean"
13118
13165
  }
13166
+ },
13167
+ {
13168
+ "abstract": true,
13169
+ "docs": {
13170
+ "default": "- Use the cdk8s default",
13171
+ "stability": "experimental",
13172
+ "summary": "Import a specific Kubernetes spec version."
13173
+ },
13174
+ "immutable": true,
13175
+ "locationInModule": {
13176
+ "filename": "src/cdk8s/cdk8s-app-ts.ts",
13177
+ "line": 21
13178
+ },
13179
+ "name": "k8sSpecVersion",
13180
+ "optional": true,
13181
+ "type": {
13182
+ "primitive": "string"
13183
+ }
13119
13184
  }
13120
13185
  ],
13121
13186
  "symbolId": "src/cdk8s/cdk8s-app-ts:Cdk8sTypeScriptAppOptions"
@@ -26516,7 +26581,7 @@
26516
26581
  "kind": "enum",
26517
26582
  "locationInModule": {
26518
26583
  "filename": "src/javascript/node-project.ts",
26519
- "line": 332
26584
+ "line": 338
26520
26585
  },
26521
26586
  "members": [
26522
26587
  {
@@ -31001,7 +31066,7 @@
31001
31066
  },
31002
31067
  "locationInModule": {
31003
31068
  "filename": "src/javascript/node-project.ts",
31004
- "line": 462
31069
+ "line": 468
31005
31070
  },
31006
31071
  "parameters": [
31007
31072
  {
@@ -31015,7 +31080,7 @@
31015
31080
  "kind": "class",
31016
31081
  "locationInModule": {
31017
31082
  "filename": "src/javascript/node-project.ts",
31018
- "line": 349
31083
+ "line": 355
31019
31084
  },
31020
31085
  "methods": [
31021
31086
  {
@@ -31024,7 +31089,7 @@
31024
31089
  },
31025
31090
  "locationInModule": {
31026
31091
  "filename": "src/javascript/node-project.ts",
31027
- "line": 766
31092
+ "line": 775
31028
31093
  },
31029
31094
  "name": "addBins",
31030
31095
  "parameters": [
@@ -31049,7 +31114,7 @@
31049
31114
  },
31050
31115
  "locationInModule": {
31051
31116
  "filename": "src/javascript/node-project.ts",
31052
- "line": 932
31117
+ "line": 941
31053
31118
  },
31054
31119
  "name": "addBundledDeps",
31055
31120
  "parameters": [
@@ -31075,7 +31140,7 @@
31075
31140
  },
31076
31141
  "locationInModule": {
31077
31142
  "filename": "src/javascript/node-project.ts",
31078
- "line": 800
31143
+ "line": 809
31079
31144
  },
31080
31145
  "name": "addCompileCommand",
31081
31146
  "parameters": [
@@ -31096,7 +31161,7 @@
31096
31161
  },
31097
31162
  "locationInModule": {
31098
31163
  "filename": "src/javascript/node-project.ts",
31099
- "line": 886
31164
+ "line": 895
31100
31165
  },
31101
31166
  "name": "addDeps",
31102
31167
  "parameters": [
@@ -31121,7 +31186,7 @@
31121
31186
  },
31122
31187
  "locationInModule": {
31123
31188
  "filename": "src/javascript/node-project.ts",
31124
- "line": 899
31189
+ "line": 908
31125
31190
  },
31126
31191
  "name": "addDevDeps",
31127
31192
  "parameters": [
@@ -31146,7 +31211,7 @@
31146
31211
  },
31147
31212
  "locationInModule": {
31148
31213
  "filename": "src/javascript/node-project.ts",
31149
- "line": 820
31214
+ "line": 829
31150
31215
  },
31151
31216
  "name": "addFields",
31152
31217
  "parameters": [
@@ -31173,7 +31238,7 @@
31173
31238
  },
31174
31239
  "locationInModule": {
31175
31240
  "filename": "src/javascript/node-project.ts",
31176
- "line": 830
31241
+ "line": 839
31177
31242
  },
31178
31243
  "name": "addKeywords",
31179
31244
  "parameters": [
@@ -31198,7 +31263,7 @@
31198
31263
  },
31199
31264
  "locationInModule": {
31200
31265
  "filename": "src/javascript/node-project.ts",
31201
- "line": 936
31266
+ "line": 945
31202
31267
  },
31203
31268
  "name": "addPackageIgnore",
31204
31269
  "overrides": "projen.Project",
@@ -31219,7 +31284,7 @@
31219
31284
  },
31220
31285
  "locationInModule": {
31221
31286
  "filename": "src/javascript/node-project.ts",
31222
- "line": 916
31287
+ "line": 925
31223
31288
  },
31224
31289
  "name": "addPeerDeps",
31225
31290
  "parameters": [
@@ -31245,7 +31310,7 @@
31245
31310
  },
31246
31311
  "locationInModule": {
31247
31312
  "filename": "src/javascript/node-project.ts",
31248
- "line": 810
31313
+ "line": 819
31249
31314
  },
31250
31315
  "name": "addTestCommand",
31251
31316
  "parameters": [
@@ -31266,7 +31331,7 @@
31266
31331
  },
31267
31332
  "locationInModule": {
31268
31333
  "filename": "src/javascript/node-project.ts",
31269
- "line": 792
31334
+ "line": 801
31270
31335
  },
31271
31336
  "name": "hasScript",
31272
31337
  "parameters": [
@@ -31293,7 +31358,7 @@
31293
31358
  },
31294
31359
  "locationInModule": {
31295
31360
  "filename": "src/javascript/node-project.ts",
31296
- "line": 784
31361
+ "line": 793
31297
31362
  },
31298
31363
  "name": "removeScript",
31299
31364
  "parameters": [
@@ -31316,7 +31381,7 @@
31316
31381
  },
31317
31382
  "locationInModule": {
31318
31383
  "filename": "src/javascript/node-project.ts",
31319
- "line": 841
31384
+ "line": 850
31320
31385
  },
31321
31386
  "name": "renderWorkflowSetup",
31322
31387
  "parameters": [
@@ -31350,7 +31415,7 @@
31350
31415
  },
31351
31416
  "locationInModule": {
31352
31417
  "filename": "src/javascript/node-project.ts",
31353
- "line": 1009
31418
+ "line": 1018
31354
31419
  },
31355
31420
  "name": "runTaskCommand",
31356
31421
  "overrides": "projen.Project",
@@ -31378,7 +31443,7 @@
31378
31443
  },
31379
31444
  "locationInModule": {
31380
31445
  "filename": "src/javascript/node-project.ts",
31381
- "line": 776
31446
+ "line": 785
31382
31447
  },
31383
31448
  "name": "setScript",
31384
31449
  "parameters": [
@@ -31414,7 +31479,7 @@
31414
31479
  "immutable": true,
31415
31480
  "locationInModule": {
31416
31481
  "filename": "src/javascript/node-project.ts",
31417
- "line": 363
31482
+ "line": 369
31418
31483
  },
31419
31484
  "name": "allowLibraryDependencies",
31420
31485
  "type": {
@@ -31430,7 +31495,7 @@
31430
31495
  "immutable": true,
31431
31496
  "locationInModule": {
31432
31497
  "filename": "src/javascript/node-project.ts",
31433
- "line": 446
31498
+ "line": 452
31434
31499
  },
31435
31500
  "name": "artifactsDirectory",
31436
31501
  "type": {
@@ -31445,7 +31510,7 @@
31445
31510
  "immutable": true,
31446
31511
  "locationInModule": {
31447
31512
  "filename": "src/javascript/node-project.ts",
31448
- "line": 451
31513
+ "line": 457
31449
31514
  },
31450
31515
  "name": "artifactsJavascriptDirectory",
31451
31516
  "type": {
@@ -31459,7 +31524,7 @@
31459
31524
  "immutable": true,
31460
31525
  "locationInModule": {
31461
31526
  "filename": "src/javascript/node-project.ts",
31462
- "line": 439
31527
+ "line": 445
31463
31528
  },
31464
31529
  "name": "bundler",
31465
31530
  "type": {
@@ -31474,7 +31539,7 @@
31474
31539
  "immutable": true,
31475
31540
  "locationInModule": {
31476
31541
  "filename": "src/javascript/node-project.ts",
31477
- "line": 370
31542
+ "line": 376
31478
31543
  },
31479
31544
  "name": "entrypoint",
31480
31545
  "type": {
@@ -31489,7 +31554,7 @@
31489
31554
  "immutable": true,
31490
31555
  "locationInModule": {
31491
31556
  "filename": "src/javascript/node-project.ts",
31492
- "line": 435
31557
+ "line": 441
31493
31558
  },
31494
31559
  "name": "manifest",
31495
31560
  "type": {
@@ -31504,7 +31569,7 @@
31504
31569
  "immutable": true,
31505
31570
  "locationInModule": {
31506
31571
  "filename": "src/javascript/node-project.ts",
31507
- "line": 353
31572
+ "line": 359
31508
31573
  },
31509
31574
  "name": "package",
31510
31575
  "type": {
@@ -31520,7 +31585,7 @@
31520
31585
  "immutable": true,
31521
31586
  "locationInModule": {
31522
31587
  "filename": "src/javascript/node-project.ts",
31523
- "line": 418
31588
+ "line": 424
31524
31589
  },
31525
31590
  "name": "packageManager",
31526
31591
  "type": {
@@ -31535,7 +31600,7 @@
31535
31600
  "immutable": true,
31536
31601
  "locationInModule": {
31537
31602
  "filename": "src/javascript/node-project.ts",
31538
- "line": 425
31603
+ "line": 431
31539
31604
  },
31540
31605
  "name": "runScriptCommand",
31541
31606
  "type": {
@@ -31550,7 +31615,7 @@
31550
31615
  "immutable": true,
31551
31616
  "locationInModule": {
31552
31617
  "filename": "src/javascript/node-project.ts",
31553
- "line": 377
31618
+ "line": 383
31554
31619
  },
31555
31620
  "name": "autoMerge",
31556
31621
  "optional": true,
@@ -31567,7 +31632,7 @@
31567
31632
  "immutable": true,
31568
31633
  "locationInModule": {
31569
31634
  "filename": "src/javascript/node-project.ts",
31570
- "line": 382
31635
+ "line": 388
31571
31636
  },
31572
31637
  "name": "buildWorkflow",
31573
31638
  "optional": true,
@@ -31583,7 +31648,7 @@
31583
31648
  "immutable": true,
31584
31649
  "locationInModule": {
31585
31650
  "filename": "src/javascript/node-project.ts",
31586
- "line": 1016
31651
+ "line": 1025
31587
31652
  },
31588
31653
  "name": "buildWorkflowJobId",
31589
31654
  "optional": true,
@@ -31599,7 +31664,7 @@
31599
31664
  "immutable": true,
31600
31665
  "locationInModule": {
31601
31666
  "filename": "src/javascript/node-project.ts",
31602
- "line": 430
31667
+ "line": 436
31603
31668
  },
31604
31669
  "name": "jest",
31605
31670
  "optional": true,
@@ -31615,7 +31680,7 @@
31615
31680
  "immutable": true,
31616
31681
  "locationInModule": {
31617
31682
  "filename": "src/javascript/node-project.ts",
31618
- "line": 407
31683
+ "line": 413
31619
31684
  },
31620
31685
  "name": "maxNodeVersion",
31621
31686
  "optional": true,
@@ -31631,7 +31696,7 @@
31631
31696
  "immutable": true,
31632
31697
  "locationInModule": {
31633
31698
  "filename": "src/javascript/node-project.ts",
31634
- "line": 400
31699
+ "line": 406
31635
31700
  },
31636
31701
  "name": "minNodeVersion",
31637
31702
  "optional": true,
@@ -31647,7 +31712,7 @@
31647
31712
  "immutable": true,
31648
31713
  "locationInModule": {
31649
31714
  "filename": "src/javascript/node-project.ts",
31650
- "line": 358
31715
+ "line": 364
31651
31716
  },
31652
31717
  "name": "npmignore",
31653
31718
  "optional": true,
@@ -31662,7 +31727,7 @@
31662
31727
  "immutable": true,
31663
31728
  "locationInModule": {
31664
31729
  "filename": "src/javascript/node-project.ts",
31665
- "line": 460
31730
+ "line": 466
31666
31731
  },
31667
31732
  "name": "prettier",
31668
31733
  "optional": true,
@@ -31680,7 +31745,7 @@
31680
31745
  "immutable": true,
31681
31746
  "locationInModule": {
31682
31747
  "filename": "src/javascript/node-project.ts",
31683
- "line": 390
31748
+ "line": 396
31684
31749
  },
31685
31750
  "name": "publisher",
31686
31751
  "optional": true,
@@ -31696,7 +31761,7 @@
31696
31761
  "immutable": true,
31697
31762
  "locationInModule": {
31698
31763
  "filename": "src/javascript/node-project.ts",
31699
- "line": 395
31764
+ "line": 401
31700
31765
  },
31701
31766
  "name": "release",
31702
31767
  "optional": true,
@@ -31712,7 +31777,7 @@
31712
31777
  "immutable": true,
31713
31778
  "locationInModule": {
31714
31779
  "filename": "src/javascript/node-project.ts",
31715
- "line": 456
31780
+ "line": 462
31716
31781
  },
31717
31782
  "name": "upgradeWorkflow",
31718
31783
  "optional": true,
@@ -31834,6 +31899,24 @@
31834
31899
  "primitive": "boolean"
31835
31900
  }
31836
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
+ },
31837
31920
  {
31838
31921
  "abstract": true,
31839
31922
  "docs": {
@@ -33673,7 +33756,7 @@
33673
33756
  "kind": "interface",
33674
33757
  "locationInModule": {
33675
33758
  "filename": "src/javascript/node-project.ts",
33676
- "line": 1024
33759
+ "line": 1033
33677
33760
  },
33678
33761
  "name": "RenderWorkflowSetupOptions",
33679
33762
  "namespace": "javascript",
@@ -33688,7 +33771,7 @@
33688
33771
  "immutable": true,
33689
33772
  "locationInModule": {
33690
33773
  "filename": "src/javascript/node-project.ts",
33691
- "line": 1029
33774
+ "line": 1038
33692
33775
  },
33693
33776
  "name": "mutable",
33694
33777
  "optional": true,
@@ -40563,7 +40646,7 @@
40563
40646
  },
40564
40647
  "locationInModule": {
40565
40648
  "filename": "src/typescript/typescript.ts",
40566
- "line": 474
40649
+ "line": 476
40567
40650
  },
40568
40651
  "parameters": [
40569
40652
  {
@@ -40577,7 +40660,7 @@
40577
40660
  "kind": "class",
40578
40661
  "locationInModule": {
40579
40662
  "filename": "src/typescript/typescript.ts",
40580
- "line": 473
40663
+ "line": 475
40581
40664
  },
40582
40665
  "name": "TypeScriptAppProject",
40583
40666
  "namespace": "typescript",
@@ -40611,7 +40694,7 @@
40611
40694
  "kind": "class",
40612
40695
  "locationInModule": {
40613
40696
  "filename": "src/typescript/typescript.ts",
40614
- "line": 488
40697
+ "line": 490
40615
40698
  },
40616
40699
  "name": "TypeScriptLibraryProject",
40617
40700
  "namespace": "typescript",
@@ -40631,7 +40714,7 @@
40631
40714
  "kind": "interface",
40632
40715
  "locationInModule": {
40633
40716
  "filename": "src/typescript/typescript.ts",
40634
- "line": 493
40717
+ "line": 495
40635
40718
  },
40636
40719
  "name": "TypeScriptLibraryProjectOptions",
40637
40720
  "namespace": "typescript",
@@ -42718,7 +42801,7 @@
42718
42801
  },
42719
42802
  "locationInModule": {
42720
42803
  "filename": "src/web/react.ts",
42721
- "line": 479
42804
+ "line": 475
42722
42805
  },
42723
42806
  "parameters": [
42724
42807
  {
@@ -42745,7 +42828,7 @@
42745
42828
  "kind": "class",
42746
42829
  "locationInModule": {
42747
42830
  "filename": "src/web/react.ts",
42748
- "line": 478
42831
+ "line": 474
42749
42832
  },
42750
42833
  "methods": [
42751
42834
  {
@@ -42755,7 +42838,7 @@
42755
42838
  },
42756
42839
  "locationInModule": {
42757
42840
  "filename": "src/web/react.ts",
42758
- "line": 487
42841
+ "line": 483
42759
42842
  },
42760
42843
  "name": "synthesizeContent",
42761
42844
  "overrides": "projen.FileBase",
@@ -42793,7 +42876,7 @@
42793
42876
  "kind": "interface",
42794
42877
  "locationInModule": {
42795
42878
  "filename": "src/web/react.ts",
42796
- "line": 476
42879
+ "line": 472
42797
42880
  },
42798
42881
  "name": "ReactTypeDefOptions",
42799
42882
  "namespace": "web",
@@ -42997,6 +43080,6 @@
42997
43080
  "symbolId": "src/web/tailwind:TailwindConfigOptions"
42998
43081
  }
42999
43082
  },
43000
- "version": "0.51.14",
43001
- "fingerprint": "CJ6oVVqAGbXWtW0ayE8HG/Hry4xbcphFhdCzXRKWb0M="
43083
+ "version": "0.52.0",
43084
+ "fingerprint": "ndntjwzEklwjeOATYIq3dV2XE5lTyGN1sqazrJduy+s="
43002
43085
  }