projen 0.34.6 → 0.34.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +28 -20
- package/README.md +1 -1
- package/lib/awscdk/auto-discover.js +1 -1
- package/lib/awscdk/cdk-config.js +1 -1
- package/lib/awscdk/cdk-tasks.js +1 -1
- package/lib/awscdk/java-app.js +1 -1
- package/lib/awscdk/lambda-function.js +10 -11
- package/lib/awscdk-app-ts.js +1 -1
- package/lib/awscdk-construct.js +2 -2
- package/lib/cdk8s-app-ts.js +1 -1
- package/lib/cdk8s-construct.js +1 -1
- package/lib/cdktf-construct.js +1 -1
- package/lib/component.js +1 -1
- package/lib/construct-lib.js +1 -1
- package/lib/deps/dependencies.js +1 -1
- package/lib/dev-env.js +1 -1
- package/lib/docker-compose.js +2 -2
- package/lib/eslint.js +1 -1
- package/lib/file.js +1 -1
- package/lib/git/gitattributes.js +1 -1
- package/lib/github/auto-approve.js +1 -1
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/dependabot.js +1 -1
- package/lib/github/github.js +1 -1
- package/lib/github/mergify.js +1 -1
- package/lib/github/pr-template.js +1 -1
- package/lib/github/pull-request-lint.js +1 -1
- package/lib/github/stale.js +1 -1
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflows.js +1 -1
- package/lib/gitpod.js +1 -1
- package/lib/ignore-file.js +1 -1
- package/lib/ini.js +1 -1
- package/lib/java/java-project.js +1 -1
- package/lib/java/junit.js +1 -1
- package/lib/java/maven-compile.js +1 -1
- package/lib/java/maven-packaging.js +1 -1
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.js +1 -1
- package/lib/java/projenrc.js +1 -1
- package/lib/javascript/bundler.js +1 -1
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/projenrc.js +1 -1
- package/lib/jest.js +1 -1
- package/lib/jsii-project.js +1 -1
- package/lib/json/projenrc.js +1 -1
- package/lib/json.js +1 -1
- package/lib/license.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/makefile.js +1 -1
- package/lib/node-package.js +1 -1
- package/lib/node-project.js +1 -1
- package/lib/object-file.js +1 -1
- package/lib/project-build.js +1 -1
- package/lib/project.js +2 -2
- package/lib/projects.js +1 -1
- package/lib/python/pip.js +1 -1
- package/lib/python/poetry.js +2 -2
- package/lib/python/projenrc.js +1 -1
- package/lib/python/pytest.js +1 -1
- package/lib/python/python-project.js +1 -1
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.js +1 -1
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.js +1 -1
- package/lib/python/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/publisher.js +1 -1
- package/lib/release/release-trigger.js +1 -1
- package/lib/release/release.js +1 -1
- package/lib/sample-file.js +2 -2
- package/lib/semver.js +1 -1
- package/lib/source-code.js +1 -1
- package/lib/tasks/runtime.js +1 -1
- package/lib/tasks/task.js +1 -1
- package/lib/tasks/tasks.js +1 -1
- package/lib/textfile.js +1 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/projenrc.js +1 -1
- package/lib/typescript-config.js +1 -1
- package/lib/typescript.js +3 -3
- package/lib/upgrade-dependencies.js +2 -2
- package/lib/version.js +1 -1
- package/lib/vscode/devcontainer.js +1 -1
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/next.js +3 -3
- package/lib/web/postcss.js +1 -1
- package/lib/web/react.js +4 -4
- package/lib/web/tailwind.js +1 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/node_modules/xmlbuilder2/node_modules/@types/node/README.md +2 -2
- package/node_modules/xmlbuilder2/node_modules/@types/node/dns/promises.d.ts +11 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/dns.d.ts +11 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/http.d.ts +2 -2
- package/node_modules/xmlbuilder2/node_modules/@types/node/index.d.ts +1 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/package.json +8 -3
- package/package.json +14 -6
package/.jsii
CHANGED
|
@@ -28,7 +28,15 @@
|
|
|
28
28
|
"stability": "experimental"
|
|
29
29
|
},
|
|
30
30
|
"homepage": "https://github.com/projen/projen.git",
|
|
31
|
-
"jsiiVersion": "1.44.
|
|
31
|
+
"jsiiVersion": "1.44.2 (build d848ef8)",
|
|
32
|
+
"keywords": [
|
|
33
|
+
"cdk",
|
|
34
|
+
"cicd",
|
|
35
|
+
"generator",
|
|
36
|
+
"management",
|
|
37
|
+
"project",
|
|
38
|
+
"scaffolding"
|
|
39
|
+
],
|
|
32
40
|
"license": "Apache-2.0",
|
|
33
41
|
"metadata": {
|
|
34
42
|
"jsii": {
|
|
@@ -39,7 +47,7 @@
|
|
|
39
47
|
},
|
|
40
48
|
"name": "projen",
|
|
41
49
|
"readme": {
|
|
42
|
-
"markdown": "[](https://opensource.org/licenses/Apache-2.0)\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[](#contributors-)\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n[](https://gitpod.io/#https://github.com/projen/projen)\n\n\n\n# projen\n\n\n\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-awscdktypescriptapp) - AWS CDK app in TypeScript.\n* [awscdk-construct](https://github.com/projen/projen/blob/main/API.md#projen-awscdkconstructlibrary) - AWS CDK construct library project.\n* [cdk8s-app-ts](https://github.com/projen/projen/blob/main/API.md#projen-cdk8stypescriptapp) - CDK8s app in TypeScript.\n* [cdk8s-construct](https://github.com/projen/projen/blob/main/API.md#projen-constructlibrarycdk8s) - CDK8s construct library project.\n* [cdktf-construct](https://github.com/projen/projen/blob/main/API.md#projen-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-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-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-typescriptproject) - TypeScript project.\n* [typescript-app](https://github.com/projen/projen/blob/main/API.md#projen-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 </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"
|
|
50
|
+
"markdown": "[](https://opensource.org/licenses/Apache-2.0)\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[](#contributors-)\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n[](https://gitpod.io/#https://github.com/projen/projen)\n\n\n\n# projen\n\n\n\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-awscdktypescriptapp) - AWS CDK app in TypeScript.\n* [awscdk-construct](https://github.com/projen/projen/blob/main/API.md#projen-awscdkconstructlibrary) - AWS CDK construct library project.\n* [cdk8s-app-ts](https://github.com/projen/projen/blob/main/API.md#projen-cdk8stypescriptapp) - CDK8s app in TypeScript.\n* [cdk8s-construct](https://github.com/projen/projen/blob/main/API.md#projen-constructlibrarycdk8s) - CDK8s construct library project.\n* [cdktf-construct](https://github.com/projen/projen/blob/main/API.md#projen-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-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-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-typescriptproject) - TypeScript project.\n* [typescript-app](https://github.com/projen/projen/blob/main/API.md#projen-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 </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"
|
|
43
51
|
},
|
|
44
52
|
"repository": {
|
|
45
53
|
"type": "git",
|
|
@@ -17822,7 +17830,7 @@
|
|
|
17822
17830
|
},
|
|
17823
17831
|
"locationInModule": {
|
|
17824
17832
|
"filename": "src/awscdk/lambda-function.ts",
|
|
17825
|
-
"line":
|
|
17833
|
+
"line": 92
|
|
17826
17834
|
},
|
|
17827
17835
|
"parameters": [
|
|
17828
17836
|
{
|
|
@@ -17848,7 +17856,7 @@
|
|
|
17848
17856
|
"kind": "class",
|
|
17849
17857
|
"locationInModule": {
|
|
17850
17858
|
"filename": "src/awscdk/lambda-function.ts",
|
|
17851
|
-
"line":
|
|
17859
|
+
"line": 85
|
|
17852
17860
|
},
|
|
17853
17861
|
"name": "LambdaFunction",
|
|
17854
17862
|
"namespace": "awscdk",
|
|
@@ -17866,7 +17874,7 @@
|
|
|
17866
17874
|
"kind": "interface",
|
|
17867
17875
|
"locationInModule": {
|
|
17868
17876
|
"filename": "src/awscdk/lambda-function.ts",
|
|
17869
|
-
"line":
|
|
17877
|
+
"line": 14
|
|
17870
17878
|
},
|
|
17871
17879
|
"name": "LambdaFunctionCommonOptions",
|
|
17872
17880
|
"namespace": "awscdk",
|
|
@@ -17882,7 +17890,7 @@
|
|
|
17882
17890
|
"immutable": true,
|
|
17883
17891
|
"locationInModule": {
|
|
17884
17892
|
"filename": "src/awscdk/lambda-function.ts",
|
|
17885
|
-
"line":
|
|
17893
|
+
"line": 30
|
|
17886
17894
|
},
|
|
17887
17895
|
"name": "bundlingOptions",
|
|
17888
17896
|
"optional": true,
|
|
@@ -17900,7 +17908,7 @@
|
|
|
17900
17908
|
"immutable": true,
|
|
17901
17909
|
"locationInModule": {
|
|
17902
17910
|
"filename": "src/awscdk/lambda-function.ts",
|
|
17903
|
-
"line":
|
|
17911
|
+
"line": 20
|
|
17904
17912
|
},
|
|
17905
17913
|
"name": "runtime",
|
|
17906
17914
|
"optional": true,
|
|
@@ -17925,7 +17933,7 @@
|
|
|
17925
17933
|
"kind": "interface",
|
|
17926
17934
|
"locationInModule": {
|
|
17927
17935
|
"filename": "src/awscdk/lambda-function.ts",
|
|
17928
|
-
"line":
|
|
17936
|
+
"line": 36
|
|
17929
17937
|
},
|
|
17930
17938
|
"name": "LambdaFunctionOptions",
|
|
17931
17939
|
"namespace": "awscdk",
|
|
@@ -17941,7 +17949,7 @@
|
|
|
17941
17949
|
"immutable": true,
|
|
17942
17950
|
"locationInModule": {
|
|
17943
17951
|
"filename": "src/awscdk/lambda-function.ts",
|
|
17944
|
-
"line":
|
|
17952
|
+
"line": 45
|
|
17945
17953
|
},
|
|
17946
17954
|
"name": "entrypoint",
|
|
17947
17955
|
"type": {
|
|
@@ -17959,7 +17967,7 @@
|
|
|
17959
17967
|
"immutable": true,
|
|
17960
17968
|
"locationInModule": {
|
|
17961
17969
|
"filename": "src/awscdk/lambda-function.ts",
|
|
17962
|
-
"line":
|
|
17970
|
+
"line": 54
|
|
17963
17971
|
},
|
|
17964
17972
|
"name": "constructFile",
|
|
17965
17973
|
"optional": true,
|
|
@@ -17977,7 +17985,7 @@
|
|
|
17977
17985
|
"immutable": true,
|
|
17978
17986
|
"locationInModule": {
|
|
17979
17987
|
"filename": "src/awscdk/lambda-function.ts",
|
|
17980
|
-
"line":
|
|
17988
|
+
"line": 62
|
|
17981
17989
|
},
|
|
17982
17990
|
"name": "constructName",
|
|
17983
17991
|
"optional": true,
|
|
@@ -17998,7 +18006,7 @@
|
|
|
17998
18006
|
"kind": "class",
|
|
17999
18007
|
"locationInModule": {
|
|
18000
18008
|
"filename": "src/awscdk/lambda-function.ts",
|
|
18001
|
-
"line":
|
|
18009
|
+
"line": 179
|
|
18002
18010
|
},
|
|
18003
18011
|
"name": "LambdaRuntime",
|
|
18004
18012
|
"namespace": "awscdk",
|
|
@@ -18012,7 +18020,7 @@
|
|
|
18012
18020
|
"immutable": true,
|
|
18013
18021
|
"locationInModule": {
|
|
18014
18022
|
"filename": "src/awscdk/lambda-function.ts",
|
|
18015
|
-
"line":
|
|
18023
|
+
"line": 183
|
|
18016
18024
|
},
|
|
18017
18025
|
"name": "NODEJS_10_X",
|
|
18018
18026
|
"static": true,
|
|
@@ -18029,7 +18037,7 @@
|
|
|
18029
18037
|
"immutable": true,
|
|
18030
18038
|
"locationInModule": {
|
|
18031
18039
|
"filename": "src/awscdk/lambda-function.ts",
|
|
18032
|
-
"line":
|
|
18040
|
+
"line": 188
|
|
18033
18041
|
},
|
|
18034
18042
|
"name": "NODEJS_12_X",
|
|
18035
18043
|
"static": true,
|
|
@@ -18046,7 +18054,7 @@
|
|
|
18046
18054
|
"immutable": true,
|
|
18047
18055
|
"locationInModule": {
|
|
18048
18056
|
"filename": "src/awscdk/lambda-function.ts",
|
|
18049
|
-
"line":
|
|
18057
|
+
"line": 193
|
|
18050
18058
|
},
|
|
18051
18059
|
"name": "NODEJS_14_X",
|
|
18052
18060
|
"static": true,
|
|
@@ -18061,7 +18069,7 @@
|
|
|
18061
18069
|
"immutable": true,
|
|
18062
18070
|
"locationInModule": {
|
|
18063
18071
|
"filename": "src/awscdk/lambda-function.ts",
|
|
18064
|
-
"line":
|
|
18072
|
+
"line": 195
|
|
18065
18073
|
},
|
|
18066
18074
|
"name": "esbuildPlatform",
|
|
18067
18075
|
"type": {
|
|
@@ -18076,7 +18084,7 @@
|
|
|
18076
18084
|
"immutable": true,
|
|
18077
18085
|
"locationInModule": {
|
|
18078
18086
|
"filename": "src/awscdk/lambda-function.ts",
|
|
18079
|
-
"line":
|
|
18087
|
+
"line": 206
|
|
18080
18088
|
},
|
|
18081
18089
|
"name": "esbuildTarget",
|
|
18082
18090
|
"type": {
|
|
@@ -18091,7 +18099,7 @@
|
|
|
18091
18099
|
"immutable": true,
|
|
18092
18100
|
"locationInModule": {
|
|
18093
18101
|
"filename": "src/awscdk/lambda-function.ts",
|
|
18094
|
-
"line":
|
|
18102
|
+
"line": 201
|
|
18095
18103
|
},
|
|
18096
18104
|
"name": "functionRuntime",
|
|
18097
18105
|
"type": {
|
|
@@ -34331,6 +34339,6 @@
|
|
|
34331
34339
|
"symbolId": "src/web/tailwind:TailwindConfigOptions"
|
|
34332
34340
|
}
|
|
34333
34341
|
},
|
|
34334
|
-
"version": "0.34.
|
|
34335
|
-
"fingerprint": "
|
|
34342
|
+
"version": "0.34.10",
|
|
34343
|
+
"fingerprint": "2EbJxe5SyYh3czGCRT7pkFKL7VfnOEDG8w3PgxiE+qw="
|
|
34336
34344
|
}
|
package/README.md
CHANGED
|
@@ -32,5 +32,5 @@ class AutoDiscover extends component_1.Component {
|
|
|
32
32
|
}
|
|
33
33
|
exports.AutoDiscover = AutoDiscover;
|
|
34
34
|
_a = JSII_RTTI_SYMBOL_1;
|
|
35
|
-
AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.34.
|
|
35
|
+
AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.34.10" };
|
|
36
36
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsNENBQXlDO0FBRXpDLHlDQUFtRDtBQUNuRCx1REFBZ0Y7Ozs7OztBQVloRixNQUFhLFlBQWEsU0FBUSxxQkFBUzs7OztJQUd6QyxZQUFZLE9BQWdCLEVBQUUsT0FBNEI7UUFDeEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLGdDQUFxQixFQUFFLEVBQUU7WUFDNUQsR0FBRyxFQUFFLFdBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQy9DLENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFO1lBQ3BDLElBQUksZ0NBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUMvQixVQUFVLEVBQUUsV0FBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDO2dCQUM1QyxHQUFHLE9BQU8sQ0FBQyxhQUFhO2FBQ3pCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7QUFoQkgsb0NBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZ2xvYiBmcm9tICdnbG9iJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vcHJvamVjdCc7XG5pbXBvcnQgeyBUWVBFU0NSSVBUX0xBTUJEQV9FWFQgfSBmcm9tICcuL2ludGVybmFsJztcbmltcG9ydCB7IExhbWJkYUZ1bmN0aW9uLCBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnMgfSBmcm9tICcuL2xhbWJkYS1mdW5jdGlvbic7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9EaXNjb3Zlck9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGFtYmRhT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIEF1dG9EaXNjb3ZlciBleHRlbmRzIENvbXBvbmVudCB7XG5cblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICBjb25zdCBlbnRyeXBvaW50cyA9IGdsb2Iuc3luYyhgKiovKiR7VFlQRVNDUklQVF9MQU1CREFfRVhUfWAsIHtcbiAgICAgIGN3ZDogam9pbih0aGlzLnByb2plY3Qub3V0ZGlyLCBvcHRpb25zLnNyY2RpciksXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgZW50cnlwb2ludHMpIHtcbiAgICAgIG5ldyBMYW1iZGFGdW5jdGlvbih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgZW50cnlwb2ludDogam9pbihvcHRpb25zLnNyY2RpciwgZW50cnlwb2ludCksXG4gICAgICAgIC4uLm9wdGlvbnMubGFtYmRhT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufSJdfQ==
|
package/lib/awscdk/cdk-config.js
CHANGED
|
@@ -41,7 +41,7 @@ class CdkConfig extends component_1.Component {
|
|
|
41
41
|
}
|
|
42
42
|
exports.CdkConfig = CdkConfig;
|
|
43
43
|
_a = JSII_RTTI_SYMBOL_1;
|
|
44
|
-
CdkConfig[_a] = { fqn: "projen.awscdk.CdkConfig", version: "0.34.
|
|
44
|
+
CdkConfig[_a] = { fqn: "projen.awscdk.CdkConfig", version: "0.34.10" };
|
|
45
45
|
/**
|
|
46
46
|
* (experimental) Which approval is required when deploying CDK apps.
|
|
47
47
|
*
|
package/lib/awscdk/cdk-tasks.js
CHANGED
|
@@ -35,5 +35,5 @@ class CdkTasks extends component_1.Component {
|
|
|
35
35
|
}
|
|
36
36
|
exports.CdkTasks = CdkTasks;
|
|
37
37
|
_a = JSII_RTTI_SYMBOL_1;
|
|
38
|
-
CdkTasks[_a] = { fqn: "projen.awscdk.CdkTasks", version: "0.34.
|
|
38
|
+
CdkTasks[_a] = { fqn: "projen.awscdk.CdkTasks", version: "0.34.10" };
|
|
39
39
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXRhc2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9jZGstdGFza3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBeUM7Ozs7OztBQUt6QyxNQUFhLFFBQVMsU0FBUSxxQkFBUzs7OztJQWFyQyxZQUFZLE9BQWdCO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDcEMsV0FBVyxFQUFFLDhEQUE4RDtZQUMzRSxJQUFJLEVBQUUsV0FBVztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFdBQVcsRUFBRSx1Q0FBdUM7WUFDcEQsSUFBSSxFQUFFLFlBQVk7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUN4QyxXQUFXLEVBQUUsd0NBQXdDO1lBQ3JELElBQUksRUFBRSxhQUFhO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEMsV0FBVyxFQUFFLG9EQUFvRDtZQUNqRSxJQUFJLEVBQUUsVUFBVTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOztBQW5DSCw0QkFvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3Byb2plY3QnO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uL3Rhc2tzJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIENka1Rhc2tzIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBzeW50aDogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVwbG95OiBUYXNrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVzdHJveTogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGRpZmY6IFRhc2s7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5zeW50aCA9IHByb2plY3QuYWRkVGFzaygnc3ludGgnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1N5bnRoZXNpemVzIHlvdXIgY2RrIGFwcCBpbnRvIGNkay5vdXQgKHBhcnQgb2YgXCJ5YXJuIGJ1aWxkXCIpJyxcbiAgICAgIGV4ZWM6ICdjZGsgc3ludGgnLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXBsb3kgPSBwcm9qZWN0LmFkZFRhc2soJ2RlcGxveScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVwbG95cyB5b3VyIENESyBhcHAgdG8gdGhlIEFXUyBjbG91ZCcsXG4gICAgICBleGVjOiAnY2RrIGRlcGxveScsXG4gICAgfSk7XG5cbiAgICB0aGlzLmRlc3Ryb3kgPSBwcm9qZWN0LmFkZFRhc2soJ2Rlc3Ryb3knLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc3Ryb3lzIHlvdXIgY2RrIGFwcCBpbiB0aGUgQVdTIGNsb3VkJyxcbiAgICAgIGV4ZWM6ICdjZGsgZGVzdHJveScsXG4gICAgfSk7XG5cbiAgICB0aGlzLmRpZmYgPSBwcm9qZWN0LmFkZFRhc2soJ2RpZmYnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0RpZmZzIHRoZSBjdXJyZW50bHkgZGVwbG95ZWQgYXBwIGFnYWluc3QgeW91ciBjb2RlJyxcbiAgICAgIGV4ZWM6ICdjZGsgZGlmZicsXG4gICAgfSk7XG4gIH1cbn0iXX0=
|
package/lib/awscdk/java-app.js
CHANGED
|
@@ -86,5 +86,5 @@ class AwsCdkJavaApp extends java_1.JavaProject {
|
|
|
86
86
|
}
|
|
87
87
|
exports.AwsCdkJavaApp = AwsCdkJavaApp;
|
|
88
88
|
_a = JSII_RTTI_SYMBOL_1;
|
|
89
|
-
AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.34.
|
|
89
|
+
AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.34.10" };
|
|
90
90
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1hcHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2phdmEtYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQTRCO0FBQzVCLGlDQUFpQztBQUNqQywwQkFBK0I7QUFDL0Isa0NBQTBEO0FBQzFELDZDQUFpRTtBQUNqRSwyQ0FBdUM7Ozs7Ozs7QUFjdkMsTUFBYSxhQUFjLFNBQVEsa0JBQVc7Ozs7SUFtQjVDLFlBQVksT0FBNkI7O1FBQ3ZDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsTUFBTSxXQUFXLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUxRSxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixNQUFNLEVBQUUsS0FBSztZQUNiLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBRXJDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztTQUNoRTtRQUVELE1BQU0sZUFBZSxlQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxLQUFLLG1DQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLGVBQWUsSUFBSSxDQUFDLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFHLE9BQU8sQ0FBQyxlQUFlLG1DQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHNCQUFTLENBQUMsSUFBSSxFQUFFO1lBQ25DLEdBQUcsRUFBRSwwQ0FBMEMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMvRCxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7Ozs7OztJQUdNLGdCQUFnQixDQUFDLEdBQUcsT0FBaUI7UUFDMUMsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQ3RFO0lBQ0gsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLE9BQU8sQ0FBQztRQUM5QyxJQUFJLGFBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDdkQsS0FBSyxFQUFFO2dCQUNMLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ1YsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHO29CQUMzQixFQUFFO29CQUNGLHlDQUF5QztvQkFDekMsMkNBQTJDO29CQUMzQyxFQUFFO29CQUNGLGdCQUFnQixJQUFJLENBQUMsYUFBYSxJQUFJO29CQUN0QyxrREFBa0Q7b0JBQ2xELDBCQUEwQjtvQkFDMUIsZ0NBQWdDO29CQUNoQyxrQkFBa0I7b0JBQ2xCLEtBQUs7b0JBQ0wsR0FBRztpQkFDSixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBdEZILHNDQXVGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHsgU2FtcGxlRGlyIH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgSmF2YVByb2plY3QsIEphdmFQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4uL2phdmEnO1xuaW1wb3J0IHsgQ2RrQ29uZmlnLCBDZGtDb25maWdDb21tb25PcHRpb25zIH0gZnJvbSAnLi9jZGstY29uZmlnJztcbmltcG9ydCB7IENka1Rhc2tzIH0gZnJvbSAnLi9jZGstdGFza3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0Nka0phdmFBcHBPcHRpb25zIGV4dGVuZHMgSmF2YVByb2plY3RPcHRpb25zLCBDZGtDb25maWdDb21tb25PcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNka1ZlcnNpb246IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2RrRGVwZW5kZW5jaWVzPzogc3RyaW5nW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWFpbkNsYXNzOiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQXdzQ2RrSmF2YUFwcCBleHRlbmRzIEphdmFQcm9qZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgY2RrVmVyc2lvbjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtDb25maWc6IENka0NvbmZpZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBtYWluQ2xhc3M6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtUYXNrczogQ2RrVGFza3M7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbWFpblBhY2thZ2U6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbWFpbkNsYXNzTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEF3c0Nka0phdmFBcHBPcHRpb25zKSB7XG4gICAgY29uc3QgbWFpbkNsYXNzQ29tcG9uZW50cyA9IG9wdGlvbnMubWFpbkNsYXNzLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgbWFpblBhY2thZ2UgPSBtYWluQ2xhc3NDb21wb25lbnRzLnNsaWNlKDAsIC0xKTtcbiAgICBjb25zdCBtYWluQ2xhc3NOYW1lID0gbWFpbkNsYXNzQ29tcG9uZW50c1ttYWluQ2xhc3NDb21wb25lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNhbXBsZTogZmFsc2UsXG4gICAgICBzYW1wbGVKYXZhUGFja2FnZTogbWFpblBhY2thZ2Uuam9pbignLicpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5tYWluQ2xhc3MgPSBvcHRpb25zLm1haW5DbGFzcztcbiAgICB0aGlzLm1haW5QYWNrYWdlID0gbWFpblBhY2thZ2Uuam9pbignLicpO1xuICAgIHRoaXMubWFpbkNsYXNzTmFtZSA9IG1haW5DbGFzc05hbWU7XG4gICAgdGhpcy5jZGtWZXJzaW9uID0gb3B0aW9ucy5jZGtWZXJzaW9uO1xuXG4gICAgaWYgKCF0aGlzLmNka1ZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgZmllbGQgY2RrVmVyc2lvbiBpcyBub3Qgc3BlY2lmaWVkLicpO1xuICAgIH1cblxuICAgIGNvbnN0IGNka01ham9yVmVyc2lvbiA9IHNlbXZlci5taW5WZXJzaW9uKHRoaXMuY2RrVmVyc2lvbik/Lm1ham9yID8/IDE7XG4gICAgaWYgKGNka01ham9yVmVyc2lvbiA+PSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NES3YyIGlzIHN0aWxsIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZENka0RlcGVuZGVuY3koJ2NvcmUnKTtcbiAgICB0aGlzLmFkZENka0RlcGVuZGVuY3koLi4ub3B0aW9ucy5jZGtEZXBlbmRlbmNpZXMgPz8gW10pO1xuXG4gICAgdGhpcy5jZGtUYXNrcyA9IG5ldyBDZGtUYXNrcyh0aGlzKTtcbiAgICB0aGlzLnBvc3RDb21waWxlVGFzay5zcGF3bih0aGlzLmNka1Rhc2tzLnN5bnRoKTtcblxuICAgIHRoaXMuY2RrQ29uZmlnID0gbmV3IENka0NvbmZpZyh0aGlzLCB7XG4gICAgICBhcHA6IGBtdm4gZXhlYzpqYXZhIC0tcXVpZXQgLURleGVjLm1haW5DbGFzcz0ke3RoaXMubWFpbkNsYXNzfWAsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRTYW1wbGUoKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWRkQ2RrRGVwZW5kZW5jeSguLi5tb2R1bGVzOiBzdHJpbmdbXSkge1xuICAgIGZvciAoY29uc3QgbSBvZiBtb2R1bGVzKSB7XG4gICAgICB0aGlzLmFkZERlcGVuZGVuY3koYHNvZnR3YXJlLmFtYXpvbi5hd3NjZGsvJHttfUAke3RoaXMuY2RrVmVyc2lvbn1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFNhbXBsZSgpIHtcbiAgICBjb25zdCBwa2cgPSB0aGlzLm1haW5QYWNrYWdlLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgamF2YUZpbGUgPSBgJHt0aGlzLm1haW5DbGFzc05hbWV9LmphdmFgO1xuICAgIG5ldyBTYW1wbGVEaXIodGhpcywgam9pbignc3JjJywgJ21haW4nLCAnamF2YScsIC4uLnBrZyksIHtcbiAgICAgIGZpbGVzOiB7XG4gICAgICAgIFtqYXZhRmlsZV06IFtcbiAgICAgICAgICBgcGFja2FnZSAke3BrZy5qb2luKCcuJyl9O2AsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ2ltcG9ydCBzb2Z0d2FyZS5hbWF6b24uYXdzY2RrLmNvcmUuQXBwOycsXG4gICAgICAgICAgJ2ltcG9ydCBzb2Z0d2FyZS5hbWF6b24uYXdzY2RrLmNvcmUuU3RhY2s7JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBgcHVibGljIGNsYXNzICR7dGhpcy5tYWluQ2xhc3NOYW1lfSB7YCxcbiAgICAgICAgICAnICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihmaW5hbCBTdHJpbmdbXSBhcmdzKSB7JyxcbiAgICAgICAgICAnICAgIEFwcCBhcHAgPSBuZXcgQXBwKCk7JyxcbiAgICAgICAgICAnICAgIG5ldyBTdGFjayhhcHAsIFwiTXlTdGFja1wiKTsnLFxuICAgICAgICAgICcgICAgYXBwLnN5bnRoKCk7JyxcbiAgICAgICAgICAnICB9JyxcbiAgICAgICAgICAnfScsXG4gICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@ var _a, _b;
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.LambdaRuntime = exports.LambdaFunction = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const
|
|
6
|
+
const path_1 = require("path");
|
|
7
7
|
const case_1 = require("case");
|
|
8
8
|
const __1 = require("..");
|
|
9
9
|
const component_1 = require("../component");
|
|
@@ -11,7 +11,6 @@ const file_1 = require("../file");
|
|
|
11
11
|
const bundler_1 = require("../javascript/bundler");
|
|
12
12
|
const source_code_1 = require("../source-code");
|
|
13
13
|
const internal_1 = require("./internal");
|
|
14
|
-
const { basename, dirname, extname, join, relative } = path.posix;
|
|
15
14
|
/**
|
|
16
15
|
* (experimental) Generates a pre-bundled AWS Lambda function construct from handler code.
|
|
17
16
|
*
|
|
@@ -57,13 +56,13 @@ class LambdaFunction extends component_1.Component {
|
|
|
57
56
|
if (!entrypoint.endsWith(internal_1.TYPESCRIPT_LAMBDA_EXT)) {
|
|
58
57
|
throw new Error(`${entrypoint} must have a ${internal_1.TYPESCRIPT_LAMBDA_EXT} extension`);
|
|
59
58
|
}
|
|
60
|
-
const basePath = join(dirname(entrypoint), basename(entrypoint, internal_1.TYPESCRIPT_LAMBDA_EXT));
|
|
59
|
+
const basePath = path_1.join(path_1.dirname(entrypoint), path_1.basename(entrypoint, internal_1.TYPESCRIPT_LAMBDA_EXT));
|
|
61
60
|
const constructFile = (_d = options.constructFile) !== null && _d !== void 0 ? _d : `${basePath}-function.ts`;
|
|
62
|
-
if (extname(constructFile) !== '.ts') {
|
|
61
|
+
if (path_1.extname(constructFile) !== '.ts') {
|
|
63
62
|
throw new Error(`Construct file name "${constructFile}" must have a .ts extension`);
|
|
64
63
|
}
|
|
65
64
|
// type names
|
|
66
|
-
const constructName = (_e = options.constructName) !== null && _e !== void 0 ? _e : case_1.pascal(basename(basePath)) + 'Function';
|
|
65
|
+
const constructName = (_e = options.constructName) !== null && _e !== void 0 ? _e : case_1.pascal(path_1.basename(basePath)) + 'Function';
|
|
67
66
|
const propsType = `${constructName}Props`;
|
|
68
67
|
const bundle = bundler.addBundle(entrypoint, {
|
|
69
68
|
target: runtime.esbuildTarget,
|
|
@@ -77,9 +76,9 @@ class LambdaFunction extends component_1.Component {
|
|
|
77
76
|
// e.g:
|
|
78
77
|
// - outfileAbs => `/project-outdir/assets/foo/bar/baz/foo-function/index.js`
|
|
79
78
|
// - constructAbs => `/project-outdir/src/foo/bar/baz/foo-function.ts`
|
|
80
|
-
const outfileAbs = join(project.outdir, bundle.outfile);
|
|
81
|
-
const constructAbs = join(project.outdir, constructFile);
|
|
82
|
-
const relativeOutfile = relative(dirname(constructAbs), dirname(outfileAbs));
|
|
79
|
+
const outfileAbs = path_1.join(project.outdir, bundle.outfile);
|
|
80
|
+
const constructAbs = path_1.join(project.outdir, constructFile);
|
|
81
|
+
const relativeOutfile = path_1.relative(path_1.dirname(constructAbs), path_1.dirname(outfileAbs));
|
|
83
82
|
const src = new source_code_1.SourceCode(project, constructFile);
|
|
84
83
|
src.line(`// ${file_1.FileBase.PROJEN_MARKER}`);
|
|
85
84
|
src.line('import * as path from \'path\';');
|
|
@@ -115,7 +114,7 @@ class LambdaFunction extends component_1.Component {
|
|
|
115
114
|
}
|
|
116
115
|
exports.LambdaFunction = LambdaFunction;
|
|
117
116
|
_a = JSII_RTTI_SYMBOL_1;
|
|
118
|
-
LambdaFunction[_a] = { fqn: "projen.awscdk.LambdaFunction", version: "0.34.
|
|
117
|
+
LambdaFunction[_a] = { fqn: "projen.awscdk.LambdaFunction", version: "0.34.10" };
|
|
119
118
|
/**
|
|
120
119
|
* (experimental) The runtime for the AWS Lambda function.
|
|
121
120
|
*
|
|
@@ -141,7 +140,7 @@ class LambdaRuntime {
|
|
|
141
140
|
}
|
|
142
141
|
exports.LambdaRuntime = LambdaRuntime;
|
|
143
142
|
_b = JSII_RTTI_SYMBOL_1;
|
|
144
|
-
LambdaRuntime[_b] = { fqn: "projen.awscdk.LambdaRuntime", version: "0.34.
|
|
143
|
+
LambdaRuntime[_b] = { fqn: "projen.awscdk.LambdaRuntime", version: "0.34.10" };
|
|
145
144
|
/**
|
|
146
145
|
* (experimental) Node.js 10.x.
|
|
147
146
|
*
|
|
@@ -160,4 +159,4 @@ LambdaRuntime.NODEJS_12_X = new LambdaRuntime('NODEJS_12_X', 'node12');
|
|
|
160
159
|
* @experimental
|
|
161
160
|
*/
|
|
162
161
|
LambdaRuntime.NODEJS_14_X = new LambdaRuntime('NODEJS_14_X', 'node14');
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9sYW1iZGEtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQThCO0FBQzlCLDBCQUFxQztBQUNyQyw0Q0FBeUM7QUFDekMsa0NBQW1DO0FBQ25DLG1EQUFpRTtBQUNqRSxnREFBNEM7QUFDNUMseUNBQW1EO0FBRW5ELE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCbEUsTUFBYSxjQUFlLFNBQVEscUJBQVM7Ozs7Ozs7O0lBRTNDLFlBQVksT0FBZ0IsRUFBRSxPQUE4Qjs7UUFDMUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsTUFBTSxPQUFPLEdBQUcsaUJBQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsbUVBQW1FLENBQUMsQ0FBQztTQUN0RjtRQUVELE1BQU0sT0FBTyxTQUFHLE9BQU8sQ0FBQyxPQUFPLG1DQUFJLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFFN0QsMEVBQTBFO1FBQzFFLGtCQUFrQjtRQUNsQixNQUFNLE1BQU0sR0FBRyxVQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtRQUV6QyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBRXRDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGdDQUFxQixDQUFDLEVBQUU7WUFDL0MsTUFBTSxJQUFJLEtBQUss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QXJCd0IseUJBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7Ozs7OztBQUd6RCx5QkFBVyxHQUFHLElBQUksYUFBYSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQzs7Ozs7O0FBR3pELHlCQUFXLEdBQUcsSUFBSSxhQUFhLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IHBhc2NhbCB9IGZyb20gJ2Nhc2UnO1xuaW1wb3J0IHsgRXNsaW50LCBQcm9qZWN0IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVCYXNlIH0gZnJvbSAnLi4vZmlsZSc7XG5pbXBvcnQgeyBCdW5kbGVyLCBCdW5kbGluZ09wdGlvbnMgfSBmcm9tICcuLi9qYXZhc2NyaXB0L2J1bmRsZXInO1xuaW1wb3J0IHsgU291cmNlQ29kZSB9IGZyb20gJy4uL3NvdXJjZS1jb2RlJztcbmltcG9ydCB7IFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCB9IGZyb20gJy4vaW50ZXJuYWwnO1xuXG5jb25zdCB7IGJhc2VuYW1lLCBkaXJuYW1lLCBleHRuYW1lLCBqb2luLCByZWxhdGl2ZSB9ID0gcGF0aC5wb3NpeDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcnVudGltZT86IExhbWJkYVJ1bnRpbWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBidW5kbGluZ09wdGlvbnM/OiBCdW5kbGluZ09wdGlvbnM7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhRnVuY3Rpb25PcHRpb25zIGV4dGVuZHMgTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBlbnRyeXBvaW50OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjb25zdHJ1Y3RGaWxlPzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjb25zdHJ1Y3ROYW1lPzogc3RyaW5nO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBMYW1iZGFGdW5jdGlvbiBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogTGFtYmRhRnVuY3Rpb25PcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICBjb25zdCBidW5kbGVyID0gQnVuZGxlci5vZihwcm9qZWN0KTtcbiAgICBpZiAoIWJ1bmRsZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gYnVuZGxlciBmb3VuZC4gUGxlYXNlIGFkZCBhIEJ1bmRsZXIgY29tcG9uZW50IHRvIHlvdXIgcHJvamVjdC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBydW50aW1lID0gb3B0aW9ucy5ydW50aW1lID8/IExhbWJkYVJ1bnRpbWUuTk9ERUpTXzE0X1g7XG5cbiAgICAvLyBhbGxvdyBMYW1iZGEgaGFuZGxlciBjb2RlIHRvIGltcG9ydCBkZXYtZGVwcyBzaW5jZSB0aGV5IGFyZSBvbmx5IG5lZWRlZFxuICAgIC8vIGR1cmluZyBidW5kbGluZ1xuICAgIGNvbnN0IGVzbGludCA9IEVzbGludC5vZihwcm9qZWN0KTtcbiAgICBlc2xpbnQ/LmFsbG93RGV2RGVwcyhvcHRpb25zLmVudHJ5cG9pbnQpO1xuXG4gICAgY29uc3QgZW50cnlwb2ludCA9IG9wdGlvbnMuZW50cnlwb2ludDtcblxuICAgIGlmICghZW50cnlwb2ludC5lbmRzV2l0aChUWVBFU0NSSVBUX0xBTUJEQV9FWFQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZW50cnlwb2ludH0gbXVzdCBoYXZlIGEgJHtUWVBFU0NSSVBUX0xBTUJEQV9FWFR9IGV4dGVuc2lvbmApO1xuICAgIH1cblxuICAgIGNvbnN0IGJhc2VQYXRoID0gam9pbihkaXJuYW1lKGVudHJ5cG9pbnQpLCBiYXNlbmFtZShlbnRyeXBvaW50LCBUWVBFU0NSSVBUX0xBTUJEQV9FWFQpKTtcbiAgICBjb25zdCBjb25zdHJ1Y3RGaWxlID0gb3B0aW9ucy5jb25zdHJ1Y3RGaWxlID8/IGAke2Jhc2VQYXRofS1mdW5jdGlvbi50c2A7XG5cbiAgICBpZiAoZXh0bmFtZShjb25zdHJ1Y3RGaWxlKSAhPT0gJy50cycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ29uc3RydWN0IGZpbGUgbmFtZSBcIiR7Y29uc3RydWN0RmlsZX1cIiBtdXN0IGhhdmUgYSAudHMgZXh0ZW5zaW9uYCk7XG4gICAgfVxuXG4gICAgLy8gdHlwZSBuYW1lc1xuICAgIGNvbnN0IGNvbnN0cnVjdE5hbWUgPSBvcHRpb25zLmNvbnN0cnVjdE5hbWUgPz8gcGFzY2FsKGJhc2VuYW1lKGJhc2VQYXRoKSkgKyAnRnVuY3Rpb24nO1xuICAgIGNvbnN0IHByb3BzVHlwZSA9IGAke2NvbnN0cnVjdE5hbWV9UHJvcHNgO1xuXG4gICAgY29uc3QgYnVuZGxlID0gYnVuZGxlci5hZGRCdW5kbGUoZW50cnlwb2ludCwge1xuICAgICAgdGFyZ2V0OiBydW50aW1lLmVzYnVpbGRUYXJnZXQsXG4gICAgICBwbGF0Zm9ybTogcnVudGltZS5lc2J1aWxkUGxhdGZvcm0sXG4gICAgICBleHRlcm5hbHM6IFsnYXdzLXNkayddLFxuICAgICAgLi4ub3B0aW9ucy5idW5kbGluZ09wdGlvbnMsXG4gICAgfSk7XG5cbiAgICAvLyBjYWxjdWxhdGUgdGhlIHJlbGF0aXZlIHBhdGggYmV0d2VlbiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlXG4gICAgLy8gZ2VuZXJhdGVkIGNvbnN0cnVjdCBzb3VyY2UgZmlsZSB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGJ1bmRsZVxuICAgIC8vIGluZGV4LmpzIGJ5IHJlc29sdmluZyB0aGVtIGFzIGFic29sdXRlIHBhdGhzIGZpcnN0LlxuICAgIC8vIGUuZzpcbiAgICAvLyAgLSBvdXRmaWxlQWJzID0+IGAvcHJvamVjdC1vdXRkaXIvYXNzZXRzL2Zvby9iYXIvYmF6L2Zvby1mdW5jdGlvbi9pbmRleC5qc2BcbiAgICAvLyAgLSBjb25zdHJ1Y3RBYnMgPT4gYC9wcm9qZWN0LW91dGRpci9zcmMvZm9vL2Jhci9iYXovZm9vLWZ1bmN0aW9uLnRzYFxuICAgIGNvbnN0IG91dGZpbGVBYnMgPSBqb2luKHByb2plY3Qub3V0ZGlyLCBidW5kbGUub3V0ZmlsZSk7XG4gICAgY29uc3QgY29uc3RydWN0QWJzID0gam9pbihwcm9qZWN0Lm91dGRpciwgY29uc3RydWN0RmlsZSk7XG4gICAgY29uc3QgcmVsYXRpdmVPdXRmaWxlID0gcmVsYXRpdmUoZGlybmFtZShjb25zdHJ1Y3RBYnMpLCBkaXJuYW1lKG91dGZpbGVBYnMpKTtcblxuICAgIGNvbnN0IHNyYyA9IG5ldyBTb3VyY2VDb2RlKHByb2plY3QsIGNvbnN0cnVjdEZpbGUpO1xuICAgIHNyYy5saW5lKGAvLyAke0ZpbGVCYXNlLlBST0pFTl9NQVJLRVJ9YCk7XG4gICAgc3JjLmxpbmUoJ2ltcG9ydCAqIGFzIHBhdGggZnJvbSBcXCdwYXRoXFwnOycpO1xuICAgIHNyYy5saW5lKCdpbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSBcXCdAYXdzLWNkay9hd3MtbGFtYmRhXFwnOycpO1xuICAgIHNyYy5saW5lKCdpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFxcJ0Bhd3MtY2RrL2NvcmVcXCc7Jyk7XG4gICAgc3JjLmxpbmUoKTtcbiAgICBzcmMubGluZSgnLyoqJyk7XG4gICAgc3JjLmxpbmUoYCAqIFByb3BzIGZvciAke2NvbnN0cnVjdE5hbWV9YCk7XG4gICAgc3JjLmxpbmUoJyAqLycpO1xuICAgIHNyYy5vcGVuKGBleHBvcnQgaW50ZXJmYWNlICR7cHJvcHNUeXBlfSBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbk9wdGlvbnMge2ApO1xuICAgIHNyYy5jbG9zZSgnfScpO1xuICAgIHNyYy5saW5lKCk7XG4gICAgc3JjLmxpbmUoJy8qKicpO1xuICAgIHNyYy5saW5lKGAgKiBBbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoIGV4ZWN1dGVzICR7YmFzZVBhdGh9LmApO1xuICAgIHNyYy5saW5lKCcgKi8nKTtcbiAgICBzcmMub3BlbihgZXhwb3J0IGNsYXNzICR7Y29uc3RydWN0TmFtZX0gZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge2ApO1xuICAgIHNyYy5vcGVuKGBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86ICR7cHJvcHNUeXBlfSkge2ApO1xuICAgIHNyYy5vcGVuKCdzdXBlcihzY29wZSwgaWQsIHsnKTtcbiAgICBzcmMubGluZShgZGVzY3JpcHRpb246ICcke2VudHJ5cG9pbnR9JyxgKTtcbiAgICBzcmMubGluZSgnLi4ucHJvcHMsJyk7XG4gICAgc3JjLmxpbmUoYHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLiR7cnVudGltZS5mdW5jdGlvblJ1bnRpbWV9LGApO1xuICAgIHNyYy5saW5lKCdoYW5kbGVyOiBcXCdpbmRleC5oYW5kbGVyXFwnLCcpO1xuICAgIHNyYy5saW5lKGBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJyR7cmVsYXRpdmVPdXRmaWxlfScpKSxgKTtcbiAgICBzcmMuY2xvc2UoJ30pOycpO1xuICAgIHNyYy5jbG9zZSgnfScpO1xuICAgIHNyYy5jbG9zZSgnfScpO1xuXG4gICAgdGhpcy5wcm9qZWN0LmxvZ2dlci52ZXJib3NlKGAke2Jhc2VQYXRofTogY29uc3RydWN0IFwiJHtjb25zdHJ1Y3ROYW1lfVwiIGdlbmVyYXRlZCB1bmRlciBcIiR7Y29uc3RydWN0RmlsZX1cImApO1xuICAgIHRoaXMucHJvamVjdC5sb2dnZXIudmVyYm9zZShgJHtiYXNlUGF0aH06IGJ1bmRsZSB0YXNrIFwiJHtidW5kbGUuYnVuZGxlVGFzay5uYW1lfVwiYCk7XG4gICAgaWYgKGJ1bmRsZS53YXRjaFRhc2spIHtcbiAgICAgIHRoaXMucHJvamVjdC5sb2dnZXIudmVyYm9zZShgJHtiYXNlUGF0aH06IGJ1bmRsZSB3YXRjaCB0YXNrIFwiJHtidW5kbGUud2F0Y2hUYXNrLm5hbWV9XCJgKTtcbiAgICB9XG4gIH1cbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgTGFtYmRhUnVudGltZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PREVKU18xMF9YID0gbmV3IExhbWJkYVJ1bnRpbWUoJ05PREVKU18xMF9YJywgJ25vZGUxMCcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PREVKU18xMl9YID0gbmV3IExhbWJkYVJ1bnRpbWUoJ05PREVKU18xMl9YJywgJ25vZGUxMicpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PREVKU18xNF9YID0gbmV3IExhbWJkYVJ1bnRpbWUoJ05PREVKU18xNF9YJywgJ25vZGUxNCcpO1xuXG4gIHB1YmxpYyByZWFkb25seSBlc2J1aWxkUGxhdGZvcm0gPSAnbm9kZSc7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBUaGUgYXdzLWxhbWJkYS5SdW50aW1lIG1lbWJlciBuYW1lIHRvIHVzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZnVuY3Rpb25SdW50aW1lOiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZXNidWlsZCBzZXR0aW5nIHRvIHVzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZXNidWlsZFRhcmdldDogc3RyaW5nKSB7XG4gIH1cbn0iXX0=
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9sYW1iZGEtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBa0U7QUFDbEUsK0JBQThCO0FBQzlCLDBCQUFxQztBQUNyQyw0Q0FBeUM7QUFDekMsa0NBQW1DO0FBQ25DLG1EQUFpRTtBQUNqRSxnREFBNEM7QUFDNUMseUNBQW1EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0JuRCxNQUFhLGNBQWUsU0FBUSxxQkFBUzs7Ozs7Ozs7SUFFM0MsWUFBWSxPQUFnQixFQUFFLE9BQThCOztRQUMxRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixNQUFNLE9BQU8sR0FBRyxpQkFBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO1NBQ3RGO1FBRUQsTUFBTSxPQUFPLFNBQUcsT0FBTyxDQUFDLE9BQU8sbUNBQUksYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUU3RCwwRUFBMEU7UUFDMUUsa0JBQWtCO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLFVBQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO1FBRXpDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFFdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsZ0NBQXFCLENBQUMsRUFBRTtZQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsVUFBVSxnQkFBZ0IsZ0NBQXFCLFlBQVksQ0FBQyxDQUFDO1NBQ2pGO1FBRUQsTUFBTSxRQUFRLEdBQUcsV0FBSSxDQUFDLGNBQU8sQ0FBQyxV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QUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDOzs7Ozs7QUFHekQseUJBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiYXNlbmFtZSwgZGlybmFtZSwgZXh0bmFtZSwgam9pbiwgcmVsYXRpdmUgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IHBhc2NhbCB9IGZyb20gJ2Nhc2UnO1xuaW1wb3J0IHsgRXNsaW50LCBQcm9qZWN0IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVCYXNlIH0gZnJvbSAnLi4vZmlsZSc7XG5pbXBvcnQgeyBCdW5kbGVyLCBCdW5kbGluZ09wdGlvbnMgfSBmcm9tICcuLi9qYXZhc2NyaXB0L2J1bmRsZXInO1xuaW1wb3J0IHsgU291cmNlQ29kZSB9IGZyb20gJy4uL3NvdXJjZS1jb2RlJztcbmltcG9ydCB7IFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCB9IGZyb20gJy4vaW50ZXJuYWwnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBydW50aW1lPzogTGFtYmRhUnVudGltZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGJ1bmRsaW5nT3B0aW9ucz86IEJ1bmRsaW5nT3B0aW9ucztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFGdW5jdGlvbk9wdGlvbnMgZXh0ZW5kcyBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGVudHJ5cG9pbnQ6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNvbnN0cnVjdEZpbGU/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNvbnN0cnVjdE5hbWU/OiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIExhbWJkYUZ1bmN0aW9uIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBMYW1iZGFGdW5jdGlvbk9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIGNvbnN0IGJ1bmRsZXIgPSBCdW5kbGVyLm9mKHByb2plY3QpO1xuICAgIGlmICghYnVuZGxlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBidW5kbGVyIGZvdW5kLiBQbGVhc2UgYWRkIGEgQnVuZGxlciBjb21wb25lbnQgdG8geW91ciBwcm9qZWN0LicpO1xuICAgIH1cblxuICAgIGNvbnN0IHJ1bnRpbWUgPSBvcHRpb25zLnJ1bnRpbWUgPz8gTGFtYmRhUnVudGltZS5OT0RFSlNfMTRfWDtcblxuICAgIC8vIGFsbG93IExhbWJkYSBoYW5kbGVyIGNvZGUgdG8gaW1wb3J0IGRldi1kZXBzIHNpbmNlIHRoZXkgYXJlIG9ubHkgbmVlZGVkXG4gICAgLy8gZHVyaW5nIGJ1bmRsaW5nXG4gICAgY29uc3QgZXNsaW50ID0gRXNsaW50Lm9mKHByb2plY3QpO1xuICAgIGVzbGludD8uYWxsb3dEZXZEZXBzKG9wdGlvbnMuZW50cnlwb2ludCk7XG5cbiAgICBjb25zdCBlbnRyeXBvaW50ID0gb3B0aW9ucy5lbnRyeXBvaW50O1xuXG4gICAgaWYgKCFlbnRyeXBvaW50LmVuZHNXaXRoKFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtlbnRyeXBvaW50fSBtdXN0IGhhdmUgYSAke1RZUEVTQ1JJUFRfTEFNQkRBX0VYVH0gZXh0ZW5zaW9uYCk7XG4gICAgfVxuXG4gICAgY29uc3QgYmFzZVBhdGggPSBqb2luKGRpcm5hbWUoZW50cnlwb2ludCksIGJhc2VuYW1lKGVudHJ5cG9pbnQsIFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCkpO1xuICAgIGNvbnN0IGNvbnN0cnVjdEZpbGUgPSBvcHRpb25zLmNvbnN0cnVjdEZpbGUgPz8gYCR7YmFzZVBhdGh9LWZ1bmN0aW9uLnRzYDtcblxuICAgIGlmIChleHRuYW1lKGNvbnN0cnVjdEZpbGUpICE9PSAnLnRzJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb25zdHJ1Y3QgZmlsZSBuYW1lIFwiJHtjb25zdHJ1Y3RGaWxlfVwiIG11c3QgaGF2ZSBhIC50cyBleHRlbnNpb25gKTtcbiAgICB9XG5cbiAgICAvLyB0eXBlIG5hbWVzXG4gICAgY29uc3QgY29uc3RydWN0TmFtZSA9IG9wdGlvbnMuY29uc3RydWN0TmFtZSA/PyBwYXNjYWwoYmFzZW5hbWUoYmFzZVBhdGgpKSArICdGdW5jdGlvbic7XG4gICAgY29uc3QgcHJvcHNUeXBlID0gYCR7Y29uc3RydWN0TmFtZX1Qcm9wc2A7XG5cbiAgICBjb25zdCBidW5kbGUgPSBidW5kbGVyLmFkZEJ1bmRsZShlbnRyeXBvaW50LCB7XG4gICAgICB0YXJnZXQ6IHJ1bnRpbWUuZXNidWlsZFRhcmdldCxcbiAgICAgIHBsYXRmb3JtOiBydW50aW1lLmVzYnVpbGRQbGF0Zm9ybSxcbiAgICAgIGV4dGVybmFsczogWydhd3Mtc2RrJ10sXG4gICAgICAuLi5vcHRpb25zLmJ1bmRsaW5nT3B0aW9ucyxcbiAgICB9KTtcblxuICAgIC8vIGNhbGN1bGF0ZSB0aGUgcmVsYXRpdmUgcGF0aCBiZXR3ZWVuIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGVcbiAgICAvLyBnZW5lcmF0ZWQgY29uc3RydWN0IHNvdXJjZSBmaWxlIHRvIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgYnVuZGxlXG4gICAgLy8gaW5kZXguanMgYnkgcmVzb2x2aW5nIHRoZW0gYXMgYWJzb2x1dGUgcGF0aHMgZmlyc3QuXG4gICAgLy8gZS5nOlxuICAgIC8vICAtIG91dGZpbGVBYnMgPT4gYC9wcm9qZWN0LW91dGRpci9hc3NldHMvZm9vL2Jhci9iYXovZm9vLWZ1bmN0aW9uL2luZGV4LmpzYFxuICAgIC8vICAtIGNvbnN0cnVjdEFicyA9PiBgL3Byb2plY3Qtb3V0ZGlyL3NyYy9mb28vYmFyL2Jhei9mb28tZnVuY3Rpb24udHNgXG4gICAgY29uc3Qgb3V0ZmlsZUFicyA9IGpvaW4ocHJvamVjdC5vdXRkaXIsIGJ1bmRsZS5vdXRmaWxlKTtcbiAgICBjb25zdCBjb25zdHJ1Y3RBYnMgPSBqb2luKHByb2plY3Qub3V0ZGlyLCBjb25zdHJ1Y3RGaWxlKTtcbiAgICBjb25zdCByZWxhdGl2ZU91dGZpbGUgPSByZWxhdGl2ZShkaXJuYW1lKGNvbnN0cnVjdEFicyksIGRpcm5hbWUob3V0ZmlsZUFicykpO1xuXG4gICAgY29uc3Qgc3JjID0gbmV3IFNvdXJjZUNvZGUocHJvamVjdCwgY29uc3RydWN0RmlsZSk7XG4gICAgc3JjLmxpbmUoYC8vICR7RmlsZUJhc2UuUFJPSkVOX01BUktFUn1gKTtcbiAgICBzcmMubGluZSgnaW1wb3J0ICogYXMgcGF0aCBmcm9tIFxcJ3BhdGhcXCc7Jyk7XG4gICAgc3JjLmxpbmUoJ2ltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFxcJ0Bhd3MtY2RrL2F3cy1sYW1iZGFcXCc7Jyk7XG4gICAgc3JjLmxpbmUoJ2ltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXFwnQGF3cy1jZGsvY29yZVxcJzsnKTtcbiAgICBzcmMubGluZSgpO1xuICAgIHNyYy5saW5lKCcvKionKTtcbiAgICBzcmMubGluZShgICogUHJvcHMgZm9yICR7Y29uc3RydWN0TmFtZX1gKTtcbiAgICBzcmMubGluZSgnICovJyk7XG4gICAgc3JjLm9wZW4oYGV4cG9ydCBpbnRlcmZhY2UgJHtwcm9wc1R5cGV9IGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyB7YCk7XG4gICAgc3JjLmNsb3NlKCd9Jyk7XG4gICAgc3JjLmxpbmUoKTtcbiAgICBzcmMubGluZSgnLyoqJyk7XG4gICAgc3JjLmxpbmUoYCAqIEFuIEFXUyBMYW1iZGEgZnVuY3Rpb24gd2hpY2ggZXhlY3V0ZXMgJHtiYXNlUGF0aH0uYCk7XG4gICAgc3JjLmxpbmUoJyAqLycpO1xuICAgIHNyYy5vcGVuKGBleHBvcnQgY2xhc3MgJHtjb25zdHJ1Y3ROYW1lfSBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbiB7YCk7XG4gICAgc3JjLm9wZW4oYGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogJHtwcm9wc1R5cGV9KSB7YCk7XG4gICAgc3JjLm9wZW4oJ3N1cGVyKHNjb3BlLCBpZCwgeycpO1xuICAgIHNyYy5saW5lKGBkZXNjcmlwdGlvbjogJyR7ZW50cnlwb2ludH0nLGApO1xuICAgIHNyYy5saW5lKCcuLi5wcm9wcywnKTtcbiAgICBzcmMubGluZShgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuJHtydW50aW1lLmZ1bmN0aW9uUnVudGltZX0sYCk7XG4gICAgc3JjLmxpbmUoJ2hhbmRsZXI6IFxcJ2luZGV4LmhhbmRsZXJcXCcsJyk7XG4gICAgc3JjLmxpbmUoYGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnJHtyZWxhdGl2ZU91dGZpbGV9JykpLGApO1xuICAgIHNyYy5jbG9zZSgnfSk7Jyk7XG4gICAgc3JjLmNsb3NlKCd9Jyk7XG4gICAgc3JjLmNsb3NlKCd9Jyk7XG5cbiAgICB0aGlzLnByb2plY3QubG9nZ2VyLnZlcmJvc2UoYCR7YmFzZVBhdGh9OiBjb25zdHJ1Y3QgXCIke2NvbnN0cnVjdE5hbWV9XCIgZ2VuZXJhdGVkIHVuZGVyIFwiJHtjb25zdHJ1Y3RGaWxlfVwiYCk7XG4gICAgdGhpcy5wcm9qZWN0LmxvZ2dlci52ZXJib3NlKGAke2Jhc2VQYXRofTogYnVuZGxlIHRhc2sgXCIke2J1bmRsZS5idW5kbGVUYXNrLm5hbWV9XCJgKTtcbiAgICBpZiAoYnVuZGxlLndhdGNoVGFzaykge1xuICAgICAgdGhpcy5wcm9qZWN0LmxvZ2dlci52ZXJib3NlKGAke2Jhc2VQYXRofTogYnVuZGxlIHdhdGNoIHRhc2sgXCIke2J1bmRsZS53YXRjaFRhc2submFtZX1cImApO1xuICAgIH1cbiAgfVxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBMYW1iZGFSdW50aW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERUpTXzEwX1ggPSBuZXcgTGFtYmRhUnVudGltZSgnTk9ERUpTXzEwX1gnLCAnbm9kZTEwJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERUpTXzEyX1ggPSBuZXcgTGFtYmRhUnVudGltZSgnTk9ERUpTXzEyX1gnLCAnbm9kZTEyJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERUpTXzE0X1ggPSBuZXcgTGFtYmRhUnVudGltZSgnTk9ERUpTXzE0X1gnLCAnbm9kZTE0Jyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGVzYnVpbGRQbGF0Zm9ybSA9ICdub2RlJztcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIFRoZSBhd3MtbGFtYmRhLlJ1bnRpbWUgbWVtYmVyIG5hbWUgdG8gdXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBmdW5jdGlvblJ1bnRpbWU6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIFRoZSBlc2J1aWxkIHNldHRpbmcgdG8gdXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBlc2J1aWxkVGFyZ2V0OiBzdHJpbmcpIHtcbiAgfVxufSJdfQ==
|
package/lib/awscdk-app-ts.js
CHANGED
|
@@ -97,7 +97,7 @@ class AwsCdkTypeScriptApp extends typescript_1.TypeScriptAppProject {
|
|
|
97
97
|
}
|
|
98
98
|
exports.AwsCdkTypeScriptApp = AwsCdkTypeScriptApp;
|
|
99
99
|
_a = JSII_RTTI_SYMBOL_1;
|
|
100
|
-
AwsCdkTypeScriptApp[_a] = { fqn: "projen.AwsCdkTypeScriptApp", version: "0.34.
|
|
100
|
+
AwsCdkTypeScriptApp[_a] = { fqn: "projen.AwsCdkTypeScriptApp", version: "0.34.10" };
|
|
101
101
|
class SampleCode extends component_1.Component {
|
|
102
102
|
constructor(project, cdkMajorVersion) {
|
|
103
103
|
super(project);
|