create-typescript-app 1.75.1 → 1.77.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 (266) hide show
  1. package/README.md +1 -1
  2. package/lib/bin/help.js +35 -35
  3. package/lib/bin/help.js.map +1 -1
  4. package/lib/bin/promptForMode.js +6 -6
  5. package/lib/bin/promptForMode.js.map +1 -1
  6. package/lib/create/createWithOptions.js +12 -13
  7. package/lib/create/createWithOptions.js.map +1 -1
  8. package/lib/index.d.ts +45 -0
  9. package/lib/index.js +5 -0
  10. package/lib/index.js.map +1 -1
  11. package/lib/next/base.d.ts +101 -0
  12. package/lib/next/base.js +140 -0
  13. package/lib/next/base.js.map +1 -0
  14. package/lib/next/blocks/blockAllContributors.d.ts +48 -0
  15. package/lib/next/blocks/blockAllContributors.js +59 -0
  16. package/lib/next/blocks/blockAllContributors.js.map +1 -0
  17. package/lib/next/blocks/blockAreTheTypesWrong.d.ts +48 -0
  18. package/lib/next/blocks/blockAreTheTypesWrong.js +29 -0
  19. package/lib/next/blocks/blockAreTheTypesWrong.js.map +1 -0
  20. package/lib/next/blocks/blockCSpell.d.ts +51 -0
  21. package/lib/next/blocks/blockCSpell.js +77 -0
  22. package/lib/next/blocks/blockCSpell.js.map +1 -0
  23. package/lib/next/blocks/blockContributingDocs.d.ts +48 -0
  24. package/lib/next/blocks/blockContributingDocs.js +116 -0
  25. package/lib/next/blocks/blockContributingDocs.js.map +1 -0
  26. package/lib/next/blocks/blockContributorCovenant.d.ts +48 -0
  27. package/lib/next/blocks/blockContributorCovenant.js +151 -0
  28. package/lib/next/blocks/blockContributorCovenant.js.map +1 -0
  29. package/lib/next/blocks/blockDevelopmentDocs.d.ts +62 -0
  30. package/lib/next/blocks/blockDevelopmentDocs.js +86 -0
  31. package/lib/next/blocks/blockDevelopmentDocs.js.map +1 -0
  32. package/lib/next/blocks/blockESLint.d.ts +73 -0
  33. package/lib/next/blocks/blockESLint.js +225 -0
  34. package/lib/next/blocks/blockESLint.js.map +1 -0
  35. package/lib/next/blocks/blockESLintComments.d.ts +48 -0
  36. package/lib/next/blocks/blockESLintComments.js +26 -0
  37. package/lib/next/blocks/blockESLintComments.js.map +1 -0
  38. package/lib/next/blocks/blockESLintJSDoc.d.ts +48 -0
  39. package/lib/next/blocks/blockESLintJSDoc.js +25 -0
  40. package/lib/next/blocks/blockESLintJSDoc.js.map +1 -0
  41. package/lib/next/blocks/blockESLintJSONC.d.ts +48 -0
  42. package/lib/next/blocks/blockESLintJSONC.js +21 -0
  43. package/lib/next/blocks/blockESLintJSONC.js.map +1 -0
  44. package/lib/next/blocks/blockESLintMarkdown.d.ts +48 -0
  45. package/lib/next/blocks/blockESLintMarkdown.js +27 -0
  46. package/lib/next/blocks/blockESLintMarkdown.js.map +1 -0
  47. package/lib/next/blocks/blockESLintMoreStyling.d.ts +48 -0
  48. package/lib/next/blocks/blockESLintMoreStyling.js +34 -0
  49. package/lib/next/blocks/blockESLintMoreStyling.js.map +1 -0
  50. package/lib/next/blocks/blockESLintNode.d.ts +48 -0
  51. package/lib/next/blocks/blockESLintNode.js +33 -0
  52. package/lib/next/blocks/blockESLintNode.js.map +1 -0
  53. package/lib/next/blocks/blockESLintPackageJson.d.ts +48 -0
  54. package/lib/next/blocks/blockESLintPackageJson.js +26 -0
  55. package/lib/next/blocks/blockESLintPackageJson.js.map +1 -0
  56. package/lib/next/blocks/blockESLintPerfectionist.d.ts +48 -0
  57. package/lib/next/blocks/blockESLintPerfectionist.js +32 -0
  58. package/lib/next/blocks/blockESLintPerfectionist.js.map +1 -0
  59. package/lib/next/blocks/blockESLintRegexp.d.ts +48 -0
  60. package/lib/next/blocks/blockESLintRegexp.js +23 -0
  61. package/lib/next/blocks/blockESLintRegexp.js.map +1 -0
  62. package/lib/next/blocks/blockESLintYML.d.ts +48 -0
  63. package/lib/next/blocks/blockESLintYML.js +46 -0
  64. package/lib/next/blocks/blockESLintYML.js.map +1 -0
  65. package/lib/next/blocks/blockFunding.d.ts +48 -0
  66. package/lib/next/blocks/blockFunding.js +20 -0
  67. package/lib/next/blocks/blockFunding.js.map +1 -0
  68. package/lib/next/blocks/blockGitHubActionsCI.d.ts +60 -0
  69. package/lib/next/blocks/blockGitHubActionsCI.js +122 -0
  70. package/lib/next/blocks/blockGitHubActionsCI.js.map +1 -0
  71. package/lib/next/blocks/blockGitHubIssueTemplates.d.ts +48 -0
  72. package/lib/next/blocks/blockGitHubIssueTemplates.js +217 -0
  73. package/lib/next/blocks/blockGitHubIssueTemplates.js.map +1 -0
  74. package/lib/next/blocks/blockGitHubPRTemplate.d.ts +48 -0
  75. package/lib/next/blocks/blockGitHubPRTemplate.js +32 -0
  76. package/lib/next/blocks/blockGitHubPRTemplate.js.map +1 -0
  77. package/lib/next/blocks/blockGitignore.d.ts +50 -0
  78. package/lib/next/blocks/blockGitignore.js +23 -0
  79. package/lib/next/blocks/blockGitignore.js.map +1 -0
  80. package/lib/next/blocks/blockKnip.d.ts +48 -0
  81. package/lib/next/blocks/blockKnip.js +58 -0
  82. package/lib/next/blocks/blockKnip.js.map +1 -0
  83. package/lib/next/blocks/blockMITLicense.d.ts +48 -0
  84. package/lib/next/blocks/blockMITLicense.js +46 -0
  85. package/lib/next/blocks/blockMITLicense.js.map +1 -0
  86. package/lib/next/blocks/blockMarkdownlint.d.ts +50 -0
  87. package/lib/next/blocks/blockMarkdownlint.js +77 -0
  88. package/lib/next/blocks/blockMarkdownlint.js.map +1 -0
  89. package/lib/next/blocks/blockNvmrc.d.ts +48 -0
  90. package/lib/next/blocks/blockNvmrc.js +26 -0
  91. package/lib/next/blocks/blockNvmrc.js.map +1 -0
  92. package/lib/next/blocks/blockPRCompliance.d.ts +48 -0
  93. package/lib/next/blocks/blockPRCompliance.js +48 -0
  94. package/lib/next/blocks/blockPRCompliance.js.map +1 -0
  95. package/lib/next/blocks/blockPackageJson.d.ts +56 -0
  96. package/lib/next/blocks/blockPackageJson.js +81 -0
  97. package/lib/next/blocks/blockPackageJson.js.map +1 -0
  98. package/lib/next/blocks/blockPnpmDedupe.d.ts +48 -0
  99. package/lib/next/blocks/blockPnpmDedupe.js +51 -0
  100. package/lib/next/blocks/blockPnpmDedupe.js.map +1 -0
  101. package/lib/next/blocks/blockPrettier.d.ts +57 -0
  102. package/lib/next/blocks/blockPrettier.js +104 -0
  103. package/lib/next/blocks/blockPrettier.js.map +1 -0
  104. package/lib/next/blocks/blockPrettierPluginCurly.d.ts +48 -0
  105. package/lib/next/blocks/blockPrettierPluginCurly.js +20 -0
  106. package/lib/next/blocks/blockPrettierPluginCurly.js.map +1 -0
  107. package/lib/next/blocks/blockPrettierPluginPackageJson.d.ts +48 -0
  108. package/lib/next/blocks/blockPrettierPluginPackageJson.js +20 -0
  109. package/lib/next/blocks/blockPrettierPluginPackageJson.js.map +1 -0
  110. package/lib/next/blocks/blockPrettierPluginSh.d.ts +48 -0
  111. package/lib/next/blocks/blockPrettierPluginSh.js +20 -0
  112. package/lib/next/blocks/blockPrettierPluginSh.js.map +1 -0
  113. package/lib/next/blocks/blockREADME.d.ts +50 -0
  114. package/lib/next/blocks/blockREADME.js +63 -0
  115. package/lib/next/blocks/blockREADME.js.map +1 -0
  116. package/lib/next/blocks/blockReleaseIt.d.ts +48 -0
  117. package/lib/next/blocks/blockReleaseIt.js +126 -0
  118. package/lib/next/blocks/blockReleaseIt.js.map +1 -0
  119. package/lib/next/blocks/blockRenovate.d.ts +48 -0
  120. package/lib/next/blocks/blockRenovate.js +34 -0
  121. package/lib/next/blocks/blockRenovate.js.map +1 -0
  122. package/lib/next/blocks/blockSecurityDocs.d.ts +48 -0
  123. package/lib/next/blocks/blockSecurityDocs.js +28 -0
  124. package/lib/next/blocks/blockSecurityDocs.js.map +1 -0
  125. package/lib/next/blocks/blockTSup.d.ts +50 -0
  126. package/lib/next/blocks/blockTSup.js +78 -0
  127. package/lib/next/blocks/blockTSup.js.map +1 -0
  128. package/lib/next/blocks/blockTemplatedBy.d.ts +50 -0
  129. package/lib/next/blocks/blockTemplatedBy.js +34 -0
  130. package/lib/next/blocks/blockTemplatedBy.js.map +1 -0
  131. package/lib/next/blocks/blockTypeScript.d.ts +48 -0
  132. package/lib/next/blocks/blockTypeScript.js +109 -0
  133. package/lib/next/blocks/blockTypeScript.js.map +1 -0
  134. package/lib/next/blocks/blockVSCode.d.ts +57 -0
  135. package/lib/next/blocks/blockVSCode.js +87 -0
  136. package/lib/next/blocks/blockVSCode.js.map +1 -0
  137. package/lib/next/blocks/blockVitest.d.ts +55 -0
  138. package/lib/next/blocks/blockVitest.js +154 -0
  139. package/lib/next/blocks/blockVitest.js.map +1 -0
  140. package/lib/next/blocks/index.d.ts +43 -0
  141. package/lib/next/blocks/index.js +43 -0
  142. package/lib/next/blocks/index.js.map +1 -0
  143. package/lib/next/blocks/options.fakes.d.ts +13 -0
  144. package/lib/next/blocks/options.fakes.js +15 -0
  145. package/lib/next/blocks/options.fakes.js.map +1 -0
  146. package/lib/next/blocks/packageData.d.ts +5 -0
  147. package/lib/next/blocks/packageData.js +25 -0
  148. package/lib/next/blocks/packageData.js.map +1 -0
  149. package/lib/next/presetCommon.d.ts +99 -0
  150. package/lib/next/presetCommon.js +21 -0
  151. package/lib/next/presetCommon.js.map +1 -0
  152. package/lib/next/presetEverything.d.ts +99 -0
  153. package/lib/next/presetEverything.js +59 -0
  154. package/lib/next/presetEverything.js.map +1 -0
  155. package/lib/next/presetMinimal.d.ts +99 -0
  156. package/lib/next/presetMinimal.js +45 -0
  157. package/lib/next/presetMinimal.js.map +1 -0
  158. package/lib/next/template.d.ts +99 -0
  159. package/lib/next/template.js +21 -0
  160. package/lib/next/template.js.map +1 -0
  161. package/lib/next/utils/removeTrailingSlash.d.ts +3 -0
  162. package/lib/next/utils/removeTrailingSlash.js +7 -0
  163. package/lib/next/utils/removeTrailingSlash.js.map +1 -0
  164. package/lib/next/utils/sortObject.d.ts +5 -0
  165. package/lib/next/utils/sortObject.js +9 -0
  166. package/lib/next/utils/sortObject.js.map +1 -0
  167. package/lib/next/utils/swallowError.d.ts +3 -0
  168. package/lib/next/utils/swallowError.js +7 -0
  169. package/lib/next/utils/swallowError.js.map +1 -0
  170. package/lib/shared/cli/spinners.d.ts +1 -1
  171. package/lib/shared/cli/spinners.js.map +1 -1
  172. package/lib/shared/isUsingCreateEngine.d.ts +3 -0
  173. package/lib/shared/isUsingCreateEngine.js +7 -0
  174. package/lib/shared/isUsingCreateEngine.js.map +1 -0
  175. package/lib/shared/options/args.d.ts +39 -13
  176. package/lib/shared/options/args.js +5 -0
  177. package/lib/shared/options/args.js.map +1 -1
  178. package/lib/shared/options/augmentOptionsWithExcludes.js +2 -2
  179. package/lib/shared/options/augmentOptionsWithExcludes.js.map +1 -1
  180. package/lib/shared/options/createOptionDefaults/index.d.ts +2 -4
  181. package/lib/shared/options/createOptionDefaults/index.js +4 -13
  182. package/lib/shared/options/createOptionDefaults/index.js.map +1 -1
  183. package/lib/shared/options/createOptionDefaults/readDefaultsFromReadme.js +4 -1
  184. package/lib/shared/options/createOptionDefaults/readDefaultsFromReadme.js.map +1 -1
  185. package/lib/shared/options/createOptionDefaults/readEmails.d.ts +11 -0
  186. package/lib/shared/options/createOptionDefaults/readEmails.js +14 -0
  187. package/lib/shared/options/createOptionDefaults/readEmails.js.map +1 -0
  188. package/lib/shared/options/createOptionDefaults/readFunding.d.ts +3 -0
  189. package/lib/shared/options/createOptionDefaults/readFunding.js +11 -0
  190. package/lib/shared/options/createOptionDefaults/readFunding.js.map +1 -0
  191. package/lib/shared/options/createOptionDefaults/readGuide.d.ts +6 -0
  192. package/lib/shared/options/createOptionDefaults/readGuide.js +18 -0
  193. package/lib/shared/options/createOptionDefaults/readGuide.js.map +1 -0
  194. package/lib/shared/options/ensureRepositoryExists.js +1 -1
  195. package/lib/shared/options/ensureRepositoryExists.js.map +1 -1
  196. package/lib/shared/options/exclusionKeys.d.ts +1 -1
  197. package/lib/shared/options/exclusionKeys.js +6 -0
  198. package/lib/shared/options/exclusionKeys.js.map +1 -1
  199. package/lib/shared/options/optionsSchema.d.ts +6 -2
  200. package/lib/shared/options/optionsSchema.js +1 -0
  201. package/lib/shared/options/optionsSchema.js.map +1 -1
  202. package/lib/shared/options/readOptions.d.ts +1 -1
  203. package/lib/shared/options/readOptions.js +1 -0
  204. package/lib/shared/options/readOptions.js.map +1 -1
  205. package/lib/shared/types.d.ts +32 -24
  206. package/lib/steps/addOwnerAsAllContributor.js +2 -2
  207. package/lib/steps/addOwnerAsAllContributor.js.map +1 -1
  208. package/lib/steps/clearUnnecessaryFiles.js +3 -4
  209. package/lib/steps/clearUnnecessaryFiles.js.map +1 -1
  210. package/lib/steps/finalizeDependencies.js +47 -44
  211. package/lib/steps/finalizeDependencies.js.map +1 -1
  212. package/lib/steps/populateCSpellDictionary.js +7 -7
  213. package/lib/steps/populateCSpellDictionary.js.map +1 -1
  214. package/lib/steps/removeSetupScripts.js +9 -3
  215. package/lib/steps/removeSetupScripts.js.map +1 -1
  216. package/lib/steps/uninstallPackages.js +10 -3
  217. package/lib/steps/uninstallPackages.js.map +1 -1
  218. package/lib/steps/updateReadme.d.ts +1 -1
  219. package/lib/steps/updateReadme.js +1 -1
  220. package/lib/steps/updateReadme.js.map +1 -1
  221. package/lib/steps/writeReadme/index.js +19 -19
  222. package/lib/steps/writeReadme/index.js.map +1 -1
  223. package/lib/steps/writing/creation/createCSpellConfig.d.ts +7 -0
  224. package/lib/steps/writing/creation/createCSpellConfig.js +27 -0
  225. package/lib/steps/writing/creation/createCSpellConfig.js.map +1 -0
  226. package/lib/steps/writing/creation/createDotGitignore.js +7 -5
  227. package/lib/steps/writing/creation/createDotGitignore.js.map +1 -1
  228. package/lib/steps/writing/creation/createESLintConfig.js +22 -46
  229. package/lib/steps/writing/creation/createESLintConfig.js.map +1 -1
  230. package/lib/steps/writing/creation/createTsupConfig.js +10 -10
  231. package/lib/steps/writing/creation/createTsupConfig.js.map +1 -1
  232. package/lib/steps/writing/creation/dotGitHub/createDevelopment/index.js +57 -41
  233. package/lib/steps/writing/creation/dotGitHub/createDevelopment/index.js.map +1 -1
  234. package/lib/steps/writing/creation/dotGitHub/createDevelopment/splitIntoSections.js +1 -1
  235. package/lib/steps/writing/creation/dotGitHub/createDevelopment/splitIntoSections.js.map +1 -1
  236. package/lib/steps/writing/creation/dotGitHub/createDotGitHubFiles.js +5 -5
  237. package/lib/steps/writing/creation/dotGitHub/createDotGitHubFiles.js.map +1 -1
  238. package/lib/steps/writing/creation/dotGitHub/createMultiWorkflowFile.d.ts +11 -9
  239. package/lib/steps/writing/creation/dotGitHub/createMultiWorkflowFile.js.map +1 -1
  240. package/lib/steps/writing/creation/dotGitHub/createSoloWorkflowFile.d.ts +16 -16
  241. package/lib/steps/writing/creation/dotGitHub/createSoloWorkflowFile.js.map +1 -1
  242. package/lib/steps/writing/creation/dotGitHub/createWorkflows.js +5 -1
  243. package/lib/steps/writing/creation/dotGitHub/createWorkflows.js.map +1 -1
  244. package/lib/steps/writing/creation/formatters/formatIgnoreFile.d.ts +1 -1
  245. package/lib/steps/writing/creation/formatters/formatIgnoreFile.js +1 -1
  246. package/lib/steps/writing/creation/formatters/formatIgnoreFile.js.map +1 -1
  247. package/lib/steps/writing/creation/formatters/formatTypeScript.js +1 -1
  248. package/lib/steps/writing/creation/formatters/formatTypeScript.js.map +1 -1
  249. package/lib/steps/writing/creation/formatters/formatYaml.js +3 -1
  250. package/lib/steps/writing/creation/formatters/formatYaml.js.map +1 -1
  251. package/lib/steps/writing/creation/index.d.ts +1 -1
  252. package/lib/steps/writing/creation/index.js +49 -1
  253. package/lib/steps/writing/creation/index.js.map +1 -1
  254. package/lib/steps/writing/creation/rootFiles.js +5 -15
  255. package/lib/steps/writing/creation/rootFiles.js.map +1 -1
  256. package/lib/steps/writing/creation/writePackageJson.js +69 -62
  257. package/lib/steps/writing/creation/writePackageJson.js.map +1 -1
  258. package/lib/steps/writing/types.d.ts +1 -1
  259. package/lib/steps/writing/writeStructure.js +9 -1
  260. package/lib/steps/writing/writeStructure.js.map +1 -1
  261. package/lib/steps/writing/writeStructureWorker.js +1 -1
  262. package/lib/steps/writing/writeStructureWorker.js.map +1 -1
  263. package/package.json +57 -52
  264. package/lib/shared/options/createOptionDefaults/readDefaultsFromDevelopment.d.ts +0 -8
  265. package/lib/shared/options/createOptionDefaults/readDefaultsFromDevelopment.js +0 -22
  266. package/lib/shared/options/createOptionDefaults/readDefaultsFromDevelopment.js.map +0 -1
@@ -0,0 +1,104 @@
1
+ import { z } from "zod";
2
+ import { base } from "../base.js";
3
+ import { blockCSpell } from "./blockCSpell.js";
4
+ import { blockDevelopmentDocs } from "./blockDevelopmentDocs.js";
5
+ import { blockGitHubActionsCI } from "./blockGitHubActionsCI.js";
6
+ import { blockPackageJson } from "./blockPackageJson.js";
7
+ import { blockVSCode } from "./blockVSCode.js";
8
+ import { getPackageDependencies } from "./packageData.js";
9
+ const blockPrettier = base.createBlock({
10
+ about: {
11
+ name: "Prettier"
12
+ },
13
+ addons: {
14
+ ignores: z.array(z.string()).default([]),
15
+ overrides: z.array(
16
+ z.object({
17
+ files: z.string(),
18
+ options: z.object({
19
+ parser: z.string()
20
+ })
21
+ })
22
+ ).default([]),
23
+ plugins: z.array(z.string()).default([])
24
+ },
25
+ produce({ addons }) {
26
+ const { ignores, overrides, plugins } = addons;
27
+ return {
28
+ addons: [
29
+ blockCSpell({
30
+ ignores: [".all-contributorsrc"]
31
+ }),
32
+ blockDevelopmentDocs({
33
+ sections: {
34
+ Formatting: {
35
+ contents: `
36
+ [Prettier](https://prettier.io) is used to format code.
37
+ It should be applied automatically when you save files in VS Code or make a Git commit.
38
+
39
+ To manually reformat all files, you can run:
40
+
41
+ \`\`\`shell
42
+ pnpm format --write
43
+ \`\`\`
44
+ `
45
+ }
46
+ }
47
+ }),
48
+ blockGitHubActionsCI({
49
+ jobs: [
50
+ {
51
+ name: "Prettier",
52
+ steps: [{ run: "pnpm format --list-different" }]
53
+ }
54
+ ]
55
+ }),
56
+ blockPackageJson({
57
+ properties: {
58
+ devDependencies: getPackageDependencies(
59
+ ...plugins,
60
+ "husky",
61
+ "lint-staged",
62
+ "prettier"
63
+ ),
64
+ "lint-staged": {
65
+ "*": "prettier --ignore-unknown --write"
66
+ },
67
+ scripts: {
68
+ format: "prettier .",
69
+ prepare: "husky"
70
+ }
71
+ }
72
+ }),
73
+ blockVSCode({
74
+ extensions: ["esbenp.prettier-vscode"],
75
+ settings: { "editor.defaultFormatter": "esbenp.prettier-vscode" }
76
+ })
77
+ ],
78
+ commands: [
79
+ {
80
+ phase: 2,
81
+ // TODO: ???
82
+ script: "pnpm format --write"
83
+ }
84
+ ],
85
+ files: {
86
+ ".husky": {
87
+ ".gitignore": "_",
88
+ "pre-commit": ["npx lint-staged", { mode: 1911 }]
89
+ },
90
+ ".prettierignore": ["/.husky", "/lib", "/pnpm-lock.yaml", ...ignores].sort().join("\n"),
91
+ ".prettierrc.json": JSON.stringify({
92
+ $schema: "http://json.schemastore.org/prettierrc",
93
+ ...overrides.length && { overrides: overrides.sort() },
94
+ ...plugins.length && { plugins: plugins.sort() },
95
+ useTabs: true
96
+ })
97
+ }
98
+ };
99
+ }
100
+ });
101
+ export {
102
+ blockPrettier
103
+ };
104
+ //# sourceMappingURL=blockPrettier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/next/blocks/blockPrettier.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { base } from \"../base.js\";\nimport { blockCSpell } from \"./blockCSpell.js\";\nimport { blockDevelopmentDocs } from \"./blockDevelopmentDocs.js\";\nimport { blockGitHubActionsCI } from \"./blockGitHubActionsCI.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\nimport { blockVSCode } from \"./blockVSCode.js\";\nimport { getPackageDependencies } from \"./packageData.js\";\n\nexport const blockPrettier = base.createBlock({\n\tabout: {\n\t\tname: \"Prettier\",\n\t},\n\taddons: {\n\t\tignores: z.array(z.string()).default([]),\n\t\toverrides: z\n\t\t\t.array(\n\t\t\t\tz.object({\n\t\t\t\t\tfiles: z.string(),\n\t\t\t\t\toptions: z.object({\n\t\t\t\t\t\tparser: z.string(),\n\t\t\t\t\t}),\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.default([]),\n\t\tplugins: z.array(z.string()).default([]),\n\t},\n\tproduce({ addons }) {\n\t\tconst { ignores, overrides, plugins } = addons;\n\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockCSpell({\n\t\t\t\t\tignores: [\".all-contributorsrc\"],\n\t\t\t\t}),\n\t\t\t\tblockDevelopmentDocs({\n\t\t\t\t\tsections: {\n\t\t\t\t\t\tFormatting: {\n\t\t\t\t\t\t\tcontents: `\n[Prettier](https://prettier.io) is used to format code.\nIt should be applied automatically when you save files in VS Code or make a Git commit.\n\nTo manually reformat all files, you can run:\n\n\\`\\`\\`shell\npnpm format --write\n\\`\\`\\`\n`,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockGitHubActionsCI({\n\t\t\t\t\tjobs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Prettier\",\n\t\t\t\t\t\t\tsteps: [{ run: \"pnpm format --list-different\" }],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t\tblockPackageJson({\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tdevDependencies: getPackageDependencies(\n\t\t\t\t\t\t\t...plugins,\n\t\t\t\t\t\t\t\"husky\",\n\t\t\t\t\t\t\t\"lint-staged\",\n\t\t\t\t\t\t\t\"prettier\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\t\"lint-staged\": {\n\t\t\t\t\t\t\t\"*\": \"prettier --ignore-unknown --write\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\tformat: \"prettier .\",\n\t\t\t\t\t\t\tprepare: \"husky\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockVSCode({\n\t\t\t\t\textensions: [\"esbenp.prettier-vscode\"],\n\t\t\t\t\tsettings: { \"editor.defaultFormatter\": \"esbenp.prettier-vscode\" },\n\t\t\t\t}),\n\t\t\t],\n\t\t\tcommands: [\n\t\t\t\t{\n\t\t\t\t\tphase: 2, // TODO: ???\n\t\t\t\t\tscript: \"pnpm format --write\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tfiles: {\n\t\t\t\t\".husky\": {\n\t\t\t\t\t\".gitignore\": \"_\",\n\t\t\t\t\t\"pre-commit\": [\"npx lint-staged\", { mode: 0x777 }],\n\t\t\t\t},\n\t\t\t\t\".prettierignore\": [\"/.husky\", \"/lib\", \"/pnpm-lock.yaml\", ...ignores]\n\t\t\t\t\t.sort()\n\t\t\t\t\t.join(\"\\n\"),\n\t\t\t\t\".prettierrc.json\": JSON.stringify({\n\t\t\t\t\t$schema: \"http://json.schemastore.org/prettierrc\",\n\t\t\t\t\t...(overrides.length && { overrides: overrides.sort() }),\n\t\t\t\t\t...(plugins.length && { plugins: plugins.sort() }),\n\t\t\t\t\tuseTabs: true,\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\t},\n});\n"],"mappings":"AAAA,SAAS,SAAS;AAElB,SAAS,YAAY;AACrB,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AACrC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,8BAA8B;AAEhC,MAAM,gBAAgB,KAAK,YAAY;AAAA,EAC7C,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,QAAQ;AAAA,IACP,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,IACvC,WAAW,EACT;AAAA,MACA,EAAE,OAAO;AAAA,QACR,OAAO,EAAE,OAAO;AAAA,QAChB,SAAS,EAAE,OAAO;AAAA,UACjB,QAAQ,EAAE,OAAO;AAAA,QAClB,CAAC;AAAA,MACF,CAAC;AAAA,IACF,EACC,QAAQ,CAAC,CAAC;AAAA,IACZ,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,EACxC;AAAA,EACA,QAAQ,EAAE,OAAO,GAAG;AACnB,UAAM,EAAE,SAAS,WAAW,QAAQ,IAAI;AAExC,WAAO;AAAA,MACN,QAAQ;AAAA,QACP,YAAY;AAAA,UACX,SAAS,CAAC,qBAAqB;AAAA,QAChC,CAAC;AAAA,QACD,qBAAqB;AAAA,UACpB,UAAU;AAAA,YACT,YAAY;AAAA,cACX,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAUX;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,qBAAqB;AAAA,UACpB,MAAM;AAAA,YACL;AAAA,cACC,MAAM;AAAA,cACN,OAAO,CAAC,EAAE,KAAK,+BAA+B,CAAC;AAAA,YAChD;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,iBAAiB;AAAA,UAChB,YAAY;AAAA,YACX,iBAAiB;AAAA,cAChB,GAAG;AAAA,cACH;AAAA,cACA;AAAA,cACA;AAAA,YACD;AAAA,YACA,eAAe;AAAA,cACd,KAAK;AAAA,YACN;AAAA,YACA,SAAS;AAAA,cACR,QAAQ;AAAA,cACR,SAAS;AAAA,YACV;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,YAAY;AAAA,UACX,YAAY,CAAC,wBAAwB;AAAA,UACrC,UAAU,EAAE,2BAA2B,yBAAyB;AAAA,QACjE,CAAC;AAAA,MACF;AAAA,MACA,UAAU;AAAA,QACT;AAAA,UACC,OAAO;AAAA;AAAA,UACP,QAAQ;AAAA,QACT;AAAA,MACD;AAAA,MACA,OAAO;AAAA,QACN,UAAU;AAAA,UACT,cAAc;AAAA,UACd,cAAc,CAAC,mBAAmB,EAAE,MAAM,KAAM,CAAC;AAAA,QAClD;AAAA,QACA,mBAAmB,CAAC,WAAW,QAAQ,mBAAmB,GAAG,OAAO,EAClE,KAAK,EACL,KAAK,IAAI;AAAA,QACX,oBAAoB,KAAK,UAAU;AAAA,UAClC,SAAS;AAAA,UACT,GAAI,UAAU,UAAU,EAAE,WAAW,UAAU,KAAK,EAAE;AAAA,UACtD,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,KAAK,EAAE;AAAA,UAChD,SAAS;AAAA,QACV,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
@@ -0,0 +1,48 @@
1
+ import * as create from 'create';
2
+
3
+ declare const blockPrettierPluginCurly: create.BlockWithoutAddons<{
4
+ description: string;
5
+ email: {
6
+ github: string;
7
+ npm: string;
8
+ };
9
+ title: string;
10
+ owner: string;
11
+ repository: string;
12
+ access?: "public" | "restricted" | undefined;
13
+ author?: string | undefined;
14
+ bin?: string | undefined;
15
+ login?: string | undefined;
16
+ contributors?: {
17
+ name: string;
18
+ avatar_url: string;
19
+ contributions: string[];
20
+ login: string;
21
+ profile: string;
22
+ }[] | undefined;
23
+ documentation?: string | undefined;
24
+ funding?: string | undefined;
25
+ guide?: {
26
+ href: string;
27
+ title: string;
28
+ } | undefined;
29
+ hideTemplatedBy?: boolean | undefined;
30
+ keywords?: string[] | undefined;
31
+ logo?: {
32
+ alt: string;
33
+ src: string;
34
+ } | undefined;
35
+ node?: {
36
+ minimum: string;
37
+ pinned?: string | undefined;
38
+ } | undefined;
39
+ packageData?: {
40
+ dependencies?: Record<string, string> | undefined;
41
+ devDependencies?: Record<string, string> | undefined;
42
+ scripts?: Record<string, string> | undefined;
43
+ } | undefined;
44
+ preserveGeneratedFrom?: boolean | undefined;
45
+ version?: string | undefined;
46
+ }>;
47
+
48
+ export { blockPrettierPluginCurly };
@@ -0,0 +1,20 @@
1
+ import { base } from "../base.js";
2
+ import { blockPrettier } from "./blockPrettier.js";
3
+ const blockPrettierPluginCurly = base.createBlock({
4
+ about: {
5
+ name: "Prettier Plugin Curly"
6
+ },
7
+ produce() {
8
+ return {
9
+ addons: [
10
+ blockPrettier({
11
+ plugins: ["prettier-plugin-curly"]
12
+ })
13
+ ]
14
+ };
15
+ }
16
+ });
17
+ export {
18
+ blockPrettierPluginCurly
19
+ };
20
+ //# sourceMappingURL=blockPrettierPluginCurly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/next/blocks/blockPrettierPluginCurly.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockPrettier } from \"./blockPrettier.js\";\n\nexport const blockPrettierPluginCurly = base.createBlock({\n\tabout: {\n\t\tname: \"Prettier Plugin Curly\",\n\t},\n\tproduce() {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockPrettier({\n\t\t\t\t\tplugins: [\"prettier-plugin-curly\"],\n\t\t\t\t}),\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":"AAAA,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAEvB,MAAM,2BAA2B,KAAK,YAAY;AAAA,EACxD,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,UAAU;AACT,WAAO;AAAA,MACN,QAAQ;AAAA,QACP,cAAc;AAAA,UACb,SAAS,CAAC,uBAAuB;AAAA,QAClC,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
@@ -0,0 +1,48 @@
1
+ import * as create from 'create';
2
+
3
+ declare const blockPrettierPluginPackageJson: create.BlockWithoutAddons<{
4
+ description: string;
5
+ email: {
6
+ github: string;
7
+ npm: string;
8
+ };
9
+ title: string;
10
+ owner: string;
11
+ repository: string;
12
+ access?: "public" | "restricted" | undefined;
13
+ author?: string | undefined;
14
+ bin?: string | undefined;
15
+ login?: string | undefined;
16
+ contributors?: {
17
+ name: string;
18
+ avatar_url: string;
19
+ contributions: string[];
20
+ login: string;
21
+ profile: string;
22
+ }[] | undefined;
23
+ documentation?: string | undefined;
24
+ funding?: string | undefined;
25
+ guide?: {
26
+ href: string;
27
+ title: string;
28
+ } | undefined;
29
+ hideTemplatedBy?: boolean | undefined;
30
+ keywords?: string[] | undefined;
31
+ logo?: {
32
+ alt: string;
33
+ src: string;
34
+ } | undefined;
35
+ node?: {
36
+ minimum: string;
37
+ pinned?: string | undefined;
38
+ } | undefined;
39
+ packageData?: {
40
+ dependencies?: Record<string, string> | undefined;
41
+ devDependencies?: Record<string, string> | undefined;
42
+ scripts?: Record<string, string> | undefined;
43
+ } | undefined;
44
+ preserveGeneratedFrom?: boolean | undefined;
45
+ version?: string | undefined;
46
+ }>;
47
+
48
+ export { blockPrettierPluginPackageJson };
@@ -0,0 +1,20 @@
1
+ import { base } from "../base.js";
2
+ import { blockPrettier } from "./blockPrettier.js";
3
+ const blockPrettierPluginPackageJson = base.createBlock({
4
+ about: {
5
+ name: "Prettier Plugin Package JSON"
6
+ },
7
+ produce() {
8
+ return {
9
+ addons: [
10
+ blockPrettier({
11
+ plugins: ["prettier-plugin-packagejson"]
12
+ })
13
+ ]
14
+ };
15
+ }
16
+ });
17
+ export {
18
+ blockPrettierPluginPackageJson
19
+ };
20
+ //# sourceMappingURL=blockPrettierPluginPackageJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/next/blocks/blockPrettierPluginPackageJson.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockPrettier } from \"./blockPrettier.js\";\n\nexport const blockPrettierPluginPackageJson = base.createBlock({\n\tabout: {\n\t\tname: \"Prettier Plugin Package JSON\",\n\t},\n\tproduce() {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockPrettier({\n\t\t\t\t\tplugins: [\"prettier-plugin-packagejson\"],\n\t\t\t\t}),\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":"AAAA,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAEvB,MAAM,iCAAiC,KAAK,YAAY;AAAA,EAC9D,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,UAAU;AACT,WAAO;AAAA,MACN,QAAQ;AAAA,QACP,cAAc;AAAA,UACb,SAAS,CAAC,6BAA6B;AAAA,QACxC,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
@@ -0,0 +1,48 @@
1
+ import * as create from 'create';
2
+
3
+ declare const blockPrettierPluginSh: create.BlockWithoutAddons<{
4
+ description: string;
5
+ email: {
6
+ github: string;
7
+ npm: string;
8
+ };
9
+ title: string;
10
+ owner: string;
11
+ repository: string;
12
+ access?: "public" | "restricted" | undefined;
13
+ author?: string | undefined;
14
+ bin?: string | undefined;
15
+ login?: string | undefined;
16
+ contributors?: {
17
+ name: string;
18
+ avatar_url: string;
19
+ contributions: string[];
20
+ login: string;
21
+ profile: string;
22
+ }[] | undefined;
23
+ documentation?: string | undefined;
24
+ funding?: string | undefined;
25
+ guide?: {
26
+ href: string;
27
+ title: string;
28
+ } | undefined;
29
+ hideTemplatedBy?: boolean | undefined;
30
+ keywords?: string[] | undefined;
31
+ logo?: {
32
+ alt: string;
33
+ src: string;
34
+ } | undefined;
35
+ node?: {
36
+ minimum: string;
37
+ pinned?: string | undefined;
38
+ } | undefined;
39
+ packageData?: {
40
+ dependencies?: Record<string, string> | undefined;
41
+ devDependencies?: Record<string, string> | undefined;
42
+ scripts?: Record<string, string> | undefined;
43
+ } | undefined;
44
+ preserveGeneratedFrom?: boolean | undefined;
45
+ version?: string | undefined;
46
+ }>;
47
+
48
+ export { blockPrettierPluginSh };
@@ -0,0 +1,20 @@
1
+ import { base } from "../base.js";
2
+ import { blockPrettier } from "./blockPrettier.js";
3
+ const blockPrettierPluginSh = base.createBlock({
4
+ about: {
5
+ name: "Prettier Plugin Sh"
6
+ },
7
+ produce() {
8
+ return {
9
+ addons: [
10
+ blockPrettier({
11
+ plugins: ["prettier-plugin-sh"]
12
+ })
13
+ ]
14
+ };
15
+ }
16
+ });
17
+ export {
18
+ blockPrettierPluginSh
19
+ };
20
+ //# sourceMappingURL=blockPrettierPluginSh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/next/blocks/blockPrettierPluginSh.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockPrettier } from \"./blockPrettier.js\";\n\nexport const blockPrettierPluginSh = base.createBlock({\n\tabout: {\n\t\tname: \"Prettier Plugin Sh\",\n\t},\n\tproduce() {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockPrettier({\n\t\t\t\t\tplugins: [\"prettier-plugin-sh\"],\n\t\t\t\t}),\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":"AAAA,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAEvB,MAAM,wBAAwB,KAAK,YAAY;AAAA,EACrD,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,UAAU;AACT,WAAO;AAAA,MACN,QAAQ;AAAA,QACP,cAAc;AAAA,UACb,SAAS,CAAC,oBAAoB;AAAA,QAC/B,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
@@ -0,0 +1,50 @@
1
+ import * as create from 'create';
2
+
3
+ declare const blockREADME: create.BlockWithAddons<{
4
+ notices: string[];
5
+ }, {
6
+ description: string;
7
+ email: {
8
+ github: string;
9
+ npm: string;
10
+ };
11
+ title: string;
12
+ owner: string;
13
+ repository: string;
14
+ access?: "public" | "restricted" | undefined;
15
+ author?: string | undefined;
16
+ bin?: string | undefined;
17
+ login?: string | undefined;
18
+ contributors?: {
19
+ name: string;
20
+ avatar_url: string;
21
+ contributions: string[];
22
+ login: string;
23
+ profile: string;
24
+ }[] | undefined;
25
+ documentation?: string | undefined;
26
+ funding?: string | undefined;
27
+ guide?: {
28
+ href: string;
29
+ title: string;
30
+ } | undefined;
31
+ hideTemplatedBy?: boolean | undefined;
32
+ keywords?: string[] | undefined;
33
+ logo?: {
34
+ alt: string;
35
+ src: string;
36
+ } | undefined;
37
+ node?: {
38
+ minimum: string;
39
+ pinned?: string | undefined;
40
+ } | undefined;
41
+ packageData?: {
42
+ dependencies?: Record<string, string> | undefined;
43
+ devDependencies?: Record<string, string> | undefined;
44
+ scripts?: Record<string, string> | undefined;
45
+ } | undefined;
46
+ preserveGeneratedFrom?: boolean | undefined;
47
+ version?: string | undefined;
48
+ }>;
49
+
50
+ export { blockREADME };
@@ -0,0 +1,63 @@
1
+ import { z } from "zod";
2
+ import { base } from "../base.js";
3
+ const blockREADME = base.createBlock({
4
+ about: {
5
+ name: "README.md"
6
+ },
7
+ addons: {
8
+ notices: z.array(z.string()).default([])
9
+ },
10
+ produce({ addons, options }) {
11
+ const { notices } = addons;
12
+ return {
13
+ files: {
14
+ "README.md": `<h1 align="center">${options.title}</h1>
15
+
16
+ <p align="center">${options.description}</p>
17
+
18
+ <p align="center">
19
+ <!-- prettier-ignore-start -->
20
+ <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
21
+ <!-- ALL-CONTRIBUTORS-BADGE:END -->
22
+ <!-- prettier-ignore-end -->
23
+ <a href="https://github.com/${options.owner}/${options.repository}/blob/main/.github/CODE_OF_CONDUCT.md" target="_blank"><img alt="\u{1F91D} Code of Conduct: Kept" src="https://img.shields.io/badge/%F0%9F%A4%9D_code_of_conduct-kept-21bb42" /></a>
24
+ <a href="https://codecov.io/gh/${options.owner}/${options.repository}" target="_blank"><img alt="\u{1F9EA} Coverage" src="https://img.shields.io/codecov/c/github/${options.owner}/${options.repository}?label=%F0%9F%A7%AA%20coverage" /></a>
25
+ <a href="https://github.com/${options.owner}/${options.repository}/blob/main/LICENSE.md" target="_blank"><img alt="\u{1F4DD} License: MIT" src="https://img.shields.io/badge/%F0%9F%93%9D_license-MIT-21bb42.svg"></a>
26
+ <a href="http://npmjs.com/package/${options.repository}"><img alt="\u{1F4E6} npm version" src="https://img.shields.io/npm/v/${options.repository}?color=21bb42&label=%F0%9F%93%A6%20npm" /></a>
27
+ <img alt="\u{1F4AA} TypeScript: Strict" src="https://img.shields.io/badge/%F0%9F%92%AA_typescript-strict-21bb42.svg" />
28
+ </p>
29
+
30
+ ${options.logo ? `<img align="right" alt="${options.logo.alt}" src="${options.logo.src}">` : ""}
31
+
32
+ ## Usage
33
+
34
+ \`\`\`shell
35
+ npm i ${options.repository}
36
+ \`\`\`
37
+ \`\`\`ts
38
+ import { greet } from "${options.repository}";
39
+
40
+ greet("Hello, world! \u{1F496}");
41
+ \`\`\`
42
+
43
+ ## Development
44
+
45
+ See [\`.github/CONTRIBUTING.md\`](./.github/CONTRIBUTING.md), then [\`.github/DEVELOPMENT.md\`](./.github/DEVELOPMENT.md).
46
+ Thanks! \u{1F496}
47
+
48
+ ## Contributors
49
+
50
+ <!-- spellchecker: disable -->
51
+ <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
52
+ <!-- ALL-CONTRIBUTORS-LIST:END -->
53
+ <!-- spellchecker: enable -->
54
+ ${notices.length ? `
55
+ ${notices.map((notice) => notice.trim()).join("\n\n")}` : ""}`
56
+ }
57
+ };
58
+ }
59
+ });
60
+ export {
61
+ blockREADME
62
+ };
63
+ //# sourceMappingURL=blockREADME.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/next/blocks/blockREADME.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { base } from \"../base.js\";\n\nexport const blockREADME = base.createBlock({\n\tabout: {\n\t\tname: \"README.md\",\n\t},\n\taddons: {\n\t\tnotices: z.array(z.string()).default([]),\n\t},\n\tproduce({ addons, options }) {\n\t\tconst { notices } = addons;\n\n\t\treturn {\n\t\t\tfiles: {\n\t\t\t\t\"README.md\": `<h1 align=\"center\">${options.title}</h1>\n\n<p align=\"center\">${options.description}</p>\n\n<p align=\"center\">\n\t<!-- prettier-ignore-start -->\n\t<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n\t<!-- prettier-ignore-end -->\n\t<a href=\"https://github.com/${options.owner}/${options.repository}/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>\n\t<a href=\"https://codecov.io/gh/${options.owner}/${options.repository}\" target=\"_blank\"><img alt=\"🧪 Coverage\" src=\"https://img.shields.io/codecov/c/github/${options.owner}/${options.repository}?label=%F0%9F%A7%AA%20coverage\" /></a>\n\t<a href=\"https://github.com/${options.owner}/${options.repository}/blob/main/LICENSE.md\" target=\"_blank\"><img alt=\"📝 License: MIT\" src=\"https://img.shields.io/badge/%F0%9F%93%9D_license-MIT-21bb42.svg\"></a>\n\t<a href=\"http://npmjs.com/package/${options.repository}\"><img alt=\"📦 npm version\" src=\"https://img.shields.io/npm/v/${options.repository}?color=21bb42&label=%F0%9F%93%A6%20npm\" /></a>\n\t<img alt=\"💪 TypeScript: Strict\" src=\"https://img.shields.io/badge/%F0%9F%92%AA_typescript-strict-21bb42.svg\" />\n</p>\n\n${options.logo ? `<img align=\"right\" alt=\"${options.logo.alt}\" src=\"${options.logo.src}\">` : \"\"}\n\n## Usage\n\n\\`\\`\\`shell\nnpm i ${options.repository}\n\\`\\`\\`\n\\`\\`\\`ts\nimport { greet } from \"${options.repository}\";\n\ngreet(\"Hello, world! 💖\");\n\\`\\`\\`\n\n## Development\n\nSee [\\`.github/CONTRIBUTING.md\\`](./.github/CONTRIBUTING.md), then [\\`.github/DEVELOPMENT.md\\`](./.github/DEVELOPMENT.md).\nThanks! 💖\n\n## Contributors\n\n<!-- spellchecker: disable -->\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n<!-- spellchecker: enable -->\n${notices.length ? `\\n${notices.map((notice) => notice.trim()).join(\"\\n\\n\")}` : \"\"}`,\n\t\t\t},\n\t\t};\n\t},\n});\n"],"mappings":"AAAA,SAAS,SAAS;AAElB,SAAS,YAAY;AAEd,MAAM,cAAc,KAAK,YAAY;AAAA,EAC3C,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,QAAQ;AAAA,IACP,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,EACxC;AAAA,EACA,QAAQ,EAAE,QAAQ,QAAQ,GAAG;AAC5B,UAAM,EAAE,QAAQ,IAAI;AAEpB,WAAO;AAAA,MACN,OAAO;AAAA,QACN,aAAa,sBAAsB,QAAQ,KAAK;AAAA;AAAA,oBAEhC,QAAQ,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAOR,QAAQ,KAAK,IAAI,QAAQ,UAAU;AAAA,kCAChC,QAAQ,KAAK,IAAI,QAAQ,UAAU,gGAAyF,QAAQ,KAAK,IAAI,QAAQ,UAAU;AAAA,+BAClK,QAAQ,KAAK,IAAI,QAAQ,UAAU;AAAA,qCAC7B,QAAQ,UAAU,wEAAiE,QAAQ,UAAU;AAAA;AAAA;AAAA;AAAA,EAIxI,QAAQ,OAAO,2BAA2B,QAAQ,KAAK,GAAG,UAAU,QAAQ,KAAK,GAAG,OAAO,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,QAKvF,QAAQ,UAAU;AAAA;AAAA;AAAA,yBAGD,QAAQ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBzC,QAAQ,SAAS;AAAA,EAAK,QAAQ,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE;AAAA,MAC/E;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
@@ -0,0 +1,48 @@
1
+ import * as create from 'create';
2
+
3
+ declare const blockReleaseIt: create.BlockWithoutAddons<{
4
+ description: string;
5
+ email: {
6
+ github: string;
7
+ npm: string;
8
+ };
9
+ title: string;
10
+ owner: string;
11
+ repository: string;
12
+ access?: "public" | "restricted" | undefined;
13
+ author?: string | undefined;
14
+ bin?: string | undefined;
15
+ login?: string | undefined;
16
+ contributors?: {
17
+ name: string;
18
+ avatar_url: string;
19
+ contributions: string[];
20
+ login: string;
21
+ profile: string;
22
+ }[] | undefined;
23
+ documentation?: string | undefined;
24
+ funding?: string | undefined;
25
+ guide?: {
26
+ href: string;
27
+ title: string;
28
+ } | undefined;
29
+ hideTemplatedBy?: boolean | undefined;
30
+ keywords?: string[] | undefined;
31
+ logo?: {
32
+ alt: string;
33
+ src: string;
34
+ } | undefined;
35
+ node?: {
36
+ minimum: string;
37
+ pinned?: string | undefined;
38
+ } | undefined;
39
+ packageData?: {
40
+ dependencies?: Record<string, string> | undefined;
41
+ devDependencies?: Record<string, string> | undefined;
42
+ scripts?: Record<string, string> | undefined;
43
+ } | undefined;
44
+ preserveGeneratedFrom?: boolean | undefined;
45
+ version?: string | undefined;
46
+ }>;
47
+
48
+ export { blockReleaseIt };
@@ -0,0 +1,126 @@
1
+ import { createSoloWorkflowFile } from "../../steps/writing/creation/dotGitHub/createSoloWorkflowFile.js";
2
+ import { base } from "../base.js";
3
+ import { blockCSpell } from "./blockCSpell.js";
4
+ import { blockPackageJson } from "./blockPackageJson.js";
5
+ const blockReleaseIt = base.createBlock({
6
+ about: {
7
+ name: "release-it"
8
+ },
9
+ produce({ options }) {
10
+ return {
11
+ addons: [
12
+ blockCSpell({
13
+ words: ["apexskier"]
14
+ }),
15
+ blockPackageJson({
16
+ properties: {
17
+ publishConfig: {
18
+ provenance: true
19
+ }
20
+ }
21
+ })
22
+ ],
23
+ files: {
24
+ ".github": {
25
+ workflows: {
26
+ "post-release.yml": createSoloWorkflowFile({
27
+ name: "Post Release",
28
+ on: {
29
+ release: {
30
+ types: ["published"]
31
+ }
32
+ },
33
+ permissions: {
34
+ issues: "write",
35
+ "pull-requests": "write"
36
+ },
37
+ steps: [
38
+ { uses: "actions/checkout@v4", with: { "fetch-depth": 0 } },
39
+ {
40
+ run: `echo "npm_version=$(npm pkg get version | tr -d '"')" >> "$GITHUB_ENV"`
41
+ },
42
+ {
43
+ uses: "apexskier/github-release-commenter@v1",
44
+ with: {
45
+ "comment-template": `
46
+ :tada: This is included in version {release_link} :tada:
47
+
48
+ The release is available on:
49
+
50
+ * [GitHub releases](https://github.com/${options.owner}/${options.repository}/releases/tag/{release_tag})
51
+ * [npm package (@latest dist-tag)](https://www.npmjs.com/package/${options.repository}/v/\${{ env.npm_version }})
52
+
53
+ Cheers! \u{1F4E6}\u{1F680}
54
+ `,
55
+ GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
56
+ }
57
+ }
58
+ ]
59
+ }),
60
+ "release.yml": createSoloWorkflowFile({
61
+ concurrency: {
62
+ group: "${{ github.workflow }}"
63
+ },
64
+ name: "Release",
65
+ on: {
66
+ push: {
67
+ branches: ["main"]
68
+ }
69
+ },
70
+ permissions: {
71
+ contents: "write",
72
+ "id-token": "write"
73
+ },
74
+ steps: [
75
+ {
76
+ uses: "actions/checkout@v4",
77
+ with: {
78
+ "fetch-depth": 0,
79
+ ref: "main"
80
+ }
81
+ },
82
+ {
83
+ uses: "./.github/actions/prepare"
84
+ },
85
+ {
86
+ run: "pnpm build"
87
+ },
88
+ {
89
+ env: {
90
+ GITHUB_TOKEN: "${{ secrets.ACCESS_TOKEN }}",
91
+ NPM_TOKEN: "${{ secrets.NPM_TOKEN }}"
92
+ },
93
+ uses: "JoshuaKGoldberg/release-it-action@v0.2.2"
94
+ }
95
+ ]
96
+ })
97
+ }
98
+ },
99
+ ".release-it.json": JSON.stringify({
100
+ git: {
101
+ commitMessage: "chore: release v${version}",
102
+ requireCommits: true
103
+ },
104
+ github: {
105
+ autoGenerate: true,
106
+ release: true,
107
+ releaseName: "v${version}"
108
+ },
109
+ npm: {
110
+ publishArgs: [`--access ${options.access}`, "--provenance"]
111
+ },
112
+ plugins: {
113
+ "@release-it/conventional-changelog": {
114
+ infile: "CHANGELOG.md",
115
+ preset: "angular"
116
+ }
117
+ }
118
+ })
119
+ }
120
+ };
121
+ }
122
+ });
123
+ export {
124
+ blockReleaseIt
125
+ };
126
+ //# sourceMappingURL=blockReleaseIt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/next/blocks/blockReleaseIt.ts"],"sourcesContent":["import { createSoloWorkflowFile } from \"../../steps/writing/creation/dotGitHub/createSoloWorkflowFile.js\";\nimport { base } from \"../base.js\";\nimport { blockCSpell } from \"./blockCSpell.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\n\nexport const blockReleaseIt = base.createBlock({\n\tabout: {\n\t\tname: \"release-it\",\n\t},\n\tproduce({ options }) {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockCSpell({\n\t\t\t\t\twords: [\"apexskier\"],\n\t\t\t\t}),\n\t\t\t\tblockPackageJson({\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tpublishConfig: {\n\t\t\t\t\t\t\tprovenance: true,\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\".github\": {\n\t\t\t\t\tworkflows: {\n\t\t\t\t\t\t\"post-release.yml\": createSoloWorkflowFile({\n\t\t\t\t\t\t\tname: \"Post Release\",\n\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\trelease: {\n\t\t\t\t\t\t\t\t\ttypes: [\"published\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpermissions: {\n\t\t\t\t\t\t\t\tissues: \"write\",\n\t\t\t\t\t\t\t\t\"pull-requests\": \"write\",\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{\n\t\t\t\t\t\t\t\t\trun: `echo \"npm_version=$(npm pkg get version | tr -d '\"')\" >> \"$GITHUB_ENV\"`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tuses: \"apexskier/github-release-commenter@v1\",\n\t\t\t\t\t\t\t\t\twith: {\n\t\t\t\t\t\t\t\t\t\t\"comment-template\": `\n\t\t\t\t\t\t\t:tada: This is included in version {release_link} :tada:\n\n\t\t\t\t\t\t\tThe release is available on:\n\n\t\t\t\t\t\t\t* [GitHub releases](https://github.com/${options.owner}/${options.repository}/releases/tag/{release_tag})\n\t\t\t\t\t\t\t* [npm package (@latest dist-tag)](https://www.npmjs.com/package/${options.repository}/v/\\${{ env.npm_version }})\n\n\t\t\t\t\t\t\tCheers! 📦🚀\n\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\tGITHUB_TOKEN: \"${{ secrets.GITHUB_TOKEN }}\",\n\t\t\t\t\t\t\t\t\t},\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\t\"release.yml\": createSoloWorkflowFile({\n\t\t\t\t\t\t\tconcurrency: {\n\t\t\t\t\t\t\t\tgroup: \"${{ github.workflow }}\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tname: \"Release\",\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\tpermissions: {\n\t\t\t\t\t\t\t\tcontents: \"write\",\n\t\t\t\t\t\t\t\t\"id-token\": \"write\",\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{\n\t\t\t\t\t\t\t\t\tuses: \"actions/checkout@v4\",\n\t\t\t\t\t\t\t\t\twith: {\n\t\t\t\t\t\t\t\t\t\t\"fetch-depth\": 0,\n\t\t\t\t\t\t\t\t\t\tref: \"main\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tuses: \"./.github/actions/prepare\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\trun: \"pnpm build\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tenv: {\n\t\t\t\t\t\t\t\t\t\tGITHUB_TOKEN: \"${{ secrets.ACCESS_TOKEN }}\",\n\t\t\t\t\t\t\t\t\t\tNPM_TOKEN: \"${{ secrets.NPM_TOKEN }}\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tuses: \"JoshuaKGoldberg/release-it-action@v0.2.2\",\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\t\".release-it.json\": JSON.stringify({\n\t\t\t\t\tgit: {\n\t\t\t\t\t\tcommitMessage: \"chore: release v${version}\",\n\t\t\t\t\t\trequireCommits: true,\n\t\t\t\t\t},\n\t\t\t\t\tgithub: {\n\t\t\t\t\t\tautoGenerate: true,\n\t\t\t\t\t\trelease: true,\n\t\t\t\t\t\treleaseName: \"v${version}\",\n\t\t\t\t\t},\n\t\t\t\t\tnpm: {\n\t\t\t\t\t\tpublishArgs: [`--access ${options.access}`, \"--provenance\"],\n\t\t\t\t\t},\n\t\t\t\t\tplugins: {\n\t\t\t\t\t\t\"@release-it/conventional-changelog\": {\n\t\t\t\t\t\t\tinfile: \"CHANGELOG.md\",\n\t\t\t\t\t\t\tpreset: \"angular\",\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};\n\t},\n});\n"],"mappings":"AAAA,SAAS,8BAA8B;AACvC,SAAS,YAAY;AACrB,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AAE1B,MAAM,iBAAiB,KAAK,YAAY;AAAA,EAC9C,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,QAAQ,EAAE,QAAQ,GAAG;AACpB,WAAO;AAAA,MACN,QAAQ;AAAA,QACP,YAAY;AAAA,UACX,OAAO,CAAC,WAAW;AAAA,QACpB,CAAC;AAAA,QACD,iBAAiB;AAAA,UAChB,YAAY;AAAA,YACX,eAAe;AAAA,cACd,YAAY;AAAA,YACb;AAAA,UACD;AAAA,QACD,CAAC;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACN,WAAW;AAAA,UACV,WAAW;AAAA,YACV,oBAAoB,uBAAuB;AAAA,cAC1C,MAAM;AAAA,cACN,IAAI;AAAA,gBACH,SAAS;AAAA,kBACR,OAAO,CAAC,WAAW;AAAA,gBACpB;AAAA,cACD;AAAA,cACA,aAAa;AAAA,gBACZ,QAAQ;AAAA,gBACR,iBAAiB;AAAA,cAClB;AAAA,cACA,OAAO;AAAA,gBACN,EAAE,MAAM,uBAAuB,MAAM,EAAE,eAAe,EAAE,EAAE;AAAA,gBAC1D;AAAA,kBACC,KAAK;AAAA,gBACN;AAAA,gBACA;AAAA,kBACC,MAAM;AAAA,kBACN,MAAM;AAAA,oBACL,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,gDAKkB,QAAQ,KAAK,IAAI,QAAQ,UAAU;AAAA,0EACT,QAAQ,UAAU;AAAA;AAAA;AAAA;AAAA,oBAIlF,cAAc;AAAA,kBACf;AAAA,gBACD;AAAA,cACD;AAAA,YACD,CAAC;AAAA,YACD,eAAe,uBAAuB;AAAA,cACrC,aAAa;AAAA,gBACZ,OAAO;AAAA,cACR;AAAA,cACA,MAAM;AAAA,cACN,IAAI;AAAA,gBACH,MAAM;AAAA,kBACL,UAAU,CAAC,MAAM;AAAA,gBAClB;AAAA,cACD;AAAA,cACA,aAAa;AAAA,gBACZ,UAAU;AAAA,gBACV,YAAY;AAAA,cACb;AAAA,cACA,OAAO;AAAA,gBACN;AAAA,kBACC,MAAM;AAAA,kBACN,MAAM;AAAA,oBACL,eAAe;AAAA,oBACf,KAAK;AAAA,kBACN;AAAA,gBACD;AAAA,gBACA;AAAA,kBACC,MAAM;AAAA,gBACP;AAAA,gBACA;AAAA,kBACC,KAAK;AAAA,gBACN;AAAA,gBACA;AAAA,kBACC,KAAK;AAAA,oBACJ,cAAc;AAAA,oBACd,WAAW;AAAA,kBACZ;AAAA,kBACA,MAAM;AAAA,gBACP;AAAA,cACD;AAAA,YACD,CAAC;AAAA,UACF;AAAA,QACD;AAAA,QACA,oBAAoB,KAAK,UAAU;AAAA,UAClC,KAAK;AAAA,YACJ,eAAe;AAAA,YACf,gBAAgB;AAAA,UACjB;AAAA,UACA,QAAQ;AAAA,YACP,cAAc;AAAA,YACd,SAAS;AAAA,YACT,aAAa;AAAA,UACd;AAAA,UACA,KAAK;AAAA,YACJ,aAAa,CAAC,YAAY,QAAQ,MAAM,IAAI,cAAc;AAAA,UAC3D;AAAA,UACA,SAAS;AAAA,YACR,sCAAsC;AAAA,cACrC,QAAQ;AAAA,cACR,QAAQ;AAAA,YACT;AAAA,UACD;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}