projen 0.79.4__py3-none-any.whl → 0.98.25__py3-none-any.whl
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.
- projen/__init__.py +1234 -86
- projen/_jsii/__init__.py +20 -2
- projen/_jsii/projen@0.98.25.jsii.tgz +0 -0
- projen/awscdk/__init__.py +1758 -230
- projen/build/__init__.py +290 -129
- projen/cdk/__init__.py +1030 -151
- projen/cdk8s/__init__.py +833 -109
- projen/cdktf/__init__.py +389 -50
- projen/circleci/__init__.py +35 -1
- projen/github/__init__.py +2224 -312
- projen/github/workflows/__init__.py +403 -17
- projen/gitlab/__init__.py +241 -8
- projen/java/__init__.py +471 -4
- projen/javascript/__init__.py +2276 -143
- projen/javascript/biome_config/__init__.py +5461 -0
- projen/python/__init__.py +3390 -1037
- projen/python/uv_config/__init__.py +3933 -0
- projen/release/__init__.py +1080 -138
- projen/typescript/__init__.py +992 -118
- projen/vscode/__init__.py +22 -1
- projen/web/__init__.py +1456 -163
- {projen-0.79.4.data → projen-0.98.25.data}/scripts/projen +1 -1
- {projen-0.79.4.dist-info → projen-0.98.25.dist-info}/METADATA +42 -41
- projen-0.98.25.dist-info/RECORD +28 -0
- {projen-0.79.4.dist-info → projen-0.98.25.dist-info}/WHEEL +1 -1
- projen/_jsii/projen@0.79.4.jsii.tgz +0 -0
- projen-0.79.4.dist-info/RECORD +0 -26
- {projen-0.79.4.dist-info → projen-0.98.25.dist-info}/LICENSE +0 -0
- {projen-0.79.4.dist-info → projen-0.98.25.dist-info}/top_level.txt +0 -0
projen/__init__.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'''
|
|
1
|
+
r'''
|
|
2
2
|
<p align="center">
|
|
3
3
|
<a href="https://projen.io">
|
|
4
4
|
<img src="https://raw.githubusercontent.com/projen/projen/main/logo/projen.svg">
|
|
@@ -286,14 +286,6 @@ projen has an unofficial [VS Code extension](https://marketplace.visualstudio.co
|
|
|
286
286
|
The projen community can be found within the #projen channel in the [cdk.dev](https://cdk.dev/)
|
|
287
287
|
community Slack workspace.
|
|
288
288
|
|
|
289
|
-
### Virtual Meetup
|
|
290
|
-
|
|
291
|
-
* Thursday June 30, 2022
|
|
292
|
-
* 1-2pm America/New_York (EDT)
|
|
293
|
-
* [CFP](https://bit.ly/3NEc0UQ) a Google Form
|
|
294
|
-
* CFP Closes Saturday April 30, 2022
|
|
295
|
-
* Hosted on [Zoom](https://zoom.us/j/92399854777?pwd=OUZybHlobHNoZUs1VVordWhaRTVGdz09#success)
|
|
296
|
-
|
|
297
289
|
## Contributions
|
|
298
290
|
|
|
299
291
|
Contributions of all kinds are welcome! Check out our [contributor's
|
|
@@ -304,15 +296,15 @@ For a quick start, check out a development environment:
|
|
|
304
296
|
```bash
|
|
305
297
|
$ git clone git@github.com:projen/projen
|
|
306
298
|
$ cd projen
|
|
307
|
-
$
|
|
308
|
-
$
|
|
299
|
+
$ npm ci
|
|
300
|
+
$ npm run watch # compile in the background
|
|
309
301
|
```
|
|
310
302
|
|
|
311
303
|
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
|
|
312
304
|
|
|
313
305
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
314
306
|
|
|
315
|
-
[](#contributors-)
|
|
316
308
|
|
|
317
309
|
<!-- ALL-CONTRIBUTORS-BADGE:END --><!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --><!-- prettier-ignore-start --><!-- markdownlint-disable --><table>
|
|
318
310
|
<tbody>
|
|
@@ -320,167 +312,176 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
320
312
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Hunter-Thompson"><img src="https://avatars.githubusercontent.com/u/20844961?v=4?s=100" width="100px;" alt=" Aatman "/><br /><sub><b> Aatman </b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=Hunter-Thompson" title="Code">💻</a></td>
|
|
321
313
|
<td align="center" valign="top" width="14.28%"><a href="https://accenture.github.io/"><img src="https://avatars.githubusercontent.com/u/43275295?v=4?s=100" width="100px;" alt="Abdullah Sahin"/><br /><sub><b>Abdullah Sahin</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=abdsahin" title="Code">💻</a></td>
|
|
322
314
|
<td align="center" valign="top" width="14.28%"><a href="https://adam.dev/"><img src="https://avatars.githubusercontent.com/u/2363879?v=4?s=100" width="100px;" alt="Adam"/><br /><sub><b>Adam</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=adamdottv" title="Code">💻</a></td>
|
|
315
|
+
<td align="center" valign="top" width="14.28%"><a href="https://adamelkhayyat.github.io/"><img src="https://avatars.githubusercontent.com/u/19326038?v=4?s=100" width="100px;" alt="Adam ElKhayyat"/><br /><sub><b>Adam ElKhayyat</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=adamelkhayyat" title="Code">💻</a></td>
|
|
323
316
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/adamelmore"><img src="https://avatars2.githubusercontent.com/u/2363879?v=4?s=100" width="100px;" alt="Adam Elmore"/><br /><sub><b>Adam Elmore</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=adamelmore" title="Code">💻</a></td>
|
|
324
317
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/agdimech"><img src="https://avatars.githubusercontent.com/u/51220968?v=4?s=100" width="100px;" alt="Adrian Dimech"/><br /><sub><b>Adrian Dimech</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=agdimech" title="Code">💻</a></td>
|
|
325
318
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/adrianmace"><img src="https://avatars.githubusercontent.com/u/5071859?v=4?s=100" width="100px;" alt="Adrian Mace"/><br /><sub><b>Adrian Mace</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=adrianmace" title="Code">💻</a></td>
|
|
326
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/alejandrolorefice"><img src="https://avatars.githubusercontent.com/u/24880460?v=4?s=100" width="100px;" alt="Alejandro Lorefice"/><br /><sub><b>Alejandro Lorefice</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=alejandrolorefice" title="Code">💻</a></td>
|
|
327
319
|
</tr>
|
|
328
320
|
<tr>
|
|
321
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/alejandrolorefice"><img src="https://avatars.githubusercontent.com/u/24880460?v=4?s=100" width="100px;" alt="Alejandro Lorefice"/><br /><sub><b>Alejandro Lorefice</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=alejandrolorefice" title="Code">💻</a></td>
|
|
329
322
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/alexforsyth"><img src="https://avatars.githubusercontent.com/u/8712303?v=4?s=100" width="100px;" alt="Alexander Forsyth"/><br /><sub><b>Alexander Forsyth</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=alexforsyth" title="Code">💻</a></td>
|
|
330
323
|
<td align="center" valign="top" width="14.28%"><a href="https://unsubstantiated.blog/"><img src="https://avatars.githubusercontent.com/u/1308885?v=4?s=100" width="100px;" alt="Alexander Steppke"/><br /><sub><b>Alexander Steppke</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=Miradorn" title="Code">💻</a></td>
|
|
331
324
|
<td align="center" valign="top" width="14.28%"><a href="https://amani.kilumanga.com/"><img src="https://avatars.githubusercontent.com/u/8690282?v=4?s=100" width="100px;" alt="Amani Kilumanga"/><br /><sub><b>Amani Kilumanga</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=dkaksl" title="Code">💻</a></td>
|
|
332
325
|
<td align="center" valign="top" width="14.28%"><a href="https://amin.fazl.me/"><img src="https://avatars.githubusercontent.com/u/62678026?v=4?s=100" width="100px;" alt="Amin Fazl"/><br /><sub><b>Amin Fazl</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=AminFazlMondo" title="Code">💻</a></td>
|
|
333
326
|
<td align="center" valign="top" width="14.28%"><a href="https://kichik.com/"><img src="https://avatars.githubusercontent.com/u/1156773?v=4?s=100" width="100px;" alt="Amir Szekely"/><br /><sub><b>Amir Szekely</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=kichik" title="Code">💻</a></td>
|
|
334
327
|
<td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/amartinsg/"><img src="https://avatars.githubusercontent.com/u/54241354?v=4?s=100" width="100px;" alt="Anderson Gomes"/><br /><sub><b>Anderson Gomes</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=andersonmgomes" title="Code">💻</a></td>
|
|
335
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/asdcamargo"><img src="https://avatars.githubusercontent.com/u/4683431?v=4?s=100" width="100px;" alt="Andre de Camargo"/><br /><sub><b>Andre de Camargo</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=asdcamargo" title="Code">💻</a></td>
|
|
336
328
|
</tr>
|
|
337
329
|
<tr>
|
|
330
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/asdcamargo"><img src="https://avatars.githubusercontent.com/u/4683431?v=4?s=100" width="100px;" alt="Andre de Camargo"/><br /><sub><b>Andre de Camargo</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=asdcamargo" title="Code">💻</a></td>
|
|
338
331
|
<td align="center" valign="top" width="14.28%"><a href="http://comfortabledelusions.blogspot.com/"><img src="https://avatars.githubusercontent.com/u/445764?v=4?s=100" width="100px;" alt="Andrew Hammond"/><br /><sub><b>Andrew Hammond</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=ahammond" title="Code">💻</a></td>
|
|
332
|
+
<td align="center" valign="top" width="14.28%"><a href="http://apkostka.com/"><img src="https://avatars.githubusercontent.com/u/788482?v=4?s=100" width="100px;" alt="Andrew Kostka"/><br /><sub><b>Andrew Kostka</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=apkostka" title="Code">💻</a></td>
|
|
339
333
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/dippi"><img src="https://avatars.githubusercontent.com/u/3977098?v=4?s=100" width="100px;" alt="Angelo Di Pilla"/><br /><sub><b>Angelo Di Pilla</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=dippi" title="Code">💻</a></td>
|
|
340
334
|
<td align="center" valign="top" width="14.28%"><a href="https://ansgar.dev/"><img src="https://avatars.githubusercontent.com/u/1112056?v=4?s=100" width="100px;" alt="Ansgar Mertens"/><br /><sub><b>Ansgar Mertens</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=ansgarm" title="Code">💻</a></td>
|
|
341
335
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/yoyomo"><img src="https://avatars.githubusercontent.com/u/12818568?v=4?s=100" width="100px;" alt="Armando J. Ortiz Garcia"/><br /><sub><b>Armando J. Ortiz Garcia</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=yoyomo" title="Code">💻</a></td>
|
|
342
336
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/dontirun"><img src="https://avatars.githubusercontent.com/u/4570879?v=4?s=100" width="100px;" alt="Arun Donti"/><br /><sub><b>Arun Donti</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=dontirun" title="Code">💻</a></td>
|
|
343
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/abelmokadem"><img src="https://avatars0.githubusercontent.com/u/9717944?v=4?s=100" width="100px;" alt="Ash"/><br /><sub><b>Ash</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=abelmokadem" title="Code">💻</a></td>
|
|
344
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kanatti"><img src="https://avatars.githubusercontent.com/u/8623654?v=4?s=100" width="100px;" alt="Balagopal Kanattil"/><br /><sub><b>Balagopal Kanattil</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=kanatti" title="Code">💻</a></td>
|
|
345
337
|
</tr>
|
|
346
338
|
<tr>
|
|
339
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/abelmokadem"><img src="https://avatars0.githubusercontent.com/u/9717944?v=4?s=100" width="100px;" alt="Ash"/><br /><sub><b>Ash</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=abelmokadem" title="Code">💻</a></td>
|
|
340
|
+
<td align="center" valign="top" width="14.28%"><a href="https://austinbriggs.dev/"><img src="https://avatars.githubusercontent.com/u/7308231?v=4?s=100" width="100px;" alt="Austin"/><br /><sub><b>Austin</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=awbdallas" title="Code">💻</a></td>
|
|
341
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kanatti"><img src="https://avatars.githubusercontent.com/u/8623654?v=4?s=100" width="100px;" alt="Balagopal Kanattil"/><br /><sub><b>Balagopal Kanattil</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=kanatti" title="Code">💻</a></td>
|
|
347
342
|
<td align="center" valign="top" width="14.28%"><a href="http://www.callant.net/"><img src="https://avatars1.githubusercontent.com/u/5915843?v=4?s=100" width="100px;" alt="Bart Callant"/><br /><sub><b>Bart Callant</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=bartcallant" title="Code">💻</a></td>
|
|
348
343
|
<td align="center" valign="top" width="14.28%"><a href="https://beau.sh/"><img src="https://avatars.githubusercontent.com/u/127320?v=4?s=100" width="100px;" alt="Beau Bouchard"/><br /><sub><b>Beau Bouchard</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=BeauBouchard" title="Code">💻</a></td>
|
|
349
344
|
<td align="center" valign="top" width="14.28%"><a href="https://benlimmer.com/"><img src="https://avatars.githubusercontent.com/u/630449?v=4?s=100" width="100px;" alt="Ben Limmer"/><br /><sub><b>Ben Limmer</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=blimmer" title="Code">💻</a></td>
|
|
350
345
|
<td align="center" valign="top" width="14.28%"><a href="https://bilalquadri.com/"><img src="https://avatars.githubusercontent.com/u/707147?v=4?s=100" width="100px;" alt="Bilal Quadri"/><br /><sub><b>Bilal Quadri</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=bilalq" title="Code">💻</a></td>
|
|
346
|
+
</tr>
|
|
347
|
+
<tr>
|
|
351
348
|
<td align="center" valign="top" width="14.28%"><a href="https://transacid.de/"><img src="https://avatars.githubusercontent.com/u/113231?v=4?s=100" width="100px;" alt="Boris Petersen"/><br /><sub><b>Boris Petersen</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=transacid" title="Code">💻</a></td>
|
|
352
349
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/BradenM"><img src="https://avatars.githubusercontent.com/u/5913808?v=4?s=100" width="100px;" alt="Braden Mars"/><br /><sub><b>Braden Mars</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=BradenM" title="Code">💻</a></td>
|
|
353
350
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bmiller08"><img src="https://avatars.githubusercontent.com/u/13002874?v=4?s=100" width="100px;" alt="Brandon Miller"/><br /><sub><b>Brandon Miller</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=bmiller08" title="Code">💻</a></td>
|
|
354
|
-
</tr>
|
|
355
|
-
<tr>
|
|
356
351
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bhleonard"><img src="https://avatars.githubusercontent.com/u/1961679?v=4?s=100" width="100px;" alt="Brian Leonard"/><br /><sub><b>Brian Leonard</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=bhleonard" title="Code">💻</a></td>
|
|
357
352
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/comcalvi"><img src="https://avatars.githubusercontent.com/u/66279577?v=4?s=100" width="100px;" alt="Calvin Combs"/><br /><sub><b>Calvin Combs</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=comcalvi" title="Code">💻</a></td>
|
|
358
353
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/cameroncf"><img src="https://avatars.githubusercontent.com/u/789760?v=4?s=100" width="100px;" alt="Cameron Childress"/><br /><sub><b>Cameron Childress</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=cameroncf" title="Code">💻</a></td>
|
|
359
354
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/campionfellin"><img src="https://avatars3.githubusercontent.com/u/11984923?v=4?s=100" width="100px;" alt="Campion Fellin"/><br /><sub><b>Campion Fellin</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=campionfellin" title="Code">💻</a></td>
|
|
355
|
+
</tr>
|
|
356
|
+
<tr>
|
|
357
|
+
<td align="center" valign="top" width="14.28%"><a href="https://medium.com/@caodanju"><img src="https://avatars.githubusercontent.com/u/18650321?v=4?s=100" width="100px;" alt="Cao Peng"/><br /><sub><b>Cao Peng</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=caopengau" title="Code">💻</a></td>
|
|
360
358
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ctasada"><img src="https://avatars.githubusercontent.com/u/1381772?v=4?s=100" width="100px;" alt="Carlos Tasada"/><br /><sub><b>Carlos Tasada</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=ctasada" title="Code">💻</a></td>
|
|
359
|
+
<td align="center" valign="top" width="14.28%"><a href="https://chrisb.cloud/"><img src="https://avatars.githubusercontent.com/u/12206103?v=4?s=100" width="100px;" alt="Chris Bateman"/><br /><sub><b>Chris Bateman</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=chris-bateman" title="Code">💻</a></td>
|
|
361
360
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/cgatt"><img src="https://avatars.githubusercontent.com/u/45865322?v=4?s=100" width="100px;" alt="Chris Gatt"/><br /><sub><b>Chris Gatt</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=cgatt" title="Code">💻</a></td>
|
|
362
361
|
<td align="center" valign="top" width="14.28%"><a href="https://rybicki.io/"><img src="https://avatars2.githubusercontent.com/u/5008987?v=4?s=100" width="100px;" alt="Christopher Rybicki"/><br /><sub><b>Christopher Rybicki</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=Chriscbr" title="Code">💻</a></td>
|
|
363
|
-
</tr>
|
|
364
|
-
<tr>
|
|
365
362
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/corymhall"><img src="https://avatars.githubusercontent.com/u/43035978?v=4?s=100" width="100px;" alt="Cory Hall"/><br /><sub><b>Cory Hall</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=corymhall" title="Code">💻</a></td>
|
|
366
363
|
<td align="center" valign="top" width="14.28%"><a href="https://aws.amazon.com/chime/chime-sdk/"><img src="https://avatars.githubusercontent.com/u/71404236?v=4?s=100" width="100px;" alt="Court Schuett"/><br /><sub><b>Court Schuett</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=schuettc" title="Code">💻</a></td>
|
|
364
|
+
</tr>
|
|
365
|
+
<tr>
|
|
367
366
|
<td align="center" valign="top" width="14.28%"><a href="https://medium.com/@craig.burdulis"><img src="https://avatars.githubusercontent.com/u/12520946?v=4?s=100" width="100px;" alt="Craig Burdulis"/><br /><sub><b>Craig Burdulis</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=icj217" title="Code">💻</a></td>
|
|
368
367
|
<td align="center" valign="top" width="14.28%"><a href="https://pallares.io/"><img src="https://avatars3.githubusercontent.com/u/1077520?v=4?s=100" width="100px;" alt="Cristian Pallarés"/><br /><sub><b>Cristian Pallarés</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=skyrpex" title="Code">💻</a></td>
|
|
369
368
|
<td align="center" valign="top" width="14.28%"><a href="http://danielmschmidt.de/"><img src="https://avatars.githubusercontent.com/u/1337046?v=4?s=100" width="100px;" alt="Daniel Schmidt"/><br /><sub><b>Daniel Schmidt</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=DanielMSchmidt" title="Code">💻</a></td>
|
|
370
369
|
<td align="center" valign="top" width="14.28%"><a href="https://typefully.com/dannysteenman"><img src="https://avatars.githubusercontent.com/u/15192660?v=4?s=100" width="100px;" alt="Danny Steenman"/><br /><sub><b>Danny Steenman</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=dannysteenman" title="Code">💻</a></td>
|
|
371
370
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/dkershner6"><img src="https://avatars.githubusercontent.com/u/25798427?v=4?s=100" width="100px;" alt="Derek Kershner"/><br /><sub><b>Derek Kershner</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=dkershner6" title="Code">💻</a></td>
|
|
372
|
-
</tr>
|
|
373
|
-
<tr>
|
|
374
371
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/eduardomourar"><img src="https://avatars.githubusercontent.com/u/16357187?v=4?s=100" width="100px;" alt="Eduardo Rodrigues"/><br /><sub><b>Eduardo Rodrigues</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=eduardomourar" title="Code">💻</a></td>
|
|
375
372
|
<td align="center" valign="top" width="14.28%"><a href="http://eladb.github.com/"><img src="https://avatars3.githubusercontent.com/u/598796?v=4?s=100" width="100px;" alt="Elad Ben-Israel"/><br /><sub><b>Elad Ben-Israel</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=eladb" title="Code">💻</a></td>
|
|
373
|
+
</tr>
|
|
374
|
+
<tr>
|
|
376
375
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/iliapolo"><img src="https://avatars.githubusercontent.com/u/1428812?v=4?s=100" width="100px;" alt="Eli Polonsky"/><br /><sub><b>Eli Polonsky</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=iliapolo" title="Code">💻</a></td>
|
|
377
376
|
<td align="center" valign="top" width="14.28%"><a href="https://elig.io/"><img src="https://avatars.githubusercontent.com/u/22875166?v=4?s=100" width="100px;" alt="Eligio Mariño"/><br /><sub><b>Eligio Mariño</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=gmeligio" title="Code">💻</a></td>
|
|
378
377
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Tucker-Eric"><img src="https://avatars.githubusercontent.com/u/6483755?v=4?s=100" width="100px;" alt="Eric Tucker"/><br /><sub><b>Eric Tucker</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=Tucker-Eric" title="Code">💻</a></td>
|
|
379
378
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/echeung-amzn"><img src="https://avatars.githubusercontent.com/u/81188333?v=4?s=100" width="100px;" alt="Eugene Cheung"/><br /><sub><b>Eugene Cheung</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=echeung-amzn" title="Code">💻</a></td>
|
|
380
379
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FonsBiemans"><img src="https://avatars.githubusercontent.com/u/34266227?v=4?s=100" width="100px;" alt="Fons Biemans"/><br /><sub><b>Fons Biemans</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=FonsBiemans" title="Code">💻</a></td>
|
|
380
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/froblesmartin"><img src="https://avatars.githubusercontent.com/u/18084174?v=4?s=100" width="100px;" alt="Francisco Robles Martín"/><br /><sub><b>Francisco Robles Martín</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=froblesmartin" title="Documentation">📖</a></td>
|
|
381
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/fynnfluegge"><img src="https://avatars.githubusercontent.com/u/16321871?v=4?s=100" width="100px;" alt="Fynn Flügge"/><br /><sub><b>Fynn Flügge</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=fynnfluegge" title="Code">💻</a></td>
|
|
381
382
|
</tr>
|
|
382
383
|
<tr>
|
|
383
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/fynnfluegge"><img src="https://avatars.githubusercontent.com/u/16321871?v=4?s=100" width="100px;" alt="Fynn Flügge"/><br /><sub><b>Fynn Flügge</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=fynnfluegge" title="Code">💻</a></td>
|
|
384
384
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/garysassano"><img src="https://avatars.githubusercontent.com/u/10464497?v=4?s=100" width="100px;" alt="Gary Sassano"/><br /><sub><b>Gary Sassano</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=garysassano" title="Code">💻</a></td>
|
|
385
385
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/gradybarrett"><img src="https://avatars1.githubusercontent.com/u/1140074?v=4?s=100" width="100px;" alt="Grady Barrett"/><br /><sub><b>Grady Barrett</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=gradybarrett" title="Code">💻</a></td>
|
|
386
386
|
<td align="center" valign="top" width="14.28%"><a href="http://blog.herlein.com/"><img src="https://avatars.githubusercontent.com/u/173428?v=4?s=100" width="100px;" alt="Greg Herlein"/><br /><sub><b>Greg Herlein</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=gherlein" title="Code">💻</a></td>
|
|
387
387
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/GreggSetzer"><img src="https://avatars.githubusercontent.com/u/1624443?v=4?s=100" width="100px;" alt="Gregg"/><br /><sub><b>Gregg</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=GreggSetzer" title="Code">💻</a></td>
|
|
388
388
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/hasanaburayyan"><img src="https://avatars.githubusercontent.com/u/45375125?v=4?s=100" width="100px;" alt="Hasan"/><br /><sub><b>Hasan</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=hasanaburayyan" title="Code">💻</a></td>
|
|
389
389
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/hassanazharkhan"><img src="https://avatars.githubusercontent.com/u/57677979?v=4?s=100" width="100px;" alt="Hassan Azhar"/><br /><sub><b>Hassan Azhar</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=hassanazharkhan" title="Code">💻</a></td>
|
|
390
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/HassanMahmud"><img src="https://avatars3.githubusercontent.com/u/58504381?v=4?s=100" width="100px;" alt="Hassan Mahmud"/><br /><sub><b>Hassan Mahmud</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=HassanMahmud" title="Code">💻</a></td>
|
|
390
391
|
</tr>
|
|
391
392
|
<tr>
|
|
392
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/HassanMahmud"><img src="https://avatars3.githubusercontent.com/u/58504381?v=4?s=100" width="100px;" alt="Hassan Mahmud"/><br /><sub><b>Hassan Mahmud</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=HassanMahmud" title="Code">💻</a></td>
|
|
393
393
|
<td align="center" valign="top" width="14.28%"><a href="https://dk.linkedin.com/in/hassanmahmud93"><img src="https://avatars1.githubusercontent.com/u/7426703?v=4?s=100" width="100px;" alt="Hassan Mahmud"/><br /><sub><b>Hassan Mahmud</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=hass123uk" title="Code">💻</a></td>
|
|
394
394
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mKeRix"><img src="https://avatars.githubusercontent.com/u/770596?v=4?s=100" width="100px;" alt="Heiko Rothe"/><br /><sub><b>Heiko Rothe</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=mKeRix" title="Code">💻</a></td>
|
|
395
395
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/hyandell"><img src="https://avatars.githubusercontent.com/u/477715?v=4?s=100" width="100px;" alt="Henri Yandell"/><br /><sub><b>Henri Yandell</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=hyandell" title="Code">💻</a></td>
|
|
396
396
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/henrysachs"><img src="https://avatars0.githubusercontent.com/u/17173951?v=4?s=100" width="100px;" alt="Henry Sachs"/><br /><sub><b>Henry Sachs</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=henrysachs" title="Code">💻</a></td>
|
|
397
397
|
<td align="center" valign="top" width="14.28%"><a href="https://blog.hoseung.me/"><img src="https://avatars.githubusercontent.com/u/39669819?v=4?s=100" width="100px;" alt="Hoseung"/><br /><sub><b>Hoseung</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=HoseungJang" title="Code">💻</a></td>
|
|
398
398
|
<td align="center" valign="top" width="14.28%"><a href="https://bandism.net/"><img src="https://avatars.githubusercontent.com/u/22633385?v=4?s=100" width="100px;" alt="Ikko Ashimine"/><br /><sub><b>Ikko Ashimine</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=eltociear" title="Code">💻</a></td>
|
|
399
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jackleslie"><img src="https://avatars.githubusercontent.com/u/52004409?v=4?s=100" width="100px;" alt="Jack Leslie"/><br /><sub><b>Jack Leslie</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=jackleslie" title="Code">💻</a></td>
|
|
399
400
|
</tr>
|
|
400
401
|
<tr>
|
|
401
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jackleslie"><img src="https://avatars.githubusercontent.com/u/52004409?v=4?s=100" width="100px;" alt="Jack Leslie"/><br /><sub><b>Jack Leslie</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=jackleslie" title="Code">💻</a></td>
|
|
402
402
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/JackMoseley2001"><img src="https://avatars.githubusercontent.com/u/10659397?v=4?s=100" width="100px;" alt="Jack Moseley"/><br /><sub><b>Jack Moseley</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=JackMoseley2001" title="Code">💻</a></td>
|
|
403
403
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/cogwirrel"><img src="https://avatars.githubusercontent.com/u/1848603?v=4?s=100" width="100px;" alt="Jack Stevenson"/><br /><sub><b>Jack Stevenson</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=cogwirrel" title="Code">💻</a></td>
|
|
404
404
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jmourelos"><img src="https://avatars3.githubusercontent.com/u/3878434?v=4?s=100" width="100px;" alt="Jacob"/><br /><sub><b>Jacob</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=jmourelos" title="Code">💻</a></td>
|
|
405
405
|
<td align="center" valign="top" width="14.28%"><a href="http://joapy.com/"><img src="https://avatars3.githubusercontent.com/u/325306?v=4?s=100" width="100px;" alt="Jake Pearson"/><br /><sub><b>Jake Pearson</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=jakepearson" title="Code">💻</a></td>
|
|
406
406
|
<td align="center" valign="top" width="14.28%"><a href="http://twitter.com/bracki"><img src="https://avatars.githubusercontent.com/u/49786?v=4?s=100" width="100px;" alt="Jan Brauer"/><br /><sub><b>Jan Brauer</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=bracki" title="Code">💻</a></td>
|
|
407
407
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jmalins"><img src="https://avatars.githubusercontent.com/u/2001356?v=4?s=100" width="100px;" alt="Jeff Malins"/><br /><sub><b>Jeff Malins</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=jmalins" title="Code">💻</a></td>
|
|
408
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/JeremyJonas"><img src="https://avatars1.githubusercontent.com/u/464119?v=4?s=100" width="100px;" alt="Jeremy Jonas"/><br /><sub><b>Jeremy Jonas</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=JeremyJonas" title="Code">💻</a></td>
|
|
408
409
|
</tr>
|
|
409
410
|
<tr>
|
|
410
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/JeremyJonas"><img src="https://avatars1.githubusercontent.com/u/464119?v=4?s=100" width="100px;" alt="Jeremy Jonas"/><br /><sub><b>Jeremy Jonas</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=JeremyJonas" title="Code">💻</a></td>
|
|
411
411
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jesse-grabowski"><img src="https://avatars.githubusercontent.com/u/2453853?v=4?s=100" width="100px;" alt="Jesse Grabowski"/><br /><sub><b>Jesse Grabowski</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=jesse-grabowski" title="Code">💻</a></td>
|
|
412
412
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jolo-dev"><img src="https://avatars.githubusercontent.com/u/54506108?v=4?s=100" width="100px;" alt="JoLo"/><br /><sub><b>JoLo</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=jolo-dev" title="Code">💻</a></td>
|
|
413
413
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/devnoo"><img src="https://avatars.githubusercontent.com/u/94448?v=4?s=100" width="100px;" alt="Job de Noo"/><br /><sub><b>Job de Noo</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=devnoo" title="Code">💻</a></td>
|
|
414
414
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jogold"><img src="https://avatars2.githubusercontent.com/u/12623249?v=4?s=100" width="100px;" alt="Jonathan Goldwasser"/><br /><sub><b>Jonathan Goldwasser</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=jogold" title="Code">💻</a></td>
|
|
415
415
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/joostvdwsd"><img src="https://avatars.githubusercontent.com/u/25637088?v=4?s=100" width="100px;" alt="Joost van der Waal"/><br /><sub><b>Joost van der Waal</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=joostvdwsd" title="Code">💻</a></td>
|
|
416
416
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/JordanSinko"><img src="https://avatars2.githubusercontent.com/u/10212966?v=4?s=100" width="100px;" alt="Jordan Sinko"/><br /><sub><b>Jordan Sinko</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=JordanSinko" title="Code">💻</a></td>
|
|
417
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/eganjs"><img src="https://avatars3.githubusercontent.com/u/6639482?v=4?s=100" width="100px;" alt="Joseph Egan"/><br /><sub><b>Joseph Egan</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=eganjs" title="Code">💻</a></td>
|
|
417
418
|
</tr>
|
|
418
419
|
<tr>
|
|
419
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/eganjs"><img src="https://avatars3.githubusercontent.com/u/6639482?v=4?s=100" width="100px;" alt="Joseph Egan"/><br /><sub><b>Joseph Egan</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=eganjs" title="Code">💻</a></td>
|
|
420
420
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/misterjoshua"><img src="https://avatars2.githubusercontent.com/u/644092?v=4?s=100" width="100px;" alt="Josh Kellendonk"/><br /><sub><b>Josh Kellendonk</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=misterjoshua" title="Code">💻</a></td>
|
|
421
421
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/juho9000"><img src="https://avatars.githubusercontent.com/u/13867853?v=4?s=100" width="100px;" alt="Juho Majasaari"/><br /><sub><b>Juho Majasaari</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=juho9000" title="Code">💻</a></td>
|
|
422
422
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Hi-Fi"><img src="https://avatars.githubusercontent.com/u/1499780?v=4?s=100" width="100px;" alt="Juho Saarinen"/><br /><sub><b>Juho Saarinen</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=Hi-Fi" title="Code">💻</a></td>
|
|
423
423
|
<td align="center" valign="top" width="14.28%"><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="Julian Michel"/><br /><sub><b>Julian Michel</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=jumic" title="Code">💻</a></td>
|
|
424
424
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kaizencc"><img src="https://avatars.githubusercontent.com/u/36202692?v=4?s=100" width="100px;" alt="Kaizen Conroy"/><br /><sub><b>Kaizen Conroy</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=kaizencc" title="Code">💻</a></td>
|
|
425
425
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kcwinner"><img src="https://avatars3.githubusercontent.com/u/2728868?v=4?s=100" width="100px;" alt="Kenneth Winner"/><br /><sub><b>Kenneth Winner</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=kcwinner" title="Code">💻</a></td>
|
|
426
|
+
<td align="center" valign="top" width="14.28%"><a href="https://kenneth.wussmann.net/"><img src="https://avatars.githubusercontent.com/u/11491506?v=4?s=100" width="100px;" alt="Kenneth Wußmann"/><br /><sub><b>Kenneth Wußmann</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=KennethWussmann" title="Code">💻</a></td>
|
|
426
427
|
</tr>
|
|
427
428
|
<tr>
|
|
428
|
-
<td align="center" valign="top" width="14.28%"><a href="https://kenneth.wussmann.net/"><img src="https://avatars.githubusercontent.com/u/11491506?v=4?s=100" width="100px;" alt="Kenneth Wußmann"/><br /><sub><b>Kenneth Wußmann</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=KennethWussmann" title="Code">💻</a></td>
|
|
429
429
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kennyg"><img src="https://avatars.githubusercontent.com/u/98244?v=4?s=100" width="100px;" alt="Kenny Gatdula"/><br /><sub><b>Kenny Gatdula</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=kennyg" title="Code">💻</a></td>
|
|
430
430
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tinovyatkin"><img src="https://avatars.githubusercontent.com/u/5350898?v=4?s=100" width="100px;" alt="Konstantin Vyatkin"/><br /><sub><b>Konstantin Vyatkin</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=tinovyatkin" title="Code">💻</a></td>
|
|
431
431
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/bigkraig"><img src="https://avatars1.githubusercontent.com/u/508403?v=4?s=100" width="100px;" alt="Kraig Amador"/><br /><sub><b>Kraig Amador</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=bigkraig" title="Code">💻</a></td>
|
|
432
432
|
<td align="center" valign="top" width="14.28%"><a href="https://kdabir.com/"><img src="https://avatars.githubusercontent.com/u/735240?v=4?s=100" width="100px;" alt="Kunal Dabir"/><br /><sub><b>Kunal Dabir</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=kdabir" title="Code">💻</a></td>
|
|
433
433
|
<td align="center" valign="top" width="14.28%"><a href="https://kylelaker.com/"><img src="https://avatars.githubusercontent.com/u/850893?v=4?s=100" width="100px;" alt="Kyle Laker"/><br /><sub><b>Kyle Laker</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=kylelaker" title="Code">💻</a></td>
|
|
434
434
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lexfelixpost"><img src="https://avatars.githubusercontent.com/u/112618115?v=4?s=100" width="100px;" alt="Lex Felix"/><br /><sub><b>Lex Felix</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=lexfelixpost" title="Code">💻</a></td>
|
|
435
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lexGPT"><img src="https://avatars.githubusercontent.com/u/112618115?v=4?s=100" width="100px;" alt="Lex Felix"/><br /><sub><b>Lex Felix</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=lexGPT" title="Code">💻</a></td>
|
|
435
436
|
</tr>
|
|
436
437
|
<tr>
|
|
437
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lexGPT"><img src="https://avatars.githubusercontent.com/u/112618115?v=4?s=100" width="100px;" alt="Lex Felix"/><br /><sub><b>Lex Felix</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=lexGPT" title="Code">💻</a></td>
|
|
438
438
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Liam-Johnston"><img src="https://avatars.githubusercontent.com/u/30859946?v=4?s=100" width="100px;" alt="Liam Johnston"/><br /><sub><b>Liam Johnston</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=Liam-Johnston" title="Code">💻</a></td>
|
|
439
439
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/WtfJoke"><img src="https://avatars.githubusercontent.com/u/7139697?v=4?s=100" width="100px;" alt="Manuel"/><br /><sub><b>Manuel</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=WtfJoke" title="Code">💻</a></td>
|
|
440
440
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/marciocadev"><img src="https://avatars.githubusercontent.com/u/67694075?v=4?s=100" width="100px;" alt="Marcio Cruz de Almeida"/><br /><sub><b>Marcio Cruz de Almeida</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=marciocadev" title="Code">💻</a></td>
|
|
441
441
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mmcculloh-dms"><img src="https://avatars.githubusercontent.com/u/68597641?v=4?s=100" width="100px;" alt="Mark McCulloh"/><br /><sub><b>Mark McCulloh</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=mmcculloh-dms" title="Code">💻</a></td>
|
|
442
442
|
<td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/mark-mcculloh/"><img src="https://avatars.githubusercontent.com/u/1237390?v=4?s=100" width="100px;" alt="Mark McCulloh"/><br /><sub><b>Mark McCulloh</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=MarkMcCulloh" title="Code">💻</a></td>
|
|
443
443
|
<td align="center" valign="top" width="14.28%"><a href="https://polothy.github.io/"><img src="https://avatars.githubusercontent.com/u/634657?v=4?s=100" width="100px;" alt="Mark Nielsen"/><br /><sub><b>Mark Nielsen</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=polothy" title="Code">💻</a></td>
|
|
444
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/schuch"><img src="https://avatars.githubusercontent.com/u/6401299?v=4?s=100" width="100px;" alt="Markus Schuch"/><br /><sub><b>Markus Schuch</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=schuch" title="Code">💻</a></td>
|
|
444
445
|
</tr>
|
|
445
446
|
<tr>
|
|
446
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/schuch"><img src="https://avatars.githubusercontent.com/u/6401299?v=4?s=100" width="100px;" alt="Markus Schuch"/><br /><sub><b>Markus Schuch</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=schuch" title="Code">💻</a></td>
|
|
447
447
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/marnixdessing"><img src="https://avatars.githubusercontent.com/u/14939820?v=4?s=100" width="100px;" alt="Marnix Dessing"/><br /><sub><b>Marnix Dessing</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=marnixdessing" title="Code">💻</a></td>
|
|
448
448
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mmuller88"><img src="https://avatars0.githubusercontent.com/u/18393842?v=4?s=100" width="100px;" alt="Martin Muller"/><br /><sub><b>Martin Muller</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=mmuller88" title="Code">💻</a></td>
|
|
449
449
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mzuber"><img src="https://avatars.githubusercontent.com/u/948563?v=4?s=100" width="100px;" alt="Martin Zuber"/><br /><sub><b>Martin Zuber</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=mzuber" title="Code">💻</a></td>
|
|
450
450
|
<td align="center" valign="top" width="14.28%"><a href="https://tmokmss.hatenablog.com/"><img src="https://avatars.githubusercontent.com/u/7490655?v=4?s=100" width="100px;" alt="Masashi Tomooka"/><br /><sub><b>Masashi Tomooka</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=tmokmss" title="Code">💻</a></td>
|
|
451
451
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/matt9ucci"><img src="https://avatars.githubusercontent.com/u/8044346?v=4?s=100" width="100px;" alt="Matt Gucci"/><br /><sub><b>Matt Gucci</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=matt9ucci" title="Code">💻</a></td>
|
|
452
452
|
<td align="center" valign="top" width="14.28%"><a href="https://dev.to/martzcodes"><img src="https://avatars1.githubusercontent.com/u/978362?v=4?s=100" width="100px;" alt="Matt Martz"/><br /><sub><b>Matt Martz</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=martzcodes" title="Code">💻</a></td>
|
|
453
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/diranged"><img src="https://avatars.githubusercontent.com/u/768067?v=4?s=100" width="100px;" alt="Matt Wise"/><br /><sub><b>Matt Wise</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=diranged" title="Code">💻</a></td>
|
|
453
454
|
</tr>
|
|
454
455
|
<tr>
|
|
455
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/diranged"><img src="https://avatars.githubusercontent.com/u/768067?v=4?s=100" width="100px;" alt="Matt Wise"/><br /><sub><b>Matt Wise</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=diranged" title="Code">💻</a></td>
|
|
456
456
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/msessa"><img src="https://avatars.githubusercontent.com/u/1912143?v=4?s=100" width="100px;" alt="Matteo Sessa"/><br /><sub><b>Matteo Sessa</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=msessa" title="Code">💻</a></td>
|
|
457
457
|
<td align="center" valign="top" width="14.28%"><a href="http://www.matthewbonig.com/"><img src="https://avatars2.githubusercontent.com/u/1559437?v=4?s=100" width="100px;" alt="Matthew Bonig"/><br /><sub><b>Matthew Bonig</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=mbonig" title="Code">💻</a></td>
|
|
458
458
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mwg-rea"><img src="https://avatars.githubusercontent.com/u/82480228?v=4?s=100" width="100px;" alt="Matthew Gamble"/><br /><sub><b>Matthew Gamble</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=mwg-rea" title="Code">💻</a></td>
|
|
459
459
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/fongie"><img src="https://avatars1.githubusercontent.com/u/19932622?v=4?s=100" width="100px;" alt="Max Körlinge"/><br /><sub><b>Max Körlinge</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=fongie" title="Code">💻</a></td>
|
|
460
460
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mayurm88"><img src="https://avatars.githubusercontent.com/u/75965317?v=4?s=100" width="100px;" alt="Mayur Mahrotri"/><br /><sub><b>Mayur Mahrotri</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=mayurm88" title="Code">💻</a></td>
|
|
461
461
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Mayureshd-18"><img src="https://avatars.githubusercontent.com/u/98738585?v=4?s=100" width="100px;" alt="Mayuresh Dharwadkar"/><br /><sub><b>Mayuresh Dharwadkar</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=Mayureshd-18" title="Code">💻</a></td>
|
|
462
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mikejgray"><img src="https://avatars.githubusercontent.com/u/30268971?v=4?s=100" width="100px;" alt="Mike"/><br /><sub><b>Mike</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=mikejgray" title="Code">💻</a></td>
|
|
462
463
|
</tr>
|
|
463
464
|
<tr>
|
|
464
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mikejgray"><img src="https://avatars.githubusercontent.com/u/30268971?v=4?s=100" width="100px;" alt="Mike"/><br /><sub><b>Mike</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=mikejgray" title="Code">💻</a></td>
|
|
465
465
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/MrArnoldPalmer"><img src="https://avatars.githubusercontent.com/u/7221111?v=4?s=100" width="100px;" alt="Mitchell Valine"/><br /><sub><b>Mitchell Valine</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=MrArnoldPalmer" title="Code">💻</a></td>
|
|
466
466
|
<td align="center" valign="top" width="14.28%"><a href="https://moritzkornher.de/"><img src="https://avatars.githubusercontent.com/u/379814?v=4?s=100" width="100px;" alt="Momo Kornher"/><br /><sub><b>Momo Kornher</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=mrgrain" title="Code">💻</a></td>
|
|
467
467
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/gmukul01"><img src="https://avatars.githubusercontent.com/u/3636885?v=4?s=100" width="100px;" alt="Mukul Bansal"/><br /><sub><b>Mukul Bansal</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=gmukul01" title="Code">💻</a></td>
|
|
468
468
|
<td align="center" valign="top" width="14.28%"><a href="https://blog.neilkuan.net/"><img src="https://avatars.githubusercontent.com/u/46012524?v=4?s=100" width="100px;" alt="Neil Kuan"/><br /><sub><b>Neil Kuan</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=neilkuan" title="Code">💻</a></td>
|
|
469
469
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nicholas-keers"><img src="https://avatars.githubusercontent.com/u/94363953?v=4?s=100" width="100px;" alt="Nick Keers"/><br /><sub><b>Nick Keers</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=nicholas-keers" title="Code">💻</a></td>
|
|
470
470
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/njlynch"><img src="https://avatars.githubusercontent.com/u/1376292?v=4?s=100" width="100px;" alt="Nick Lynch"/><br /><sub><b>Nick Lynch</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=njlynch" title="Code">💻</a></td>
|
|
471
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nbyl"><img src="https://avatars.githubusercontent.com/u/1185719?v=4?s=100" width="100px;" alt="Nicolas Byl"/><br /><sub><b>Nicolas Byl</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=nbyl" title="Code">💻</a></td>
|
|
471
472
|
</tr>
|
|
472
473
|
<tr>
|
|
473
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nbyl"><img src="https://avatars.githubusercontent.com/u/1185719?v=4?s=100" width="100px;" alt="Nicolas Byl"/><br /><sub><b>Nicolas Byl</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=nbyl" title="Code">💻</a></td>
|
|
474
474
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nikhil-zadoo"><img src="https://avatars.githubusercontent.com/u/29751551?v=4?s=100" width="100px;" alt="Nikhil Zadoo"/><br /><sub><b>Nikhil Zadoo</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=nikhil-zadoo" title="Code">💻</a></td>
|
|
475
475
|
<td align="center" valign="top" width="14.28%"><a href="https://nikovirtala.io/"><img src="https://avatars.githubusercontent.com/u/6813506?v=4?s=100" width="100px;" alt="Niko Virtala"/><br /><sub><b>Niko Virtala</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=nikovirtala" title="Code">💻</a></td>
|
|
476
476
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/niraj8"><img src="https://avatars.githubusercontent.com/u/8666468?v=4?s=100" width="100px;" alt="Niraj Palecha"/><br /><sub><b>Niraj Palecha</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=niraj8" title="Code">💻</a></td>
|
|
477
477
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/dandelionur"><img src="https://avatars.githubusercontent.com/u/89805919?v=4?s=100" width="100px;" alt="Nurbanu"/><br /><sub><b>Nurbanu</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=dandelionur" title="Code">💻</a></td>
|
|
478
478
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/pahud"><img src="https://avatars3.githubusercontent.com/u/278432?v=4?s=100" width="100px;" alt="Pahud Hsieh"/><br /><sub><b>Pahud Hsieh</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=pahud" title="Code">💻</a></td>
|
|
479
479
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/patrickdean"><img src="https://avatars.githubusercontent.com/u/1610088?v=4?s=100" width="100px;" alt="Patrick"/><br /><sub><b>Patrick</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=patrickdean" title="Code">💻</a></td>
|
|
480
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/duckpuppy"><img src="https://avatars.githubusercontent.com/u/19253?v=4?s=100" width="100px;" alt="Patrick Aikens"/><br /><sub><b>Patrick Aikens</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=duckpuppy" title="Code">💻</a></td>
|
|
480
481
|
</tr>
|
|
481
482
|
<tr>
|
|
482
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/duckpuppy"><img src="https://avatars.githubusercontent.com/u/19253?v=4?s=100" width="100px;" alt="Patrick Aikens"/><br /><sub><b>Patrick Aikens</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=duckpuppy" title="Code">💻</a></td>
|
|
483
483
|
<td align="center" valign="top" width="14.28%"><a href="https://pepperize.com/"><img src="https://avatars.githubusercontent.com/u/13916107?v=4?s=100" width="100px;" alt="Patrick Florek"/><br /><sub><b>Patrick Florek</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=pflorek" title="Code">💻</a></td>
|
|
484
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/oconpa"><img src="https://avatars.githubusercontent.com/u/35761519?v=4?s=100" width="100px;" alt="Patrick O'Connor"/><br /><sub><b>Patrick O'Connor</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=oconpa" title="Code">💻</a></td>
|
|
484
485
|
<td align="center" valign="top" width="14.28%"><a href="http://p6m7g8.github.io/"><img src="https://avatars0.githubusercontent.com/u/34295?v=4?s=100" width="100px;" alt="Philip M. Gollucci"/><br /><sub><b>Philip M. Gollucci</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=pgollucci" title="Code">💻</a></td>
|
|
485
486
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/philipmw"><img src="https://avatars.githubusercontent.com/u/1379645?v=4?s=100" width="100px;" alt="Philip White"/><br /><sub><b>Philip White</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=philipmw" title="Code">💻</a></td>
|
|
486
487
|
<td align="center" valign="top" width="14.28%"><a href="https://garbe.io/"><img src="https://avatars.githubusercontent.com/u/721899?v=4?s=100" width="100px;" alt="Philipp Garbe"/><br /><sub><b>Philipp Garbe</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=pgarbe" title="Code">💻</a></td>
|
|
@@ -524,33 +525,34 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
524
525
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/VinayKokate22"><img src="https://avatars.githubusercontent.com/u/114766745?v=4?s=100" width="100px;" alt="VinayKokate22"/><br /><sub><b>VinayKokate22</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=VinayKokate22" title="Code">💻</a></td>
|
|
525
526
|
</tr>
|
|
526
527
|
<tr>
|
|
528
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/vinayak-kukreja"><img src="https://avatars.githubusercontent.com/u/78971045?v=4?s=100" width="100px;" alt="Vinayak Kukreja"/><br /><sub><b>Vinayak Kukreja</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=vinayak-kukreja" title="Code">💻</a></td>
|
|
527
529
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/vladcos"><img src="https://avatars.githubusercontent.com/u/135833592?v=4?s=100" width="100px;" alt="Vlad Cos"/><br /><sub><b>Vlad Cos</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=vladcos" title="Code">💻</a></td>
|
|
528
530
|
<td align="center" valign="top" width="14.28%"><a href="https://willdady.com/"><img src="https://avatars.githubusercontent.com/u/204259?v=4?s=100" width="100px;" alt="Will Dady"/><br /><sub><b>Will Dady</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=willdady" title="Code">💻</a></td>
|
|
529
531
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/yglcode"><img src="https://avatars.githubusercontent.com/u/11893614?v=4?s=100" width="100px;" alt="Yigong Liu"/><br /><sub><b>Yigong Liu</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=yglcode" title="Code">💻</a></td>
|
|
530
532
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/rajyan"><img src="https://avatars.githubusercontent.com/u/38206553?v=4?s=100" width="100px;" alt="Yohta Kimura"/><br /><sub><b>Yohta Kimura</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=rajyan" title="Code">💻</a></td>
|
|
531
533
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ykageyama-mondo"><img src="https://avatars.githubusercontent.com/u/91044220?v=4?s=100" width="100px;" alt="Yuichi Kageyama"/><br /><sub><b>Yuichi Kageyama</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=ykageyama-mondo" title="Code">💻</a></td>
|
|
532
534
|
<td align="center" valign="top" width="14.28%"><a href="https://yuval.io/"><img src="https://avatars.githubusercontent.com/u/5735586?v=4?s=100" width="100px;" alt="Yuval"/><br /><sub><b>Yuval</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=yuvalherziger" title="Code">💻</a></td>
|
|
533
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/andrestone"><img src="https://avatars1.githubusercontent.com/u/7958086?v=4?s=100" width="100px;" alt="andrestone"/><br /><sub><b>andrestone</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=andrestone" title="Code">💻</a></td>
|
|
534
535
|
</tr>
|
|
535
536
|
<tr>
|
|
537
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/andrestone"><img src="https://avatars1.githubusercontent.com/u/7958086?v=4?s=100" width="100px;" alt="andrestone"/><br /><sub><b>andrestone</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=andrestone" title="Code">💻</a></td>
|
|
536
538
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/codeLeeek"><img src="https://avatars.githubusercontent.com/u/49740620?v=4?s=100" width="100px;" alt="codeLeeek"/><br /><sub><b>codeLeeek</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=codeLeeek" title="Code">💻</a></td>
|
|
537
539
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/flyingImer"><img src="https://avatars0.githubusercontent.com/u/1973868?v=4?s=100" width="100px;" alt="flyingImer"/><br /><sub><b>flyingImer</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=flyingImer" title="Code">💻</a></td>
|
|
538
540
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/huaxk"><img src="https://avatars.githubusercontent.com/u/9971591?v=4?s=100" width="100px;" alt="huaxk"/><br /><sub><b>huaxk</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=huaxk" title="Code">💻</a></td>
|
|
539
541
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/john-tipper"><img src="https://avatars2.githubusercontent.com/u/9730398?v=4?s=100" width="100px;" alt="john-tipper"/><br /><sub><b>john-tipper</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=john-tipper" title="Code">💻</a></td>
|
|
540
542
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/karlderkaefer"><img src="https://avatars.githubusercontent.com/u/9578480?v=4?s=100" width="100px;" alt="karlderkaefer"/><br /><sub><b>karlderkaefer</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=karlderkaefer" title="Code">💻</a></td>
|
|
541
543
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kmkhr"><img src="https://avatars.githubusercontent.com/u/25603933?v=4?s=100" width="100px;" alt="kmkhr"/><br /><sub><b>kmkhr</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=kmkhr" title="Code">💻</a></td>
|
|
542
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kt-hr"><img src="https://avatars.githubusercontent.com/u/25603933?v=4?s=100" width="100px;" alt="kt-hr"/><br /><sub><b>kt-hr</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=kt-hr" title="Code">💻</a></td>
|
|
543
544
|
</tr>
|
|
544
545
|
<tr>
|
|
546
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/kt-hr"><img src="https://avatars.githubusercontent.com/u/25603933?v=4?s=100" width="100px;" alt="kt-hr"/><br /><sub><b>kt-hr</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=kt-hr" title="Code">💻</a></td>
|
|
545
547
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lmarsden"><img src="https://avatars.githubusercontent.com/u/51232932?v=4?s=100" width="100px;" alt="lmarsden"/><br /><sub><b>lmarsden</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=lmarsden" title="Code">💻</a></td>
|
|
546
548
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mtimbs"><img src="https://avatars.githubusercontent.com/u/12463905?v=4?s=100" width="100px;" alt="michaeltimbs"/><br /><sub><b>michaeltimbs</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=mtimbs" title="Code">💻</a></td>
|
|
547
549
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/orlandronen1"><img src="https://avatars.githubusercontent.com/u/25987273?v=4?s=100" width="100px;" alt="orlandronen1"/><br /><sub><b>orlandronen1</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=orlandronen1" title="Code">💻</a></td>
|
|
548
550
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/pvbouwel"><img src="https://avatars.githubusercontent.com/u/463976?v=4?s=100" width="100px;" alt="pvbouwel"/><br /><sub><b>pvbouwel</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=pvbouwel" title="Code">💻</a></td>
|
|
549
551
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/suhussai"><img src="https://avatars.githubusercontent.com/u/6500837?v=4?s=100" width="100px;" alt="suhussai"/><br /><sub><b>suhussai</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=suhussai" title="Code">💻</a></td>
|
|
550
552
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/t0bst4r"><img src="https://avatars.githubusercontent.com/u/82281152?v=4?s=100" width="100px;" alt="t0bst4r"/><br /><sub><b>t0bst4r</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=t0bst4r" title="Code">💻</a></td>
|
|
551
|
-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tHyt-lab"><img src="https://avatars.githubusercontent.com/u/11361677?v=4?s=100" width="100px;" alt="tHyt-lab"/><br /><sub><b>tHyt-lab</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=tHyt-lab" title="Code">💻</a></td>
|
|
552
553
|
</tr>
|
|
553
554
|
<tr>
|
|
555
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tHyt-lab"><img src="https://avatars.githubusercontent.com/u/11361677?v=4?s=100" width="100px;" alt="tHyt-lab"/><br /><sub><b>tHyt-lab</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=tHyt-lab" title="Code">💻</a></td>
|
|
554
556
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Warkanlock"><img src="https://avatars.githubusercontent.com/u/13340320?v=4?s=100" width="100px;" alt="txxnano"/><br /><sub><b>txxnano</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=Warkanlock" title="Code">💻</a></td>
|
|
555
557
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/vVahe"><img src="https://avatars.githubusercontent.com/u/17318901?v=4?s=100" width="100px;" alt="vVahe"/><br /><sub><b>vVahe</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=vVahe" title="Code">💻</a></td>
|
|
556
558
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/zetashift"><img src="https://avatars.githubusercontent.com/u/1857826?v=4?s=100" width="100px;" alt="zetashift"/><br /><sub><b>zetashift</b></sub></a><br /><a href="https://github.com/projen/projen/commits?author=zetashift" title="Code">💻</a></td>
|
|
@@ -562,6 +564,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
562
564
|
|
|
563
565
|
Distributed under the [Apache-2.0](./LICENSE) license.
|
|
564
566
|
'''
|
|
567
|
+
from pkgutil import extend_path
|
|
568
|
+
__path__ = extend_path(__path__, __name__)
|
|
569
|
+
|
|
565
570
|
import abc
|
|
566
571
|
import builtins
|
|
567
572
|
import datetime
|
|
@@ -572,13 +577,185 @@ import jsii
|
|
|
572
577
|
import publication
|
|
573
578
|
import typing_extensions
|
|
574
579
|
|
|
575
|
-
|
|
580
|
+
import typeguard
|
|
581
|
+
from importlib.metadata import version as _metadata_package_version
|
|
582
|
+
TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
|
|
583
|
+
|
|
584
|
+
def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
|
|
585
|
+
if TYPEGUARD_MAJOR_VERSION <= 2:
|
|
586
|
+
return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
|
|
587
|
+
else:
|
|
588
|
+
if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
|
|
589
|
+
pass
|
|
590
|
+
else:
|
|
591
|
+
if TYPEGUARD_MAJOR_VERSION == 3:
|
|
592
|
+
typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
|
|
593
|
+
typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
|
|
594
|
+
else:
|
|
595
|
+
typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
|
|
576
596
|
|
|
577
597
|
from ._jsii import *
|
|
578
598
|
|
|
579
599
|
import constructs as _constructs_77d1e7e8
|
|
580
600
|
|
|
581
601
|
|
|
602
|
+
@jsii.enum(jsii_type="projen.AiAgent")
|
|
603
|
+
class AiAgent(enum.Enum):
|
|
604
|
+
'''(experimental) Supported AI coding assistants and their instruction file locations.
|
|
605
|
+
|
|
606
|
+
:stability: experimental
|
|
607
|
+
'''
|
|
608
|
+
|
|
609
|
+
GITHUB_COPILOT = "GITHUB_COPILOT"
|
|
610
|
+
'''(experimental) GitHub Copilot - .github/copilot-instructions.md.
|
|
611
|
+
|
|
612
|
+
:stability: experimental
|
|
613
|
+
'''
|
|
614
|
+
CURSOR = "CURSOR"
|
|
615
|
+
'''(experimental) Cursor IDE - .cursor/rules/project.md.
|
|
616
|
+
|
|
617
|
+
:stability: experimental
|
|
618
|
+
'''
|
|
619
|
+
CLAUDE = "CLAUDE"
|
|
620
|
+
'''(experimental) Claude Code - CLAUDE.md.
|
|
621
|
+
|
|
622
|
+
:stability: experimental
|
|
623
|
+
'''
|
|
624
|
+
AMAZON_Q = "AMAZON_Q"
|
|
625
|
+
'''(experimental) Amazon Q - .amazonq/rules/project.md.
|
|
626
|
+
|
|
627
|
+
:stability: experimental
|
|
628
|
+
'''
|
|
629
|
+
KIRO = "KIRO"
|
|
630
|
+
'''(experimental) Kiro - .kiro/steering/project.md.
|
|
631
|
+
|
|
632
|
+
:stability: experimental
|
|
633
|
+
'''
|
|
634
|
+
CODEX = "CODEX"
|
|
635
|
+
'''(experimental) OpenAI Codex - AGENTS.md.
|
|
636
|
+
|
|
637
|
+
:stability: experimental
|
|
638
|
+
'''
|
|
639
|
+
|
|
640
|
+
|
|
641
|
+
@jsii.data_type(
|
|
642
|
+
jsii_type="projen.AiInstructionsOptions",
|
|
643
|
+
jsii_struct_bases=[],
|
|
644
|
+
name_mapping={
|
|
645
|
+
"agents": "agents",
|
|
646
|
+
"agent_specific_instructions": "agentSpecificInstructions",
|
|
647
|
+
"include_default_instructions": "includeDefaultInstructions",
|
|
648
|
+
"instructions": "instructions",
|
|
649
|
+
},
|
|
650
|
+
)
|
|
651
|
+
class AiInstructionsOptions:
|
|
652
|
+
def __init__(
|
|
653
|
+
self,
|
|
654
|
+
*,
|
|
655
|
+
agents: typing.Optional[typing.Sequence[AiAgent]] = None,
|
|
656
|
+
agent_specific_instructions: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[builtins.str]]] = None,
|
|
657
|
+
include_default_instructions: typing.Optional[builtins.bool] = None,
|
|
658
|
+
instructions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
659
|
+
) -> None:
|
|
660
|
+
'''(experimental) Options for configuring AI tool instruction files.
|
|
661
|
+
|
|
662
|
+
:param agents: (experimental) Which AI agents to generate instruction files for. Default: - All agents: [AiAgent.GITHUB_COPILOT, AiAgent.CURSOR, AiAgent.CLAUDE, AiAgent.AMAZON_Q, AiAgent.KIRO, AiAgent.CODEX]
|
|
663
|
+
:param agent_specific_instructions: (experimental) Per-agent custom instructions. Allows different instructions for different AI tools. Default: - no agent specific instructions
|
|
664
|
+
:param include_default_instructions: (experimental) Include default instructions for projen and general best practices. Default instructions will only be included for agents provided in the ``agents`` option. If ``agents`` is not provided, default instructions will be included for all agents. Default: true
|
|
665
|
+
:param instructions: (experimental) General instructions applicable to all agents. Default: - no agent specific instructions
|
|
666
|
+
|
|
667
|
+
:stability: experimental
|
|
668
|
+
'''
|
|
669
|
+
if __debug__:
|
|
670
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5bf7714efdf83cf2031e4ef3aa1d0cb9511cb921777751c76a0f501c0c56e247)
|
|
671
|
+
check_type(argname="argument agents", value=agents, expected_type=type_hints["agents"])
|
|
672
|
+
check_type(argname="argument agent_specific_instructions", value=agent_specific_instructions, expected_type=type_hints["agent_specific_instructions"])
|
|
673
|
+
check_type(argname="argument include_default_instructions", value=include_default_instructions, expected_type=type_hints["include_default_instructions"])
|
|
674
|
+
check_type(argname="argument instructions", value=instructions, expected_type=type_hints["instructions"])
|
|
675
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
676
|
+
if agents is not None:
|
|
677
|
+
self._values["agents"] = agents
|
|
678
|
+
if agent_specific_instructions is not None:
|
|
679
|
+
self._values["agent_specific_instructions"] = agent_specific_instructions
|
|
680
|
+
if include_default_instructions is not None:
|
|
681
|
+
self._values["include_default_instructions"] = include_default_instructions
|
|
682
|
+
if instructions is not None:
|
|
683
|
+
self._values["instructions"] = instructions
|
|
684
|
+
|
|
685
|
+
@builtins.property
|
|
686
|
+
def agents(self) -> typing.Optional[typing.List[AiAgent]]:
|
|
687
|
+
'''(experimental) Which AI agents to generate instruction files for.
|
|
688
|
+
|
|
689
|
+
:default: - All agents: [AiAgent.GITHUB_COPILOT, AiAgent.CURSOR, AiAgent.CLAUDE, AiAgent.AMAZON_Q, AiAgent.KIRO, AiAgent.CODEX]
|
|
690
|
+
|
|
691
|
+
:stability: experimental
|
|
692
|
+
'''
|
|
693
|
+
result = self._values.get("agents")
|
|
694
|
+
return typing.cast(typing.Optional[typing.List[AiAgent]], result)
|
|
695
|
+
|
|
696
|
+
@builtins.property
|
|
697
|
+
def agent_specific_instructions(
|
|
698
|
+
self,
|
|
699
|
+
) -> typing.Optional[typing.Mapping[builtins.str, typing.List[builtins.str]]]:
|
|
700
|
+
'''(experimental) Per-agent custom instructions.
|
|
701
|
+
|
|
702
|
+
Allows different instructions for different AI tools.
|
|
703
|
+
|
|
704
|
+
:default: - no agent specific instructions
|
|
705
|
+
|
|
706
|
+
:stability: experimental
|
|
707
|
+
|
|
708
|
+
Example::
|
|
709
|
+
|
|
710
|
+
{
|
|
711
|
+
[AiAgent.GITHUB_COPILOT]: {
|
|
712
|
+
instructions: ["Use descriptive commit messages."]
|
|
713
|
+
},
|
|
714
|
+
[AiAgent.CURSOR]: {
|
|
715
|
+
instructions: ["Prefer functional patterns.", "Always add tests."]
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
'''
|
|
719
|
+
result = self._values.get("agent_specific_instructions")
|
|
720
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.List[builtins.str]]], result)
|
|
721
|
+
|
|
722
|
+
@builtins.property
|
|
723
|
+
def include_default_instructions(self) -> typing.Optional[builtins.bool]:
|
|
724
|
+
'''(experimental) Include default instructions for projen and general best practices.
|
|
725
|
+
|
|
726
|
+
Default instructions will only be included for agents provided in the ``agents`` option.
|
|
727
|
+
If ``agents`` is not provided, default instructions will be included for all agents.
|
|
728
|
+
|
|
729
|
+
:default: true
|
|
730
|
+
|
|
731
|
+
:stability: experimental
|
|
732
|
+
'''
|
|
733
|
+
result = self._values.get("include_default_instructions")
|
|
734
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
735
|
+
|
|
736
|
+
@builtins.property
|
|
737
|
+
def instructions(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
738
|
+
'''(experimental) General instructions applicable to all agents.
|
|
739
|
+
|
|
740
|
+
:default: - no agent specific instructions
|
|
741
|
+
|
|
742
|
+
:stability: experimental
|
|
743
|
+
'''
|
|
744
|
+
result = self._values.get("instructions")
|
|
745
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
746
|
+
|
|
747
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
748
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
749
|
+
|
|
750
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
751
|
+
return not (rhs == self)
|
|
752
|
+
|
|
753
|
+
def __repr__(self) -> str:
|
|
754
|
+
return "AiInstructionsOptions(%s)" % ", ".join(
|
|
755
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
756
|
+
)
|
|
757
|
+
|
|
758
|
+
|
|
582
759
|
class Component(
|
|
583
760
|
_constructs_77d1e7e8.Construct,
|
|
584
761
|
metaclass=jsii.JSIIMeta,
|
|
@@ -882,6 +1059,33 @@ class Dependencies(Component, metaclass=jsii.JSIIMeta, jsii_type="projen.Depende
|
|
|
882
1059
|
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
883
1060
|
return typing.cast("Dependency", jsii.invoke(self, "getDependency", [name, type]))
|
|
884
1061
|
|
|
1062
|
+
@jsii.member(jsii_name="isDependencySatisfied")
|
|
1063
|
+
def is_dependency_satisfied(
|
|
1064
|
+
self,
|
|
1065
|
+
name: builtins.str,
|
|
1066
|
+
type: "DependencyType",
|
|
1067
|
+
expected_range: builtins.str,
|
|
1068
|
+
) -> builtins.bool:
|
|
1069
|
+
'''(experimental) Checks if an existing dependency satisfies a dependency requirement.
|
|
1070
|
+
|
|
1071
|
+
:param name: The name of the dependency to check (without the version).
|
|
1072
|
+
:param type: The dependency type.
|
|
1073
|
+
:param expected_range: The version constraint to check (e.g. ``^3.4.0``). The constraint of the dependency must be a subset of the expected range to satisfy the requirements.
|
|
1074
|
+
|
|
1075
|
+
:return:
|
|
1076
|
+
|
|
1077
|
+
``true`` if the dependency exists and its version satisfies the provided constraint. ``false`` otherwise.
|
|
1078
|
+
Notably returns ``false`` if a dependency exists, but has no version.
|
|
1079
|
+
|
|
1080
|
+
:stability: experimental
|
|
1081
|
+
'''
|
|
1082
|
+
if __debug__:
|
|
1083
|
+
type_hints = typing.get_type_hints(_typecheckingstub__628e50591481575ad249671e7cf61edd1bb37d5aeab5e143a0783051e3167dcc)
|
|
1084
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
1085
|
+
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
1086
|
+
check_type(argname="argument expected_range", value=expected_range, expected_type=type_hints["expected_range"])
|
|
1087
|
+
return typing.cast(builtins.bool, jsii.invoke(self, "isDependencySatisfied", [name, type, expected_range]))
|
|
1088
|
+
|
|
885
1089
|
@jsii.member(jsii_name="removeDependency")
|
|
886
1090
|
def remove_dependency(
|
|
887
1091
|
self,
|
|
@@ -1287,7 +1491,7 @@ class DockerCompose(
|
|
|
1287
1491
|
'''
|
|
1288
1492
|
:param project: -
|
|
1289
1493
|
:param name_suffix: (experimental) A name to add to the docker-compose.yml filename. Default: - no name is added
|
|
1290
|
-
:param schema_version: (
|
|
1494
|
+
:param schema_version: (deprecated) Docker Compose schema version do be used. Default: - no version is provided
|
|
1291
1495
|
:param services: (experimental) Service descriptions.
|
|
1292
1496
|
|
|
1293
1497
|
:stability: experimental
|
|
@@ -1467,6 +1671,7 @@ class DockerCompose(
|
|
|
1467
1671
|
networks: typing.Optional[typing.Sequence["IDockerComposeNetworkBinding"]] = None,
|
|
1468
1672
|
platform: typing.Optional[builtins.str] = None,
|
|
1469
1673
|
ports: typing.Optional[typing.Sequence[typing.Union["DockerComposeServicePort", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1674
|
+
privileged: typing.Optional[builtins.bool] = None,
|
|
1470
1675
|
volumes: typing.Optional[typing.Sequence["IDockerComposeVolumeBinding"]] = None,
|
|
1471
1676
|
) -> "DockerComposeService":
|
|
1472
1677
|
'''(experimental) Add a service to the docker-compose file.
|
|
@@ -1482,6 +1687,7 @@ class DockerCompose(
|
|
|
1482
1687
|
:param networks: (experimental) Add some networks to the service.
|
|
1483
1688
|
:param platform: (experimental) Add platform. Default: - no platform is provided
|
|
1484
1689
|
:param ports: (experimental) Map some ports. Default: - no ports are mapped
|
|
1690
|
+
:param privileged: (experimental) Run in privileged mode. Default: - no privileged mode flag is provided
|
|
1485
1691
|
:param volumes: (experimental) Mount some volumes into the service. Use one of the following to create volumes:
|
|
1486
1692
|
|
|
1487
1693
|
:stability: experimental
|
|
@@ -1500,6 +1706,7 @@ class DockerCompose(
|
|
|
1500
1706
|
networks=networks,
|
|
1501
1707
|
platform=platform,
|
|
1502
1708
|
ports=ports,
|
|
1709
|
+
privileged=privileged,
|
|
1503
1710
|
volumes=volumes,
|
|
1504
1711
|
)
|
|
1505
1712
|
|
|
@@ -1974,7 +2181,7 @@ class DockerComposeProps:
|
|
|
1974
2181
|
'''(experimental) Props for DockerCompose.
|
|
1975
2182
|
|
|
1976
2183
|
:param name_suffix: (experimental) A name to add to the docker-compose.yml filename. Default: - no name is added
|
|
1977
|
-
:param schema_version: (
|
|
2184
|
+
:param schema_version: (deprecated) Docker Compose schema version do be used. Default: - no version is provided
|
|
1978
2185
|
:param services: (experimental) Service descriptions.
|
|
1979
2186
|
|
|
1980
2187
|
:stability: experimental
|
|
@@ -2009,11 +2216,16 @@ class DockerComposeProps:
|
|
|
2009
2216
|
|
|
2010
2217
|
@builtins.property
|
|
2011
2218
|
def schema_version(self) -> typing.Optional[builtins.str]:
|
|
2012
|
-
'''(
|
|
2219
|
+
'''(deprecated) Docker Compose schema version do be used.
|
|
2013
2220
|
|
|
2014
|
-
:default:
|
|
2221
|
+
:default: - no version is provided
|
|
2015
2222
|
|
|
2016
|
-
:
|
|
2223
|
+
:deprecated:
|
|
2224
|
+
|
|
2225
|
+
- The top level ``version`` field is obsolete per the Compose Specification.
|
|
2226
|
+
{@link https://github.com/compose-spec/compose-spec/blob/master/spec.md#version-and-name-top-level-elements Compose Specification}
|
|
2227
|
+
|
|
2228
|
+
:stability: deprecated
|
|
2017
2229
|
'''
|
|
2018
2230
|
result = self._values.get("schema_version")
|
|
2019
2231
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
@@ -2074,6 +2286,7 @@ class DockerComposeProtocol(enum.Enum):
|
|
|
2074
2286
|
"networks": "networks",
|
|
2075
2287
|
"platform": "platform",
|
|
2076
2288
|
"ports": "ports",
|
|
2289
|
+
"privileged": "privileged",
|
|
2077
2290
|
"volumes": "volumes",
|
|
2078
2291
|
},
|
|
2079
2292
|
)
|
|
@@ -2091,6 +2304,7 @@ class DockerComposeServiceDescription:
|
|
|
2091
2304
|
networks: typing.Optional[typing.Sequence["IDockerComposeNetworkBinding"]] = None,
|
|
2092
2305
|
platform: typing.Optional[builtins.str] = None,
|
|
2093
2306
|
ports: typing.Optional[typing.Sequence[typing.Union["DockerComposeServicePort", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2307
|
+
privileged: typing.Optional[builtins.bool] = None,
|
|
2094
2308
|
volumes: typing.Optional[typing.Sequence["IDockerComposeVolumeBinding"]] = None,
|
|
2095
2309
|
) -> None:
|
|
2096
2310
|
'''(experimental) Description of a docker-compose.yml service.
|
|
@@ -2105,6 +2319,7 @@ class DockerComposeServiceDescription:
|
|
|
2105
2319
|
:param networks: (experimental) Add some networks to the service.
|
|
2106
2320
|
:param platform: (experimental) Add platform. Default: - no platform is provided
|
|
2107
2321
|
:param ports: (experimental) Map some ports. Default: - no ports are mapped
|
|
2322
|
+
:param privileged: (experimental) Run in privileged mode. Default: - no privileged mode flag is provided
|
|
2108
2323
|
:param volumes: (experimental) Mount some volumes into the service. Use one of the following to create volumes:
|
|
2109
2324
|
|
|
2110
2325
|
:stability: experimental
|
|
@@ -2123,6 +2338,7 @@ class DockerComposeServiceDescription:
|
|
|
2123
2338
|
check_type(argname="argument networks", value=networks, expected_type=type_hints["networks"])
|
|
2124
2339
|
check_type(argname="argument platform", value=platform, expected_type=type_hints["platform"])
|
|
2125
2340
|
check_type(argname="argument ports", value=ports, expected_type=type_hints["ports"])
|
|
2341
|
+
check_type(argname="argument privileged", value=privileged, expected_type=type_hints["privileged"])
|
|
2126
2342
|
check_type(argname="argument volumes", value=volumes, expected_type=type_hints["volumes"])
|
|
2127
2343
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
2128
2344
|
if command is not None:
|
|
@@ -2145,6 +2361,8 @@ class DockerComposeServiceDescription:
|
|
|
2145
2361
|
self._values["platform"] = platform
|
|
2146
2362
|
if ports is not None:
|
|
2147
2363
|
self._values["ports"] = ports
|
|
2364
|
+
if privileged is not None:
|
|
2365
|
+
self._values["privileged"] = privileged
|
|
2148
2366
|
if volumes is not None:
|
|
2149
2367
|
self._values["volumes"] = volumes
|
|
2150
2368
|
|
|
@@ -2259,6 +2477,17 @@ class DockerComposeServiceDescription:
|
|
|
2259
2477
|
result = self._values.get("ports")
|
|
2260
2478
|
return typing.cast(typing.Optional[typing.List["DockerComposeServicePort"]], result)
|
|
2261
2479
|
|
|
2480
|
+
@builtins.property
|
|
2481
|
+
def privileged(self) -> typing.Optional[builtins.bool]:
|
|
2482
|
+
'''(experimental) Run in privileged mode.
|
|
2483
|
+
|
|
2484
|
+
:default: - no privileged mode flag is provided
|
|
2485
|
+
|
|
2486
|
+
:stability: experimental
|
|
2487
|
+
'''
|
|
2488
|
+
result = self._values.get("privileged")
|
|
2489
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2490
|
+
|
|
2262
2491
|
@builtins.property
|
|
2263
2492
|
def volumes(self) -> typing.Optional[typing.List["IDockerComposeVolumeBinding"]]:
|
|
2264
2493
|
'''(experimental) Mount some volumes into the service.
|
|
@@ -2550,6 +2779,35 @@ class DockerComposeVolumeMount:
|
|
|
2550
2779
|
)
|
|
2551
2780
|
|
|
2552
2781
|
|
|
2782
|
+
@jsii.enum(jsii_type="projen.EndOfLine")
|
|
2783
|
+
class EndOfLine(enum.Enum):
|
|
2784
|
+
'''(experimental) The end of line characters supported by git.
|
|
2785
|
+
|
|
2786
|
+
:stability: experimental
|
|
2787
|
+
'''
|
|
2788
|
+
|
|
2789
|
+
AUTO = "AUTO"
|
|
2790
|
+
'''(experimental) Maintain existing (mixed values within one file are normalised by looking at what's used after the first line).
|
|
2791
|
+
|
|
2792
|
+
:stability: experimental
|
|
2793
|
+
'''
|
|
2794
|
+
CRLF = "CRLF"
|
|
2795
|
+
'''(experimental) Carriage Return + Line Feed characters (\\r\\n), common on Windows.
|
|
2796
|
+
|
|
2797
|
+
:stability: experimental
|
|
2798
|
+
'''
|
|
2799
|
+
LF = "LF"
|
|
2800
|
+
'''(experimental) Line Feed only (\\n), common on Linux and macOS as well as inside git repos.
|
|
2801
|
+
|
|
2802
|
+
:stability: experimental
|
|
2803
|
+
'''
|
|
2804
|
+
NONE = "NONE"
|
|
2805
|
+
'''(experimental) Disable and do not configure the end of line character.
|
|
2806
|
+
|
|
2807
|
+
:stability: experimental
|
|
2808
|
+
'''
|
|
2809
|
+
|
|
2810
|
+
|
|
2553
2811
|
class FileBase(
|
|
2554
2812
|
Component,
|
|
2555
2813
|
metaclass=jsii.JSIIAbstractClass,
|
|
@@ -2675,7 +2933,7 @@ class FileBase(
|
|
|
2675
2933
|
if __debug__:
|
|
2676
2934
|
type_hints = typing.get_type_hints(_typecheckingstub__3fed3e4c76496e254ef32ce4556e7e1b3b0cef6929de044486dda20248a06c4d)
|
|
2677
2935
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2678
|
-
jsii.set(self, "executable", value)
|
|
2936
|
+
jsii.set(self, "executable", value) # pyright: ignore[reportArgumentType]
|
|
2679
2937
|
|
|
2680
2938
|
@builtins.property
|
|
2681
2939
|
@jsii.member(jsii_name="readonly")
|
|
@@ -2691,7 +2949,7 @@ class FileBase(
|
|
|
2691
2949
|
if __debug__:
|
|
2692
2950
|
type_hints = typing.get_type_hints(_typecheckingstub__c20fcd33148f053d9de2f2152439cc9f0687a0e328bf05cb8b38721095832ea5)
|
|
2693
2951
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2694
|
-
jsii.set(self, "readonly", value)
|
|
2952
|
+
jsii.set(self, "readonly", value) # pyright: ignore[reportArgumentType]
|
|
2695
2953
|
|
|
2696
2954
|
|
|
2697
2955
|
class _FileBaseProxy(FileBase):
|
|
@@ -2848,16 +3106,24 @@ class GitAttributesFile(
|
|
|
2848
3106
|
:stability: experimental
|
|
2849
3107
|
'''
|
|
2850
3108
|
|
|
2851
|
-
def __init__(
|
|
3109
|
+
def __init__(
|
|
3110
|
+
self,
|
|
3111
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
3112
|
+
*,
|
|
3113
|
+
end_of_line: typing.Optional[EndOfLine] = None,
|
|
3114
|
+
) -> None:
|
|
2852
3115
|
'''
|
|
2853
3116
|
:param scope: -
|
|
3117
|
+
:param end_of_line: (experimental) The default end of line character for text files. endOfLine it's useful to keep the same end of line between Windows and Unix operative systems for git checking/checkout operations. Hence, it can avoid simple repository mutations consisting only of changes in the end of line characters. It will be set in the first line of the .gitattributes file to make it the first match with high priority but it can be overriden in a later line. Can be disabled by setting explicitly: ``{ endOfLine: EndOfLine.NONE }``. Default: EndOfLine.LF
|
|
2854
3118
|
|
|
2855
3119
|
:stability: experimental
|
|
2856
3120
|
'''
|
|
2857
3121
|
if __debug__:
|
|
2858
3122
|
type_hints = typing.get_type_hints(_typecheckingstub__a914753a9db7cc6bfa6a166cf7ee02794375210a09b1d8e2c62496abf14b4d21)
|
|
2859
3123
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2860
|
-
|
|
3124
|
+
options = GitAttributesFileOptions(end_of_line=end_of_line)
|
|
3125
|
+
|
|
3126
|
+
jsii.create(self.__class__, self, [scope, options])
|
|
2861
3127
|
|
|
2862
3128
|
@jsii.member(jsii_name="addAttributes")
|
|
2863
3129
|
def add_attributes(self, glob: builtins.str, *attributes: builtins.str) -> None:
|
|
@@ -2895,6 +3161,23 @@ class GitAttributesFile(
|
|
|
2895
3161
|
'''
|
|
2896
3162
|
return typing.cast(None, jsii.invoke(self, "preSynthesize", []))
|
|
2897
3163
|
|
|
3164
|
+
@jsii.member(jsii_name="removeAttributes")
|
|
3165
|
+
def remove_attributes(self, glob: builtins.str, *attributes: builtins.str) -> None:
|
|
3166
|
+
'''(experimental) Removes attributes from a set of files.
|
|
3167
|
+
|
|
3168
|
+
If no attributes are provided, the glob pattern will be removed completely.
|
|
3169
|
+
|
|
3170
|
+
:param glob: Glob pattern to modify.
|
|
3171
|
+
:param attributes: Attributes to remove from matched files.
|
|
3172
|
+
|
|
3173
|
+
:stability: experimental
|
|
3174
|
+
'''
|
|
3175
|
+
if __debug__:
|
|
3176
|
+
type_hints = typing.get_type_hints(_typecheckingstub__573b65747d3cd070f990730baa2e2b06016818d32122c7fbc2696b8513582a7d)
|
|
3177
|
+
check_type(argname="argument glob", value=glob, expected_type=type_hints["glob"])
|
|
3178
|
+
check_type(argname="argument attributes", value=attributes, expected_type=typing.Tuple[type_hints["attributes"], ...]) # pyright: ignore [reportGeneralTypeIssues]
|
|
3179
|
+
return typing.cast(None, jsii.invoke(self, "removeAttributes", [glob, *attributes]))
|
|
3180
|
+
|
|
2898
3181
|
@jsii.member(jsii_name="synthesizeContent")
|
|
2899
3182
|
def _synthesize_content(self, _: "IResolver") -> typing.Optional[builtins.str]:
|
|
2900
3183
|
'''(experimental) Implemented by derived classes and returns the contents of the file to emit.
|
|
@@ -2908,6 +3191,15 @@ class GitAttributesFile(
|
|
|
2908
3191
|
check_type(argname="argument _", value=_, expected_type=type_hints["_"])
|
|
2909
3192
|
return typing.cast(typing.Optional[builtins.str], jsii.invoke(self, "synthesizeContent", [_]))
|
|
2910
3193
|
|
|
3194
|
+
@builtins.property
|
|
3195
|
+
@jsii.member(jsii_name="endOfLine")
|
|
3196
|
+
def end_of_line(self) -> EndOfLine:
|
|
3197
|
+
'''(experimental) The default end of line character for text files.
|
|
3198
|
+
|
|
3199
|
+
:stability: experimental
|
|
3200
|
+
'''
|
|
3201
|
+
return typing.cast(EndOfLine, jsii.get(self, "endOfLine"))
|
|
3202
|
+
|
|
2911
3203
|
@builtins.property
|
|
2912
3204
|
@jsii.member(jsii_name="hasLfsPatterns")
|
|
2913
3205
|
def has_lfs_patterns(self) -> builtins.bool:
|
|
@@ -2918,30 +3210,96 @@ class GitAttributesFile(
|
|
|
2918
3210
|
return typing.cast(builtins.bool, jsii.get(self, "hasLfsPatterns"))
|
|
2919
3211
|
|
|
2920
3212
|
|
|
3213
|
+
@jsii.data_type(
|
|
3214
|
+
jsii_type="projen.GitAttributesFileOptions",
|
|
3215
|
+
jsii_struct_bases=[],
|
|
3216
|
+
name_mapping={"end_of_line": "endOfLine"},
|
|
3217
|
+
)
|
|
3218
|
+
class GitAttributesFileOptions:
|
|
3219
|
+
def __init__(self, *, end_of_line: typing.Optional[EndOfLine] = None) -> None:
|
|
3220
|
+
'''(experimental) Options for ``GitAttributesFile``.
|
|
3221
|
+
|
|
3222
|
+
:param end_of_line: (experimental) The default end of line character for text files. endOfLine it's useful to keep the same end of line between Windows and Unix operative systems for git checking/checkout operations. Hence, it can avoid simple repository mutations consisting only of changes in the end of line characters. It will be set in the first line of the .gitattributes file to make it the first match with high priority but it can be overriden in a later line. Can be disabled by setting explicitly: ``{ endOfLine: EndOfLine.NONE }``. Default: EndOfLine.LF
|
|
3223
|
+
|
|
3224
|
+
:stability: experimental
|
|
3225
|
+
'''
|
|
3226
|
+
if __debug__:
|
|
3227
|
+
type_hints = typing.get_type_hints(_typecheckingstub__82a54cc3274f754056a1301deb3e7902a7a31057da6ade20b64dae8487831db5)
|
|
3228
|
+
check_type(argname="argument end_of_line", value=end_of_line, expected_type=type_hints["end_of_line"])
|
|
3229
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
3230
|
+
if end_of_line is not None:
|
|
3231
|
+
self._values["end_of_line"] = end_of_line
|
|
3232
|
+
|
|
3233
|
+
@builtins.property
|
|
3234
|
+
def end_of_line(self) -> typing.Optional[EndOfLine]:
|
|
3235
|
+
'''(experimental) The default end of line character for text files.
|
|
3236
|
+
|
|
3237
|
+
endOfLine it's useful to keep the same end of line between Windows and Unix operative systems for git checking/checkout operations. Hence, it can avoid simple repository mutations consisting only of changes in the end of line characters. It will be set in the first line of the .gitattributes file to make it the first match with high priority but it can be overriden in a later line. Can be disabled by setting explicitly: ``{ endOfLine: EndOfLine.NONE }``.
|
|
3238
|
+
|
|
3239
|
+
:default: EndOfLine.LF
|
|
3240
|
+
|
|
3241
|
+
:stability: experimental
|
|
3242
|
+
'''
|
|
3243
|
+
result = self._values.get("end_of_line")
|
|
3244
|
+
return typing.cast(typing.Optional[EndOfLine], result)
|
|
3245
|
+
|
|
3246
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3247
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3248
|
+
|
|
3249
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3250
|
+
return not (rhs == self)
|
|
3251
|
+
|
|
3252
|
+
def __repr__(self) -> str:
|
|
3253
|
+
return "GitAttributesFileOptions(%s)" % ", ".join(
|
|
3254
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3255
|
+
)
|
|
3256
|
+
|
|
3257
|
+
|
|
2921
3258
|
@jsii.data_type(
|
|
2922
3259
|
jsii_type="projen.GitOptions",
|
|
2923
3260
|
jsii_struct_bases=[],
|
|
2924
|
-
name_mapping={"lfs_patterns": "lfsPatterns"},
|
|
3261
|
+
name_mapping={"end_of_line": "endOfLine", "lfs_patterns": "lfsPatterns"},
|
|
2925
3262
|
)
|
|
2926
3263
|
class GitOptions:
|
|
2927
3264
|
def __init__(
|
|
2928
3265
|
self,
|
|
2929
3266
|
*,
|
|
3267
|
+
end_of_line: typing.Optional[EndOfLine] = None,
|
|
2930
3268
|
lfs_patterns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2931
3269
|
) -> None:
|
|
2932
3270
|
'''(experimental) Git configuration options.
|
|
2933
3271
|
|
|
3272
|
+
:param end_of_line: (experimental) The default end of line character for text files. endOfLine it's useful to keep the same end of line between Windows and Unix operative systems for git checking/checkout operations. Hence, it can avoid simple repository mutations consisting only of changes in the end of line characters. It will be set in the first line of the .gitattributes file to make it the first match with high priority but it can be overriden in a later line. Can be disabled by setting: ``endOfLine: EndOfLine.NONE``. Default: EndOfLine.LF
|
|
2934
3273
|
:param lfs_patterns: (experimental) File patterns to mark as stored in Git LFS. Default: - No files stored in LFS
|
|
2935
3274
|
|
|
2936
3275
|
:stability: experimental
|
|
2937
3276
|
'''
|
|
2938
3277
|
if __debug__:
|
|
2939
3278
|
type_hints = typing.get_type_hints(_typecheckingstub__ee7f1b3b819a95ebdb112752cdc122d5362da95c419decd69ec24018f344bace)
|
|
3279
|
+
check_type(argname="argument end_of_line", value=end_of_line, expected_type=type_hints["end_of_line"])
|
|
2940
3280
|
check_type(argname="argument lfs_patterns", value=lfs_patterns, expected_type=type_hints["lfs_patterns"])
|
|
2941
3281
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
3282
|
+
if end_of_line is not None:
|
|
3283
|
+
self._values["end_of_line"] = end_of_line
|
|
2942
3284
|
if lfs_patterns is not None:
|
|
2943
3285
|
self._values["lfs_patterns"] = lfs_patterns
|
|
2944
3286
|
|
|
3287
|
+
@builtins.property
|
|
3288
|
+
def end_of_line(self) -> typing.Optional[EndOfLine]:
|
|
3289
|
+
'''(experimental) The default end of line character for text files.
|
|
3290
|
+
|
|
3291
|
+
endOfLine it's useful to keep the same end of line between Windows and Unix operative systems for git checking/checkout operations.
|
|
3292
|
+
Hence, it can avoid simple repository mutations consisting only of changes in the end of line characters.
|
|
3293
|
+
It will be set in the first line of the .gitattributes file to make it the first match with high priority but it can be overriden in a later line.
|
|
3294
|
+
Can be disabled by setting: ``endOfLine: EndOfLine.NONE``.
|
|
3295
|
+
|
|
3296
|
+
:default: EndOfLine.LF
|
|
3297
|
+
|
|
3298
|
+
:stability: experimental
|
|
3299
|
+
'''
|
|
3300
|
+
result = self._values.get("end_of_line")
|
|
3301
|
+
return typing.cast(typing.Optional[EndOfLine], result)
|
|
3302
|
+
|
|
2945
3303
|
@builtins.property
|
|
2946
3304
|
def lfs_patterns(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
2947
3305
|
'''(experimental) File patterns to mark as stored in Git LFS.
|
|
@@ -3667,6 +4025,52 @@ class GroupRunnerOptions:
|
|
|
3667
4025
|
)
|
|
3668
4026
|
|
|
3669
4027
|
|
|
4028
|
+
@jsii.interface(jsii_type="projen.ICompareString")
|
|
4029
|
+
class ICompareString(typing_extensions.Protocol):
|
|
4030
|
+
'''
|
|
4031
|
+
:stability: experimental
|
|
4032
|
+
'''
|
|
4033
|
+
|
|
4034
|
+
@jsii.member(jsii_name="compare")
|
|
4035
|
+
def compare(self, a: builtins.str, b: builtins.str) -> jsii.Number:
|
|
4036
|
+
'''
|
|
4037
|
+
:param a: The first string.
|
|
4038
|
+
:param b: The second string.
|
|
4039
|
+
|
|
4040
|
+
:return: It is expected to return a negative value if the first argument is less than the second argument, zero if they're equal, and a positive value otherwise.
|
|
4041
|
+
|
|
4042
|
+
:stability: experimental
|
|
4043
|
+
'''
|
|
4044
|
+
...
|
|
4045
|
+
|
|
4046
|
+
|
|
4047
|
+
class _ICompareStringProxy:
|
|
4048
|
+
'''
|
|
4049
|
+
:stability: experimental
|
|
4050
|
+
'''
|
|
4051
|
+
|
|
4052
|
+
__jsii_type__: typing.ClassVar[str] = "projen.ICompareString"
|
|
4053
|
+
|
|
4054
|
+
@jsii.member(jsii_name="compare")
|
|
4055
|
+
def compare(self, a: builtins.str, b: builtins.str) -> jsii.Number:
|
|
4056
|
+
'''
|
|
4057
|
+
:param a: The first string.
|
|
4058
|
+
:param b: The second string.
|
|
4059
|
+
|
|
4060
|
+
:return: It is expected to return a negative value if the first argument is less than the second argument, zero if they're equal, and a positive value otherwise.
|
|
4061
|
+
|
|
4062
|
+
:stability: experimental
|
|
4063
|
+
'''
|
|
4064
|
+
if __debug__:
|
|
4065
|
+
type_hints = typing.get_type_hints(_typecheckingstub__63d4f6e150362668f5e26d2f58f8b0a32cff82cf2eb8cb736d2c4333d0b01d09)
|
|
4066
|
+
check_type(argname="argument a", value=a, expected_type=type_hints["a"])
|
|
4067
|
+
check_type(argname="argument b", value=b, expected_type=type_hints["b"])
|
|
4068
|
+
return typing.cast(jsii.Number, jsii.invoke(self, "compare", [a, b]))
|
|
4069
|
+
|
|
4070
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
4071
|
+
typing.cast(typing.Any, ICompareString).__jsii_proxy_class__ = lambda : _ICompareStringProxy
|
|
4072
|
+
|
|
4073
|
+
|
|
3670
4074
|
@jsii.interface(jsii_type="projen.IDevEnvironment")
|
|
3671
4075
|
class IDevEnvironment(typing_extensions.Protocol):
|
|
3672
4076
|
'''(experimental) Abstract interface for container-based development environments, such as Gitpod and GitHub Codespaces.
|
|
@@ -4201,12 +4605,14 @@ class IgnoreFile(FileBase, metaclass=jsii.JSIIMeta, jsii_type="projen.IgnoreFile
|
|
|
4201
4605
|
*,
|
|
4202
4606
|
filter_comment_lines: typing.Optional[builtins.bool] = None,
|
|
4203
4607
|
filter_empty_lines: typing.Optional[builtins.bool] = None,
|
|
4608
|
+
ignore_patterns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
4204
4609
|
) -> None:
|
|
4205
4610
|
'''
|
|
4206
4611
|
:param project: The project to tie this file to.
|
|
4207
4612
|
:param file_path: - the relative path in the project to put the file.
|
|
4208
4613
|
:param filter_comment_lines: (experimental) Filter out comment lines? Default: true
|
|
4209
4614
|
:param filter_empty_lines: (experimental) Filter out blank/empty lines? Default: true
|
|
4615
|
+
:param ignore_patterns: (experimental) Patterns to add to the ignore file. Default: []
|
|
4210
4616
|
|
|
4211
4617
|
:stability: experimental
|
|
4212
4618
|
'''
|
|
@@ -4217,6 +4623,7 @@ class IgnoreFile(FileBase, metaclass=jsii.JSIIMeta, jsii_type="projen.IgnoreFile
|
|
|
4217
4623
|
options = IgnoreFileOptions(
|
|
4218
4624
|
filter_comment_lines=filter_comment_lines,
|
|
4219
4625
|
filter_empty_lines=filter_empty_lines,
|
|
4626
|
+
ignore_patterns=ignore_patterns,
|
|
4220
4627
|
)
|
|
4221
4628
|
|
|
4222
4629
|
jsii.create(self.__class__, self, [project, file_path, options])
|
|
@@ -4318,6 +4725,7 @@ class IgnoreFile(FileBase, metaclass=jsii.JSIIMeta, jsii_type="projen.IgnoreFile
|
|
|
4318
4725
|
name_mapping={
|
|
4319
4726
|
"filter_comment_lines": "filterCommentLines",
|
|
4320
4727
|
"filter_empty_lines": "filterEmptyLines",
|
|
4728
|
+
"ignore_patterns": "ignorePatterns",
|
|
4321
4729
|
},
|
|
4322
4730
|
)
|
|
4323
4731
|
class IgnoreFileOptions:
|
|
@@ -4326,10 +4734,12 @@ class IgnoreFileOptions:
|
|
|
4326
4734
|
*,
|
|
4327
4735
|
filter_comment_lines: typing.Optional[builtins.bool] = None,
|
|
4328
4736
|
filter_empty_lines: typing.Optional[builtins.bool] = None,
|
|
4737
|
+
ignore_patterns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
4329
4738
|
) -> None:
|
|
4330
4739
|
'''
|
|
4331
4740
|
:param filter_comment_lines: (experimental) Filter out comment lines? Default: true
|
|
4332
4741
|
:param filter_empty_lines: (experimental) Filter out blank/empty lines? Default: true
|
|
4742
|
+
:param ignore_patterns: (experimental) Patterns to add to the ignore file. Default: []
|
|
4333
4743
|
|
|
4334
4744
|
:stability: experimental
|
|
4335
4745
|
'''
|
|
@@ -4337,11 +4747,14 @@ class IgnoreFileOptions:
|
|
|
4337
4747
|
type_hints = typing.get_type_hints(_typecheckingstub__7852fd5d8f0daa6070394e45fe4fcb7845e6838dc40a3e3475c057712f4209b9)
|
|
4338
4748
|
check_type(argname="argument filter_comment_lines", value=filter_comment_lines, expected_type=type_hints["filter_comment_lines"])
|
|
4339
4749
|
check_type(argname="argument filter_empty_lines", value=filter_empty_lines, expected_type=type_hints["filter_empty_lines"])
|
|
4750
|
+
check_type(argname="argument ignore_patterns", value=ignore_patterns, expected_type=type_hints["ignore_patterns"])
|
|
4340
4751
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4341
4752
|
if filter_comment_lines is not None:
|
|
4342
4753
|
self._values["filter_comment_lines"] = filter_comment_lines
|
|
4343
4754
|
if filter_empty_lines is not None:
|
|
4344
4755
|
self._values["filter_empty_lines"] = filter_empty_lines
|
|
4756
|
+
if ignore_patterns is not None:
|
|
4757
|
+
self._values["ignore_patterns"] = ignore_patterns
|
|
4345
4758
|
|
|
4346
4759
|
@builtins.property
|
|
4347
4760
|
def filter_comment_lines(self) -> typing.Optional[builtins.bool]:
|
|
@@ -4365,6 +4778,17 @@ class IgnoreFileOptions:
|
|
|
4365
4778
|
result = self._values.get("filter_empty_lines")
|
|
4366
4779
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
4367
4780
|
|
|
4781
|
+
@builtins.property
|
|
4782
|
+
def ignore_patterns(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
4783
|
+
'''(experimental) Patterns to add to the ignore file.
|
|
4784
|
+
|
|
4785
|
+
:default: []
|
|
4786
|
+
|
|
4787
|
+
:stability: experimental
|
|
4788
|
+
'''
|
|
4789
|
+
result = self._values.get("ignore_patterns")
|
|
4790
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
4791
|
+
|
|
4368
4792
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4369
4793
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4370
4794
|
|
|
@@ -5446,7 +5870,7 @@ class ObjectFile(
|
|
|
5446
5870
|
|
|
5447
5871
|
"compilerOptions": {
|
|
5448
5872
|
"exclude": ["node_modules"],
|
|
5449
|
-
"lib": ["
|
|
5873
|
+
"lib": ["es2020"]
|
|
5450
5874
|
...
|
|
5451
5875
|
}
|
|
5452
5876
|
...
|
|
@@ -5460,7 +5884,7 @@ class ObjectFile(
|
|
|
5460
5884
|
|
|
5461
5885
|
"compilerOptions": {
|
|
5462
5886
|
"exclude": ["node_modules", "coverage"],
|
|
5463
|
-
"lib": ["
|
|
5887
|
+
"lib": ["es2020", "dom", "dom.iterable", "esnext"]
|
|
5464
5888
|
...
|
|
5465
5889
|
}
|
|
5466
5890
|
...
|
|
@@ -5484,7 +5908,7 @@ class ObjectFile(
|
|
|
5484
5908
|
|
|
5485
5909
|
"compilerOptions": {
|
|
5486
5910
|
"exclude": ["node_modules"],
|
|
5487
|
-
"lib": ["
|
|
5911
|
+
"lib": ["es2020"]
|
|
5488
5912
|
...
|
|
5489
5913
|
}
|
|
5490
5914
|
...
|
|
@@ -6648,7 +7072,7 @@ class ProjectTree(Component, metaclass=jsii.JSIIMeta, jsii_type="projen.ProjectT
|
|
|
6648
7072
|
if __debug__:
|
|
6649
7073
|
type_hints = typing.get_type_hints(_typecheckingstub__dd1d331084783b1e11404a33c550a54f472b9e2d656ca02bdc7287828f96e2fb)
|
|
6650
7074
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
6651
|
-
jsii.set(self, "file", value)
|
|
7075
|
+
jsii.set(self, "file", value) # pyright: ignore[reportArgumentType]
|
|
6652
7076
|
|
|
6653
7077
|
|
|
6654
7078
|
@jsii.enum(jsii_type="projen.ProjectType")
|
|
@@ -6936,6 +7360,10 @@ class ProjenrcOptions(ProjenrcJsonOptions):
|
|
|
6936
7360
|
class ReleasableCommits(metaclass=jsii.JSIIMeta, jsii_type="projen.ReleasableCommits"):
|
|
6937
7361
|
'''(experimental) Find commits that should be considered releasable to decide if a release is required.
|
|
6938
7362
|
|
|
7363
|
+
This setting only controls whether a release is triggered, yes or no. The
|
|
7364
|
+
paths used here are independent of the code that controls what commits are inspected
|
|
7365
|
+
to determine the version number.
|
|
7366
|
+
|
|
6939
7367
|
:stability: experimental
|
|
6940
7368
|
'''
|
|
6941
7369
|
|
|
@@ -7035,7 +7463,7 @@ class ReleasableCommits(metaclass=jsii.JSIIMeta, jsii_type="projen.ReleasableCom
|
|
|
7035
7463
|
if __debug__:
|
|
7036
7464
|
type_hints = typing.get_type_hints(_typecheckingstub__e1c46f6c8bc57788436baf6da521f9e5812106db6aa16bda9534549c8cbb078d)
|
|
7037
7465
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
7038
|
-
jsii.set(self, "cmd", value)
|
|
7466
|
+
jsii.set(self, "cmd", value) # pyright: ignore[reportArgumentType]
|
|
7039
7467
|
|
|
7040
7468
|
|
|
7041
7469
|
class Renovatebot(Component, metaclass=jsii.JSIIMeta, jsii_type="projen.Renovatebot"):
|
|
@@ -7573,7 +8001,7 @@ class SampleFile(Component, metaclass=jsii.JSIIMeta, jsii_type="projen.SampleFil
|
|
|
7573
8001
|
:param project: - the project to tie this file to.
|
|
7574
8002
|
:param file_path: - the relative path in the project to put the file.
|
|
7575
8003
|
:param contents: (experimental) The contents of the file to write.
|
|
7576
|
-
:param source_path: (experimental) Absolute path to a file to copy the contents from (does not need to be a text file). If your project is Typescript-based and has configured ``testdir`` to be a subdirectory of ``src``, sample files should outside of the ``src`` directory, otherwise they may not be copied. For example:: new SampleFile(this, 'assets/icon.png', {
|
|
8004
|
+
:param source_path: (experimental) Absolute path to a file to copy the contents from (does not need to be a text file). If your project is Typescript-based and has configured ``testdir`` to be a subdirectory of ``src``, sample files should outside of the ``src`` directory, otherwise they may not be copied. For example:: new SampleFile(this, 'assets/icon.png', { sourcePath: path.join(__dirname, '..', 'sample-assets', 'icon.png') });
|
|
7577
8005
|
|
|
7578
8006
|
:stability: experimental
|
|
7579
8007
|
'''
|
|
@@ -7609,7 +8037,7 @@ class SampleFileOptions:
|
|
|
7609
8037
|
'''(experimental) Options for the SampleFile object.
|
|
7610
8038
|
|
|
7611
8039
|
:param contents: (experimental) The contents of the file to write.
|
|
7612
|
-
:param source_path: (experimental) Absolute path to a file to copy the contents from (does not need to be a text file). If your project is Typescript-based and has configured ``testdir`` to be a subdirectory of ``src``, sample files should outside of the ``src`` directory, otherwise they may not be copied. For example:: new SampleFile(this, 'assets/icon.png', {
|
|
8040
|
+
:param source_path: (experimental) Absolute path to a file to copy the contents from (does not need to be a text file). If your project is Typescript-based and has configured ``testdir`` to be a subdirectory of ``src``, sample files should outside of the ``src`` directory, otherwise they may not be copied. For example:: new SampleFile(this, 'assets/icon.png', { sourcePath: path.join(__dirname, '..', 'sample-assets', 'icon.png') });
|
|
7613
8041
|
|
|
7614
8042
|
:stability: experimental
|
|
7615
8043
|
'''
|
|
@@ -7640,7 +8068,7 @@ class SampleFileOptions:
|
|
|
7640
8068
|
subdirectory of ``src``, sample files should outside of the ``src`` directory,
|
|
7641
8069
|
otherwise they may not be copied. For example::
|
|
7642
8070
|
|
|
7643
|
-
new SampleFile(this, 'assets/icon.png', {
|
|
8071
|
+
new SampleFile(this, 'assets/icon.png', { sourcePath: path.join(__dirname, '..', 'sample-assets', 'icon.png') });
|
|
7644
8072
|
|
|
7645
8073
|
:stability: experimental
|
|
7646
8074
|
'''
|
|
@@ -8183,7 +8611,7 @@ class Task(metaclass=jsii.JSIIMeta, jsii_type="projen.Task"):
|
|
|
8183
8611
|
:param cwd: (experimental) The working directory for this step. Default: - determined by the task
|
|
8184
8612
|
:param env: (experimental) Defines environment variables for the execution of this step (``exec`` and ``builtin`` only). Values in this map can be simple, literal values or shell expressions that will be evaluated at runtime e.g. ``$(echo "foo")``. Default: - no environment variables defined in step
|
|
8185
8613
|
:param name: (experimental) Step name. Default: - no name
|
|
8186
|
-
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8614
|
+
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the marker is explicitly double-quoted ("$@") arguments will be wrapped in single quotes, approximating the whitespace preserving behavior of bash variable expansion. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8187
8615
|
|
|
8188
8616
|
:stability: experimental
|
|
8189
8617
|
'''
|
|
@@ -8201,6 +8629,21 @@ class Task(metaclass=jsii.JSIIMeta, jsii_type="projen.Task"):
|
|
|
8201
8629
|
|
|
8202
8630
|
return typing.cast(None, jsii.invoke(self, "exec", [command, options]))
|
|
8203
8631
|
|
|
8632
|
+
@jsii.member(jsii_name="insertStep")
|
|
8633
|
+
def insert_step(self, index: jsii.Number, *steps: "TaskStep") -> None:
|
|
8634
|
+
'''(experimental) Insert one or more steps at a given index.
|
|
8635
|
+
|
|
8636
|
+
:param index: Steps will be inserted before this index. May be negative to count backwards from the end, or may be ``== steps().length`` to insert at the end.
|
|
8637
|
+
:param steps: The steps to insert.
|
|
8638
|
+
|
|
8639
|
+
:stability: experimental
|
|
8640
|
+
'''
|
|
8641
|
+
if __debug__:
|
|
8642
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f45a21d1f9e615dd1b225d6cafbe381a43b42811d1d21efd5a3f6630613e94af)
|
|
8643
|
+
check_type(argname="argument index", value=index, expected_type=type_hints["index"])
|
|
8644
|
+
check_type(argname="argument steps", value=steps, expected_type=typing.Tuple[type_hints["steps"], ...]) # pyright: ignore [reportGeneralTypeIssues]
|
|
8645
|
+
return typing.cast(None, jsii.invoke(self, "insertStep", [index, *steps]))
|
|
8646
|
+
|
|
8204
8647
|
@jsii.member(jsii_name="lock")
|
|
8205
8648
|
def lock(self) -> None:
|
|
8206
8649
|
'''(experimental) Forbid additional changes to this task.
|
|
@@ -8229,7 +8672,7 @@ class Task(metaclass=jsii.JSIIMeta, jsii_type="projen.Task"):
|
|
|
8229
8672
|
:param cwd: (experimental) The working directory for this step. Default: - determined by the task
|
|
8230
8673
|
:param env: (experimental) Defines environment variables for the execution of this step (``exec`` and ``builtin`` only). Values in this map can be simple, literal values or shell expressions that will be evaluated at runtime e.g. ``$(echo "foo")``. Default: - no environment variables defined in step
|
|
8231
8674
|
:param name: (experimental) Step name. Default: - no name
|
|
8232
|
-
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8675
|
+
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the marker is explicitly double-quoted ("$@") arguments will be wrapped in single quotes, approximating the whitespace preserving behavior of bash variable expansion. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8233
8676
|
|
|
8234
8677
|
:deprecated: use ``prependExec()``
|
|
8235
8678
|
|
|
@@ -8269,7 +8712,7 @@ class Task(metaclass=jsii.JSIIMeta, jsii_type="projen.Task"):
|
|
|
8269
8712
|
:param cwd: (experimental) The working directory for this step. Default: - determined by the task
|
|
8270
8713
|
:param env: (experimental) Defines environment variables for the execution of this step (``exec`` and ``builtin`` only). Values in this map can be simple, literal values or shell expressions that will be evaluated at runtime e.g. ``$(echo "foo")``. Default: - no environment variables defined in step
|
|
8271
8714
|
:param name: (experimental) Step name. Default: - no name
|
|
8272
|
-
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8715
|
+
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the marker is explicitly double-quoted ("$@") arguments will be wrapped in single quotes, approximating the whitespace preserving behavior of bash variable expansion. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8273
8716
|
|
|
8274
8717
|
:stability: experimental
|
|
8275
8718
|
'''
|
|
@@ -8307,7 +8750,7 @@ class Task(metaclass=jsii.JSIIMeta, jsii_type="projen.Task"):
|
|
|
8307
8750
|
:param cwd: (experimental) The working directory for this step. Default: - determined by the task
|
|
8308
8751
|
:param env: (experimental) Defines environment variables for the execution of this step (``exec`` and ``builtin`` only). Values in this map can be simple, literal values or shell expressions that will be evaluated at runtime e.g. ``$(echo "foo")``. Default: - no environment variables defined in step
|
|
8309
8752
|
:param name: (experimental) Step name. Default: - no name
|
|
8310
|
-
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8753
|
+
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the marker is explicitly double-quoted ("$@") arguments will be wrapped in single quotes, approximating the whitespace preserving behavior of bash variable expansion. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8311
8754
|
|
|
8312
8755
|
:stability: experimental
|
|
8313
8756
|
'''
|
|
@@ -8345,7 +8788,7 @@ class Task(metaclass=jsii.JSIIMeta, jsii_type="projen.Task"):
|
|
|
8345
8788
|
:param cwd: (experimental) The working directory for this step. Default: - determined by the task
|
|
8346
8789
|
:param env: (experimental) Defines environment variables for the execution of this step (``exec`` and ``builtin`` only). Values in this map can be simple, literal values or shell expressions that will be evaluated at runtime e.g. ``$(echo "foo")``. Default: - no environment variables defined in step
|
|
8347
8790
|
:param name: (experimental) Step name. Default: - no name
|
|
8348
|
-
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8791
|
+
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the marker is explicitly double-quoted ("$@") arguments will be wrapped in single quotes, approximating the whitespace preserving behavior of bash variable expansion. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8349
8792
|
|
|
8350
8793
|
:stability: experimental
|
|
8351
8794
|
'''
|
|
@@ -8363,6 +8806,18 @@ class Task(metaclass=jsii.JSIIMeta, jsii_type="projen.Task"):
|
|
|
8363
8806
|
|
|
8364
8807
|
return typing.cast(None, jsii.invoke(self, "prependSpawn", [subtask, options]))
|
|
8365
8808
|
|
|
8809
|
+
@jsii.member(jsii_name="removeStep")
|
|
8810
|
+
def remove_step(self, index: jsii.Number) -> None:
|
|
8811
|
+
'''
|
|
8812
|
+
:param index: The index of the step to remove.
|
|
8813
|
+
|
|
8814
|
+
:stability: experimental
|
|
8815
|
+
'''
|
|
8816
|
+
if __debug__:
|
|
8817
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c493ae53dba9513da0ecb434448ff6e7d3050c90456d373f1135a865eedb69c3)
|
|
8818
|
+
check_type(argname="argument index", value=index, expected_type=type_hints["index"])
|
|
8819
|
+
return typing.cast(None, jsii.invoke(self, "removeStep", [index]))
|
|
8820
|
+
|
|
8366
8821
|
@jsii.member(jsii_name="reset")
|
|
8367
8822
|
def reset(
|
|
8368
8823
|
self,
|
|
@@ -8383,7 +8838,7 @@ class Task(metaclass=jsii.JSIIMeta, jsii_type="projen.Task"):
|
|
|
8383
8838
|
:param cwd: (experimental) The working directory for this step. Default: - determined by the task
|
|
8384
8839
|
:param env: (experimental) Defines environment variables for the execution of this step (``exec`` and ``builtin`` only). Values in this map can be simple, literal values or shell expressions that will be evaluated at runtime e.g. ``$(echo "foo")``. Default: - no environment variables defined in step
|
|
8385
8840
|
:param name: (experimental) Step name. Default: - no name
|
|
8386
|
-
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8841
|
+
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the marker is explicitly double-quoted ("$@") arguments will be wrapped in single quotes, approximating the whitespace preserving behavior of bash variable expansion. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8387
8842
|
|
|
8388
8843
|
:stability: experimental
|
|
8389
8844
|
'''
|
|
@@ -8421,7 +8876,7 @@ class Task(metaclass=jsii.JSIIMeta, jsii_type="projen.Task"):
|
|
|
8421
8876
|
:param cwd: (experimental) The working directory for this step. Default: - determined by the task
|
|
8422
8877
|
:param env: (experimental) Defines environment variables for the execution of this step (``exec`` and ``builtin`` only). Values in this map can be simple, literal values or shell expressions that will be evaluated at runtime e.g. ``$(echo "foo")``. Default: - no environment variables defined in step
|
|
8423
8878
|
:param name: (experimental) Step name. Default: - no name
|
|
8424
|
-
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8879
|
+
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the marker is explicitly double-quoted ("$@") arguments will be wrapped in single quotes, approximating the whitespace preserving behavior of bash variable expansion. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8425
8880
|
|
|
8426
8881
|
:stability: experimental
|
|
8427
8882
|
'''
|
|
@@ -8459,7 +8914,7 @@ class Task(metaclass=jsii.JSIIMeta, jsii_type="projen.Task"):
|
|
|
8459
8914
|
:param cwd: (experimental) The working directory for this step. Default: - determined by the task
|
|
8460
8915
|
:param env: (experimental) Defines environment variables for the execution of this step (``exec`` and ``builtin`` only). Values in this map can be simple, literal values or shell expressions that will be evaluated at runtime e.g. ``$(echo "foo")``. Default: - no environment variables defined in step
|
|
8461
8916
|
:param name: (experimental) Step name. Default: - no name
|
|
8462
|
-
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8917
|
+
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the marker is explicitly double-quoted ("$@") arguments will be wrapped in single quotes, approximating the whitespace preserving behavior of bash variable expansion. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8463
8918
|
|
|
8464
8919
|
:stability: experimental
|
|
8465
8920
|
'''
|
|
@@ -8477,6 +8932,55 @@ class Task(metaclass=jsii.JSIIMeta, jsii_type="projen.Task"):
|
|
|
8477
8932
|
|
|
8478
8933
|
return typing.cast(None, jsii.invoke(self, "spawn", [subtask, options]))
|
|
8479
8934
|
|
|
8935
|
+
@jsii.member(jsii_name="updateStep")
|
|
8936
|
+
def update_step(
|
|
8937
|
+
self,
|
|
8938
|
+
index: jsii.Number,
|
|
8939
|
+
*,
|
|
8940
|
+
builtin: typing.Optional[builtins.str] = None,
|
|
8941
|
+
exec: typing.Optional[builtins.str] = None,
|
|
8942
|
+
say: typing.Optional[builtins.str] = None,
|
|
8943
|
+
spawn: typing.Optional[builtins.str] = None,
|
|
8944
|
+
args: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
8945
|
+
condition: typing.Optional[builtins.str] = None,
|
|
8946
|
+
cwd: typing.Optional[builtins.str] = None,
|
|
8947
|
+
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
8948
|
+
name: typing.Optional[builtins.str] = None,
|
|
8949
|
+
receive_args: typing.Optional[builtins.bool] = None,
|
|
8950
|
+
) -> None:
|
|
8951
|
+
'''
|
|
8952
|
+
:param index: The index of the step to edit.
|
|
8953
|
+
:param builtin: (experimental) The name of a built-in task to execute. Built-in tasks are node.js programs baked into the projen module and as component runtime helpers. The name is a path relative to the projen lib/ directory (without the .task.js extension). For example, if your built in builtin task is under ``src/release/resolve-version.task.ts``, then this would be ``release/resolve-version``. Default: - do not execute a builtin task
|
|
8954
|
+
:param exec: (experimental) Shell command to execute. Default: - don't execute a shell command
|
|
8955
|
+
:param say: (experimental) Print a message. Default: - don't say anything
|
|
8956
|
+
:param spawn: (experimental) Subtask to execute. Default: - don't spawn a subtask
|
|
8957
|
+
:param args: (experimental) A list of fixed arguments always passed to the step. Useful to re-use existing tasks without having to re-define the whole task. Fixed args are always passed to the step, even if ``receiveArgs`` is ``false`` and are always passed before any args the task is called with. If the step executes a shell commands, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. If the step calls a builtin script, args are passed to the script. It is up to the script to use or discard the arguments. Default: - no arguments are passed to the step
|
|
8958
|
+
:param condition: (experimental) A shell command which determines if the this step should be executed. If the program exits with a zero exit code, the step will be executed. A non-zero code means the step will be skipped (subsequent task steps will still be evaluated/executed).
|
|
8959
|
+
:param cwd: (experimental) The working directory for this step. Default: - determined by the task
|
|
8960
|
+
:param env: (experimental) Defines environment variables for the execution of this step (``exec`` and ``builtin`` only). Values in this map can be simple, literal values or shell expressions that will be evaluated at runtime e.g. ``$(echo "foo")``. Default: - no environment variables defined in step
|
|
8961
|
+
:param name: (experimental) Step name. Default: - no name
|
|
8962
|
+
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the marker is explicitly double-quoted ("$@") arguments will be wrapped in single quotes, approximating the whitespace preserving behavior of bash variable expansion. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
8963
|
+
|
|
8964
|
+
:stability: experimental
|
|
8965
|
+
'''
|
|
8966
|
+
if __debug__:
|
|
8967
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3e6471d9b24a42d1138efa839e893cd7685a703235152ad4f0c3aae00e2e12f8)
|
|
8968
|
+
check_type(argname="argument index", value=index, expected_type=type_hints["index"])
|
|
8969
|
+
step = TaskStep(
|
|
8970
|
+
builtin=builtin,
|
|
8971
|
+
exec=exec,
|
|
8972
|
+
say=say,
|
|
8973
|
+
spawn=spawn,
|
|
8974
|
+
args=args,
|
|
8975
|
+
condition=condition,
|
|
8976
|
+
cwd=cwd,
|
|
8977
|
+
env=env,
|
|
8978
|
+
name=name,
|
|
8979
|
+
receive_args=receive_args,
|
|
8980
|
+
)
|
|
8981
|
+
|
|
8982
|
+
return typing.cast(None, jsii.invoke(self, "updateStep", [index, step]))
|
|
8983
|
+
|
|
8480
8984
|
@builtins.property
|
|
8481
8985
|
@jsii.member(jsii_name="envVars")
|
|
8482
8986
|
def env_vars(self) -> typing.Mapping[builtins.str, builtins.str]:
|
|
@@ -8516,6 +9020,24 @@ class Task(metaclass=jsii.JSIIMeta, jsii_type="projen.Task"):
|
|
|
8516
9020
|
'''
|
|
8517
9021
|
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "condition"))
|
|
8518
9022
|
|
|
9023
|
+
@builtins.property
|
|
9024
|
+
@jsii.member(jsii_name="cwd")
|
|
9025
|
+
def cwd(self) -> typing.Optional[builtins.str]:
|
|
9026
|
+
'''(experimental) Returns the working directory for this task.
|
|
9027
|
+
|
|
9028
|
+
Sets the working directory for this task.
|
|
9029
|
+
|
|
9030
|
+
:stability: experimental
|
|
9031
|
+
'''
|
|
9032
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "cwd"))
|
|
9033
|
+
|
|
9034
|
+
@cwd.setter
|
|
9035
|
+
def cwd(self, value: typing.Optional[builtins.str]) -> None:
|
|
9036
|
+
if __debug__:
|
|
9037
|
+
type_hints = typing.get_type_hints(_typecheckingstub__063f23ecf0aa952acdfe114ecbbc1ac116753acf58aa564cd47b3ea5fbd99ad8)
|
|
9038
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9039
|
+
jsii.set(self, "cwd", value) # pyright: ignore[reportArgumentType]
|
|
9040
|
+
|
|
8519
9041
|
@builtins.property
|
|
8520
9042
|
@jsii.member(jsii_name="description")
|
|
8521
9043
|
def description(self) -> typing.Optional[builtins.str]:
|
|
@@ -8532,7 +9054,7 @@ class Task(metaclass=jsii.JSIIMeta, jsii_type="projen.Task"):
|
|
|
8532
9054
|
if __debug__:
|
|
8533
9055
|
type_hints = typing.get_type_hints(_typecheckingstub__740ba1ef0d399dc76efb91309b9d1c8426213faa31da03d8c0abbc94a3d02e03)
|
|
8534
9056
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8535
|
-
jsii.set(self, "description", value)
|
|
9057
|
+
jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
|
|
8536
9058
|
|
|
8537
9059
|
|
|
8538
9060
|
@jsii.data_type(
|
|
@@ -8866,12 +9388,14 @@ class TaskRuntime(metaclass=jsii.JSIIMeta, jsii_type="projen.TaskRuntime"):
|
|
|
8866
9388
|
name: builtins.str,
|
|
8867
9389
|
parents: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
8868
9390
|
args: typing.Optional[typing.Sequence[typing.Union[builtins.str, jsii.Number]]] = None,
|
|
9391
|
+
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
8869
9392
|
) -> None:
|
|
8870
9393
|
'''(experimental) Runs the task.
|
|
8871
9394
|
|
|
8872
9395
|
:param name: The task name.
|
|
8873
9396
|
:param parents: -
|
|
8874
9397
|
:param args: -
|
|
9398
|
+
:param env: -
|
|
8875
9399
|
|
|
8876
9400
|
:stability: experimental
|
|
8877
9401
|
'''
|
|
@@ -8880,7 +9404,8 @@ class TaskRuntime(metaclass=jsii.JSIIMeta, jsii_type="projen.TaskRuntime"):
|
|
|
8880
9404
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
8881
9405
|
check_type(argname="argument parents", value=parents, expected_type=type_hints["parents"])
|
|
8882
9406
|
check_type(argname="argument args", value=args, expected_type=type_hints["args"])
|
|
8883
|
-
|
|
9407
|
+
check_type(argname="argument env", value=env, expected_type=type_hints["env"])
|
|
9408
|
+
return typing.cast(None, jsii.invoke(self, "runTask", [name, parents, args, env]))
|
|
8884
9409
|
|
|
8885
9410
|
@jsii.member(jsii_name="tryFindTask")
|
|
8886
9411
|
def try_find_task(self, name: builtins.str) -> typing.Optional["TaskSpec"]:
|
|
@@ -9114,7 +9639,7 @@ class TaskStepOptions:
|
|
|
9114
9639
|
:param cwd: (experimental) The working directory for this step. Default: - determined by the task
|
|
9115
9640
|
:param env: (experimental) Defines environment variables for the execution of this step (``exec`` and ``builtin`` only). Values in this map can be simple, literal values or shell expressions that will be evaluated at runtime e.g. ``$(echo "foo")``. Default: - no environment variables defined in step
|
|
9116
9641
|
:param name: (experimental) Step name. Default: - no name
|
|
9117
|
-
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
9642
|
+
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the marker is explicitly double-quoted ("$@") arguments will be wrapped in single quotes, approximating the whitespace preserving behavior of bash variable expansion. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
9118
9643
|
|
|
9119
9644
|
:stability: experimental
|
|
9120
9645
|
'''
|
|
@@ -9227,6 +9752,9 @@ class TaskStepOptions:
|
|
|
9227
9752
|
If ``true``, args are passed through at the end of the ``exec`` shell command.
|
|
9228
9753
|
The position of the args can be changed by including the marker ``$@`` inside the command string.
|
|
9229
9754
|
|
|
9755
|
+
If the marker is explicitly double-quoted ("$@") arguments will be wrapped in single quotes, approximating
|
|
9756
|
+
the whitespace preserving behavior of bash variable expansion.
|
|
9757
|
+
|
|
9230
9758
|
If the step spawns a subtask, args are passed to the subtask.
|
|
9231
9759
|
The subtask must define steps receiving args for this to have any effect.
|
|
9232
9760
|
|
|
@@ -9725,7 +10253,7 @@ class TomlFile(ObjectFile, metaclass=jsii.JSIIMeta, jsii_type="projen.TomlFile")
|
|
|
9725
10253
|
|
|
9726
10254
|
def __init__(
|
|
9727
10255
|
self,
|
|
9728
|
-
|
|
10256
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
9729
10257
|
file_path: builtins.str,
|
|
9730
10258
|
*,
|
|
9731
10259
|
obj: typing.Any = None,
|
|
@@ -9737,7 +10265,7 @@ class TomlFile(ObjectFile, metaclass=jsii.JSIIMeta, jsii_type="projen.TomlFile")
|
|
|
9737
10265
|
readonly: typing.Optional[builtins.bool] = None,
|
|
9738
10266
|
) -> None:
|
|
9739
10267
|
'''
|
|
9740
|
-
:param
|
|
10268
|
+
:param scope: -
|
|
9741
10269
|
:param file_path: -
|
|
9742
10270
|
:param obj: (experimental) The object that will be serialized. You can modify the object's contents before synthesis. Serialization of the object is similar to JSON.stringify with few enhancements: - values that are functions will be called during synthesis and the result will be serialized - this allow to have lazy values. - ``Set`` will be converted to array - ``Map`` will be converted to a plain object ({ key: value, ... }}) - ``RegExp`` without flags will be converted to string representation of the source Default: {} an empty object (use ``file.obj`` to mutate).
|
|
9743
10271
|
:param omit_empty: (experimental) Omits empty objects and arrays. Default: false
|
|
@@ -9751,7 +10279,7 @@ class TomlFile(ObjectFile, metaclass=jsii.JSIIMeta, jsii_type="projen.TomlFile")
|
|
|
9751
10279
|
'''
|
|
9752
10280
|
if __debug__:
|
|
9753
10281
|
type_hints = typing.get_type_hints(_typecheckingstub__de7c08620aabeb578ce8c0c54b1073a9df1f34c7815d8ae6fdebff7eb411c3d8)
|
|
9754
|
-
check_type(argname="argument
|
|
10282
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
9755
10283
|
check_type(argname="argument file_path", value=file_path, expected_type=type_hints["file_path"])
|
|
9756
10284
|
options = TomlFileOptions(
|
|
9757
10285
|
obj=obj,
|
|
@@ -9763,7 +10291,7 @@ class TomlFile(ObjectFile, metaclass=jsii.JSIIMeta, jsii_type="projen.TomlFile")
|
|
|
9763
10291
|
readonly=readonly,
|
|
9764
10292
|
)
|
|
9765
10293
|
|
|
9766
|
-
jsii.create(self.__class__, self, [
|
|
10294
|
+
jsii.create(self.__class__, self, [scope, file_path, options])
|
|
9767
10295
|
|
|
9768
10296
|
@jsii.member(jsii_name="synthesizeContent")
|
|
9769
10297
|
def _synthesize_content(self, resolver: IResolver) -> typing.Optional[builtins.str]:
|
|
@@ -9948,18 +10476,22 @@ class Version(Component, metaclass=jsii.JSIIMeta, jsii_type="projen.Version"):
|
|
|
9948
10476
|
|
|
9949
10477
|
def __init__(
|
|
9950
10478
|
self,
|
|
9951
|
-
|
|
10479
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
9952
10480
|
*,
|
|
9953
10481
|
artifacts_directory: builtins.str,
|
|
9954
10482
|
version_input_file: builtins.str,
|
|
10483
|
+
bump_package: typing.Optional[builtins.str] = None,
|
|
10484
|
+
next_version_command: typing.Optional[builtins.str] = None,
|
|
9955
10485
|
releasable_commits: typing.Optional[ReleasableCommits] = None,
|
|
9956
10486
|
tag_prefix: typing.Optional[builtins.str] = None,
|
|
9957
10487
|
versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
9958
10488
|
) -> None:
|
|
9959
10489
|
'''
|
|
9960
|
-
:param
|
|
10490
|
+
:param scope: -
|
|
9961
10491
|
:param artifacts_directory: (experimental) The name of the directory into which ``changelog.md`` and ``version.txt`` files are emitted.
|
|
9962
10492
|
:param version_input_file: (experimental) A name of a .json file to set the ``version`` field in after a bump.
|
|
10493
|
+
:param bump_package: (experimental) The ``commit-and-tag-version`` compatible package used to bump the package version, as a dependency string. This can be any compatible package version, including the deprecated ``standard-version@9``. Default: "commit-and-tag-version@12"
|
|
10494
|
+
:param next_version_command: (experimental) A shell command to control the next version to release. If present, this shell command will be run before the bump is executed, and it determines what version to release. It will be executed in the following environment: - Working directory: the project directory. - ``$VERSION``: the current version. Looks like ``1.2.3``. - ``$LATEST_TAG``: the most recent tag. Looks like ``prefix-v1.2.3``, or may be unset. - ``$SUGGESTED_BUMP``: the suggested bump action based on commits. One of ``major|minor|patch|none``. The command should print one of the following to ``stdout``: - Nothing: the next version number will be determined based on commit history. - ``x.y.z``: the next version number will be ``x.y.z``. - ``major|minor|patch``: the next version number will be the current version number with the indicated component bumped. Default: - The next version will be determined based on the commit history and project settings.
|
|
9963
10495
|
:param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
|
|
9964
10496
|
:param tag_prefix: (experimental) The tag prefix corresponding to this version.
|
|
9965
10497
|
:param versionrc_options: (experimental) Custom configuration for versionrc file used by standard-release.
|
|
@@ -9968,25 +10500,76 @@ class Version(Component, metaclass=jsii.JSIIMeta, jsii_type="projen.Version"):
|
|
|
9968
10500
|
'''
|
|
9969
10501
|
if __debug__:
|
|
9970
10502
|
type_hints = typing.get_type_hints(_typecheckingstub__9cf64d1b29258435f8a7749178e947fcedd27d55f323782081a21714be909595)
|
|
9971
|
-
check_type(argname="argument
|
|
10503
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
9972
10504
|
options = VersionOptions(
|
|
9973
10505
|
artifacts_directory=artifacts_directory,
|
|
9974
10506
|
version_input_file=version_input_file,
|
|
10507
|
+
bump_package=bump_package,
|
|
10508
|
+
next_version_command=next_version_command,
|
|
9975
10509
|
releasable_commits=releasable_commits,
|
|
9976
10510
|
tag_prefix=tag_prefix,
|
|
9977
10511
|
versionrc_options=versionrc_options,
|
|
9978
10512
|
)
|
|
9979
10513
|
|
|
9980
|
-
jsii.create(self.__class__, self, [
|
|
10514
|
+
jsii.create(self.__class__, self, [scope, options])
|
|
10515
|
+
|
|
10516
|
+
@jsii.member(jsii_name="envForBranch")
|
|
10517
|
+
def env_for_branch(
|
|
10518
|
+
self,
|
|
10519
|
+
*,
|
|
10520
|
+
major_version: typing.Optional[jsii.Number] = None,
|
|
10521
|
+
min_major_version: typing.Optional[jsii.Number] = None,
|
|
10522
|
+
minor_version: typing.Optional[jsii.Number] = None,
|
|
10523
|
+
prerelease: typing.Optional[builtins.str] = None,
|
|
10524
|
+
tag_prefix: typing.Optional[builtins.str] = None,
|
|
10525
|
+
) -> typing.Mapping[builtins.str, builtins.str]:
|
|
10526
|
+
'''(experimental) Return the environment variables to modify the bump command for release branches.
|
|
10527
|
+
|
|
10528
|
+
These options are used to modify the behavior of the version bumping script
|
|
10529
|
+
for additional branches, by setting environment variables.
|
|
10530
|
+
|
|
10531
|
+
No settings are inherited from the base ``Version`` object (but any parameters that
|
|
10532
|
+
control versions do conflict with the use of a ``nextVersionCommand``).
|
|
10533
|
+
|
|
10534
|
+
:param major_version: (experimental) The major versions released from this branch.
|
|
10535
|
+
:param min_major_version: (experimental) The minimum major version to release.
|
|
10536
|
+
:param minor_version: (experimental) The minor versions released from this branch.
|
|
10537
|
+
:param prerelease: (experimental) Bump the version as a pre-release tag. Default: - normal releases
|
|
10538
|
+
:param tag_prefix: (experimental) Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. Note: this prefix is used to detect the latest tagged version when bumping, so if you change this on a project with an existing version history, you may need to manually tag your latest release with the new prefix. Default: - no prefix
|
|
10539
|
+
|
|
10540
|
+
:stability: experimental
|
|
10541
|
+
'''
|
|
10542
|
+
branch_options = VersionBranchOptions(
|
|
10543
|
+
major_version=major_version,
|
|
10544
|
+
min_major_version=min_major_version,
|
|
10545
|
+
minor_version=minor_version,
|
|
10546
|
+
prerelease=prerelease,
|
|
10547
|
+
tag_prefix=tag_prefix,
|
|
10548
|
+
)
|
|
10549
|
+
|
|
10550
|
+
return typing.cast(typing.Mapping[builtins.str, builtins.str], jsii.invoke(self, "envForBranch", [branch_options]))
|
|
9981
10551
|
|
|
9982
10552
|
@jsii.python.classproperty
|
|
9983
10553
|
@jsii.member(jsii_name="STANDARD_VERSION")
|
|
9984
10554
|
def STANDARD_VERSION(cls) -> builtins.str:
|
|
9985
10555
|
'''
|
|
9986
|
-
:
|
|
10556
|
+
:deprecated: use ``version.bumpPackage`` on the component instance instead
|
|
10557
|
+
|
|
10558
|
+
:stability: deprecated
|
|
9987
10559
|
'''
|
|
9988
10560
|
return typing.cast(builtins.str, jsii.sget(cls, "STANDARD_VERSION"))
|
|
9989
10561
|
|
|
10562
|
+
@builtins.property
|
|
10563
|
+
@jsii.member(jsii_name="bumpPackage")
|
|
10564
|
+
def bump_package(self) -> builtins.str:
|
|
10565
|
+
'''(experimental) The package used to bump package versions, as a dependency string.
|
|
10566
|
+
|
|
10567
|
+
This is a ``commit-and-tag-version`` compatible package.
|
|
10568
|
+
|
|
10569
|
+
:stability: experimental
|
|
10570
|
+
'''
|
|
10571
|
+
return typing.cast(builtins.str, jsii.get(self, "bumpPackage"))
|
|
10572
|
+
|
|
9990
10573
|
@builtins.property
|
|
9991
10574
|
@jsii.member(jsii_name="bumpTask")
|
|
9992
10575
|
def bump_task(self) -> Task:
|
|
@@ -10031,12 +10614,130 @@ class Version(Component, metaclass=jsii.JSIIMeta, jsii_type="projen.Version"):
|
|
|
10031
10614
|
return typing.cast(builtins.str, jsii.get(self, "versionFileName"))
|
|
10032
10615
|
|
|
10033
10616
|
|
|
10617
|
+
@jsii.data_type(
|
|
10618
|
+
jsii_type="projen.VersionBranchOptions",
|
|
10619
|
+
jsii_struct_bases=[],
|
|
10620
|
+
name_mapping={
|
|
10621
|
+
"major_version": "majorVersion",
|
|
10622
|
+
"min_major_version": "minMajorVersion",
|
|
10623
|
+
"minor_version": "minorVersion",
|
|
10624
|
+
"prerelease": "prerelease",
|
|
10625
|
+
"tag_prefix": "tagPrefix",
|
|
10626
|
+
},
|
|
10627
|
+
)
|
|
10628
|
+
class VersionBranchOptions:
|
|
10629
|
+
def __init__(
|
|
10630
|
+
self,
|
|
10631
|
+
*,
|
|
10632
|
+
major_version: typing.Optional[jsii.Number] = None,
|
|
10633
|
+
min_major_version: typing.Optional[jsii.Number] = None,
|
|
10634
|
+
minor_version: typing.Optional[jsii.Number] = None,
|
|
10635
|
+
prerelease: typing.Optional[builtins.str] = None,
|
|
10636
|
+
tag_prefix: typing.Optional[builtins.str] = None,
|
|
10637
|
+
) -> None:
|
|
10638
|
+
'''(experimental) Options to pass to ``modifyBranchEnvironment``.
|
|
10639
|
+
|
|
10640
|
+
:param major_version: (experimental) The major versions released from this branch.
|
|
10641
|
+
:param min_major_version: (experimental) The minimum major version to release.
|
|
10642
|
+
:param minor_version: (experimental) The minor versions released from this branch.
|
|
10643
|
+
:param prerelease: (experimental) Bump the version as a pre-release tag. Default: - normal releases
|
|
10644
|
+
:param tag_prefix: (experimental) Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. Note: this prefix is used to detect the latest tagged version when bumping, so if you change this on a project with an existing version history, you may need to manually tag your latest release with the new prefix. Default: - no prefix
|
|
10645
|
+
|
|
10646
|
+
:stability: experimental
|
|
10647
|
+
'''
|
|
10648
|
+
if __debug__:
|
|
10649
|
+
type_hints = typing.get_type_hints(_typecheckingstub__62987907aa24cc1b84e9b6e9b755bd286708fa4a219baa7b979fb3ea61401603)
|
|
10650
|
+
check_type(argname="argument major_version", value=major_version, expected_type=type_hints["major_version"])
|
|
10651
|
+
check_type(argname="argument min_major_version", value=min_major_version, expected_type=type_hints["min_major_version"])
|
|
10652
|
+
check_type(argname="argument minor_version", value=minor_version, expected_type=type_hints["minor_version"])
|
|
10653
|
+
check_type(argname="argument prerelease", value=prerelease, expected_type=type_hints["prerelease"])
|
|
10654
|
+
check_type(argname="argument tag_prefix", value=tag_prefix, expected_type=type_hints["tag_prefix"])
|
|
10655
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
10656
|
+
if major_version is not None:
|
|
10657
|
+
self._values["major_version"] = major_version
|
|
10658
|
+
if min_major_version is not None:
|
|
10659
|
+
self._values["min_major_version"] = min_major_version
|
|
10660
|
+
if minor_version is not None:
|
|
10661
|
+
self._values["minor_version"] = minor_version
|
|
10662
|
+
if prerelease is not None:
|
|
10663
|
+
self._values["prerelease"] = prerelease
|
|
10664
|
+
if tag_prefix is not None:
|
|
10665
|
+
self._values["tag_prefix"] = tag_prefix
|
|
10666
|
+
|
|
10667
|
+
@builtins.property
|
|
10668
|
+
def major_version(self) -> typing.Optional[jsii.Number]:
|
|
10669
|
+
'''(experimental) The major versions released from this branch.
|
|
10670
|
+
|
|
10671
|
+
:stability: experimental
|
|
10672
|
+
'''
|
|
10673
|
+
result = self._values.get("major_version")
|
|
10674
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
10675
|
+
|
|
10676
|
+
@builtins.property
|
|
10677
|
+
def min_major_version(self) -> typing.Optional[jsii.Number]:
|
|
10678
|
+
'''(experimental) The minimum major version to release.
|
|
10679
|
+
|
|
10680
|
+
:stability: experimental
|
|
10681
|
+
'''
|
|
10682
|
+
result = self._values.get("min_major_version")
|
|
10683
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
10684
|
+
|
|
10685
|
+
@builtins.property
|
|
10686
|
+
def minor_version(self) -> typing.Optional[jsii.Number]:
|
|
10687
|
+
'''(experimental) The minor versions released from this branch.
|
|
10688
|
+
|
|
10689
|
+
:stability: experimental
|
|
10690
|
+
'''
|
|
10691
|
+
result = self._values.get("minor_version")
|
|
10692
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
10693
|
+
|
|
10694
|
+
@builtins.property
|
|
10695
|
+
def prerelease(self) -> typing.Optional[builtins.str]:
|
|
10696
|
+
'''(experimental) Bump the version as a pre-release tag.
|
|
10697
|
+
|
|
10698
|
+
:default: - normal releases
|
|
10699
|
+
|
|
10700
|
+
:stability: experimental
|
|
10701
|
+
'''
|
|
10702
|
+
result = self._values.get("prerelease")
|
|
10703
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
10704
|
+
|
|
10705
|
+
@builtins.property
|
|
10706
|
+
def tag_prefix(self) -> typing.Optional[builtins.str]:
|
|
10707
|
+
'''(experimental) Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers.
|
|
10708
|
+
|
|
10709
|
+
Note: this prefix is used to detect the latest tagged version
|
|
10710
|
+
when bumping, so if you change this on a project with an existing version
|
|
10711
|
+
history, you may need to manually tag your latest release
|
|
10712
|
+
with the new prefix.
|
|
10713
|
+
|
|
10714
|
+
:default: - no prefix
|
|
10715
|
+
|
|
10716
|
+
:stability: experimental
|
|
10717
|
+
'''
|
|
10718
|
+
result = self._values.get("tag_prefix")
|
|
10719
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
10720
|
+
|
|
10721
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
10722
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
10723
|
+
|
|
10724
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
10725
|
+
return not (rhs == self)
|
|
10726
|
+
|
|
10727
|
+
def __repr__(self) -> str:
|
|
10728
|
+
return "VersionBranchOptions(%s)" % ", ".join(
|
|
10729
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
10730
|
+
)
|
|
10731
|
+
|
|
10732
|
+
|
|
10034
10733
|
@jsii.data_type(
|
|
10035
10734
|
jsii_type="projen.VersionOptions",
|
|
10036
10735
|
jsii_struct_bases=[],
|
|
10037
10736
|
name_mapping={
|
|
10038
10737
|
"artifacts_directory": "artifactsDirectory",
|
|
10039
10738
|
"version_input_file": "versionInputFile",
|
|
10739
|
+
"bump_package": "bumpPackage",
|
|
10740
|
+
"next_version_command": "nextVersionCommand",
|
|
10040
10741
|
"releasable_commits": "releasableCommits",
|
|
10041
10742
|
"tag_prefix": "tagPrefix",
|
|
10042
10743
|
"versionrc_options": "versionrcOptions",
|
|
@@ -10048,6 +10749,8 @@ class VersionOptions:
|
|
|
10048
10749
|
*,
|
|
10049
10750
|
artifacts_directory: builtins.str,
|
|
10050
10751
|
version_input_file: builtins.str,
|
|
10752
|
+
bump_package: typing.Optional[builtins.str] = None,
|
|
10753
|
+
next_version_command: typing.Optional[builtins.str] = None,
|
|
10051
10754
|
releasable_commits: typing.Optional[ReleasableCommits] = None,
|
|
10052
10755
|
tag_prefix: typing.Optional[builtins.str] = None,
|
|
10053
10756
|
versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
@@ -10056,6 +10759,8 @@ class VersionOptions:
|
|
|
10056
10759
|
|
|
10057
10760
|
:param artifacts_directory: (experimental) The name of the directory into which ``changelog.md`` and ``version.txt`` files are emitted.
|
|
10058
10761
|
:param version_input_file: (experimental) A name of a .json file to set the ``version`` field in after a bump.
|
|
10762
|
+
:param bump_package: (experimental) The ``commit-and-tag-version`` compatible package used to bump the package version, as a dependency string. This can be any compatible package version, including the deprecated ``standard-version@9``. Default: "commit-and-tag-version@12"
|
|
10763
|
+
:param next_version_command: (experimental) A shell command to control the next version to release. If present, this shell command will be run before the bump is executed, and it determines what version to release. It will be executed in the following environment: - Working directory: the project directory. - ``$VERSION``: the current version. Looks like ``1.2.3``. - ``$LATEST_TAG``: the most recent tag. Looks like ``prefix-v1.2.3``, or may be unset. - ``$SUGGESTED_BUMP``: the suggested bump action based on commits. One of ``major|minor|patch|none``. The command should print one of the following to ``stdout``: - Nothing: the next version number will be determined based on commit history. - ``x.y.z``: the next version number will be ``x.y.z``. - ``major|minor|patch``: the next version number will be the current version number with the indicated component bumped. Default: - The next version will be determined based on the commit history and project settings.
|
|
10059
10764
|
:param releasable_commits: (experimental) Find commits that should be considered releasable Used to decide if a release is required. Default: ReleasableCommits.everyCommit()
|
|
10060
10765
|
:param tag_prefix: (experimental) The tag prefix corresponding to this version.
|
|
10061
10766
|
:param versionrc_options: (experimental) Custom configuration for versionrc file used by standard-release.
|
|
@@ -10066,6 +10771,8 @@ class VersionOptions:
|
|
|
10066
10771
|
type_hints = typing.get_type_hints(_typecheckingstub__fb94d39bdc04d188bb2447acba8747de3d6ec275231c8a512d647916d69a54f5)
|
|
10067
10772
|
check_type(argname="argument artifacts_directory", value=artifacts_directory, expected_type=type_hints["artifacts_directory"])
|
|
10068
10773
|
check_type(argname="argument version_input_file", value=version_input_file, expected_type=type_hints["version_input_file"])
|
|
10774
|
+
check_type(argname="argument bump_package", value=bump_package, expected_type=type_hints["bump_package"])
|
|
10775
|
+
check_type(argname="argument next_version_command", value=next_version_command, expected_type=type_hints["next_version_command"])
|
|
10069
10776
|
check_type(argname="argument releasable_commits", value=releasable_commits, expected_type=type_hints["releasable_commits"])
|
|
10070
10777
|
check_type(argname="argument tag_prefix", value=tag_prefix, expected_type=type_hints["tag_prefix"])
|
|
10071
10778
|
check_type(argname="argument versionrc_options", value=versionrc_options, expected_type=type_hints["versionrc_options"])
|
|
@@ -10073,6 +10780,10 @@ class VersionOptions:
|
|
|
10073
10780
|
"artifacts_directory": artifacts_directory,
|
|
10074
10781
|
"version_input_file": version_input_file,
|
|
10075
10782
|
}
|
|
10783
|
+
if bump_package is not None:
|
|
10784
|
+
self._values["bump_package"] = bump_package
|
|
10785
|
+
if next_version_command is not None:
|
|
10786
|
+
self._values["next_version_command"] = next_version_command
|
|
10076
10787
|
if releasable_commits is not None:
|
|
10077
10788
|
self._values["releasable_commits"] = releasable_commits
|
|
10078
10789
|
if tag_prefix is not None:
|
|
@@ -10094,15 +10805,55 @@ class VersionOptions:
|
|
|
10094
10805
|
def version_input_file(self) -> builtins.str:
|
|
10095
10806
|
'''(experimental) A name of a .json file to set the ``version`` field in after a bump.
|
|
10096
10807
|
|
|
10097
|
-
:stability: experimental
|
|
10808
|
+
:stability: experimental
|
|
10809
|
+
|
|
10810
|
+
Example::
|
|
10811
|
+
|
|
10812
|
+
"package.json"
|
|
10813
|
+
'''
|
|
10814
|
+
result = self._values.get("version_input_file")
|
|
10815
|
+
assert result is not None, "Required property 'version_input_file' is missing"
|
|
10816
|
+
return typing.cast(builtins.str, result)
|
|
10817
|
+
|
|
10818
|
+
@builtins.property
|
|
10819
|
+
def bump_package(self) -> typing.Optional[builtins.str]:
|
|
10820
|
+
'''(experimental) The ``commit-and-tag-version`` compatible package used to bump the package version, as a dependency string.
|
|
10821
|
+
|
|
10822
|
+
This can be any compatible package version, including the deprecated ``standard-version@9``.
|
|
10823
|
+
|
|
10824
|
+
:default: "commit-and-tag-version@12"
|
|
10825
|
+
|
|
10826
|
+
:stability: experimental
|
|
10827
|
+
'''
|
|
10828
|
+
result = self._values.get("bump_package")
|
|
10829
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
10830
|
+
|
|
10831
|
+
@builtins.property
|
|
10832
|
+
def next_version_command(self) -> typing.Optional[builtins.str]:
|
|
10833
|
+
'''(experimental) A shell command to control the next version to release.
|
|
10834
|
+
|
|
10835
|
+
If present, this shell command will be run before the bump is executed, and
|
|
10836
|
+
it determines what version to release. It will be executed in the following
|
|
10837
|
+
environment:
|
|
10838
|
+
|
|
10839
|
+
- Working directory: the project directory.
|
|
10840
|
+
- ``$VERSION``: the current version. Looks like ``1.2.3``.
|
|
10841
|
+
- ``$LATEST_TAG``: the most recent tag. Looks like ``prefix-v1.2.3``, or may be unset.
|
|
10842
|
+
- ``$SUGGESTED_BUMP``: the suggested bump action based on commits. One of ``major|minor|patch|none``.
|
|
10098
10843
|
|
|
10099
|
-
|
|
10844
|
+
The command should print one of the following to ``stdout``:
|
|
10100
10845
|
|
|
10101
|
-
|
|
10846
|
+
- Nothing: the next version number will be determined based on commit history.
|
|
10847
|
+
- ``x.y.z``: the next version number will be ``x.y.z``.
|
|
10848
|
+
- ``major|minor|patch``: the next version number will be the current version number
|
|
10849
|
+
with the indicated component bumped.
|
|
10850
|
+
|
|
10851
|
+
:default: - The next version will be determined based on the commit history and project settings.
|
|
10852
|
+
|
|
10853
|
+
:stability: experimental
|
|
10102
10854
|
'''
|
|
10103
|
-
result = self._values.get("
|
|
10104
|
-
|
|
10105
|
-
return typing.cast(builtins.str, result)
|
|
10855
|
+
result = self._values.get("next_version_command")
|
|
10856
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
10106
10857
|
|
|
10107
10858
|
@builtins.property
|
|
10108
10859
|
def releasable_commits(self) -> typing.Optional[ReleasableCommits]:
|
|
@@ -10452,7 +11203,7 @@ class YamlFile(ObjectFile, metaclass=jsii.JSIIMeta, jsii_type="projen.YamlFile")
|
|
|
10452
11203
|
if __debug__:
|
|
10453
11204
|
type_hints = typing.get_type_hints(_typecheckingstub__e48f409d84ffd5e2a23ba998b62ea6bdf1343878ddf6bbdba39669e9e45b8464)
|
|
10454
11205
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
10455
|
-
jsii.set(self, "lineWidth", value)
|
|
11206
|
+
jsii.set(self, "lineWidth", value) # pyright: ignore[reportArgumentType]
|
|
10456
11207
|
|
|
10457
11208
|
|
|
10458
11209
|
@jsii.data_type(
|
|
@@ -10634,6 +11385,217 @@ class YamlFileOptions(ObjectFileOptions):
|
|
|
10634
11385
|
)
|
|
10635
11386
|
|
|
10636
11387
|
|
|
11388
|
+
class AiInstructions(
|
|
11389
|
+
Component,
|
|
11390
|
+
metaclass=jsii.JSIIMeta,
|
|
11391
|
+
jsii_type="projen.AiInstructions",
|
|
11392
|
+
):
|
|
11393
|
+
'''(experimental) Generates instruction files for AI coding assistants with projen-specific guidance.
|
|
11394
|
+
|
|
11395
|
+
This component creates configuration files that help AI tools like GitHub Copilot,
|
|
11396
|
+
Cursor IDE, Claude Code, and Amazon Q understand that the project is managed by projen
|
|
11397
|
+
and should follow projen conventions.
|
|
11398
|
+
|
|
11399
|
+
:stability: experimental
|
|
11400
|
+
|
|
11401
|
+
Example::
|
|
11402
|
+
|
|
11403
|
+
const project = new TypeScriptProject({
|
|
11404
|
+
name: "my-project",
|
|
11405
|
+
defaultReleaseBranch: "main",
|
|
11406
|
+
});
|
|
11407
|
+
|
|
11408
|
+
// Basic usage - generates files for all supported AI agents
|
|
11409
|
+
new AiInstructions(project);
|
|
11410
|
+
|
|
11411
|
+
// Custom usage - specify which agents and add custom instructions
|
|
11412
|
+
new AiInstructions(project, {
|
|
11413
|
+
agents: [AiAgent.GITHUB_COPILOT, AiAgent.CURSOR],
|
|
11414
|
+
agentSpecificInstructions: {
|
|
11415
|
+
[AiAgent.GITHUB_COPILOT]: ["Always use descriptive commit messages."],
|
|
11416
|
+
},
|
|
11417
|
+
});
|
|
11418
|
+
|
|
11419
|
+
// Add more instructions after instantiation
|
|
11420
|
+
const ai = new AiInstructions(project);
|
|
11421
|
+
ai.addInstructions("Use functional programming patterns.");
|
|
11422
|
+
ai.addInstructions("Always write comprehensive tests.");
|
|
11423
|
+
'''
|
|
11424
|
+
|
|
11425
|
+
def __init__(
|
|
11426
|
+
self,
|
|
11427
|
+
project: Project,
|
|
11428
|
+
*,
|
|
11429
|
+
agents: typing.Optional[typing.Sequence[AiAgent]] = None,
|
|
11430
|
+
agent_specific_instructions: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[builtins.str]]] = None,
|
|
11431
|
+
include_default_instructions: typing.Optional[builtins.bool] = None,
|
|
11432
|
+
instructions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
11433
|
+
) -> None:
|
|
11434
|
+
'''
|
|
11435
|
+
:param project: -
|
|
11436
|
+
:param agents: (experimental) Which AI agents to generate instruction files for. Default: - All agents: [AiAgent.GITHUB_COPILOT, AiAgent.CURSOR, AiAgent.CLAUDE, AiAgent.AMAZON_Q, AiAgent.KIRO, AiAgent.CODEX]
|
|
11437
|
+
:param agent_specific_instructions: (experimental) Per-agent custom instructions. Allows different instructions for different AI tools. Default: - no agent specific instructions
|
|
11438
|
+
:param include_default_instructions: (experimental) Include default instructions for projen and general best practices. Default instructions will only be included for agents provided in the ``agents`` option. If ``agents`` is not provided, default instructions will be included for all agents. Default: true
|
|
11439
|
+
:param instructions: (experimental) General instructions applicable to all agents. Default: - no agent specific instructions
|
|
11440
|
+
|
|
11441
|
+
:stability: experimental
|
|
11442
|
+
'''
|
|
11443
|
+
if __debug__:
|
|
11444
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6ade3e0209730c28511c6c65af7db0ef1d8f6d736618b1a95064af6bf4e829b8)
|
|
11445
|
+
check_type(argname="argument project", value=project, expected_type=type_hints["project"])
|
|
11446
|
+
options = AiInstructionsOptions(
|
|
11447
|
+
agents=agents,
|
|
11448
|
+
agent_specific_instructions=agent_specific_instructions,
|
|
11449
|
+
include_default_instructions=include_default_instructions,
|
|
11450
|
+
instructions=instructions,
|
|
11451
|
+
)
|
|
11452
|
+
|
|
11453
|
+
jsii.create(self.__class__, self, [project, options])
|
|
11454
|
+
|
|
11455
|
+
@jsii.member(jsii_name="bestPractices")
|
|
11456
|
+
@builtins.classmethod
|
|
11457
|
+
def best_practices(cls, project: Project) -> builtins.str:
|
|
11458
|
+
'''(experimental) Returns development best practices instructions for AI agents.
|
|
11459
|
+
|
|
11460
|
+
:param project: -
|
|
11461
|
+
|
|
11462
|
+
:stability: experimental
|
|
11463
|
+
'''
|
|
11464
|
+
if __debug__:
|
|
11465
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9b3a19a4e1f7d40bf00205a6394247af85d2428c672a0ecb7904470daaabda2f)
|
|
11466
|
+
check_type(argname="argument project", value=project, expected_type=type_hints["project"])
|
|
11467
|
+
return typing.cast(builtins.str, jsii.sinvoke(cls, "bestPractices", [project]))
|
|
11468
|
+
|
|
11469
|
+
@jsii.member(jsii_name="projen")
|
|
11470
|
+
@builtins.classmethod
|
|
11471
|
+
def projen(cls, project: Project) -> builtins.str:
|
|
11472
|
+
'''(experimental) Returns projen-specific instructions for AI agents.
|
|
11473
|
+
|
|
11474
|
+
:param project: -
|
|
11475
|
+
|
|
11476
|
+
:stability: experimental
|
|
11477
|
+
'''
|
|
11478
|
+
if __debug__:
|
|
11479
|
+
type_hints = typing.get_type_hints(_typecheckingstub__065453e2727d00b362bd1cf1f58d194d6c355b2a9c2f575e92c43eb627f6eb89)
|
|
11480
|
+
check_type(argname="argument project", value=project, expected_type=type_hints["project"])
|
|
11481
|
+
return typing.cast(builtins.str, jsii.sinvoke(cls, "projen", [project]))
|
|
11482
|
+
|
|
11483
|
+
@jsii.member(jsii_name="addAgentSpecificInstructions")
|
|
11484
|
+
def add_agent_specific_instructions(
|
|
11485
|
+
self,
|
|
11486
|
+
agent: AiAgent,
|
|
11487
|
+
*instructions: builtins.str,
|
|
11488
|
+
) -> None:
|
|
11489
|
+
'''(experimental) Add instructions for a specific AI agent.
|
|
11490
|
+
|
|
11491
|
+
This can also be used to add instructions for an AI agent that was previously not enabled.
|
|
11492
|
+
|
|
11493
|
+
:param agent: The AI agent to add instructions for.
|
|
11494
|
+
:param instructions: The instruction(s) to add.
|
|
11495
|
+
|
|
11496
|
+
:stability: experimental
|
|
11497
|
+
|
|
11498
|
+
Example::
|
|
11499
|
+
|
|
11500
|
+
aiInstructions.addAgentSpecificInstructions(AiAgent.GITHUB_COPILOT, "Use descriptive commit messages.");
|
|
11501
|
+
'''
|
|
11502
|
+
if __debug__:
|
|
11503
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9ff14bf0a463b0f887b122f5949af2eedda259c6426a05e006686653e81b8fc8)
|
|
11504
|
+
check_type(argname="argument agent", value=agent, expected_type=type_hints["agent"])
|
|
11505
|
+
check_type(argname="argument instructions", value=instructions, expected_type=typing.Tuple[type_hints["instructions"], ...]) # pyright: ignore [reportGeneralTypeIssues]
|
|
11506
|
+
return typing.cast(None, jsii.invoke(self, "addAgentSpecificInstructions", [agent, *instructions]))
|
|
11507
|
+
|
|
11508
|
+
@jsii.member(jsii_name="addInstructions")
|
|
11509
|
+
def add_instructions(self, *instructions: builtins.str) -> None:
|
|
11510
|
+
'''(experimental) Adds instructions that will be included for all selected AI agents.
|
|
11511
|
+
|
|
11512
|
+
:param instructions: The instructions to add.
|
|
11513
|
+
|
|
11514
|
+
:stability: experimental
|
|
11515
|
+
|
|
11516
|
+
Example::
|
|
11517
|
+
|
|
11518
|
+
aiInstructions.addInstructions("Always use TypeScript strict mode.");
|
|
11519
|
+
aiInstructions.addInstructions("Prefer functional programming.", "Avoid mutations.");
|
|
11520
|
+
'''
|
|
11521
|
+
if __debug__:
|
|
11522
|
+
type_hints = typing.get_type_hints(_typecheckingstub__da44882109eef43fd7d698b3f301b9241d695eb97a717ffa73265862f39698ba)
|
|
11523
|
+
check_type(argname="argument instructions", value=instructions, expected_type=typing.Tuple[type_hints["instructions"], ...]) # pyright: ignore [reportGeneralTypeIssues]
|
|
11524
|
+
return typing.cast(None, jsii.invoke(self, "addInstructions", [*instructions]))
|
|
11525
|
+
|
|
11526
|
+
|
|
11527
|
+
class AiInstructionsFile(
|
|
11528
|
+
FileBase,
|
|
11529
|
+
metaclass=jsii.JSIIMeta,
|
|
11530
|
+
jsii_type="projen.AiInstructionsFile",
|
|
11531
|
+
):
|
|
11532
|
+
'''
|
|
11533
|
+
:stability: experimental
|
|
11534
|
+
'''
|
|
11535
|
+
|
|
11536
|
+
def __init__(
|
|
11537
|
+
self,
|
|
11538
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
11539
|
+
file_path: builtins.str,
|
|
11540
|
+
*,
|
|
11541
|
+
committed: typing.Optional[builtins.bool] = None,
|
|
11542
|
+
edit_gitignore: typing.Optional[builtins.bool] = None,
|
|
11543
|
+
executable: typing.Optional[builtins.bool] = None,
|
|
11544
|
+
marker: typing.Optional[builtins.bool] = None,
|
|
11545
|
+
readonly: typing.Optional[builtins.bool] = None,
|
|
11546
|
+
) -> None:
|
|
11547
|
+
'''
|
|
11548
|
+
:param scope: -
|
|
11549
|
+
:param file_path: -
|
|
11550
|
+
:param committed: (experimental) Indicates whether this file should be committed to git or ignored. By default, all generated files are committed and anti-tamper is used to protect against manual modifications. Default: true
|
|
11551
|
+
:param edit_gitignore: (experimental) Update the project's .gitignore file. Default: true
|
|
11552
|
+
:param executable: (experimental) Whether the generated file should be marked as executable. Default: false
|
|
11553
|
+
:param marker: (experimental) Adds the projen marker to the file. Default: - marker will be included as long as the project is not ejected
|
|
11554
|
+
:param readonly: (experimental) Whether the generated file should be readonly. Default: true
|
|
11555
|
+
|
|
11556
|
+
:stability: experimental
|
|
11557
|
+
'''
|
|
11558
|
+
if __debug__:
|
|
11559
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4b11da88a3895fa642ead3d82823bc49f77ad84be5d7816af5a52334434c5c79)
|
|
11560
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
11561
|
+
check_type(argname="argument file_path", value=file_path, expected_type=type_hints["file_path"])
|
|
11562
|
+
options = FileBaseOptions(
|
|
11563
|
+
committed=committed,
|
|
11564
|
+
edit_gitignore=edit_gitignore,
|
|
11565
|
+
executable=executable,
|
|
11566
|
+
marker=marker,
|
|
11567
|
+
readonly=readonly,
|
|
11568
|
+
)
|
|
11569
|
+
|
|
11570
|
+
jsii.create(self.__class__, self, [scope, file_path, options])
|
|
11571
|
+
|
|
11572
|
+
@jsii.member(jsii_name="addInstructions")
|
|
11573
|
+
def add_instructions(self, *instructions: builtins.str) -> None:
|
|
11574
|
+
'''(experimental) Adds instructions to the instruction file.
|
|
11575
|
+
|
|
11576
|
+
:param instructions: -
|
|
11577
|
+
|
|
11578
|
+
:stability: experimental
|
|
11579
|
+
'''
|
|
11580
|
+
if __debug__:
|
|
11581
|
+
type_hints = typing.get_type_hints(_typecheckingstub__da3f715a19bd0c18e2cc2d3bda06afae637174acbe15ef75ef39bb7c26f0ff90)
|
|
11582
|
+
check_type(argname="argument instructions", value=instructions, expected_type=typing.Tuple[type_hints["instructions"], ...]) # pyright: ignore [reportGeneralTypeIssues]
|
|
11583
|
+
return typing.cast(None, jsii.invoke(self, "addInstructions", [*instructions]))
|
|
11584
|
+
|
|
11585
|
+
@jsii.member(jsii_name="synthesizeContent")
|
|
11586
|
+
def _synthesize_content(self, resolver: IResolver) -> typing.Optional[builtins.str]:
|
|
11587
|
+
'''(experimental) Implemented by derived classes and returns the contents of the file to emit.
|
|
11588
|
+
|
|
11589
|
+
:param resolver: -
|
|
11590
|
+
|
|
11591
|
+
:stability: experimental
|
|
11592
|
+
'''
|
|
11593
|
+
if __debug__:
|
|
11594
|
+
type_hints = typing.get_type_hints(_typecheckingstub__af1c3edb2730dd42712c19d9f2ebd48921303c4efd980f8910326afc111d82cc)
|
|
11595
|
+
check_type(argname="argument resolver", value=resolver, expected_type=type_hints["resolver"])
|
|
11596
|
+
return typing.cast(typing.Optional[builtins.str], jsii.invoke(self, "synthesizeContent", [resolver]))
|
|
11597
|
+
|
|
11598
|
+
|
|
10637
11599
|
@jsii.data_type(
|
|
10638
11600
|
jsii_type="projen.Dependency",
|
|
10639
11601
|
jsii_struct_bases=[DependencyCoordinates],
|
|
@@ -10758,6 +11720,7 @@ class DockerComposeService(
|
|
|
10758
11720
|
networks: typing.Optional[typing.Sequence[IDockerComposeNetworkBinding]] = None,
|
|
10759
11721
|
platform: typing.Optional[builtins.str] = None,
|
|
10760
11722
|
ports: typing.Optional[typing.Sequence[typing.Union[DockerComposeServicePort, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11723
|
+
privileged: typing.Optional[builtins.bool] = None,
|
|
10761
11724
|
volumes: typing.Optional[typing.Sequence[IDockerComposeVolumeBinding]] = None,
|
|
10762
11725
|
) -> None:
|
|
10763
11726
|
'''
|
|
@@ -10772,6 +11735,7 @@ class DockerComposeService(
|
|
|
10772
11735
|
:param networks: (experimental) Add some networks to the service.
|
|
10773
11736
|
:param platform: (experimental) Add platform. Default: - no platform is provided
|
|
10774
11737
|
:param ports: (experimental) Map some ports. Default: - no ports are mapped
|
|
11738
|
+
:param privileged: (experimental) Run in privileged mode. Default: - no privileged mode flag is provided
|
|
10775
11739
|
:param volumes: (experimental) Mount some volumes into the service. Use one of the following to create volumes:
|
|
10776
11740
|
|
|
10777
11741
|
:stability: experimental
|
|
@@ -10790,6 +11754,7 @@ class DockerComposeService(
|
|
|
10790
11754
|
networks=networks,
|
|
10791
11755
|
platform=platform,
|
|
10792
11756
|
ports=ports,
|
|
11757
|
+
privileged=privileged,
|
|
10793
11758
|
volumes=volumes,
|
|
10794
11759
|
)
|
|
10795
11760
|
|
|
@@ -10996,6 +11961,15 @@ class DockerComposeService(
|
|
|
10996
11961
|
'''
|
|
10997
11962
|
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "platform"))
|
|
10998
11963
|
|
|
11964
|
+
@builtins.property
|
|
11965
|
+
@jsii.member(jsii_name="privileged")
|
|
11966
|
+
def privileged(self) -> typing.Optional[builtins.bool]:
|
|
11967
|
+
'''(experimental) Run in privileged mode.
|
|
11968
|
+
|
|
11969
|
+
:stability: experimental
|
|
11970
|
+
'''
|
|
11971
|
+
return typing.cast(typing.Optional[builtins.bool], jsii.get(self, "privileged"))
|
|
11972
|
+
|
|
10999
11973
|
|
|
11000
11974
|
@jsii.implements(IDevEnvironment)
|
|
11001
11975
|
class Gitpod(Component, metaclass=jsii.JSIIMeta, jsii_type="projen.Gitpod"):
|
|
@@ -11751,7 +12725,7 @@ class TaskStep(TaskStepOptions):
|
|
|
11751
12725
|
:param cwd: (experimental) The working directory for this step. Default: - determined by the task
|
|
11752
12726
|
:param env: (experimental) Defines environment variables for the execution of this step (``exec`` and ``builtin`` only). Values in this map can be simple, literal values or shell expressions that will be evaluated at runtime e.g. ``$(echo "foo")``. Default: - no environment variables defined in step
|
|
11753
12727
|
:param name: (experimental) Step name. Default: - no name
|
|
11754
|
-
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
12728
|
+
:param receive_args: (experimental) Should this step receive args passed to the task. If ``true``, args are passed through at the end of the ``exec`` shell command. The position of the args can be changed by including the marker ``$@`` inside the command string. If the marker is explicitly double-quoted ("$@") arguments will be wrapped in single quotes, approximating the whitespace preserving behavior of bash variable expansion. If the step spawns a subtask, args are passed to the subtask. The subtask must define steps receiving args for this to have any effect. Default: false
|
|
11755
12729
|
:param builtin: (experimental) The name of a built-in task to execute. Built-in tasks are node.js programs baked into the projen module and as component runtime helpers. The name is a path relative to the projen lib/ directory (without the .task.js extension). For example, if your built in builtin task is under ``src/release/resolve-version.task.ts``, then this would be ``release/resolve-version``. Default: - do not execute a builtin task
|
|
11756
12730
|
:param exec: (experimental) Shell command to execute. Default: - don't execute a shell command
|
|
11757
12731
|
:param say: (experimental) Print a message. Default: - don't say anything
|
|
@@ -11880,6 +12854,9 @@ class TaskStep(TaskStepOptions):
|
|
|
11880
12854
|
If ``true``, args are passed through at the end of the ``exec`` shell command.
|
|
11881
12855
|
The position of the args can be changed by including the marker ``$@`` inside the command string.
|
|
11882
12856
|
|
|
12857
|
+
If the marker is explicitly double-quoted ("$@") arguments will be wrapped in single quotes, approximating
|
|
12858
|
+
the whitespace preserving behavior of bash variable expansion.
|
|
12859
|
+
|
|
11883
12860
|
If the step spawns a subtask, args are passed to the subtask.
|
|
11884
12861
|
The subtask must define steps receiving args for this to have any effect.
|
|
11885
12862
|
|
|
@@ -11958,6 +12935,10 @@ class TaskStep(TaskStepOptions):
|
|
|
11958
12935
|
|
|
11959
12936
|
|
|
11960
12937
|
__all__ = [
|
|
12938
|
+
"AiAgent",
|
|
12939
|
+
"AiInstructions",
|
|
12940
|
+
"AiInstructionsFile",
|
|
12941
|
+
"AiInstructionsOptions",
|
|
11961
12942
|
"Component",
|
|
11962
12943
|
"CreateProjectOptions",
|
|
11963
12944
|
"Dependencies",
|
|
@@ -11980,9 +12961,11 @@ __all__ = [
|
|
|
11980
12961
|
"DockerComposeServicePort",
|
|
11981
12962
|
"DockerComposeVolumeConfig",
|
|
11982
12963
|
"DockerComposeVolumeMount",
|
|
12964
|
+
"EndOfLine",
|
|
11983
12965
|
"FileBase",
|
|
11984
12966
|
"FileBaseOptions",
|
|
11985
12967
|
"GitAttributesFile",
|
|
12968
|
+
"GitAttributesFileOptions",
|
|
11986
12969
|
"GitOptions",
|
|
11987
12970
|
"Gitpod",
|
|
11988
12971
|
"GitpodOnOpen",
|
|
@@ -11994,6 +12977,7 @@ __all__ = [
|
|
|
11994
12977
|
"GitpodPrebuilds",
|
|
11995
12978
|
"GitpodTask",
|
|
11996
12979
|
"GroupRunnerOptions",
|
|
12980
|
+
"ICompareString",
|
|
11997
12981
|
"IDevEnvironment",
|
|
11998
12982
|
"IDockerComposeNetworkBinding",
|
|
11999
12983
|
"IDockerComposeNetworkConfig",
|
|
@@ -12063,6 +13047,7 @@ __all__ = [
|
|
|
12063
13047
|
"TomlFile",
|
|
12064
13048
|
"TomlFileOptions",
|
|
12065
13049
|
"Version",
|
|
13050
|
+
"VersionBranchOptions",
|
|
12066
13051
|
"VersionOptions",
|
|
12067
13052
|
"XmlFile",
|
|
12068
13053
|
"XmlFileOptions",
|
|
@@ -12104,6 +13089,16 @@ from . import typescript
|
|
|
12104
13089
|
from . import vscode
|
|
12105
13090
|
from . import web
|
|
12106
13091
|
|
|
13092
|
+
def _typecheckingstub__5bf7714efdf83cf2031e4ef3aa1d0cb9511cb921777751c76a0f501c0c56e247(
|
|
13093
|
+
*,
|
|
13094
|
+
agents: typing.Optional[typing.Sequence[AiAgent]] = None,
|
|
13095
|
+
agent_specific_instructions: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[builtins.str]]] = None,
|
|
13096
|
+
include_default_instructions: typing.Optional[builtins.bool] = None,
|
|
13097
|
+
instructions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
13098
|
+
) -> None:
|
|
13099
|
+
"""Type checking stubs"""
|
|
13100
|
+
pass
|
|
13101
|
+
|
|
12107
13102
|
def _typecheckingstub__e4ee40327ed6d04e3e377e300d915d402c50029248a86452fd19fd6372386d4b(
|
|
12108
13103
|
scope: _constructs_77d1e7e8.IConstruct,
|
|
12109
13104
|
id: typing.Optional[builtins.str] = None,
|
|
@@ -12156,6 +13151,14 @@ def _typecheckingstub__3683be12709967dd63dafbe536558d7717d255f3a86dfad1e17c19c9d
|
|
|
12156
13151
|
"""Type checking stubs"""
|
|
12157
13152
|
pass
|
|
12158
13153
|
|
|
13154
|
+
def _typecheckingstub__628e50591481575ad249671e7cf61edd1bb37d5aeab5e143a0783051e3167dcc(
|
|
13155
|
+
name: builtins.str,
|
|
13156
|
+
type: DependencyType,
|
|
13157
|
+
expected_range: builtins.str,
|
|
13158
|
+
) -> None:
|
|
13159
|
+
"""Type checking stubs"""
|
|
13160
|
+
pass
|
|
13161
|
+
|
|
12159
13162
|
def _typecheckingstub__4260bbdc4d6b4d5249dbb539f6f4fe1f865c069d0179abe451af2807f194bf7d(
|
|
12160
13163
|
name: builtins.str,
|
|
12161
13164
|
type: typing.Optional[DependencyType] = None,
|
|
@@ -12281,6 +13284,7 @@ def _typecheckingstub__a03cd3d199bdbdda7ab3d37e736cec1900b73411477c6a08c6efe431a
|
|
|
12281
13284
|
networks: typing.Optional[typing.Sequence[IDockerComposeNetworkBinding]] = None,
|
|
12282
13285
|
platform: typing.Optional[builtins.str] = None,
|
|
12283
13286
|
ports: typing.Optional[typing.Sequence[typing.Union[DockerComposeServicePort, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13287
|
+
privileged: typing.Optional[builtins.bool] = None,
|
|
12284
13288
|
volumes: typing.Optional[typing.Sequence[IDockerComposeVolumeBinding]] = None,
|
|
12285
13289
|
) -> None:
|
|
12286
13290
|
"""Type checking stubs"""
|
|
@@ -12354,6 +13358,7 @@ def _typecheckingstub__7374d6018aac8e9a9098b7b003039b5286a79bcf032fc0db6de3b0c56
|
|
|
12354
13358
|
networks: typing.Optional[typing.Sequence[IDockerComposeNetworkBinding]] = None,
|
|
12355
13359
|
platform: typing.Optional[builtins.str] = None,
|
|
12356
13360
|
ports: typing.Optional[typing.Sequence[typing.Union[DockerComposeServicePort, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
13361
|
+
privileged: typing.Optional[builtins.bool] = None,
|
|
12357
13362
|
volumes: typing.Optional[typing.Sequence[IDockerComposeVolumeBinding]] = None,
|
|
12358
13363
|
) -> None:
|
|
12359
13364
|
"""Type checking stubs"""
|
|
@@ -12432,6 +13437,8 @@ def _typecheckingstub__177d8a347651b29224d730dd6e1bbec48e6dd46e5dcfd4d25e3798e67
|
|
|
12432
13437
|
|
|
12433
13438
|
def _typecheckingstub__a914753a9db7cc6bfa6a166cf7ee02794375210a09b1d8e2c62496abf14b4d21(
|
|
12434
13439
|
scope: _constructs_77d1e7e8.IConstruct,
|
|
13440
|
+
*,
|
|
13441
|
+
end_of_line: typing.Optional[EndOfLine] = None,
|
|
12435
13442
|
) -> None:
|
|
12436
13443
|
"""Type checking stubs"""
|
|
12437
13444
|
pass
|
|
@@ -12449,14 +13456,29 @@ def _typecheckingstub__ed3c05c2bc87434261501604cb4ca8386e08b16567b40f693170ab90f
|
|
|
12449
13456
|
"""Type checking stubs"""
|
|
12450
13457
|
pass
|
|
12451
13458
|
|
|
13459
|
+
def _typecheckingstub__573b65747d3cd070f990730baa2e2b06016818d32122c7fbc2696b8513582a7d(
|
|
13460
|
+
glob: builtins.str,
|
|
13461
|
+
*attributes: builtins.str,
|
|
13462
|
+
) -> None:
|
|
13463
|
+
"""Type checking stubs"""
|
|
13464
|
+
pass
|
|
13465
|
+
|
|
12452
13466
|
def _typecheckingstub__4d57ceb4d14bb3b3eac67478ac542d99ca5c6994286fdea034dacdf4b64fd14b(
|
|
12453
13467
|
_: IResolver,
|
|
12454
13468
|
) -> None:
|
|
12455
13469
|
"""Type checking stubs"""
|
|
12456
13470
|
pass
|
|
12457
13471
|
|
|
13472
|
+
def _typecheckingstub__82a54cc3274f754056a1301deb3e7902a7a31057da6ade20b64dae8487831db5(
|
|
13473
|
+
*,
|
|
13474
|
+
end_of_line: typing.Optional[EndOfLine] = None,
|
|
13475
|
+
) -> None:
|
|
13476
|
+
"""Type checking stubs"""
|
|
13477
|
+
pass
|
|
13478
|
+
|
|
12458
13479
|
def _typecheckingstub__ee7f1b3b819a95ebdb112752cdc122d5362da95c419decd69ec24018f344bace(
|
|
12459
13480
|
*,
|
|
13481
|
+
end_of_line: typing.Optional[EndOfLine] = None,
|
|
12460
13482
|
lfs_patterns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
12461
13483
|
) -> None:
|
|
12462
13484
|
"""Type checking stubs"""
|
|
@@ -12517,6 +13539,13 @@ def _typecheckingstub__a3547c7b706a8285f987ddb1847fd162ec961a77abbdd5059da647f1a
|
|
|
12517
13539
|
"""Type checking stubs"""
|
|
12518
13540
|
pass
|
|
12519
13541
|
|
|
13542
|
+
def _typecheckingstub__63d4f6e150362668f5e26d2f58f8b0a32cff82cf2eb8cb736d2c4333d0b01d09(
|
|
13543
|
+
a: builtins.str,
|
|
13544
|
+
b: builtins.str,
|
|
13545
|
+
) -> None:
|
|
13546
|
+
"""Type checking stubs"""
|
|
13547
|
+
pass
|
|
13548
|
+
|
|
12520
13549
|
def _typecheckingstub__c2360e8cae8e57d0e5268d03b1ee0bcf2a5d56c20a3ca26e5369ddc34c43f0ff(
|
|
12521
13550
|
image: DevEnvironmentDockerImage,
|
|
12522
13551
|
) -> None:
|
|
@@ -12596,6 +13625,7 @@ def _typecheckingstub__b7b3d1a5dbba38c978da9c5c4f4aab9b9f4b93375021ee84f57a82309
|
|
|
12596
13625
|
*,
|
|
12597
13626
|
filter_comment_lines: typing.Optional[builtins.bool] = None,
|
|
12598
13627
|
filter_empty_lines: typing.Optional[builtins.bool] = None,
|
|
13628
|
+
ignore_patterns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
12599
13629
|
) -> None:
|
|
12600
13630
|
"""Type checking stubs"""
|
|
12601
13631
|
pass
|
|
@@ -12634,6 +13664,7 @@ def _typecheckingstub__7852fd5d8f0daa6070394e45fe4fcb7845e6838dc40a3e3475c057712
|
|
|
12634
13664
|
*,
|
|
12635
13665
|
filter_comment_lines: typing.Optional[builtins.bool] = None,
|
|
12636
13666
|
filter_empty_lines: typing.Optional[builtins.bool] = None,
|
|
13667
|
+
ignore_patterns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
12637
13668
|
) -> None:
|
|
12638
13669
|
"""Type checking stubs"""
|
|
12639
13670
|
pass
|
|
@@ -13301,6 +14332,13 @@ def _typecheckingstub__866645d9e72b430281a892f9aec648a8a4d11dfd83393ea8d1cf161c6
|
|
|
13301
14332
|
"""Type checking stubs"""
|
|
13302
14333
|
pass
|
|
13303
14334
|
|
|
14335
|
+
def _typecheckingstub__f45a21d1f9e615dd1b225d6cafbe381a43b42811d1d21efd5a3f6630613e94af(
|
|
14336
|
+
index: jsii.Number,
|
|
14337
|
+
*steps: TaskStep,
|
|
14338
|
+
) -> None:
|
|
14339
|
+
"""Type checking stubs"""
|
|
14340
|
+
pass
|
|
14341
|
+
|
|
13304
14342
|
def _typecheckingstub__72dcbc585fdab7a308274ba33cb7b5bcf9e106aaf01bef404fbb15b6c60db4c4(
|
|
13305
14343
|
shell: builtins.str,
|
|
13306
14344
|
*,
|
|
@@ -13353,6 +14391,12 @@ def _typecheckingstub__80be0ec2af5c5b034b9ad26a372663b2dede8547b402f7501bd174f17
|
|
|
13353
14391
|
"""Type checking stubs"""
|
|
13354
14392
|
pass
|
|
13355
14393
|
|
|
14394
|
+
def _typecheckingstub__c493ae53dba9513da0ecb434448ff6e7d3050c90456d373f1135a865eedb69c3(
|
|
14395
|
+
index: jsii.Number,
|
|
14396
|
+
) -> None:
|
|
14397
|
+
"""Type checking stubs"""
|
|
14398
|
+
pass
|
|
14399
|
+
|
|
13356
14400
|
def _typecheckingstub__bec2ab04da022f328e54a5747cb659465473a80e61ea4b23af06f41a51eaf8a8(
|
|
13357
14401
|
command: typing.Optional[builtins.str] = None,
|
|
13358
14402
|
*,
|
|
@@ -13392,6 +14436,29 @@ def _typecheckingstub__30afd72afdc7d9e0229d01ea2f502a330dca643bfa30b79876a78ec24
|
|
|
13392
14436
|
"""Type checking stubs"""
|
|
13393
14437
|
pass
|
|
13394
14438
|
|
|
14439
|
+
def _typecheckingstub__3e6471d9b24a42d1138efa839e893cd7685a703235152ad4f0c3aae00e2e12f8(
|
|
14440
|
+
index: jsii.Number,
|
|
14441
|
+
*,
|
|
14442
|
+
builtin: typing.Optional[builtins.str] = None,
|
|
14443
|
+
exec: typing.Optional[builtins.str] = None,
|
|
14444
|
+
say: typing.Optional[builtins.str] = None,
|
|
14445
|
+
spawn: typing.Optional[builtins.str] = None,
|
|
14446
|
+
args: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
14447
|
+
condition: typing.Optional[builtins.str] = None,
|
|
14448
|
+
cwd: typing.Optional[builtins.str] = None,
|
|
14449
|
+
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
14450
|
+
name: typing.Optional[builtins.str] = None,
|
|
14451
|
+
receive_args: typing.Optional[builtins.bool] = None,
|
|
14452
|
+
) -> None:
|
|
14453
|
+
"""Type checking stubs"""
|
|
14454
|
+
pass
|
|
14455
|
+
|
|
14456
|
+
def _typecheckingstub__063f23ecf0aa952acdfe114ecbbc1ac116753acf58aa564cd47b3ea5fbd99ad8(
|
|
14457
|
+
value: typing.Optional[builtins.str],
|
|
14458
|
+
) -> None:
|
|
14459
|
+
"""Type checking stubs"""
|
|
14460
|
+
pass
|
|
14461
|
+
|
|
13395
14462
|
def _typecheckingstub__740ba1ef0d399dc76efb91309b9d1c8426213faa31da03d8c0abbc94a3d02e03(
|
|
13396
14463
|
value: typing.Optional[builtins.str],
|
|
13397
14464
|
) -> None:
|
|
@@ -13434,6 +14501,7 @@ def _typecheckingstub__9f502dc8ce342b578300faffc5bd3c8c920c8565849215d7cec099d78
|
|
|
13434
14501
|
name: builtins.str,
|
|
13435
14502
|
parents: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
13436
14503
|
args: typing.Optional[typing.Sequence[typing.Union[builtins.str, jsii.Number]]] = None,
|
|
14504
|
+
env: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
13437
14505
|
) -> None:
|
|
13438
14506
|
"""Type checking stubs"""
|
|
13439
14507
|
pass
|
|
@@ -13565,7 +14633,7 @@ def _typecheckingstub__ba0f4dd58b9e223b379bf709c046d112cede147b9481878f22a671a9d
|
|
|
13565
14633
|
pass
|
|
13566
14634
|
|
|
13567
14635
|
def _typecheckingstub__de7c08620aabeb578ce8c0c54b1073a9df1f34c7815d8ae6fdebff7eb411c3d8(
|
|
13568
|
-
|
|
14636
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
13569
14637
|
file_path: builtins.str,
|
|
13570
14638
|
*,
|
|
13571
14639
|
obj: typing.Any = None,
|
|
@@ -13599,10 +14667,12 @@ def _typecheckingstub__eab22f277a63768ddf4f6605743ad2816e10bd46ac73de98867b0f280
|
|
|
13599
14667
|
pass
|
|
13600
14668
|
|
|
13601
14669
|
def _typecheckingstub__9cf64d1b29258435f8a7749178e947fcedd27d55f323782081a21714be909595(
|
|
13602
|
-
|
|
14670
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
13603
14671
|
*,
|
|
13604
14672
|
artifacts_directory: builtins.str,
|
|
13605
14673
|
version_input_file: builtins.str,
|
|
14674
|
+
bump_package: typing.Optional[builtins.str] = None,
|
|
14675
|
+
next_version_command: typing.Optional[builtins.str] = None,
|
|
13606
14676
|
releasable_commits: typing.Optional[ReleasableCommits] = None,
|
|
13607
14677
|
tag_prefix: typing.Optional[builtins.str] = None,
|
|
13608
14678
|
versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
@@ -13610,10 +14680,23 @@ def _typecheckingstub__9cf64d1b29258435f8a7749178e947fcedd27d55f323782081a21714b
|
|
|
13610
14680
|
"""Type checking stubs"""
|
|
13611
14681
|
pass
|
|
13612
14682
|
|
|
14683
|
+
def _typecheckingstub__62987907aa24cc1b84e9b6e9b755bd286708fa4a219baa7b979fb3ea61401603(
|
|
14684
|
+
*,
|
|
14685
|
+
major_version: typing.Optional[jsii.Number] = None,
|
|
14686
|
+
min_major_version: typing.Optional[jsii.Number] = None,
|
|
14687
|
+
minor_version: typing.Optional[jsii.Number] = None,
|
|
14688
|
+
prerelease: typing.Optional[builtins.str] = None,
|
|
14689
|
+
tag_prefix: typing.Optional[builtins.str] = None,
|
|
14690
|
+
) -> None:
|
|
14691
|
+
"""Type checking stubs"""
|
|
14692
|
+
pass
|
|
14693
|
+
|
|
13613
14694
|
def _typecheckingstub__fb94d39bdc04d188bb2447acba8747de3d6ec275231c8a512d647916d69a54f5(
|
|
13614
14695
|
*,
|
|
13615
14696
|
artifacts_directory: builtins.str,
|
|
13616
14697
|
version_input_file: builtins.str,
|
|
14698
|
+
bump_package: typing.Optional[builtins.str] = None,
|
|
14699
|
+
next_version_command: typing.Optional[builtins.str] = None,
|
|
13617
14700
|
releasable_commits: typing.Optional[ReleasableCommits] = None,
|
|
13618
14701
|
tag_prefix: typing.Optional[builtins.str] = None,
|
|
13619
14702
|
versionrc_options: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
@@ -13697,6 +14780,67 @@ def _typecheckingstub__ca9e5a70f67f8e3db454227249c58dd5464be1446a55fcf3be780621f
|
|
|
13697
14780
|
"""Type checking stubs"""
|
|
13698
14781
|
pass
|
|
13699
14782
|
|
|
14783
|
+
def _typecheckingstub__6ade3e0209730c28511c6c65af7db0ef1d8f6d736618b1a95064af6bf4e829b8(
|
|
14784
|
+
project: Project,
|
|
14785
|
+
*,
|
|
14786
|
+
agents: typing.Optional[typing.Sequence[AiAgent]] = None,
|
|
14787
|
+
agent_specific_instructions: typing.Optional[typing.Mapping[builtins.str, typing.Sequence[builtins.str]]] = None,
|
|
14788
|
+
include_default_instructions: typing.Optional[builtins.bool] = None,
|
|
14789
|
+
instructions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
14790
|
+
) -> None:
|
|
14791
|
+
"""Type checking stubs"""
|
|
14792
|
+
pass
|
|
14793
|
+
|
|
14794
|
+
def _typecheckingstub__9b3a19a4e1f7d40bf00205a6394247af85d2428c672a0ecb7904470daaabda2f(
|
|
14795
|
+
project: Project,
|
|
14796
|
+
) -> None:
|
|
14797
|
+
"""Type checking stubs"""
|
|
14798
|
+
pass
|
|
14799
|
+
|
|
14800
|
+
def _typecheckingstub__065453e2727d00b362bd1cf1f58d194d6c355b2a9c2f575e92c43eb627f6eb89(
|
|
14801
|
+
project: Project,
|
|
14802
|
+
) -> None:
|
|
14803
|
+
"""Type checking stubs"""
|
|
14804
|
+
pass
|
|
14805
|
+
|
|
14806
|
+
def _typecheckingstub__9ff14bf0a463b0f887b122f5949af2eedda259c6426a05e006686653e81b8fc8(
|
|
14807
|
+
agent: AiAgent,
|
|
14808
|
+
*instructions: builtins.str,
|
|
14809
|
+
) -> None:
|
|
14810
|
+
"""Type checking stubs"""
|
|
14811
|
+
pass
|
|
14812
|
+
|
|
14813
|
+
def _typecheckingstub__da44882109eef43fd7d698b3f301b9241d695eb97a717ffa73265862f39698ba(
|
|
14814
|
+
*instructions: builtins.str,
|
|
14815
|
+
) -> None:
|
|
14816
|
+
"""Type checking stubs"""
|
|
14817
|
+
pass
|
|
14818
|
+
|
|
14819
|
+
def _typecheckingstub__4b11da88a3895fa642ead3d82823bc49f77ad84be5d7816af5a52334434c5c79(
|
|
14820
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
14821
|
+
file_path: builtins.str,
|
|
14822
|
+
*,
|
|
14823
|
+
committed: typing.Optional[builtins.bool] = None,
|
|
14824
|
+
edit_gitignore: typing.Optional[builtins.bool] = None,
|
|
14825
|
+
executable: typing.Optional[builtins.bool] = None,
|
|
14826
|
+
marker: typing.Optional[builtins.bool] = None,
|
|
14827
|
+
readonly: typing.Optional[builtins.bool] = None,
|
|
14828
|
+
) -> None:
|
|
14829
|
+
"""Type checking stubs"""
|
|
14830
|
+
pass
|
|
14831
|
+
|
|
14832
|
+
def _typecheckingstub__da3f715a19bd0c18e2cc2d3bda06afae637174acbe15ef75ef39bb7c26f0ff90(
|
|
14833
|
+
*instructions: builtins.str,
|
|
14834
|
+
) -> None:
|
|
14835
|
+
"""Type checking stubs"""
|
|
14836
|
+
pass
|
|
14837
|
+
|
|
14838
|
+
def _typecheckingstub__af1c3edb2730dd42712c19d9f2ebd48921303c4efd980f8910326afc111d82cc(
|
|
14839
|
+
resolver: IResolver,
|
|
14840
|
+
) -> None:
|
|
14841
|
+
"""Type checking stubs"""
|
|
14842
|
+
pass
|
|
14843
|
+
|
|
13700
14844
|
def _typecheckingstub__d3a39137d5e4f9c51c84e6a659a0e0d16c23ba1927ed8fe7f3f96ecd5d0110dc(
|
|
13701
14845
|
*,
|
|
13702
14846
|
name: builtins.str,
|
|
@@ -13720,6 +14864,7 @@ def _typecheckingstub__30adb261bc3a7558152dddf9acb47c2b326de589312d32dcb84afc109
|
|
|
13720
14864
|
networks: typing.Optional[typing.Sequence[IDockerComposeNetworkBinding]] = None,
|
|
13721
14865
|
platform: typing.Optional[builtins.str] = None,
|
|
13722
14866
|
ports: typing.Optional[typing.Sequence[typing.Union[DockerComposeServicePort, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14867
|
+
privileged: typing.Optional[builtins.bool] = None,
|
|
13723
14868
|
volumes: typing.Optional[typing.Sequence[IDockerComposeVolumeBinding]] = None,
|
|
13724
14869
|
) -> None:
|
|
13725
14870
|
"""Type checking stubs"""
|
|
@@ -13897,3 +15042,6 @@ def _typecheckingstub__6e32d65dbc737f8fd131c5593ecf206bcf2a76757ddb7c5f42945d730
|
|
|
13897
15042
|
) -> None:
|
|
13898
15043
|
"""Type checking stubs"""
|
|
13899
15044
|
pass
|
|
15045
|
+
|
|
15046
|
+
for cls in [ICompareString, IDevEnvironment, IDockerComposeNetworkBinding, IDockerComposeNetworkConfig, IDockerComposeServiceName, IDockerComposeVolumeBinding, IDockerComposeVolumeConfig, IResolvable, IResolver]:
|
|
15047
|
+
typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])
|