create-typescript-app 2.0.0-beta.8 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +14 -15
  2. package/bin/index.js +3 -13
  3. package/lib/base.d.ts +4 -3
  4. package/lib/base.js +25 -15
  5. package/lib/base.js.map +1 -1
  6. package/lib/blocks/blockAllContributors.d.ts +5 -4
  7. package/lib/blocks/blockAllContributors.js +3 -2
  8. package/lib/blocks/blockAllContributors.js.map +1 -1
  9. package/lib/blocks/blockAreTheTypesWrong.d.ts +5 -4
  10. package/lib/blocks/blockCSpell.d.ts +5 -4
  11. package/lib/blocks/blockCSpell.js +13 -13
  12. package/lib/blocks/blockCSpell.js.map +1 -1
  13. package/lib/blocks/blockCodecov.d.ts +5 -4
  14. package/lib/blocks/blockCodecov.js +11 -11
  15. package/lib/blocks/blockCodecov.js.map +1 -1
  16. package/lib/blocks/blockContributingDocs.d.ts +5 -4
  17. package/lib/blocks/blockContributingDocs.js +11 -11
  18. package/lib/blocks/blockContributingDocs.js.map +1 -1
  19. package/lib/blocks/blockContributorCovenant.d.ts +5 -4
  20. package/lib/blocks/blockContributorCovenant.js +11 -11
  21. package/lib/blocks/blockContributorCovenant.js.map +1 -1
  22. package/lib/blocks/blockDevelopmentDocs.d.ts +5 -4
  23. package/lib/blocks/blockDevelopmentDocs.js +11 -11
  24. package/lib/blocks/blockDevelopmentDocs.js.map +1 -1
  25. package/lib/blocks/blockESLint.d.ts +5 -4
  26. package/lib/blocks/blockESLint.js +11 -11
  27. package/lib/blocks/blockESLint.js.map +1 -1
  28. package/lib/blocks/blockESLintComments.d.ts +5 -4
  29. package/lib/blocks/blockESLintJSDoc.d.ts +5 -4
  30. package/lib/blocks/blockESLintJSONC.d.ts +5 -4
  31. package/lib/blocks/blockESLintMarkdown.d.ts +5 -4
  32. package/lib/blocks/blockESLintMoreStyling.d.ts +5 -4
  33. package/lib/blocks/blockESLintNode.d.ts +5 -4
  34. package/lib/blocks/blockESLintPackageJson.d.ts +5 -4
  35. package/lib/blocks/blockESLintPerfectionist.d.ts +5 -4
  36. package/lib/blocks/blockESLintRegexp.d.ts +5 -4
  37. package/lib/blocks/blockESLintYML.d.ts +5 -4
  38. package/lib/blocks/blockExampleFiles.d.ts +5 -4
  39. package/lib/blocks/blockExampleFiles.js +3 -2
  40. package/lib/blocks/blockExampleFiles.js.map +1 -1
  41. package/lib/blocks/blockFunding.d.ts +5 -4
  42. package/lib/blocks/blockGitHubActionsCI.d.ts +5 -4
  43. package/lib/blocks/blockGitHubActionsCI.js +11 -11
  44. package/lib/blocks/blockGitHubActionsCI.js.map +1 -1
  45. package/lib/blocks/blockGitHubApps.d.ts +5 -4
  46. package/lib/blocks/blockGitHubIssueTemplates.d.ts +5 -4
  47. package/lib/blocks/blockGitHubPRTemplate.d.ts +5 -4
  48. package/lib/blocks/blockGitignore.d.ts +5 -4
  49. package/lib/blocks/blockKnip.d.ts +5 -4
  50. package/lib/blocks/blockKnip.js +11 -11
  51. package/lib/blocks/blockKnip.js.map +1 -1
  52. package/lib/blocks/blockMITLicense.d.ts +5 -4
  53. package/lib/blocks/blockMarkdownlint.d.ts +5 -4
  54. package/lib/blocks/blockNvmrc.d.ts +5 -4
  55. package/lib/blocks/blockPRCompliance.d.ts +5 -4
  56. package/lib/blocks/blockPackageJson.d.ts +5 -4
  57. package/lib/blocks/blockPackageJson.js +11 -11
  58. package/lib/blocks/blockPackageJson.js.map +1 -1
  59. package/lib/blocks/blockPnpmDedupe.d.ts +5 -4
  60. package/lib/blocks/blockPrettier.d.ts +5 -4
  61. package/lib/blocks/blockPrettier.js +11 -10
  62. package/lib/blocks/blockPrettier.js.map +1 -1
  63. package/lib/blocks/blockPrettierPluginCurly.d.ts +5 -4
  64. package/lib/blocks/blockPrettierPluginPackageJson.d.ts +5 -4
  65. package/lib/blocks/blockPrettierPluginSh.d.ts +5 -4
  66. package/lib/blocks/blockREADME.d.ts +5 -4
  67. package/lib/blocks/blockReleaseIt.d.ts +5 -4
  68. package/lib/blocks/blockReleaseIt.js +0 -1
  69. package/lib/blocks/blockReleaseIt.js.map +1 -1
  70. package/lib/blocks/blockRenovate.d.ts +5 -4
  71. package/lib/blocks/blockRepositoryBranchRuleset.d.ts +5 -4
  72. package/lib/blocks/blockRepositoryBranchRuleset.js +78 -54
  73. package/lib/blocks/blockRepositoryBranchRuleset.js.map +1 -1
  74. package/lib/blocks/blockRepositoryLabels.d.ts +5 -4
  75. package/lib/blocks/blockRepositorySecrets.d.ts +6 -5
  76. package/lib/blocks/blockRepositorySettings.d.ts +5 -4
  77. package/lib/blocks/blockSecurityDocs.d.ts +5 -4
  78. package/lib/blocks/blockTSup.d.ts +5 -4
  79. package/lib/blocks/blockTSup.js +18 -18
  80. package/lib/blocks/blockTSup.js.map +1 -1
  81. package/lib/blocks/blockTemplatedWith.d.ts +5 -4
  82. package/lib/blocks/blockTemplatedWith.js +2 -2
  83. package/lib/blocks/blockTemplatedWith.js.map +1 -1
  84. package/lib/blocks/blockTypeScript.d.ts +5 -4
  85. package/lib/blocks/blockVSCode.d.ts +5 -4
  86. package/lib/blocks/blockVitest.d.ts +5 -4
  87. package/lib/blocks/blockVitest.js +17 -17
  88. package/lib/blocks/blockVitest.js.map +1 -1
  89. package/lib/blocks/index.d.ts +173 -130
  90. package/lib/data/contributions.d.ts +3 -0
  91. package/lib/data/contributions.js +14 -0
  92. package/lib/data/contributions.js.map +1 -0
  93. package/lib/data/packageData.d.ts +40 -44
  94. package/lib/index.d.ts +155 -3
  95. package/lib/index.js +4 -2
  96. package/lib/index.js.map +1 -1
  97. package/lib/inputs/inputFromOctokit.d.ts +9 -0
  98. package/lib/inputs/inputFromOctokit.js +28 -0
  99. package/lib/inputs/inputFromOctokit.js.map +1 -0
  100. package/lib/options/readAllContributors.d.ts +6 -0
  101. package/lib/options/readAllContributors.js +27 -0
  102. package/lib/options/readAllContributors.js.map +1 -0
  103. package/lib/options/readDocumentation.d.ts +1 -1
  104. package/lib/options/readDocumentation.js.map +1 -1
  105. package/lib/presets/common.d.ts +5 -4
  106. package/lib/presets/everything.d.ts +5 -4
  107. package/lib/presets/index.d.ts +13 -10
  108. package/lib/presets/minimal.d.ts +5 -4
  109. package/lib/template.d.ts +6 -5
  110. package/lib/template.js +6 -4
  111. package/lib/template.js.map +1 -1
  112. package/package.json +38 -40
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  <p align="center">
9
9
  <!-- prettier-ignore-start -->
10
10
  <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
11
- <a href="#contributors" target="_blank"><img alt="👪 All Contributors: 52" src="https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-52-21bb42.svg" /></a>
11
+ <a href="#contributors" target="_blank"><img alt="👪 All Contributors: 53" src="https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-53-21bb42.svg" /></a>
12
12
  <!-- ALL-CONTRIBUTORS-BADGE:END -->
13
13
  <!-- prettier-ignore-end -->
14
14
  <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/blob/main/.github/CODE_OF_CONDUCT.md" target="_blank"><img alt="🤝 Code of Conduct: Kept" src="https://img.shields.io/badge/%F0%9F%A4%9D_code_of_conduct-kept-21bb42" /></a>
@@ -34,16 +34,14 @@ First make sure you have the following installed:
34
34
  Then in an existing repository or in your directory where you'd like to make a new repository:
35
35
 
36
36
  ```shell
37
- npx create typescript-app
37
+ npx create-typescript-app
38
38
  ```
39
39
 
40
- That will launch `create-typescript-app` using the [`create` runner](https://create.bingo).
40
+ You can read more about the supported runtime modes in their docs pages:
41
41
 
42
- You can read more about the supported setup modes in their docs pages:
43
-
44
- - [**Creating from the terminal**](./docs/Creation.md): creating a new repository locally on the command-line _(recommended)_
45
- - [**Initializing from the template**](./docs/Initialization.md): creating a new repository with the [_Use this template_](https://github.com/JoshuaKGoldberg/create-typescript-app/generate) button on GitHub
46
- - [**Migrating an existing repository**](./docs/Migration.md): adding this template's tooling on top of an existing repository
42
+ - [**Setting up from the terminal**](./docs/Setup.md): creating a new repository locally on the command-line _(recommended)_
43
+ - [**Transitioning an existing repository**](./docs/Transition.md): adding this template's tooling on top of an existing repository
44
+ - [**Using the template repository**](./docs/UseThisTemplate.md): creating a new repository with the [_Use this template_](https://github.com/JoshuaKGoldberg/create-typescript-app/generate) button on GitHub
47
45
 
48
46
  ## Documentation
49
47
 
@@ -76,65 +74,66 @@ Thanks! 💖
76
74
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/garuna-m6"><img src="https://avatars.githubusercontent.com/u/23234342?v=4?s=100" width="100px;" alt="Anurag"/><br /><sub><b>Anurag</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=garuna-m6" title="Code">💻</a></td>
77
75
  <td align="center" valign="top" width="14.28%"><a href="https://atila.io"><img src="https://avatars.githubusercontent.com/u/2382552?v=4?s=100" width="100px;" alt="Atila Fassina"/><br /><sub><b>Atila Fassina</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Aatilafassina" title="Bug reports">🐛</a></td>
78
76
  <td align="center" valign="top" width="14.28%"><a href="http://biplobsd.me"><img src="https://avatars.githubusercontent.com/u/43641536?v=4?s=100" width="100px;" alt="Biplob Sutradhar"/><br /><sub><b>Biplob Sutradhar</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=biplobsd" title="Code">💻</a></td>
77
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/boneskull"><img src="https://avatars.githubusercontent.com/u/924465?v=4?s=100" width="100px;" alt="Christopher Hiller"/><br /><sub><b>Christopher Hiller</b></sub></a><br /><a href="#ideas-boneskull" title="Ideas, Planning, & Feedback">🤔</a></td>
79
78
  <td align="center" valign="top" width="14.28%"><a href="https://conormeagher.com/"><img src="https://avatars.githubusercontent.com/u/363781?v=4?s=100" width="100px;" alt="Conor Meagher"/><br /><sub><b>Conor Meagher</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=conrmahr" title="Code">💻</a></td>
80
79
  <td align="center" valign="top" width="14.28%"><a href="https://effectivetypescript.com"><img src="https://avatars.githubusercontent.com/u/98301?v=4?s=100" width="100px;" alt="Dan Vanderkam"/><br /><sub><b>Dan Vanderkam</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Adanvk" title="Bug reports">🐛</a> <a href="#ideas-danvk" title="Ideas, Planning, & Feedback">🤔</a> <a href="#tool-danvk" title="Tools">🔧</a></td>
81
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/DanexQ"><img src="https://avatars.githubusercontent.com/u/72567464?v=4?s=100" width="100px;" alt="Daniel"/><br /><sub><b>Daniel</b></sub></a><br /><a href="#infra-DanexQ" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
82
80
  </tr>
83
81
  <tr>
82
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/DanexQ"><img src="https://avatars.githubusercontent.com/u/72567464?v=4?s=100" width="100px;" alt="Daniel"/><br /><sub><b>Daniel</b></sub></a><br /><a href="#infra-DanexQ" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
84
83
  <td align="center" valign="top" width="14.28%"><a href="https://roe.dev/"><img src="https://avatars.githubusercontent.com/u/28706372?v=4?s=100" width="100px;" alt="Daniel Roe"/><br /><sub><b>Daniel Roe</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=danielroe" title="Code">💻</a></td>
85
84
  <td align="center" valign="top" width="14.28%"><a href="https://linktr.ee/DemianParkhomenko"><img src="https://avatars.githubusercontent.com/u/95881717?v=4?s=100" width="100px;" alt="Demian Parkhomenko"/><br /><sub><b>Demian Parkhomenko</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Ademianparkhomenko" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=demianparkhomenko" title="Code">💻</a></td>
86
85
  <td align="center" valign="top" width="14.28%"><a href="https://dominicduffin.uk"><img src="https://avatars.githubusercontent.com/u/26224873?v=4?s=100" width="100px;" alt="Dominic Duffin"/><br /><sub><b>Dominic Duffin</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=dominicduffin1" title="Code">💻</a></td>
87
86
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/nowyDEV"><img src="https://avatars.githubusercontent.com/u/12304307?v=4?s=100" width="100px;" alt="Dominik Nowik"/><br /><sub><b>Dominik Nowik</b></sub></a><br /><a href="#tool-nowyDEV" title="Tools">🔧</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=nowyDEV" title="Code">💻</a> <a href="#ideas-nowyDEV" title="Ideas, Planning, & Feedback">🤔</a></td>
88
87
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/emday4prez"><img src="https://avatars.githubusercontent.com/u/35363144?v=4?s=100" width="100px;" alt="Emerson"/><br /><sub><b>Emerson</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=emday4prez" title="Code">💻</a></td>
89
88
  <td align="center" valign="top" width="14.28%"><a href="https://farazpatankar.com/"><img src="https://avatars.githubusercontent.com/u/10681116?v=4?s=100" width="100px;" alt="Faraz Patankar"/><br /><sub><b>Faraz Patankar</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3AFarazPatankar" title="Bug reports">🐛</a></td>
90
- <td align="center" valign="top" width="14.28%"><a href="https://feedic.com"><img src="https://avatars.githubusercontent.com/u/188768?v=4?s=100" width="100px;" alt="Felix Boehm"/><br /><sub><b>Felix Boehm</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Afb55" title="Bug reports">🐛</a></td>
91
89
  </tr>
92
90
  <tr>
91
+ <td align="center" valign="top" width="14.28%"><a href="https://feedic.com"><img src="https://avatars.githubusercontent.com/u/188768?v=4?s=100" width="100px;" alt="Felix Boehm"/><br /><sub><b>Felix Boehm</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Afb55" title="Bug reports">🐛</a></td>
93
92
  <td align="center" valign="top" width="14.28%"><a href="https://gvasquez.dev"><img src="https://avatars.githubusercontent.com/u/7041175?v=4?s=100" width="100px;" alt="Graham Vasquez"/><br /><sub><b>Graham Vasquez</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=gv14982" title="Code">💻</a></td>
94
93
  <td align="center" valign="top" width="14.28%"><a href="https://jamiemagee.co.uk"><img src="https://avatars.githubusercontent.com/u/1358764?v=4?s=100" width="100px;" alt="Jamie Magee"/><br /><sub><b>Jamie Magee</b></sub></a><br /><a href="#ideas-jamiemagee" title="Ideas, Planning, & Feedback">🤔</a></td>
95
94
  <td align="center" valign="top" width="14.28%"><a href="https://niklas-wortmann.com"><img src="https://avatars.githubusercontent.com/u/6104311?v=4?s=100" width="100px;" alt="Jan-Niklas W."/><br /><sub><b>Jan-Niklas W.</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=niklas-wortmann" title="Code">💻</a></td>
96
95
  <td align="center" valign="top" width="14.28%"><a href="https://sinchang.me"><img src="https://avatars.githubusercontent.com/u/3297859?v=4?s=100" width="100px;" alt="Jeff Wen"/><br /><sub><b>Jeff Wen</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=sinchang" title="Code">💻</a></td>
97
96
  <td align="center" valign="top" width="14.28%"><a href="https://jessicawilkins.dev/"><img src="https://avatars.githubusercontent.com/u/67210629?v=4?s=100" width="100px;" alt="Jessica Wilkins "/><br /><sub><b>Jessica Wilkins </b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=jdwilkin4" title="Code">💻</a></td>
98
97
  <td align="center" valign="top" width="14.28%"><a href="https://typescriptcourse.com/tutorials"><img src="https://avatars.githubusercontent.com/u/3806031?v=4?s=100" width="100px;" alt="Joe Previte"/><br /><sub><b>Joe Previte</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Ajsjoeio" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=jsjoeio" title="Code">💻</a></td>
99
- <td align="center" valign="top" width="14.28%"><a href="https://blog.johnnyreilly.com/"><img src="https://avatars.githubusercontent.com/u/1010525?v=4?s=100" width="100px;" alt="John Reilly"/><br /><sub><b>John Reilly</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=johnnyreilly" title="Code">💻</a> <a href="#ideas-johnnyreilly" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Ajohnnyreilly" title="Bug reports">🐛</a> <a href="#maintenance-johnnyreilly" title="Maintenance">🚧</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=johnnyreilly" title="Documentation">📖</a> <a href="#tool-johnnyreilly" title="Tools">🔧</a></td>
100
98
  </tr>
101
99
  <tr>
100
+ <td align="center" valign="top" width="14.28%"><a href="https://blog.johnnyreilly.com/"><img src="https://avatars.githubusercontent.com/u/1010525?v=4?s=100" width="100px;" alt="John Reilly"/><br /><sub><b>John Reilly</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=johnnyreilly" title="Code">💻</a> <a href="#ideas-johnnyreilly" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Ajohnnyreilly" title="Bug reports">🐛</a> <a href="#maintenance-johnnyreilly" title="Maintenance">🚧</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=johnnyreilly" title="Documentation">📖</a> <a href="#tool-johnnyreilly" title="Tools">🔧</a></td>
102
101
  <td align="center" valign="top" width="14.28%"><a href="http://www.joshuakgoldberg.com"><img src="https://avatars.githubusercontent.com/u/3335181?v=4?s=100" width="100px;" alt="Josh Goldberg"/><br /><sub><b>Josh Goldberg</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3AJoshuaKGoldberg" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=JoshuaKGoldberg" title="Code">💻</a> <a href="#maintenance-JoshuaKGoldberg" title="Maintenance">🚧</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/pulls?q=is%3Apr+reviewed-by%3AJoshuaKGoldberg" title="Reviewed Pull Requests">👀</a> <a href="#tool-JoshuaKGoldberg" title="Tools">🔧</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=JoshuaKGoldberg" title="Documentation">📖</a> <a href="#infra-JoshuaKGoldberg" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=JoshuaKGoldberg" title="Tests">⚠️</a> <a href="#ideas-JoshuaKGoldberg" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-JoshuaKGoldberg" title="Design">🎨</a></td>
103
102
  <td align="center" valign="top" width="14.28%"><a href="https://twitter.com/Jolg42"><img src="https://avatars.githubusercontent.com/u/1328733?v=4?s=100" width="100px;" alt="Joël Galeran"/><br /><sub><b>Joël Galeran</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=jolg42" title="Code">💻</a></td>
104
103
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/jaas666"><img src="https://avatars.githubusercontent.com/u/30204147?v=4?s=100" width="100px;" alt="Juan A."/><br /><sub><b>Juan A.</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=jaas666" title="Code">💻</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=jaas666" title="Documentation">📖</a></td>
105
104
  <td align="center" valign="top" width="14.28%"><a href="https://kristo-baricevic.github.io/"><img src="https://avatars.githubusercontent.com/u/108290619?v=4?s=100" width="100px;" alt="Kristo Baricevic"/><br /><sub><b>Kristo Baricevic</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=kristo-baricevic" title="Code">💻</a></td>
106
105
  <td align="center" valign="top" width="14.28%"><a href="https://webpro.nl"><img src="https://avatars.githubusercontent.com/u/456426?v=4?s=100" width="100px;" alt="Lars Kappert"/><br /><sub><b>Lars Kappert</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=webpro" title="Code">💻</a></td>
107
106
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/Aslemammad"><img src="https://avatars.githubusercontent.com/u/37929992?v=4?s=100" width="100px;" alt="Mohammad Bagher Abiyat"/><br /><sub><b>Mohammad Bagher Abiyat</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=aslemammad" title="Code">💻</a></td>
108
- <td align="center" valign="top" width="14.28%"><a href="https://navinmoorthy.me/"><img src="https://avatars.githubusercontent.com/u/39694575?v=4?s=100" width="100px;" alt="Navin Moorthy"/><br /><sub><b>Navin Moorthy</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Anavin-moorthy" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=navin-moorthy" title="Code">💻</a> <a href="#ideas-navin-moorthy" title="Ideas, Planning, & Feedback">🤔</a></td>
109
107
  </tr>
110
108
  <tr>
109
+ <td align="center" valign="top" width="14.28%"><a href="https://navinmoorthy.me/"><img src="https://avatars.githubusercontent.com/u/39694575?v=4?s=100" width="100px;" alt="Navin Moorthy"/><br /><sub><b>Navin Moorthy</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Anavin-moorthy" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=navin-moorthy" title="Code">💻</a> <a href="#ideas-navin-moorthy" title="Ideas, Planning, & Feedback">🤔</a></td>
111
110
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/NazCodeland"><img src="https://avatars.githubusercontent.com/u/113494366?v=4?s=100" width="100px;" alt="NazCodeland"/><br /><sub><b>NazCodeland</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=NazCodeland" title="Code">💻</a></td>
112
111
  <td align="center" valign="top" width="14.28%"><a href="https://orta.io"><img src="https://avatars.githubusercontent.com/u/49038?v=4?s=100" width="100px;" alt="Orta Therox"/><br /><sub><b>Orta Therox</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=orta" title="Code">💻</a> <a href="#ideas-orta" title="Ideas, Planning, & Feedback">🤔</a></td>
113
112
  <td align="center" valign="top" width="14.28%"><a href="https://paulisaweso.me/"><img src="https://avatars.githubusercontent.com/u/6335792?v=4?s=100" width="100px;" alt="Paul Esch-Laurent"/><br /><sub><b>Paul Esch-Laurent</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=Pinjasaur" title="Code">💻</a></td>
114
113
  <td align="center" valign="top" width="14.28%"><a href="https://kodfabrik.se/"><img src="https://avatars.githubusercontent.com/u/34457?v=4?s=100" width="100px;" alt="Pelle Wessman"/><br /><sub><b>Pelle Wessman</b></sub></a><br /><a href="#ideas-voxpelli" title="Ideas, Planning, & Feedback">🤔</a></td>
115
114
  <td align="center" valign="top" width="14.28%"><a href="https://praveenshinde.vercel.app/"><img src="https://avatars.githubusercontent.com/u/107350270?v=4?s=100" width="100px;" alt="Praveen Shinde"/><br /><sub><b>Praveen Shinde</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=praveenshinde3" title="Code">💻</a></td>
116
115
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/promise-dash"><img src="https://avatars.githubusercontent.com/u/86062880?v=4?s=100" width="100px;" alt="Promise Dash"/><br /><sub><b>Promise Dash</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=promise-dash" title="Code">💻</a></td>
117
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/RebeccaStevens"><img src="https://avatars.githubusercontent.com/u/7224206?v=4?s=100" width="100px;" alt="Rebecca Stevens"/><br /><sub><b>Rebecca Stevens</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=RebeccaStevens" title="Code">💻</a> <a href="#infra-RebeccaStevens" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
118
116
  </tr>
119
117
  <tr>
118
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/RebeccaStevens"><img src="https://avatars.githubusercontent.com/u/7224206?v=4?s=100" width="100px;" alt="Rebecca Stevens"/><br /><sub><b>Rebecca Stevens</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=RebeccaStevens" title="Code">💻</a> <a href="#infra-RebeccaStevens" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
120
119
  <td align="center" valign="top" width="14.28%"><a href="https://linktr.ee/ronbraha"><img src="https://avatars.githubusercontent.com/u/45559220?v=4?s=100" width="100px;" alt="Ron Braha"/><br /><sub><b>Ron Braha</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=RNR1" title="Code">💻</a> <a href="#design-RNR1" title="Design">🎨</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=RNR1" title="Tests">⚠️</a></td>
121
120
  <td align="center" valign="top" width="14.28%"><a href="http://ronjeanfrancois.com"><img src="https://avatars.githubusercontent.com/u/105710107?v=4?s=100" width="100px;" alt="Ron Jean-Francois"/><br /><sub><b>Ron Jean-Francois</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=ronthetech" title="Code">💻</a> <a href="#infra-ronthetech" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
122
121
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/RuthwikReddy09"><img src="https://avatars.githubusercontent.com/u/126862059?v=4?s=100" width="100px;" alt="Ruthwik"/><br /><sub><b>Ruthwik</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=ruthwikreddy09" title="Code">💻</a></td>
123
122
  <td align="center" valign="top" width="14.28%"><a href="https://ryota-murakami.github.io/"><img src="https://avatars.githubusercontent.com/u/5501268?v=4?s=100" width="100px;" alt="Ryota Murakami"/><br /><sub><b>Ryota Murakami</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=ryota-murakami" title="Code">💻</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Aryota-murakami" title="Bug reports">🐛</a></td>
124
123
  <td align="center" valign="top" width="14.28%"><a href="https://www.shraddha.tech"><img src="https://avatars.githubusercontent.com/u/27571141?v=4?s=100" width="100px;" alt="Shraddha"/><br /><sub><b>Shraddha</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=5hraddha" title="Code">💻</a></td>
125
124
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/the-lazy-learner"><img src="https://avatars.githubusercontent.com/u/13695177?v=4?s=100" width="100px;" alt="Sudhansu"/><br /><sub><b>Sudhansu</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=the-lazy-learner" title="Code">💻</a></td>
126
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/mrswastik-robot"><img src="https://avatars.githubusercontent.com/u/107865087?v=4?s=100" width="100px;" alt="Swastik Patel"/><br /><sub><b>Swastik Patel</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=mrswastik-robot" title="Documentation">📖</a></td>
127
125
  </tr>
128
126
  <tr>
127
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/mrswastik-robot"><img src="https://avatars.githubusercontent.com/u/107865087?v=4?s=100" width="100px;" alt="Swastik Patel"/><br /><sub><b>Swastik Patel</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=mrswastik-robot" title="Documentation">📖</a></td>
129
128
  <td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/timonjurschitsch/"><img src="https://avatars.githubusercontent.com/u/103483059?v=4?s=100" width="100px;" alt="Timon Jurschitsch"/><br /><sub><b>Timon Jurschitsch</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=dertimonius" title="Code">💻</a></td>
130
129
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/tungbq"><img src="https://avatars.githubusercontent.com/u/85242618?v=4?s=100" width="100px;" alt="Tung Bui (Leo)"/><br /><sub><b>Tung Bui (Leo)</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=tungbq" title="Code">💻</a></td>
131
130
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/valon-loshaj"><img src="https://avatars.githubusercontent.com/u/73202963?v=4?s=100" width="100px;" alt="Valon"/><br /><sub><b>Valon</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=valon-loshaj" title="Documentation">📖</a></td>
132
131
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/vasanth9"><img src="https://avatars.githubusercontent.com/u/42891954?v=4?s=100" width="100px;" alt="Vasanth Kumar Cheepurupalli"/><br /><sub><b>Vasanth Kumar Cheepurupalli</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=vasanth9" title="Code">💻</a></td>
133
132
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/xl4624"><img src="https://avatars.githubusercontent.com/u/116298054?v=4?s=100" width="100px;" alt="Xiaomin Liu"/><br /><sub><b>Xiaomin Liu</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=xl4624" title="Code">💻</a></td>
134
133
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/lcforbes"><img src="https://avatars.githubusercontent.com/u/42080532?v=4?s=100" width="100px;" alt="lcforbes"/><br /><sub><b>lcforbes</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Alcforbes" title="Bug reports">🐛</a></td>
135
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/michaelfaith"><img src="https://avatars.githubusercontent.com/u/8071845?v=4?s=100" width="100px;" alt="michael faith"/><br /><sub><b>michael faith</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=michaelfaith" title="Code">💻</a></td>
136
134
  </tr>
137
135
  <tr>
136
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/michaelfaith"><img src="https://avatars.githubusercontent.com/u/8071845?v=4?s=100" width="100px;" alt="michael faith"/><br /><sub><b>michael faith</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=michaelfaith" title="Code">💻</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Amichaelfaith" title="Bug reports">🐛</a></td>
138
137
  <td align="center" valign="top" width="14.28%"><a href="http://nandertga.ddns.net"><img src="https://avatars.githubusercontent.com/u/65074195?v=4?s=100" width="100px;" alt="nandertga"/><br /><sub><b>nandertga</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=nandertga" title="Code">💻</a></td>
139
138
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/rubiesonthesky"><img src="https://avatars.githubusercontent.com/u/2591240?v=4?s=100" width="100px;" alt="rubiesonthesky"/><br /><sub><b>rubiesonthesky</b></sub></a><br /><a href="#ideas-rubiesonthesky" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=rubiesonthesky" title="Code">💻</a></td>
140
139
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/TAKANOME-DEV"><img src="https://avatars.githubusercontent.com/u/79809121?v=4?s=100" width="100px;" alt="takanomedev"/><br /><sub><b>takanomedev</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=TAKANOME-DEV" title="Code">💻</a></td>
package/bin/index.js CHANGED
@@ -1,16 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import chalk from "chalk";
2
+ import { runTemplateCLI } from "bingo";
3
3
 
4
- console.log(
5
- [
6
- "create-typescript-app is now run using ",
7
- chalk.bold("create"),
8
- ".\n\nRun:\n ",
9
- chalk.bold("npx create", process.argv.slice(2).join(" ")),
10
- "\n\nYou can read more on:\n https://",
11
- chalk.bold("create.bingo"),
12
- "\n\nThanks for using create-typescript-app! 🎁",
13
- ].join(""),
14
- );
4
+ import { template } from "../lib/index.js";
15
5
 
16
- process.exitCode = 1;
6
+ process.exitCode = await runTemplateCLI(template);
package/lib/base.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import * as create from 'create';
2
- import { BaseOptionsFor } from 'create';
1
+ import * as bingo_stratum from 'bingo-stratum';
2
+ import { BaseOptionsFor } from 'bingo-stratum';
3
3
  import { z } from 'zod';
4
4
 
5
5
  declare const zContributor: z.ZodObject<{
@@ -22,7 +22,7 @@ declare const zContributor: z.ZodObject<{
22
22
  profile: string;
23
23
  }>;
24
24
  type Contributor = z.infer<typeof zContributor>;
25
- declare const base: create.Base<{
25
+ declare const base: bingo_stratum.Base<{
26
26
  access: z.ZodUnion<[z.ZodLiteral<"public">, z.ZodLiteral<"restricted">]>;
27
27
  author: z.ZodOptional<z.ZodString>;
28
28
  bin: z.ZodOptional<z.ZodString>;
@@ -118,6 +118,7 @@ declare const base: create.Base<{
118
118
  scripts?: Record<string, string> | undefined;
119
119
  }>>;
120
120
  repository: z.ZodString;
121
+ rulesetId: z.ZodOptional<z.ZodString>;
121
122
  title: z.ZodString;
122
123
  usage: z.ZodOptional<z.ZodString>;
123
124
  version: z.ZodOptional<z.ZodString>;
package/lib/base.js CHANGED
@@ -1,14 +1,15 @@
1
- import { createBase } from "create";
1
+ import { createBase } from "bingo-stratum";
2
2
  import { execaCommand } from "execa";
3
3
  import gitRemoteOriginUrl from "git-remote-origin-url";
4
4
  import gitUrlParse from "git-url-parse";
5
5
  import { inputFromFile } from "input-from-file";
6
- import { inputFromFileJSON } from "input-from-file-json";
7
6
  import { inputFromScript } from "input-from-script";
8
7
  import lazyValue from "lazy-value";
9
8
  import npmUser from "npm-user";
10
9
  import { z } from "zod";
10
+ import { inputFromOctokit } from "./inputs/inputFromOctokit.js";
11
11
  import { parsePackageAuthor } from "./options/parsePackageAuthor.js";
12
+ import { readAllContributors } from "./options/readAllContributors.js";
12
13
  import { readDefaultsFromReadme } from "./options/readDefaultsFromReadme.js";
13
14
  import { readDescription } from "./options/readDescription.js";
14
15
  import { readDocumentation } from "./options/readDocumentation.js";
@@ -74,17 +75,13 @@ const base = createBase({
74
75
  scripts: z.record(z.string(), z.string()).optional()
75
76
  }).optional().describe("additional properties to include in `package.json`"),
76
77
  repository: z.string().describe("'kebab-case' or 'PascalCase' title of the repository"),
78
+ rulesetId: z.string().optional().describe("GitHub branch ruleset ID for main branch protections"),
77
79
  title: z.string().describe("'Title Case' title for the repository"),
78
80
  usage: z.string().optional().describe("markdown docs to put in README.md under the ## Usage heading"),
79
81
  version: z.string().optional().describe("package version to publish as and store in `package.json`")
80
82
  },
81
- produce({ options, take }) {
82
- const allContributors = lazyValue(async () => {
83
- const contributions = await take(inputFromFileJSON, {
84
- filePath: ".all-contributorsrc"
85
- });
86
- return contributions.contributors;
87
- });
83
+ prepare({ options, take }) {
84
+ const allContributors = lazyValue(async () => readAllContributors(take));
88
85
  const documentation = lazyValue(async () => readDocumentation(take));
89
86
  const nvmrc = lazyValue(
90
87
  async () => await take(inputFromFile, {
@@ -99,6 +96,18 @@ const base = createBase({
99
96
  )?.stdout?.toString();
100
97
  });
101
98
  const readme = lazyValue(async () => await readFileSafe("README.md", ""));
99
+ const rulesetId = lazyValue(async () => {
100
+ const rulesets = await take(inputFromOctokit, {
101
+ endpoint: "GET /repos/{owner}/{repo}/rulesets",
102
+ options: {
103
+ owner: await owner(),
104
+ repo: await repository()
105
+ }
106
+ });
107
+ return rulesets?.find(
108
+ (ruleset) => ruleset.name === "Branch protection for main"
109
+ )?.id;
110
+ });
102
111
  const gitDefaults = tryCatchLazyValueAsync(
103
112
  async () => gitUrlParse(await gitRemoteOriginUrl())
104
113
  );
@@ -121,9 +130,13 @@ const base = createBase({
121
130
  };
122
131
  });
123
132
  const version = lazyValue(async () => (await packageData()).version);
133
+ const owner = lazyValue(
134
+ async () => (await gitDefaults())?.organization ?? (await packageAuthor()).author ?? await githubCliUser()
135
+ );
124
136
  const repository = lazyValue(
125
137
  async () => options.repository ?? (await gitDefaults())?.name ?? (await packageData()).name ?? options.directory
126
138
  );
139
+ const email = lazyValue(async () => readEmails(npmDefaults, packageAuthor));
127
140
  return {
128
141
  access: "public",
129
142
  author,
@@ -131,12 +144,12 @@ const base = createBase({
131
144
  contributors: allContributors,
132
145
  description: async () => await readDescription(packageData, readme),
133
146
  documentation,
134
- email: async () => readEmails(npmDefaults, packageAuthor),
147
+ email,
135
148
  funding: readFunding,
136
149
  guide: readGuide,
137
150
  login: author,
138
151
  node,
139
- owner: async () => (await gitDefaults())?.organization ?? (await packageAuthor()).author ?? await githubCliUser(),
152
+ owner,
140
153
  packageData: async () => {
141
154
  const original = await packageData();
142
155
  return {
@@ -146,13 +159,10 @@ const base = createBase({
146
159
  };
147
160
  },
148
161
  repository,
162
+ rulesetId,
149
163
  ...readDefaultsFromReadme(readme, repository),
150
164
  version
151
165
  };
152
- },
153
- template: {
154
- owner: "JoshuaKGoldberg",
155
- repository: "create-typescript-app"
156
166
  }
157
167
  });
158
168
  export {
package/lib/base.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/base.ts"],"sourcesContent":["import { BaseOptionsFor, createBase } from \"create\";\nimport { execaCommand } from \"execa\";\nimport gitRemoteOriginUrl from \"git-remote-origin-url\";\nimport gitUrlParse from \"git-url-parse\";\nimport { inputFromFile } from \"input-from-file\";\nimport { inputFromFileJSON } from \"input-from-file-json\";\nimport { inputFromScript } from \"input-from-script\";\nimport lazyValue from \"lazy-value\";\nimport npmUser from \"npm-user\";\nimport { z } from \"zod\";\n\nimport { parsePackageAuthor } from \"./options/parsePackageAuthor.js\";\nimport { readDefaultsFromReadme } from \"./options/readDefaultsFromReadme.js\";\nimport { readDescription } from \"./options/readDescription.js\";\nimport { readDocumentation } from \"./options/readDocumentation.js\";\nimport { readEmails } from \"./options/readEmails.js\";\nimport { readFileSafe } from \"./options/readFileSafe.js\";\nimport { readFunding } from \"./options/readFunding.js\";\nimport { readGuide } from \"./options/readGuide.js\";\nimport { readPackageData } from \"./options/readPackageData.js\";\nimport { AllContributorsData } from \"./types.js\";\nimport { swallowError } from \"./utils/swallowError.js\";\nimport { tryCatchLazyValueAsync } from \"./utils/tryCatchLazyValueAsync.js\";\n\nconst zContributor = z.object({\n\tavatar_url: z.string(),\n\tcontributions: z.array(z.string()),\n\tlogin: z.string(),\n\tname: z.string(),\n\tprofile: z.string(),\n});\n\nexport type Contributor = z.infer<typeof zContributor>;\n\nexport const base = createBase({\n\toptions: {\n\t\taccess: z\n\t\t\t.union([z.literal(\"public\"), z.literal(\"restricted\")])\n\t\t\t.describe(\"which `npm publish --access` to release npm packages with\"),\n\t\tauthor: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"username on npm to publish packages under\"),\n\t\tbin: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe('value to set in `package.json`\\'s `\"bin\"` property'),\n\t\tcontributors: z\n\t\t\t.array(zContributor)\n\t\t\t.optional()\n\t\t\t.describe(\"AllContributors contributors to store in .all-contributorsrc\"),\n\t\tdescription: z\n\t\t\t.string()\n\t\t\t.default(\"A very lovely package. Hooray! 💖\")\n\t\t\t.describe(\"'Sentence case.' description of the repository\"),\n\t\tdirectory: z.string().describe(\"Directory to create the repository in\"),\n\t\tdocumentation: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"any additional docs to add to .github/DEVELOPMENT.md\"),\n\t\temail: z\n\t\t\t.union([\n\t\t\t\tz.string(),\n\t\t\t\tz.object({\n\t\t\t\t\tgithub: z.string(),\n\t\t\t\t\tnpm: z.string(),\n\t\t\t\t}),\n\t\t\t])\n\t\t\t.transform((email) =>\n\t\t\t\ttypeof email === \"string\" ? { github: email, npm: email } : email,\n\t\t\t)\n\t\t\t.describe(\n\t\t\t\t\"email address to be listed as the point of contact in docs and packages\",\n\t\t\t),\n\t\texplainer: z\n\t\t\t.array(z.string())\n\t\t\t.optional()\n\t\t\t.describe(\"additional README.md sentence(s) describing the package\"),\n\t\tfunding: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"GitHub organization or username to mention in `funding.yml`\"),\n\t\tguide: z\n\t\t\t.object({\n\t\t\t\thref: z.string(),\n\t\t\t\ttitle: z.string(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\n\t\t\t\t\"link to a contribution guide to place at the top of development docs\",\n\t\t\t),\n\t\tkeywords: z\n\t\t\t.array(z.string())\n\t\t\t.optional()\n\t\t\t.describe(\"any number of keywords to include in `package.json`\"),\n\t\tlogo: z\n\t\t\t.object({\n\t\t\t\talt: z.string(),\n\t\t\t\theight: z.number().optional(),\n\t\t\t\tsrc: z.string(),\n\t\t\t\twidth: z.number().optional(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\n\t\t\t\t\"local image file in the repository to display near the top of the README.md\",\n\t\t\t),\n\t\tnode: z\n\t\t\t.object({\n\t\t\t\tminimum: z.string(),\n\t\t\t\tpinned: z.string().optional(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\"node.js engine version(s) to pin and require a minimum of\"),\n\t\towner: z\n\t\t\t.string()\n\t\t\t.describe(\"GitHub organization or user the repository is underneath\"),\n\t\tpackageData: z\n\t\t\t.object({\n\t\t\t\tdependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\tdevDependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\tscripts: z.record(z.string(), z.string()).optional(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\"additional properties to include in `package.json`\"),\n\t\trepository: z\n\t\t\t.string()\n\t\t\t.describe(\"'kebab-case' or 'PascalCase' title of the repository\"),\n\t\ttitle: z.string().describe(\"'Title Case' title for the repository\"),\n\t\tusage: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"markdown docs to put in README.md under the ## Usage heading\"),\n\t\tversion: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"package version to publish as and store in `package.json`\"),\n\t},\n\tproduce({ options, take }) {\n\t\tconst allContributors = lazyValue(async () => {\n\t\t\tconst contributions = (await take(inputFromFileJSON, {\n\t\t\t\tfilePath: \".all-contributorsrc\",\n\t\t\t})) as AllContributorsData;\n\n\t\t\treturn contributions.contributors;\n\t\t});\n\n\t\tconst documentation = lazyValue(async () => readDocumentation(take));\n\n\t\tconst nvmrc = lazyValue(\n\t\t\tasync () =>\n\t\t\t\tawait take(inputFromFile, {\n\t\t\t\t\tfilePath: \".nvmrc\",\n\t\t\t\t}),\n\t\t);\n\n\t\tconst githubCliUser = lazyValue(async () => {\n\t\t\treturn swallowError(\n\t\t\t\tawait take(inputFromScript, {\n\t\t\t\t\tcommand: \"gh config get user -h github.com\",\n\t\t\t\t}),\n\t\t\t)?.stdout?.toString();\n\t\t});\n\n\t\tconst readme = lazyValue(async () => await readFileSafe(\"README.md\", \"\"));\n\n\t\t// TODO: Make these all use take\n\n\t\tconst gitDefaults = tryCatchLazyValueAsync(async () =>\n\t\t\tgitUrlParse(await gitRemoteOriginUrl()),\n\t\t);\n\n\t\tconst npmDefaults = tryCatchLazyValueAsync(async () => {\n\t\t\tconst whoami = (await execaCommand(`npm whoami`)).stdout;\n\t\t\treturn whoami ? await npmUser(whoami) : undefined;\n\t\t});\n\n\t\tconst packageData = lazyValue(readPackageData);\n\t\tconst packageAuthor = lazyValue(async () =>\n\t\t\tparsePackageAuthor(await packageData()),\n\t\t);\n\n\t\tconst author = lazyValue(\n\t\t\tasync () =>\n\t\t\t\t(await packageAuthor()).author ??\n\t\t\t\t(await npmDefaults())?.name ??\n\t\t\t\toptions.owner,\n\t\t);\n\n\t\tconst node = lazyValue(async () => {\n\t\t\tconst { engines } = await packageData();\n\n\t\t\treturn {\n\t\t\t\tminimum:\n\t\t\t\t\t(engines?.node && /[\\d+.]+/.exec(engines.node))?.[0] ?? \"18.3.0\",\n\t\t\t\tpinned: swallowError(await nvmrc())?.trim() ?? \"20.18.0\",\n\t\t\t};\n\t\t});\n\n\t\tconst version = lazyValue(async () => (await packageData()).version);\n\n\t\tconst repository = lazyValue(\n\t\t\tasync () =>\n\t\t\t\toptions.repository ??\n\t\t\t\t(await gitDefaults())?.name ??\n\t\t\t\t(await packageData()).name ??\n\t\t\t\toptions.directory,\n\t\t);\n\n\t\treturn {\n\t\t\taccess: \"public\" as const,\n\t\t\tauthor,\n\t\t\tbin: async () => (await packageData()).bin,\n\t\t\tcontributors: allContributors,\n\t\t\tdescription: async () => await readDescription(packageData, readme),\n\t\t\tdocumentation,\n\t\t\temail: async () => readEmails(npmDefaults, packageAuthor),\n\t\t\tfunding: readFunding,\n\t\t\tguide: readGuide,\n\t\t\tlogin: author,\n\t\t\tnode,\n\t\t\towner: async () =>\n\t\t\t\t(await gitDefaults())?.organization ??\n\t\t\t\t(await packageAuthor()).author ??\n\t\t\t\t(await githubCliUser()),\n\t\t\tpackageData: async () => {\n\t\t\t\tconst original = await packageData();\n\n\t\t\t\treturn {\n\t\t\t\t\tdependencies: original.dependencies,\n\t\t\t\t\tdevDependencies: original.devDependencies,\n\t\t\t\t\tscripts: original.scripts,\n\t\t\t\t};\n\t\t\t},\n\t\t\trepository,\n\t\t\t...readDefaultsFromReadme(readme, repository),\n\t\t\tversion,\n\t\t};\n\t},\n\ttemplate: {\n\t\towner: \"JoshuaKGoldberg\",\n\t\trepository: \"create-typescript-app\",\n\t},\n});\n\nexport type BaseOptions = BaseOptionsFor<typeof base>;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/base.ts"],"sourcesContent":["import { BaseOptionsFor, createBase } from \"bingo-stratum\";\nimport { execaCommand } from \"execa\";\nimport gitRemoteOriginUrl from \"git-remote-origin-url\";\nimport gitUrlParse from \"git-url-parse\";\nimport { inputFromFile } from \"input-from-file\";\nimport { inputFromScript } from \"input-from-script\";\nimport lazyValue from \"lazy-value\";\nimport npmUser from \"npm-user\";\nimport { z } from \"zod\";\n\nimport { inputFromOctokit } from \"./inputs/inputFromOctokit.js\";\nimport { parsePackageAuthor } from \"./options/parsePackageAuthor.js\";\nimport { readAllContributors } from \"./options/readAllContributors.js\";\nimport { readDefaultsFromReadme } from \"./options/readDefaultsFromReadme.js\";\nimport { readDescription } from \"./options/readDescription.js\";\nimport { readDocumentation } from \"./options/readDocumentation.js\";\nimport { readEmails } from \"./options/readEmails.js\";\nimport { readFileSafe } from \"./options/readFileSafe.js\";\nimport { readFunding } from \"./options/readFunding.js\";\nimport { readGuide } from \"./options/readGuide.js\";\nimport { readPackageData } from \"./options/readPackageData.js\";\nimport { swallowError } from \"./utils/swallowError.js\";\nimport { tryCatchLazyValueAsync } from \"./utils/tryCatchLazyValueAsync.js\";\n\nconst zContributor = z.object({\n\tavatar_url: z.string(),\n\tcontributions: z.array(z.string()),\n\tlogin: z.string(),\n\tname: z.string(),\n\tprofile: z.string(),\n});\n\nexport type Contributor = z.infer<typeof zContributor>;\n\nexport const base = createBase({\n\toptions: {\n\t\taccess: z\n\t\t\t.union([z.literal(\"public\"), z.literal(\"restricted\")])\n\t\t\t.describe(\"which `npm publish --access` to release npm packages with\"),\n\t\tauthor: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"username on npm to publish packages under\"),\n\t\tbin: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe('value to set in `package.json`\\'s `\"bin\"` property'),\n\t\tcontributors: z\n\t\t\t.array(zContributor)\n\t\t\t.optional()\n\t\t\t.describe(\"AllContributors contributors to store in .all-contributorsrc\"),\n\t\tdescription: z\n\t\t\t.string()\n\t\t\t.default(\"A very lovely package. Hooray! 💖\")\n\t\t\t.describe(\"'Sentence case.' description of the repository\"),\n\t\tdirectory: z.string().describe(\"Directory to create the repository in\"),\n\t\tdocumentation: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"any additional docs to add to .github/DEVELOPMENT.md\"),\n\t\temail: z\n\t\t\t.union([\n\t\t\t\tz.string(),\n\t\t\t\tz.object({\n\t\t\t\t\tgithub: z.string(),\n\t\t\t\t\tnpm: z.string(),\n\t\t\t\t}),\n\t\t\t])\n\t\t\t.transform((email) =>\n\t\t\t\ttypeof email === \"string\" ? { github: email, npm: email } : email,\n\t\t\t)\n\t\t\t.describe(\n\t\t\t\t\"email address to be listed as the point of contact in docs and packages\",\n\t\t\t),\n\t\texplainer: z\n\t\t\t.array(z.string())\n\t\t\t.optional()\n\t\t\t.describe(\"additional README.md sentence(s) describing the package\"),\n\t\tfunding: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"GitHub organization or username to mention in `funding.yml`\"),\n\t\tguide: z\n\t\t\t.object({\n\t\t\t\thref: z.string(),\n\t\t\t\ttitle: z.string(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\n\t\t\t\t\"link to a contribution guide to place at the top of development docs\",\n\t\t\t),\n\t\tkeywords: z\n\t\t\t.array(z.string())\n\t\t\t.optional()\n\t\t\t.describe(\"any number of keywords to include in `package.json`\"),\n\t\tlogo: z\n\t\t\t.object({\n\t\t\t\talt: z.string(),\n\t\t\t\theight: z.number().optional(),\n\t\t\t\tsrc: z.string(),\n\t\t\t\twidth: z.number().optional(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\n\t\t\t\t\"local image file in the repository to display near the top of the README.md\",\n\t\t\t),\n\t\tnode: z\n\t\t\t.object({\n\t\t\t\tminimum: z.string(),\n\t\t\t\tpinned: z.string().optional(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\"node.js engine version(s) to pin and require a minimum of\"),\n\t\towner: z\n\t\t\t.string()\n\t\t\t.describe(\"GitHub organization or user the repository is underneath\"),\n\t\tpackageData: z\n\t\t\t.object({\n\t\t\t\tdependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\tdevDependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\tscripts: z.record(z.string(), z.string()).optional(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\"additional properties to include in `package.json`\"),\n\t\trepository: z\n\t\t\t.string()\n\t\t\t.describe(\"'kebab-case' or 'PascalCase' title of the repository\"),\n\t\trulesetId: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"GitHub branch ruleset ID for main branch protections\"),\n\t\ttitle: z.string().describe(\"'Title Case' title for the repository\"),\n\t\tusage: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"markdown docs to put in README.md under the ## Usage heading\"),\n\t\tversion: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"package version to publish as and store in `package.json`\"),\n\t},\n\tprepare({ options, take }) {\n\t\tconst allContributors = lazyValue(async () => readAllContributors(take));\n\t\tconst documentation = lazyValue(async () => readDocumentation(take));\n\n\t\tconst nvmrc = lazyValue(\n\t\t\tasync () =>\n\t\t\t\tawait take(inputFromFile, {\n\t\t\t\t\tfilePath: \".nvmrc\",\n\t\t\t\t}),\n\t\t);\n\n\t\tconst githubCliUser = lazyValue(async () => {\n\t\t\treturn swallowError(\n\t\t\t\tawait take(inputFromScript, {\n\t\t\t\t\tcommand: \"gh config get user -h github.com\",\n\t\t\t\t}),\n\t\t\t)?.stdout?.toString();\n\t\t});\n\n\t\tconst readme = lazyValue(async () => await readFileSafe(\"README.md\", \"\"));\n\n\t\tconst rulesetId = lazyValue(async () => {\n\t\t\tconst rulesets = (await take(inputFromOctokit, {\n\t\t\t\tendpoint: \"GET /repos/{owner}/{repo}/rulesets\",\n\t\t\t\toptions: {\n\t\t\t\t\towner: await owner(),\n\t\t\t\t\trepo: await repository(),\n\t\t\t\t},\n\t\t\t})) as undefined | { id: string; name: string }[];\n\n\t\t\treturn rulesets?.find(\n\t\t\t\t(ruleset) => ruleset.name === \"Branch protection for main\",\n\t\t\t)?.id;\n\t\t});\n\n\t\t// TODO: Make these all use take\n\n\t\tconst gitDefaults = tryCatchLazyValueAsync(async () =>\n\t\t\tgitUrlParse(await gitRemoteOriginUrl()),\n\t\t);\n\n\t\tconst npmDefaults = tryCatchLazyValueAsync(async () => {\n\t\t\tconst whoami = (await execaCommand(`npm whoami`)).stdout;\n\t\t\treturn whoami ? await npmUser(whoami) : undefined;\n\t\t});\n\n\t\tconst packageData = lazyValue(readPackageData);\n\t\tconst packageAuthor = lazyValue(async () =>\n\t\t\tparsePackageAuthor(await packageData()),\n\t\t);\n\n\t\tconst author = lazyValue(\n\t\t\tasync () =>\n\t\t\t\t(await packageAuthor()).author ??\n\t\t\t\t(await npmDefaults())?.name ??\n\t\t\t\toptions.owner,\n\t\t);\n\n\t\tconst node = lazyValue(async () => {\n\t\t\tconst { engines } = await packageData();\n\n\t\t\treturn {\n\t\t\t\tminimum:\n\t\t\t\t\t(engines?.node && /[\\d+.]+/.exec(engines.node))?.[0] ?? \"18.3.0\",\n\t\t\t\tpinned: swallowError(await nvmrc())?.trim() ?? \"20.18.0\",\n\t\t\t};\n\t\t});\n\n\t\tconst version = lazyValue(async () => (await packageData()).version);\n\n\t\tconst owner = lazyValue(\n\t\t\tasync () =>\n\t\t\t\t(await gitDefaults())?.organization ??\n\t\t\t\t(await packageAuthor()).author ??\n\t\t\t\t(await githubCliUser()),\n\t\t);\n\n\t\tconst repository = lazyValue(\n\t\t\tasync () =>\n\t\t\t\toptions.repository ??\n\t\t\t\t(await gitDefaults())?.name ??\n\t\t\t\t(await packageData()).name ??\n\t\t\t\toptions.directory,\n\t\t);\n\n\t\tconst email = lazyValue(async () => readEmails(npmDefaults, packageAuthor));\n\n\t\treturn {\n\t\t\taccess: \"public\" as const,\n\t\t\tauthor,\n\t\t\tbin: async () => (await packageData()).bin,\n\t\t\tcontributors: allContributors,\n\t\t\tdescription: async () => await readDescription(packageData, readme),\n\t\t\tdocumentation,\n\t\t\temail,\n\t\t\tfunding: readFunding,\n\t\t\tguide: readGuide,\n\t\t\tlogin: author,\n\t\t\tnode,\n\t\t\towner,\n\t\t\tpackageData: async () => {\n\t\t\t\tconst original = await packageData();\n\n\t\t\t\treturn {\n\t\t\t\t\tdependencies: original.dependencies,\n\t\t\t\t\tdevDependencies: original.devDependencies,\n\t\t\t\t\tscripts: original.scripts,\n\t\t\t\t};\n\t\t\t},\n\t\t\trepository,\n\t\t\trulesetId,\n\t\t\t...readDefaultsFromReadme(readme, repository),\n\t\t\tversion,\n\t\t};\n\t},\n});\n\nexport type BaseOptions = BaseOptionsFor<typeof base>;\n"],"mappings":"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","names":[]}
@@ -1,8 +1,8 @@
1
- import * as create from 'create';
1
+ import * as bingo_stratum from 'bingo-stratum';
2
2
 
3
- declare const blockAllContributors: create.BlockWithoutAddons<{
4
- description: string;
3
+ declare const blockAllContributors: bingo_stratum.BlockWithoutAddons<{
5
4
  access: "public" | "restricted";
5
+ description: string;
6
6
  directory: string;
7
7
  email: {
8
8
  github: string;
@@ -14,10 +14,10 @@ declare const blockAllContributors: create.BlockWithoutAddons<{
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
17
- name: string;
18
17
  avatar_url: string;
19
18
  contributions: string[];
20
19
  login: string;
20
+ name: string;
21
21
  profile: string;
22
22
  }[] | undefined;
23
23
  documentation?: string | undefined;
@@ -43,6 +43,7 @@ declare const blockAllContributors: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ rulesetId?: string | undefined;
46
47
  usage?: string | undefined;
47
48
  version?: string | undefined;
48
49
  }>;
@@ -1,5 +1,6 @@
1
1
  import _ from "lodash";
2
2
  import { base } from "../base.js";
3
+ import { ownerContributions } from "../data/contributions.js";
3
4
  import { blockREADME } from "./blockREADME.js";
4
5
  import { blockRepositorySecrets } from "./blockRepositorySecrets.js";
5
6
  import { createSoloWorkflowFile } from "./files/createSoloWorkflowFile.js";
@@ -63,7 +64,7 @@ const blockAllContributors = base.createBlock({
63
64
  scripts: [
64
65
  {
65
66
  commands: [
66
- `pnpx all-contributors-cli add ${options.owner} code,content,doc,ideas,infra,maintenance,projectManagement,tool`
67
+ `pnpx all-contributors-cli add ${options.owner} ${ownerContributions.join(",")}`
67
68
  ],
68
69
  phase: CommandPhase.Process
69
70
  }
@@ -106,7 +107,7 @@ function printContributorCell(contributor) {
106
107
  `<img src="${contributor.avatar_url}?s=100" width="100px;" alt="${contributor.name}"/>`,
107
108
  `<br />`,
108
109
  `<sub><b>${contributor.name}</b></sub></a><br />`,
109
- ...contributor.contributions.map((contribution) => {
110
+ contributor.contributions.map((contribution) => {
110
111
  switch (contribution) {
111
112
  case "bug":
112
113
  return `<a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3A${contributor.login}" title="Bug reports">\u{1F41B}</a>`;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/blocks/blockAllContributors.ts"],"sourcesContent":["import _ from \"lodash\";\n\nimport { base, Contributor } from \"../base.js\";\nimport { blockREADME } from \"./blockREADME.js\";\nimport { blockRepositorySecrets } from \"./blockRepositorySecrets.js\";\nimport { createSoloWorkflowFile } from \"./files/createSoloWorkflowFile.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockAllContributors = base.createBlock({\n\tabout: {\n\t\tname: \"AllContributors\",\n\t},\n\tproduce({ options }) {\n\t\tconst contributions = options.contributors?.length;\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockREADME({\n\t\t\t\t\tbadges: [\n\t\t\t\t\t\t`<!-- prettier-ignore-start -->\n\\t<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n\\t<a href=\"#contributors\" target=\"_blank\"><img alt=\"👪 All Contributors: ${contributions}\" src=\"https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-${contributions}-21bb42.svg\" /></a>\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n\\t<!-- prettier-ignore-end -->`,\n\t\t\t\t\t],\n\t\t\t\t\tsections: options.contributors\n\t\t\t\t\t\t? [printAllContributorsTable(options.contributors)]\n\t\t\t\t\t\t: undefined,\n\t\t\t\t}),\n\t\t\t\tblockRepositorySecrets({\n\t\t\t\t\tsecrets: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdescription: \"a GitHub PAT with repo and workflow permissions\",\n\t\t\t\t\t\t\tname: \"ACCESS_TOKEN\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t],\n\t\t\tfiles: {\n\t\t\t\t\".all-contributorsrc\": JSON.stringify({\n\t\t\t\t\tbadgeTemplate:\n\t\t\t\t\t\t'\t<a href=\"#contributors\" target=\"_blank\"><img alt=\"👪 All Contributors: <%= contributors.length %>\" src=\"https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-<%= contributors.length %>-21bb42.svg\" /></a>',\n\t\t\t\t\tcontributors: options.contributors ?? [],\n\t\t\t\t\tcontributorsSortAlphabetically: true,\n\t\t\t\t\tprojectName: options.repository,\n\t\t\t\t\tprojectOwner: options.owner,\n\t\t\t\t}),\n\t\t\t\t\".github\": {\n\t\t\t\t\tworkflows: {\n\t\t\t\t\t\t\"contributors.yml\": createSoloWorkflowFile({\n\t\t\t\t\t\t\tname: \"Contributors\",\n\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\tpush: {\n\t\t\t\t\t\t\t\t\tbranches: [\"main\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t{ uses: \"actions/checkout@v4\", with: { \"fetch-depth\": 0 } },\n\t\t\t\t\t\t\t\t{ uses: \"./.github/actions/prepare\" },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tenv: { GITHUB_TOKEN: \"${{ secrets.ACCESS_TOKEN }}\" },\n\t\t\t\t\t\t\t\t\tuses: `JoshuaKGoldberg/all-contributors-auto-action@v0.5.0`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\n\t\t\t\t\t\t`pnpx all-contributors-cli add ${options.owner} code,content,doc,ideas,infra,maintenance,projectManagement,tool`,\n\t\t\t\t\t],\n\t\t\t\t\tphase: CommandPhase.Process,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n});\n\nfunction printAllContributorsTable(contributors: Contributor[]) {\n\treturn [\n\t\t`## Contributors`,\n\t\t``,\n\t\t`<!-- spellchecker: disable -->`,\n\t\t`<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->`,\n\t\t`<!-- prettier-ignore-start -->`,\n\t\t`<!-- markdownlint-disable -->`,\n\t\t`<table>`,\n\t\t` <tbody>`,\n\t\t` <tr>`,\n\t\t// This intentionally uses the same sort as all-contributors-cli:\n\t\t// https://github.com/all-contributors/cli/blob/74bc388bd6f0ae2658e6495e9d3781d737438a97/src/generate/index.js#L76\n\t\t..._.sortBy(contributors, \"name\").flatMap((contributor, i) => {\n\t\t\tconst row = printContributorCell(contributor);\n\n\t\t\treturn i && i % 7 === 0 ? [` </tr>`, ` <tr>`, row] : [row];\n\t\t}),\n\t\t` </tr>`,\n\t\t` </tbody>`,\n\t\t`</table>`,\n\t\t``,\n\t\t`<!-- markdownlint-restore -->`,\n\t\t`<!-- prettier-ignore-end -->`,\n\t\t``,\n\t\t`<!-- ALL-CONTRIBUTORS-LIST:END -->`,\n\t\t`<!-- spellchecker: enable -->`,\n\t].join(\"\\n\");\n}\n\nfunction printContributorCell(contributor: Contributor) {\n\treturn [\n\t\t` <td align=\"center\" valign=\"top\" width=\"14.28%\">`,\n\t\t`<a href=\"${contributor.profile}\">`,\n\t\t`<img src=\"${contributor.avatar_url}?s=100\" width=\"100px;\" alt=\"${contributor.name}\"/>`,\n\t\t`<br />`,\n\t\t`<sub><b>${contributor.name}</b></sub></a><br />`,\n\t\t...contributor.contributions\n\t\t\t.map((contribution) => {\n\t\t\t\tswitch (contribution) {\n\t\t\t\t\tcase \"bug\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3A${contributor.login}\" title=\"Bug reports\">🐛</a>`;\n\t\t\t\t\tcase \"code\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=${contributor.login}\" title=\"Code\">💻</a>`;\n\t\t\t\t\tcase \"design\":\n\t\t\t\t\t\treturn `<a href=\"#design-${contributor.login}\" title=\"Design\">🎨</a>`;\n\t\t\t\t\tcase \"doc\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=${contributor.login}\" title=\"Documentation\">📖</a>`;\n\t\t\t\t\tcase \"ideas\":\n\t\t\t\t\t\treturn `<a href=\"#ideas-${contributor.login}\" title=\"Ideas, Planning, & Feedback\">🤔</a>`;\n\t\t\t\t\tcase \"infra\":\n\t\t\t\t\t\treturn `<a href=\"#infra-${contributor.login}\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇</a>`;\n\t\t\t\t\tcase \"maintenance\":\n\t\t\t\t\t\treturn `<a href=\"#maintenance-${contributor.login}\" title=\"Maintenance\">🚧</a>`;\n\t\t\t\t\tcase \"review\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/pulls?q=is%3Apr+reviewed-by%3A${contributor.login}\" title=\"Reviewed Pull Requests\">👀</a>`;\n\t\t\t\t\tcase \"test\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=${contributor.login}\" title=\"Tests\">⚠️</a>`;\n\t\t\t\t\tcase \"tool\":\n\t\t\t\t\t\treturn `<a href=\"#tool-${contributor.login}\" title=\"Tools\">🔧</a>`;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.join(\" \"),\n\t\t`</td>`,\n\t].join(\"\");\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/blocks/blockAllContributors.ts"],"sourcesContent":["import _ from \"lodash\";\n\nimport { base, Contributor } from \"../base.js\";\nimport { ownerContributions } from \"../data/contributions.js\";\nimport { blockREADME } from \"./blockREADME.js\";\nimport { blockRepositorySecrets } from \"./blockRepositorySecrets.js\";\nimport { createSoloWorkflowFile } from \"./files/createSoloWorkflowFile.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockAllContributors = base.createBlock({\n\tabout: {\n\t\tname: \"AllContributors\",\n\t},\n\tproduce({ options }) {\n\t\tconst contributions = options.contributors?.length;\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockREADME({\n\t\t\t\t\tbadges: [\n\t\t\t\t\t\t`<!-- prettier-ignore-start -->\n\\t<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n\\t<a href=\"#contributors\" target=\"_blank\"><img alt=\"👪 All Contributors: ${contributions}\" src=\"https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-${contributions}-21bb42.svg\" /></a>\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n\\t<!-- prettier-ignore-end -->`,\n\t\t\t\t\t],\n\t\t\t\t\tsections: options.contributors\n\t\t\t\t\t\t? [printAllContributorsTable(options.contributors)]\n\t\t\t\t\t\t: undefined,\n\t\t\t\t}),\n\t\t\t\tblockRepositorySecrets({\n\t\t\t\t\tsecrets: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdescription: \"a GitHub PAT with repo and workflow permissions\",\n\t\t\t\t\t\t\tname: \"ACCESS_TOKEN\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t],\n\t\t\tfiles: {\n\t\t\t\t\".all-contributorsrc\": JSON.stringify({\n\t\t\t\t\tbadgeTemplate:\n\t\t\t\t\t\t'\t<a href=\"#contributors\" target=\"_blank\"><img alt=\"👪 All Contributors: <%= contributors.length %>\" src=\"https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-<%= contributors.length %>-21bb42.svg\" /></a>',\n\t\t\t\t\tcontributors: options.contributors ?? [],\n\t\t\t\t\tcontributorsSortAlphabetically: true,\n\t\t\t\t\tprojectName: options.repository,\n\t\t\t\t\tprojectOwner: options.owner,\n\t\t\t\t}),\n\t\t\t\t\".github\": {\n\t\t\t\t\tworkflows: {\n\t\t\t\t\t\t\"contributors.yml\": createSoloWorkflowFile({\n\t\t\t\t\t\t\tname: \"Contributors\",\n\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\tpush: {\n\t\t\t\t\t\t\t\t\tbranches: [\"main\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t{ uses: \"actions/checkout@v4\", with: { \"fetch-depth\": 0 } },\n\t\t\t\t\t\t\t\t{ uses: \"./.github/actions/prepare\" },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tenv: { GITHUB_TOKEN: \"${{ secrets.ACCESS_TOKEN }}\" },\n\t\t\t\t\t\t\t\t\tuses: `JoshuaKGoldberg/all-contributors-auto-action@v0.5.0`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\n\t\t\t\t\t\t`pnpx all-contributors-cli add ${options.owner} ${ownerContributions.join(\",\")}`,\n\t\t\t\t\t],\n\t\t\t\t\tphase: CommandPhase.Process,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n});\n\nfunction printAllContributorsTable(contributors: Contributor[]) {\n\treturn [\n\t\t`## Contributors`,\n\t\t``,\n\t\t`<!-- spellchecker: disable -->`,\n\t\t`<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->`,\n\t\t`<!-- prettier-ignore-start -->`,\n\t\t`<!-- markdownlint-disable -->`,\n\t\t`<table>`,\n\t\t` <tbody>`,\n\t\t` <tr>`,\n\t\t// This intentionally uses the same sort as all-contributors-cli:\n\t\t// https://github.com/all-contributors/cli/blob/74bc388bd6f0ae2658e6495e9d3781d737438a97/src/generate/index.js#L76\n\t\t..._.sortBy(contributors, \"name\").flatMap((contributor, i) => {\n\t\t\tconst row = printContributorCell(contributor);\n\n\t\t\treturn i && i % 7 === 0 ? [` </tr>`, ` <tr>`, row] : [row];\n\t\t}),\n\t\t` </tr>`,\n\t\t` </tbody>`,\n\t\t`</table>`,\n\t\t``,\n\t\t`<!-- markdownlint-restore -->`,\n\t\t`<!-- prettier-ignore-end -->`,\n\t\t``,\n\t\t`<!-- ALL-CONTRIBUTORS-LIST:END -->`,\n\t\t`<!-- spellchecker: enable -->`,\n\t].join(\"\\n\");\n}\n\nfunction printContributorCell(contributor: Contributor) {\n\treturn [\n\t\t` <td align=\"center\" valign=\"top\" width=\"14.28%\">`,\n\t\t`<a href=\"${contributor.profile}\">`,\n\t\t`<img src=\"${contributor.avatar_url}?s=100\" width=\"100px;\" alt=\"${contributor.name}\"/>`,\n\t\t`<br />`,\n\t\t`<sub><b>${contributor.name}</b></sub></a><br />`,\n\t\tcontributor.contributions\n\t\t\t.map((contribution) => {\n\t\t\t\tswitch (contribution) {\n\t\t\t\t\tcase \"bug\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3A${contributor.login}\" title=\"Bug reports\">🐛</a>`;\n\t\t\t\t\tcase \"code\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=${contributor.login}\" title=\"Code\">💻</a>`;\n\t\t\t\t\tcase \"design\":\n\t\t\t\t\t\treturn `<a href=\"#design-${contributor.login}\" title=\"Design\">🎨</a>`;\n\t\t\t\t\tcase \"doc\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=${contributor.login}\" title=\"Documentation\">📖</a>`;\n\t\t\t\t\tcase \"ideas\":\n\t\t\t\t\t\treturn `<a href=\"#ideas-${contributor.login}\" title=\"Ideas, Planning, & Feedback\">🤔</a>`;\n\t\t\t\t\tcase \"infra\":\n\t\t\t\t\t\treturn `<a href=\"#infra-${contributor.login}\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇</a>`;\n\t\t\t\t\tcase \"maintenance\":\n\t\t\t\t\t\treturn `<a href=\"#maintenance-${contributor.login}\" title=\"Maintenance\">🚧</a>`;\n\t\t\t\t\tcase \"review\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/pulls?q=is%3Apr+reviewed-by%3A${contributor.login}\" title=\"Reviewed Pull Requests\">👀</a>`;\n\t\t\t\t\tcase \"test\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=${contributor.login}\" title=\"Tests\">⚠️</a>`;\n\t\t\t\t\tcase \"tool\":\n\t\t\t\t\t\treturn `<a href=\"#tool-${contributor.login}\" title=\"Tools\">🔧</a>`;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.join(\" \"),\n\t\t`</td>`,\n\t].join(\"\");\n}\n"],"mappings":"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","names":[]}
@@ -1,8 +1,8 @@
1
- import * as create from 'create';
1
+ import * as bingo_stratum from 'bingo-stratum';
2
2
 
3
- declare const blockAreTheTypesWrong: create.BlockWithoutAddons<{
4
- description: string;
3
+ declare const blockAreTheTypesWrong: bingo_stratum.BlockWithoutAddons<{
5
4
  access: "public" | "restricted";
5
+ description: string;
6
6
  directory: string;
7
7
  email: {
8
8
  github: string;
@@ -14,10 +14,10 @@ declare const blockAreTheTypesWrong: create.BlockWithoutAddons<{
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
17
- name: string;
18
17
  avatar_url: string;
19
18
  contributions: string[];
20
19
  login: string;
20
+ name: string;
21
21
  profile: string;
22
22
  }[] | undefined;
23
23
  documentation?: string | undefined;
@@ -43,6 +43,7 @@ declare const blockAreTheTypesWrong: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ rulesetId?: string | undefined;
46
47
  usage?: string | undefined;
47
48
  version?: string | undefined;
48
49
  }>;
@@ -1,11 +1,11 @@
1
- import * as create from 'create';
1
+ import * as bingo_stratum from 'bingo-stratum';
2
2
 
3
- declare const blockCSpell: create.BlockWithAddons<{
3
+ declare const blockCSpell: bingo_stratum.BlockWithAddons<{
4
4
  ignores: string[];
5
5
  words: string[];
6
6
  }, {
7
- description: string;
8
7
  access: "public" | "restricted";
8
+ description: string;
9
9
  directory: string;
10
10
  email: {
11
11
  github: string;
@@ -17,10 +17,10 @@ declare const blockCSpell: create.BlockWithAddons<{
17
17
  author?: string | undefined;
18
18
  bin?: string | undefined;
19
19
  contributors?: {
20
- name: string;
21
20
  avatar_url: string;
22
21
  contributions: string[];
23
22
  login: string;
23
+ name: string;
24
24
  profile: string;
25
25
  }[] | undefined;
26
26
  documentation?: string | undefined;
@@ -46,6 +46,7 @@ declare const blockCSpell: create.BlockWithAddons<{
46
46
  devDependencies?: Record<string, string> | undefined;
47
47
  scripts?: Record<string, string> | undefined;
48
48
  } | undefined;
49
+ rulesetId?: string | undefined;
49
50
  usage?: string | undefined;
50
51
  version?: string | undefined;
51
52
  }>;
@@ -17,19 +17,6 @@ const blockCSpell = base.createBlock({
17
17
  ignores: z.array(z.string()).default([]),
18
18
  words: z.array(z.string()).default([])
19
19
  },
20
- initialize({ options }) {
21
- const wordArgs = getObjectStringsDeep(options).map((word) => `--words "${word.replaceAll(`"`, " ")}"`).join(" ");
22
- return {
23
- scripts: [
24
- {
25
- commands: [
26
- `node ${resolveBin("cspell-populate-words/bin/index.mjs")} ${wordArgs}`
27
- ],
28
- phase: CommandPhase.Process
29
- }
30
- ]
31
- };
32
- },
33
20
  produce({ addons }) {
34
21
  const { ignores, words } = addons;
35
22
  return {
@@ -80,6 +67,19 @@ const blockCSpell = base.createBlock({
80
67
  })
81
68
  }
82
69
  };
70
+ },
71
+ setup({ options }) {
72
+ const wordArgs = getObjectStringsDeep(options).map((word) => `--words "${word.replaceAll(`"`, " ")}"`).join(" ");
73
+ return {
74
+ scripts: [
75
+ {
76
+ commands: [
77
+ `node ${resolveBin("cspell-populate-words/bin/index.mjs")} ${wordArgs}`
78
+ ],
79
+ phase: CommandPhase.Process
80
+ }
81
+ ]
82
+ };
83
83
  }
84
84
  });
85
85
  export {