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,50 @@
1
+ import * as create from 'create';
2
+
3
+ declare const blockMarkdownlint: create.BlockWithAddons<{
4
+ ignores: 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 { blockMarkdownlint };
@@ -0,0 +1,77 @@
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 blockMarkdownlint = base.createBlock({
10
+ about: {
11
+ name: "Markdownlint"
12
+ },
13
+ addons: {
14
+ ignores: z.array(z.string()).default([])
15
+ },
16
+ produce({ addons }) {
17
+ const { ignores } = addons;
18
+ return {
19
+ addons: [
20
+ blockCSpell({
21
+ words: ["markdownlintignore"]
22
+ }),
23
+ blockDevelopmentDocs({
24
+ sections: {
25
+ Linting: {
26
+ contents: {
27
+ items: [
28
+ `- \`pnpm lint:md\` ([Markdownlint](https://github.com/DavidAnson/markdownlint)): Checks Markdown source files`
29
+ ]
30
+ }
31
+ }
32
+ }
33
+ }),
34
+ blockGitHubActionsCI({
35
+ jobs: [
36
+ {
37
+ name: "Lint Markdown",
38
+ steps: [{ run: "pnpm lint:md" }]
39
+ }
40
+ ]
41
+ }),
42
+ blockPackageJson({
43
+ properties: {
44
+ devDependencies: getPackageDependencies(
45
+ "markdownlint",
46
+ "markdownlint-cli",
47
+ "sentences-per-line"
48
+ ),
49
+ scripts: {
50
+ "lint:md": 'markdownlint "**/*.md" ".github/**/*.md" --rules sentences-per-line'
51
+ }
52
+ }
53
+ }),
54
+ blockVSCode({
55
+ extensions: ["DavidAnson.vscode-markdownlint"]
56
+ })
57
+ ],
58
+ files: {
59
+ ".markdownlint.json": JSON.stringify({
60
+ extends: "markdownlint/style/prettier",
61
+ "first-line-h1": false,
62
+ "no-inline-html": false
63
+ }),
64
+ ".markdownlintignore": [
65
+ ".github/CODE_OF_CONDUCT.md",
66
+ "CHANGELOG.md",
67
+ "node_modules/",
68
+ ...ignores
69
+ ].sort().join("\n")
70
+ }
71
+ };
72
+ }
73
+ });
74
+ export {
75
+ blockMarkdownlint
76
+ };
77
+ //# sourceMappingURL=blockMarkdownlint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/next/blocks/blockMarkdownlint.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 blockMarkdownlint = base.createBlock({\n\tabout: {\n\t\tname: \"Markdownlint\",\n\t},\n\taddons: {\n\t\tignores: z.array(z.string()).default([]),\n\t},\n\tproduce({ addons }) {\n\t\tconst { ignores } = addons;\n\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockCSpell({\n\t\t\t\t\twords: [\"markdownlintignore\"],\n\t\t\t\t}),\n\t\t\t\tblockDevelopmentDocs({\n\t\t\t\t\tsections: {\n\t\t\t\t\t\tLinting: {\n\t\t\t\t\t\t\tcontents: {\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t`- \\`pnpm lint:md\\` ([Markdownlint](https://github.com/DavidAnson/markdownlint)): Checks Markdown source files`,\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\tblockGitHubActionsCI({\n\t\t\t\t\tjobs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Lint Markdown\",\n\t\t\t\t\t\t\tsteps: [{ run: \"pnpm lint:md\" }],\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\"markdownlint\",\n\t\t\t\t\t\t\t\"markdownlint-cli\",\n\t\t\t\t\t\t\t\"sentences-per-line\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\t\"lint:md\":\n\t\t\t\t\t\t\t\t'markdownlint \"**/*.md\" \".github/**/*.md\" --rules sentences-per-line',\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: [\"DavidAnson.vscode-markdownlint\"],\n\t\t\t\t}),\n\t\t\t],\n\t\t\tfiles: {\n\t\t\t\t\".markdownlint.json\": JSON.stringify({\n\t\t\t\t\textends: \"markdownlint/style/prettier\",\n\t\t\t\t\t\"first-line-h1\": false,\n\t\t\t\t\t\"no-inline-html\": false,\n\t\t\t\t}),\n\t\t\t\t\".markdownlintignore\": [\n\t\t\t\t\t\".github/CODE_OF_CONDUCT.md\",\n\t\t\t\t\t\"CHANGELOG.md\",\n\t\t\t\t\t\"node_modules/\",\n\t\t\t\t\t...ignores,\n\t\t\t\t]\n\t\t\t\t\t.sort()\n\t\t\t\t\t.join(\"\\n\"),\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,oBAAoB,KAAK,YAAY;AAAA,EACjD,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,OAAO,GAAG;AACnB,UAAM,EAAE,QAAQ,IAAI;AAEpB,WAAO;AAAA,MACN,QAAQ;AAAA,QACP,YAAY;AAAA,UACX,OAAO,CAAC,oBAAoB;AAAA,QAC7B,CAAC;AAAA,QACD,qBAAqB;AAAA,UACpB,UAAU;AAAA,YACT,SAAS;AAAA,cACR,UAAU;AAAA,gBACT,OAAO;AAAA,kBACN;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,qBAAqB;AAAA,UACpB,MAAM;AAAA,YACL;AAAA,cACC,MAAM;AAAA,cACN,OAAO,CAAC,EAAE,KAAK,eAAe,CAAC;AAAA,YAChC;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,iBAAiB;AAAA,UAChB,YAAY;AAAA,YACX,iBAAiB;AAAA,cAChB;AAAA,cACA;AAAA,cACA;AAAA,YACD;AAAA,YACA,SAAS;AAAA,cACR,WACC;AAAA,YACF;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,YAAY;AAAA,UACX,YAAY,CAAC,gCAAgC;AAAA,QAC9C,CAAC;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACN,sBAAsB,KAAK,UAAU;AAAA,UACpC,SAAS;AAAA,UACT,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,QACnB,CAAC;AAAA,QACD,uBAAuB;AAAA,UACtB;AAAA,UACA;AAAA,UACA;AAAA,UACA,GAAG;AAAA,QACJ,EACE,KAAK,EACL,KAAK,IAAI;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
@@ -0,0 +1,48 @@
1
+ import * as create from 'create';
2
+
3
+ declare const blockNvmrc: 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 { blockNvmrc };
@@ -0,0 +1,26 @@
1
+ import { base } from "../base.js";
2
+ import { blockPrettier } from "./blockPrettier.js";
3
+ const blockNvmrc = base.createBlock({
4
+ about: {
5
+ name: "Nvmrc"
6
+ },
7
+ produce({ options }) {
8
+ return {
9
+ addons: [
10
+ blockPrettier({
11
+ overrides: [{ files: ".nvmrc", options: { parser: "yaml" } }]
12
+ })
13
+ ],
14
+ ...options.node?.pinned && {
15
+ files: {
16
+ ".nvmrc": `${options.node.pinned}
17
+ `
18
+ }
19
+ }
20
+ };
21
+ }
22
+ });
23
+ export {
24
+ blockNvmrc
25
+ };
26
+ //# sourceMappingURL=blockNvmrc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/next/blocks/blockNvmrc.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockPrettier } from \"./blockPrettier.js\";\n\nexport const blockNvmrc = base.createBlock({\n\tabout: {\n\t\tname: \"Nvmrc\",\n\t},\n\tproduce({ options }) {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockPrettier({\n\t\t\t\t\toverrides: [{ files: \".nvmrc\", options: { parser: \"yaml\" } }],\n\t\t\t\t}),\n\t\t\t],\n\t\t\t...(options.node?.pinned && {\n\t\t\t\tfiles: {\n\t\t\t\t\t\".nvmrc\": `${options.node.pinned}\\n`,\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,aAAa,KAAK,YAAY;AAAA,EAC1C,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,QAAQ,EAAE,QAAQ,GAAG;AACpB,WAAO;AAAA,MACN,QAAQ;AAAA,QACP,cAAc;AAAA,UACb,WAAW,CAAC,EAAE,OAAO,UAAU,SAAS,EAAE,QAAQ,OAAO,EAAE,CAAC;AAAA,QAC7D,CAAC;AAAA,MACF;AAAA,MACA,GAAI,QAAQ,MAAM,UAAU;AAAA,QAC3B,OAAO;AAAA,UACN,UAAU,GAAG,QAAQ,KAAK,MAAM;AAAA;AAAA,QACjC;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
@@ -0,0 +1,48 @@
1
+ import * as create from 'create';
2
+
3
+ declare const blockPRCompliance: 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 { blockPRCompliance };
@@ -0,0 +1,48 @@
1
+ import { createSoloWorkflowFile } from "../../steps/writing/creation/dotGitHub/createSoloWorkflowFile.js";
2
+ import { base } from "../base.js";
3
+ const blockPRCompliance = base.createBlock({
4
+ about: {
5
+ name: "PR Compliance"
6
+ },
7
+ produce() {
8
+ return {
9
+ files: {
10
+ ".github": {
11
+ workflows: {
12
+ "compliance.yml": createSoloWorkflowFile({
13
+ name: "Compliance",
14
+ on: {
15
+ pull_request: {
16
+ branches: ["main"],
17
+ types: ["edited", "opened", "reopened", "synchronize"]
18
+ }
19
+ },
20
+ permissions: {
21
+ "pull-requests": "write"
22
+ },
23
+ steps: [
24
+ {
25
+ uses: "mtfoley/pr-compliance-action@main",
26
+ with: {
27
+ "body-auto-close": false,
28
+ "ignore-authors": [
29
+ "allcontributors",
30
+ "allcontributors[bot]",
31
+ "renovate",
32
+ "renovate[bot]"
33
+ ].join("\n"),
34
+ "ignore-team-members": false
35
+ }
36
+ }
37
+ ]
38
+ })
39
+ }
40
+ }
41
+ }
42
+ };
43
+ }
44
+ });
45
+ export {
46
+ blockPRCompliance
47
+ };
48
+ //# sourceMappingURL=blockPRCompliance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/next/blocks/blockPRCompliance.ts"],"sourcesContent":["import { createSoloWorkflowFile } from \"../../steps/writing/creation/dotGitHub/createSoloWorkflowFile.js\";\nimport { base } from \"../base.js\";\n\nexport const blockPRCompliance = base.createBlock({\n\tabout: {\n\t\tname: \"PR Compliance\",\n\t},\n\tproduce() {\n\t\treturn {\n\t\t\tfiles: {\n\t\t\t\t\".github\": {\n\t\t\t\t\tworkflows: {\n\t\t\t\t\t\t\"compliance.yml\": createSoloWorkflowFile({\n\t\t\t\t\t\t\tname: \"Compliance\",\n\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\tpull_request: {\n\t\t\t\t\t\t\t\t\tbranches: [\"main\"],\n\t\t\t\t\t\t\t\t\ttypes: [\"edited\", \"opened\", \"reopened\", \"synchronize\"],\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\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{\n\t\t\t\t\t\t\t\t\tuses: \"mtfoley/pr-compliance-action@main\",\n\t\t\t\t\t\t\t\t\twith: {\n\t\t\t\t\t\t\t\t\t\t\"body-auto-close\": false,\n\t\t\t\t\t\t\t\t\t\t\"ignore-authors\": [\n\t\t\t\t\t\t\t\t\t\t\t\"allcontributors\",\n\t\t\t\t\t\t\t\t\t\t\t\"allcontributors[bot]\",\n\t\t\t\t\t\t\t\t\t\t\t\"renovate\",\n\t\t\t\t\t\t\t\t\t\t\t\"renovate[bot]\",\n\t\t\t\t\t\t\t\t\t\t].join(\"\\n\"),\n\t\t\t\t\t\t\t\t\t\t\"ignore-team-members\": false,\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},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t},\n});\n"],"mappings":"AAAA,SAAS,8BAA8B;AACvC,SAAS,YAAY;AAEd,MAAM,oBAAoB,KAAK,YAAY;AAAA,EACjD,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,UAAU;AACT,WAAO;AAAA,MACN,OAAO;AAAA,QACN,WAAW;AAAA,UACV,WAAW;AAAA,YACV,kBAAkB,uBAAuB;AAAA,cACxC,MAAM;AAAA,cACN,IAAI;AAAA,gBACH,cAAc;AAAA,kBACb,UAAU,CAAC,MAAM;AAAA,kBACjB,OAAO,CAAC,UAAU,UAAU,YAAY,aAAa;AAAA,gBACtD;AAAA,cACD;AAAA,cACA,aAAa;AAAA,gBACZ,iBAAiB;AAAA,cAClB;AAAA,cACA,OAAO;AAAA,gBACN;AAAA,kBACC,MAAM;AAAA,kBACN,MAAM;AAAA,oBACL,mBAAmB;AAAA,oBACnB,kBAAkB;AAAA,sBACjB;AAAA,sBACA;AAAA,sBACA;AAAA,sBACA;AAAA,oBACD,EAAE,KAAK,IAAI;AAAA,oBACX,uBAAuB;AAAA,kBACxB;AAAA,gBACD;AAAA,cACD;AAAA,YACD,CAAC;AAAA,UACF;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
@@ -0,0 +1,56 @@
1
+ import * as create from 'create';
2
+
3
+ declare const blockPackageJson: create.BlockWithAddons<{
4
+ properties: {
5
+ dependencies?: Record<string, string> | undefined;
6
+ devDependencies?: Record<string, string> | undefined;
7
+ scripts?: Record<string, string> | undefined;
8
+ files?: string[] | undefined;
9
+ peerDependencies?: Record<string, string> | undefined;
10
+ } & Record<string, unknown>;
11
+ }, {
12
+ description: string;
13
+ email: {
14
+ github: string;
15
+ npm: string;
16
+ };
17
+ title: string;
18
+ owner: string;
19
+ repository: string;
20
+ access?: "public" | "restricted" | undefined;
21
+ author?: string | undefined;
22
+ bin?: string | undefined;
23
+ login?: string | undefined;
24
+ contributors?: {
25
+ name: string;
26
+ avatar_url: string;
27
+ contributions: string[];
28
+ login: string;
29
+ profile: string;
30
+ }[] | undefined;
31
+ documentation?: string | undefined;
32
+ funding?: string | undefined;
33
+ guide?: {
34
+ href: string;
35
+ title: string;
36
+ } | undefined;
37
+ hideTemplatedBy?: boolean | undefined;
38
+ keywords?: string[] | undefined;
39
+ logo?: {
40
+ alt: string;
41
+ src: string;
42
+ } | undefined;
43
+ node?: {
44
+ minimum: string;
45
+ pinned?: string | undefined;
46
+ } | undefined;
47
+ packageData?: {
48
+ dependencies?: Record<string, string> | undefined;
49
+ devDependencies?: Record<string, string> | undefined;
50
+ scripts?: Record<string, string> | undefined;
51
+ } | undefined;
52
+ preserveGeneratedFrom?: boolean | undefined;
53
+ version?: string | undefined;
54
+ }>;
55
+
56
+ export { blockPackageJson };
@@ -0,0 +1,81 @@
1
+ import sortPackageJson from "sort-package-json";
2
+ import { z } from "zod";
3
+ import { base } from "../base.js";
4
+ const blockPackageJson = base.createBlock({
5
+ about: {
6
+ name: "Package JSON"
7
+ },
8
+ addons: {
9
+ // TODO: Find a zod package for this?
10
+ properties: z.intersection(
11
+ z.object({
12
+ dependencies: z.record(z.string(), z.string()).optional(),
13
+ devDependencies: z.record(z.string(), z.string()).optional(),
14
+ files: z.array(z.string()).optional(),
15
+ peerDependencies: z.record(z.string(), z.string()).optional(),
16
+ scripts: z.record(z.string(), z.string()).optional()
17
+ }),
18
+ z.record(z.string(), z.unknown())
19
+ ).default({})
20
+ },
21
+ produce({ addons, options }) {
22
+ return {
23
+ commands: [
24
+ {
25
+ phase: 0,
26
+ // TODO: ???
27
+ script: "pnpm i"
28
+ }
29
+ ],
30
+ files: {
31
+ "package.json": sortPackageJson(
32
+ JSON.stringify({
33
+ ...addons.properties,
34
+ author: { email: options.email.npm, name: options.author },
35
+ bin: options.bin,
36
+ dependencies: {
37
+ ...options.packageData?.dependencies,
38
+ ...addons.properties.dependencies
39
+ },
40
+ description: options.description,
41
+ devDependencies: {
42
+ ...options.packageData?.devDependencies,
43
+ ...addons.properties.devDependencies
44
+ },
45
+ ...options.node && {
46
+ engines: {
47
+ node: `>=${options.node.minimum}`
48
+ }
49
+ },
50
+ files: [
51
+ options.bin?.replace(/^\.\//, ""),
52
+ ...addons.properties.files ?? [],
53
+ "package.json",
54
+ "README.md"
55
+ ].filter(Boolean).sort(),
56
+ keywords: options.keywords?.flatMap(
57
+ (keyword) => keyword.split(/ /)
58
+ ),
59
+ license: "MIT",
60
+ main: "./lib/index.js",
61
+ name: options.repository,
62
+ repository: {
63
+ type: "git",
64
+ url: `https://github.com/${options.owner}/${options.repository}`
65
+ },
66
+ scripts: {
67
+ ...options.packageData?.scripts,
68
+ ...addons.properties.scripts
69
+ },
70
+ type: "module",
71
+ version: options.version ?? "0.0.0"
72
+ })
73
+ )
74
+ }
75
+ };
76
+ }
77
+ });
78
+ export {
79
+ blockPackageJson
80
+ };
81
+ //# sourceMappingURL=blockPackageJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/next/blocks/blockPackageJson.ts"],"sourcesContent":["import sortPackageJson from \"sort-package-json\";\nimport { z } from \"zod\";\n\nimport { base } from \"../base.js\";\n\nexport const blockPackageJson = base.createBlock({\n\tabout: {\n\t\tname: \"Package JSON\",\n\t},\n\taddons: {\n\t\t// TODO: Find a zod package for this?\n\t\tproperties: z\n\t\t\t.intersection(\n\t\t\t\tz.object({\n\t\t\t\t\tdependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\t\tdevDependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\t\tfiles: z.array(z.string()).optional(),\n\t\t\t\t\tpeerDependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\t\tscripts: z.record(z.string(), z.string()).optional(),\n\t\t\t\t}),\n\t\t\t\tz.record(z.string(), z.unknown()),\n\t\t\t)\n\t\t\t.default({}),\n\t},\n\tproduce({ addons, options }) {\n\t\treturn {\n\t\t\tcommands: [\n\t\t\t\t{\n\t\t\t\t\tphase: 0, // TODO: ???\n\t\t\t\t\tscript: \"pnpm i\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tfiles: {\n\t\t\t\t\"package.json\": sortPackageJson(\n\t\t\t\t\tJSON.stringify({\n\t\t\t\t\t\t...addons.properties,\n\t\t\t\t\t\tauthor: { email: options.email.npm, name: options.author },\n\t\t\t\t\t\tbin: options.bin,\n\t\t\t\t\t\tdependencies: {\n\t\t\t\t\t\t\t...options.packageData?.dependencies,\n\t\t\t\t\t\t\t...addons.properties.dependencies,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdescription: options.description,\n\t\t\t\t\t\tdevDependencies: {\n\t\t\t\t\t\t\t...options.packageData?.devDependencies,\n\t\t\t\t\t\t\t...addons.properties.devDependencies,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...(options.node && {\n\t\t\t\t\t\t\tengines: {\n\t\t\t\t\t\t\t\tnode: `>=${options.node.minimum}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tfiles: [\n\t\t\t\t\t\t\toptions.bin?.replace(/^\\.\\//, \"\"),\n\t\t\t\t\t\t\t...(addons.properties.files ?? []),\n\t\t\t\t\t\t\t\"package.json\",\n\t\t\t\t\t\t\t\"README.md\",\n\t\t\t\t\t\t]\n\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t.sort(),\n\t\t\t\t\t\tkeywords: options.keywords?.flatMap((keyword) =>\n\t\t\t\t\t\t\tkeyword.split(/ /),\n\t\t\t\t\t\t),\n\t\t\t\t\t\tlicense: \"MIT\",\n\t\t\t\t\t\tmain: \"./lib/index.js\",\n\t\t\t\t\t\tname: options.repository,\n\t\t\t\t\t\trepository: {\n\t\t\t\t\t\t\ttype: \"git\",\n\t\t\t\t\t\t\turl: `https://github.com/${options.owner}/${options.repository}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\t...options.packageData?.scripts,\n\t\t\t\t\t\t\t...addons.properties.scripts,\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttype: \"module\",\n\t\t\t\t\t\tversion: options.version ?? \"0.0.0\",\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t},\n});\n"],"mappings":"AAAA,OAAO,qBAAqB;AAC5B,SAAS,SAAS;AAElB,SAAS,YAAY;AAEd,MAAM,mBAAmB,KAAK,YAAY;AAAA,EAChD,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,QAAQ;AAAA;AAAA,IAEP,YAAY,EACV;AAAA,MACA,EAAE,OAAO;AAAA,QACR,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,QACxD,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,QAC3D,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,QACpC,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,QAC5D,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,MACpD,CAAC;AAAA,MACD,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC;AAAA,IACjC,EACC,QAAQ,CAAC,CAAC;AAAA,EACb;AAAA,EACA,QAAQ,EAAE,QAAQ,QAAQ,GAAG;AAC5B,WAAO;AAAA,MACN,UAAU;AAAA,QACT;AAAA,UACC,OAAO;AAAA;AAAA,UACP,QAAQ;AAAA,QACT;AAAA,MACD;AAAA,MACA,OAAO;AAAA,QACN,gBAAgB;AAAA,UACf,KAAK,UAAU;AAAA,YACd,GAAG,OAAO;AAAA,YACV,QAAQ,EAAE,OAAO,QAAQ,MAAM,KAAK,MAAM,QAAQ,OAAO;AAAA,YACzD,KAAK,QAAQ;AAAA,YACb,cAAc;AAAA,cACb,GAAG,QAAQ,aAAa;AAAA,cACxB,GAAG,OAAO,WAAW;AAAA,YACtB;AAAA,YACA,aAAa,QAAQ;AAAA,YACrB,iBAAiB;AAAA,cAChB,GAAG,QAAQ,aAAa;AAAA,cACxB,GAAG,OAAO,WAAW;AAAA,YACtB;AAAA,YACA,GAAI,QAAQ,QAAQ;AAAA,cACnB,SAAS;AAAA,gBACR,MAAM,KAAK,QAAQ,KAAK,OAAO;AAAA,cAChC;AAAA,YACD;AAAA,YACA,OAAO;AAAA,cACN,QAAQ,KAAK,QAAQ,SAAS,EAAE;AAAA,cAChC,GAAI,OAAO,WAAW,SAAS,CAAC;AAAA,cAChC;AAAA,cACA;AAAA,YACD,EACE,OAAO,OAAO,EACd,KAAK;AAAA,YACP,UAAU,QAAQ,UAAU;AAAA,cAAQ,CAAC,YACpC,QAAQ,MAAM,GAAG;AAAA,YAClB;AAAA,YACA,SAAS;AAAA,YACT,MAAM;AAAA,YACN,MAAM,QAAQ;AAAA,YACd,YAAY;AAAA,cACX,MAAM;AAAA,cACN,KAAK,sBAAsB,QAAQ,KAAK,IAAI,QAAQ,UAAU;AAAA,YAC/D;AAAA,YACA,SAAS;AAAA,cACR,GAAG,QAAQ,aAAa;AAAA,cACxB,GAAG,OAAO,WAAW;AAAA,YACtB;AAAA,YACA,MAAM;AAAA,YACN,SAAS,QAAQ,WAAW;AAAA,UAC7B,CAAC;AAAA,QACF;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
@@ -0,0 +1,48 @@
1
+ import * as create from 'create';
2
+
3
+ declare const blockPnpmDedupe: 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 { blockPnpmDedupe };
@@ -0,0 +1,51 @@
1
+ import { base } from "../base.js";
2
+ import { blockDevelopmentDocs } from "./blockDevelopmentDocs.js";
3
+ import { blockGitHubActionsCI } from "./blockGitHubActionsCI.js";
4
+ import { blockPackageJson } from "./blockPackageJson.js";
5
+ const blockPnpmDedupe = base.createBlock({
6
+ about: {
7
+ name: "pnpm Dedupe"
8
+ },
9
+ produce() {
10
+ return {
11
+ addons: [
12
+ blockDevelopmentDocs({
13
+ sections: {
14
+ Linting: {
15
+ contents: {
16
+ items: [
17
+ `- \`pnpm lint:packages\` ([pnpm dedupe --check](https://pnpm.io/cli/dedupe)): Checks for unnecessarily duplicated packages in the \`pnpm-lock.yml\` file`
18
+ ]
19
+ }
20
+ }
21
+ }
22
+ }),
23
+ blockGitHubActionsCI({
24
+ jobs: [
25
+ {
26
+ name: "Lint Packages",
27
+ steps: [{ run: "pnpm lint:packages" }]
28
+ }
29
+ ]
30
+ }),
31
+ blockPackageJson({
32
+ properties: {
33
+ scripts: {
34
+ "lint:packages": "pnpm dedupe --check"
35
+ }
36
+ }
37
+ })
38
+ ],
39
+ commands: [
40
+ {
41
+ phase: 1,
42
+ script: "pnpm dedupe"
43
+ }
44
+ ]
45
+ };
46
+ }
47
+ });
48
+ export {
49
+ blockPnpmDedupe
50
+ };
51
+ //# sourceMappingURL=blockPnpmDedupe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/next/blocks/blockPnpmDedupe.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockDevelopmentDocs } from \"./blockDevelopmentDocs.js\";\nimport { blockGitHubActionsCI } from \"./blockGitHubActionsCI.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\n\nexport const blockPnpmDedupe = base.createBlock({\n\tabout: {\n\t\tname: \"pnpm Dedupe\",\n\t},\n\tproduce() {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockDevelopmentDocs({\n\t\t\t\t\tsections: {\n\t\t\t\t\t\tLinting: {\n\t\t\t\t\t\t\tcontents: {\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t`- \\`pnpm lint:packages\\` ([pnpm dedupe --check](https://pnpm.io/cli/dedupe)): Checks for unnecessarily duplicated packages in the \\`pnpm-lock.yml\\` file`,\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\tblockGitHubActionsCI({\n\t\t\t\t\tjobs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Lint Packages\",\n\t\t\t\t\t\t\tsteps: [{ run: \"pnpm lint:packages\" }],\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\tscripts: {\n\t\t\t\t\t\t\t\"lint:packages\": \"pnpm dedupe --check\",\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\tcommands: [\n\t\t\t\t{\n\t\t\t\t\tphase: 1,\n\t\t\t\t\tscript: \"pnpm dedupe\",\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":"AAAA,SAAS,YAAY;AACrB,SAAS,4BAA4B;AACrC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AAE1B,MAAM,kBAAkB,KAAK,YAAY;AAAA,EAC/C,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,UAAU;AACT,WAAO;AAAA,MACN,QAAQ;AAAA,QACP,qBAAqB;AAAA,UACpB,UAAU;AAAA,YACT,SAAS;AAAA,cACR,UAAU;AAAA,gBACT,OAAO;AAAA,kBACN;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,qBAAqB;AAAA,UACpB,MAAM;AAAA,YACL;AAAA,cACC,MAAM;AAAA,cACN,OAAO,CAAC,EAAE,KAAK,qBAAqB,CAAC;AAAA,YACtC;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,iBAAiB;AAAA,UAChB,YAAY;AAAA,YACX,SAAS;AAAA,cACR,iBAAiB;AAAA,YAClB;AAAA,UACD;AAAA,QACD,CAAC;AAAA,MACF;AAAA,MACA,UAAU;AAAA,QACT;AAAA,UACC,OAAO;AAAA,UACP,QAAQ;AAAA,QACT;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
@@ -0,0 +1,57 @@
1
+ import * as create from 'create';
2
+
3
+ declare const blockPrettier: create.BlockWithAddons<{
4
+ plugins: string[];
5
+ ignores: string[];
6
+ overrides: {
7
+ options: {
8
+ parser: string;
9
+ };
10
+ files: string;
11
+ }[];
12
+ }, {
13
+ description: string;
14
+ email: {
15
+ github: string;
16
+ npm: string;
17
+ };
18
+ title: string;
19
+ owner: string;
20
+ repository: string;
21
+ access?: "public" | "restricted" | undefined;
22
+ author?: string | undefined;
23
+ bin?: string | undefined;
24
+ login?: string | undefined;
25
+ contributors?: {
26
+ name: string;
27
+ avatar_url: string;
28
+ contributions: string[];
29
+ login: string;
30
+ profile: string;
31
+ }[] | undefined;
32
+ documentation?: string | undefined;
33
+ funding?: string | undefined;
34
+ guide?: {
35
+ href: string;
36
+ title: string;
37
+ } | undefined;
38
+ hideTemplatedBy?: boolean | undefined;
39
+ keywords?: string[] | undefined;
40
+ logo?: {
41
+ alt: string;
42
+ src: string;
43
+ } | undefined;
44
+ node?: {
45
+ minimum: string;
46
+ pinned?: string | undefined;
47
+ } | undefined;
48
+ packageData?: {
49
+ dependencies?: Record<string, string> | undefined;
50
+ devDependencies?: Record<string, string> | undefined;
51
+ scripts?: Record<string, string> | undefined;
52
+ } | undefined;
53
+ preserveGeneratedFrom?: boolean | undefined;
54
+ version?: string | undefined;
55
+ }>;
56
+
57
+ export { blockPrettier };