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
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <h1 align="center">Create TypeScript App</h1>
2
2
 
3
- <p align="center">Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 💝</p>
3
+ <p align="center">Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. ❤️‍🔥</p>
4
4
 
5
5
  <p align="center">
6
6
  <!-- prettier-ignore-start -->
package/lib/bin/help.js CHANGED
@@ -1,23 +1,22 @@
1
1
  import chalk from "chalk";
2
2
  import { allArgOptions } from "../shared/options/args.js";
3
- function logHelpTextSection(section) {
4
- console.log(" ");
5
- console.log(chalk.black.bgGreenBright(section.sectionHeading));
6
- for (const subsection of section.subsections) {
7
- if (subsection.warning) {
8
- console.log(chalk.yellow(subsection.warning));
9
- }
10
- if (subsection.subheading) {
11
- console.log(chalk.green(subsection.subheading));
12
- }
13
- for (const { description, flag, type } of subsection.flags) {
14
- console.log(
15
- chalk.cyan(
16
- `
17
- --${flag}${type !== "boolean" ? ` (${chalk.cyanBright(type)})` : ""}: ${description}`
18
- )
19
- );
20
- }
3
+ function logHelpText(introLogs) {
4
+ const helpTextSections = createHelpTextSections();
5
+ for (const log of introLogs) {
6
+ console.log(log);
7
+ console.log(" ");
8
+ }
9
+ console.log(
10
+ chalk.cyan(
11
+ `
12
+ A quickstart-friendly TypeScript template with comprehensive formatting,
13
+ linting, releases, testing, and other great tooling built-in.
14
+ `
15
+ )
16
+ );
17
+ for (const section of helpTextSections) {
18
+ logHelpTextSection(section);
19
+ console.log();
21
20
  }
22
21
  }
23
22
  function createHelpTextSections() {
@@ -92,23 +91,24 @@ using any or all of the following CLI flags:`
92
91
  }
93
92
  return [core, optional, optOut, offline];
94
93
  }
95
- function logHelpText(introLogs) {
96
- const helpTextSections = createHelpTextSections();
97
- for (const log of introLogs) {
98
- console.log(log);
99
- console.log(" ");
100
- }
101
- console.log(
102
- chalk.cyan(
103
- `
104
- A quickstart-friendly TypeScript template with comprehensive formatting,
105
- linting, releases, testing, and other great tooling built-in.
106
- `
107
- )
108
- );
109
- for (const section of helpTextSections) {
110
- logHelpTextSection(section);
111
- console.log();
94
+ function logHelpTextSection(section) {
95
+ console.log(" ");
96
+ console.log(chalk.black.bgGreenBright(section.sectionHeading));
97
+ for (const subsection of section.subsections) {
98
+ if (subsection.warning) {
99
+ console.log(chalk.yellow(subsection.warning));
100
+ }
101
+ if (subsection.subheading) {
102
+ console.log(chalk.green(subsection.subheading));
103
+ }
104
+ for (const { description, flag, type } of subsection.flags) {
105
+ console.log(
106
+ chalk.cyan(
107
+ `
108
+ --${flag}${type !== "boolean" ? ` (${chalk.cyanBright(type)})` : ""}: ${description}`
109
+ )
110
+ );
111
+ }
112
112
  }
113
113
  }
114
114
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bin/help.ts"],"sourcesContent":["import chalk from \"chalk\";\n\nimport { allArgOptions } from \"../shared/options/args.js\";\n\ninterface HelpTextSection {\n\tsectionHeading: string;\n\tsubsections: {\n\t\tflags: SubsectionFlag[];\n\t\tsubheading?: string;\n\t\twarning?: string;\n\t}[];\n}\n\ninterface SubsectionFlag {\n\tdescription: string;\n\tflag: string;\n\ttype: string;\n}\n\nfunction logHelpTextSection(section: HelpTextSection): void {\n\tconsole.log(\" \");\n\n\tconsole.log(chalk.black.bgGreenBright(section.sectionHeading));\n\n\tfor (const subsection of section.subsections) {\n\t\tif (subsection.warning) {\n\t\t\tconsole.log(chalk.yellow(subsection.warning));\n\t\t}\n\n\t\tif (subsection.subheading) {\n\t\t\tconsole.log(chalk.green(subsection.subheading));\n\t\t}\n\n\t\tfor (const { description, flag, type } of subsection.flags) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.cyan(\n\t\t\t\t\t`\n --${flag}${\n\t\ttype !== \"boolean\" ? ` (${chalk.cyanBright(type)})` : \"\"\n\t}: ${description}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n}\n\nfunction createHelpTextSections(): HelpTextSection[] {\n\tconst core: HelpTextSection = {\n\t\tsectionHeading: \"Core options:\",\n\t\tsubsections: [\n\t\t\t{\n\t\t\t\tflags: [],\n\t\t\t},\n\t\t],\n\t};\n\n\tconst optional: HelpTextSection = {\n\t\tsectionHeading: \"Optional options:\",\n\t\tsubsections: [\n\t\t\t{\n\t\t\t\tflags: [],\n\t\t\t},\n\t\t],\n\t};\n\n\tconst optOut: HelpTextSection = {\n\t\tsectionHeading: \"Opt-outs:\",\n\t\tsubsections: [\n\t\t\t{\n\t\t\t\tflags: [],\n\t\t\t\twarning: `\n ⚠️ Warning: Specifying any --exclude-* flag on the command-line will \n cause the setup script to skip prompting for more excludes. ⚠️`,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdescription: `Skips network calls that fetch all-contributors\n data from GitHub`,\n\t\t\t\t\t\tflag: \"exclude-contributors\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tsubheading: `\nYou can prevent the migration script from making some network-based \nchanges using any or all of the following CLI flags:`,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: [],\n\t\t\t\tsubheading: `\nYou can prevent the migration script from making some changes on disk \nusing any or all of the following CLI flags:`,\n\t\t\t},\n\t\t],\n\t};\n\n\tconst offline: HelpTextSection = {\n\t\tsectionHeading: \"Offline Mode:\",\n\t\tsubsections: [\n\t\t\t{\n\t\t\t\tflags: [],\n\t\t\t},\n\t\t],\n\t};\n\n\tconst subsections = {\n\t\tcore: core.subsections[0],\n\t\toffline: offline.subsections[0],\n\t\t\"opt-out\": optOut.subsections[0],\n\t\toptional: optional.subsections[0],\n\t\t\"skip-disk\": optOut.subsections[2],\n\t\t\"skip-net\": optOut.subsections[1],\n\t};\n\n\tfor (const [option, data] of Object.entries(allArgOptions)) {\n\t\tsubsections[data.docsSection].flags.push({\n\t\t\tdescription: data.description,\n\t\t\tflag: option,\n\t\t\ttype: data.type,\n\t\t});\n\t}\n\n\treturn [core, optional, optOut, offline];\n}\n\nexport function logHelpText(introLogs: string[]): void {\n\tconst helpTextSections = createHelpTextSections();\n\n\tfor (const log of introLogs) {\n\t\tconsole.log(log);\n\t\tconsole.log(\" \");\n\t}\n\n\tconsole.log(\n\t\tchalk.cyan(\n\t\t\t`\nA quickstart-friendly TypeScript template with comprehensive formatting, \nlinting, releases, testing, and other great tooling built-in.\n `,\n\t\t),\n\t);\n\n\tfor (const section of helpTextSections) {\n\t\tlogHelpTextSection(section);\n\n\t\tconsole.log();\n\t}\n}\n"],"mappings":"AAAA,OAAO,WAAW;AAElB,SAAS,qBAAqB;AAiB9B,SAAS,mBAAmB,SAAgC;AAC3D,UAAQ,IAAI,GAAG;AAEf,UAAQ,IAAI,MAAM,MAAM,cAAc,QAAQ,cAAc,CAAC;AAE7D,aAAW,cAAc,QAAQ,aAAa;AAC7C,QAAI,WAAW,SAAS;AACvB,cAAQ,IAAI,MAAM,OAAO,WAAW,OAAO,CAAC;AAAA,IAC7C;AAEA,QAAI,WAAW,YAAY;AAC1B,cAAQ,IAAI,MAAM,MAAM,WAAW,UAAU,CAAC;AAAA,IAC/C;AAEA,eAAW,EAAE,aAAa,MAAM,KAAK,KAAK,WAAW,OAAO;AAC3D,cAAQ;AAAA,QACP,MAAM;AAAA,UACL;AAAA,MACC,IAAI,GACR,SAAS,YAAY,KAAK,MAAM,WAAW,IAAI,CAAC,MAAM,EACvD,KAAK,WAAW;AAAA,QACb;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;AAEA,SAAS,yBAA4C;AACpD,QAAM,OAAwB;AAAA,IAC7B,gBAAgB;AAAA,IAChB,aAAa;AAAA,MACZ;AAAA,QACC,OAAO,CAAC;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,QAAM,WAA4B;AAAA,IACjC,gBAAgB;AAAA,IAChB,aAAa;AAAA,MACZ;AAAA,QACC,OAAO,CAAC;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,QAAM,SAA0B;AAAA,IAC/B,gBAAgB;AAAA,IAChB,aAAa;AAAA,MACZ;AAAA,QACC,OAAO,CAAC;AAAA,QACR,SAAS;AAAA;AAAA;AAAA,MAGV;AAAA,MACA;AAAA,QACC,OAAO;AAAA,UACN;AAAA,YACC,aAAa;AAAA;AAAA,YAEb,MAAM;AAAA,YACN,MAAM;AAAA,UACP;AAAA,QACD;AAAA,QACA,YAAY;AAAA;AAAA;AAAA,MAGb;AAAA,MACA;AAAA,QACC,OAAO,CAAC;AAAA,QACR,YAAY;AAAA;AAAA;AAAA,MAGb;AAAA,IACD;AAAA,EACD;AAEA,QAAM,UAA2B;AAAA,IAChC,gBAAgB;AAAA,IAChB,aAAa;AAAA,MACZ;AAAA,QACC,OAAO,CAAC;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,QAAM,cAAc;AAAA,IACnB,MAAM,KAAK,YAAY,CAAC;AAAA,IACxB,SAAS,QAAQ,YAAY,CAAC;AAAA,IAC9B,WAAW,OAAO,YAAY,CAAC;AAAA,IAC/B,UAAU,SAAS,YAAY,CAAC;AAAA,IAChC,aAAa,OAAO,YAAY,CAAC;AAAA,IACjC,YAAY,OAAO,YAAY,CAAC;AAAA,EACjC;AAEA,aAAW,CAAC,QAAQ,IAAI,KAAK,OAAO,QAAQ,aAAa,GAAG;AAC3D,gBAAY,KAAK,WAAW,EAAE,MAAM,KAAK;AAAA,MACxC,aAAa,KAAK;AAAA,MAClB,MAAM;AAAA,MACN,MAAM,KAAK;AAAA,IACZ,CAAC;AAAA,EACF;AAEA,SAAO,CAAC,MAAM,UAAU,QAAQ,OAAO;AACxC;AAEO,SAAS,YAAY,WAA2B;AACtD,QAAM,mBAAmB,uBAAuB;AAEhD,aAAW,OAAO,WAAW;AAC5B,YAAQ,IAAI,GAAG;AACf,YAAQ,IAAI,GAAG;AAAA,EAChB;AAEA,UAAQ;AAAA,IACP,MAAM;AAAA,MACL;AAAA;AAAA;AAAA;AAAA,IAID;AAAA,EACD;AAEA,aAAW,WAAW,kBAAkB;AACvC,uBAAmB,OAAO;AAE1B,YAAQ,IAAI;AAAA,EACb;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/bin/help.ts"],"sourcesContent":["import chalk from \"chalk\";\n\nimport { allArgOptions } from \"../shared/options/args.js\";\n\ninterface HelpTextSection {\n\tsectionHeading: string;\n\tsubsections: {\n\t\tflags: SubsectionFlag[];\n\t\tsubheading?: string;\n\t\twarning?: string;\n\t}[];\n}\n\ninterface SubsectionFlag {\n\tdescription: string;\n\tflag: string;\n\ttype: string;\n}\n\nexport function logHelpText(introLogs: string[]): void {\n\tconst helpTextSections = createHelpTextSections();\n\n\tfor (const log of introLogs) {\n\t\tconsole.log(log);\n\t\tconsole.log(\" \");\n\t}\n\n\tconsole.log(\n\t\tchalk.cyan(\n\t\t\t`\nA quickstart-friendly TypeScript template with comprehensive formatting, \nlinting, releases, testing, and other great tooling built-in.\n `,\n\t\t),\n\t);\n\n\tfor (const section of helpTextSections) {\n\t\tlogHelpTextSection(section);\n\n\t\tconsole.log();\n\t}\n}\n\nfunction createHelpTextSections(): HelpTextSection[] {\n\tconst core: HelpTextSection = {\n\t\tsectionHeading: \"Core options:\",\n\t\tsubsections: [\n\t\t\t{\n\t\t\t\tflags: [],\n\t\t\t},\n\t\t],\n\t};\n\n\tconst optional: HelpTextSection = {\n\t\tsectionHeading: \"Optional options:\",\n\t\tsubsections: [\n\t\t\t{\n\t\t\t\tflags: [],\n\t\t\t},\n\t\t],\n\t};\n\n\tconst optOut: HelpTextSection = {\n\t\tsectionHeading: \"Opt-outs:\",\n\t\tsubsections: [\n\t\t\t{\n\t\t\t\tflags: [],\n\t\t\t\twarning: `\n ⚠️ Warning: Specifying any --exclude-* flag on the command-line will \n cause the setup script to skip prompting for more excludes. ⚠️`,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdescription: `Skips network calls that fetch all-contributors\n data from GitHub`,\n\t\t\t\t\t\tflag: \"exclude-contributors\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tsubheading: `\nYou can prevent the migration script from making some network-based \nchanges using any or all of the following CLI flags:`,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: [],\n\t\t\t\tsubheading: `\nYou can prevent the migration script from making some changes on disk \nusing any or all of the following CLI flags:`,\n\t\t\t},\n\t\t],\n\t};\n\n\tconst offline: HelpTextSection = {\n\t\tsectionHeading: \"Offline Mode:\",\n\t\tsubsections: [\n\t\t\t{\n\t\t\t\tflags: [],\n\t\t\t},\n\t\t],\n\t};\n\n\tconst subsections = {\n\t\tcore: core.subsections[0],\n\t\toffline: offline.subsections[0],\n\t\t\"opt-out\": optOut.subsections[0],\n\t\toptional: optional.subsections[0],\n\t\t\"skip-disk\": optOut.subsections[2],\n\t\t\"skip-net\": optOut.subsections[1],\n\t};\n\n\tfor (const [option, data] of Object.entries(allArgOptions)) {\n\t\tsubsections[data.docsSection].flags.push({\n\t\t\tdescription: data.description,\n\t\t\tflag: option,\n\t\t\ttype: data.type,\n\t\t});\n\t}\n\n\treturn [core, optional, optOut, offline];\n}\n\nfunction logHelpTextSection(section: HelpTextSection): void {\n\tconsole.log(\" \");\n\n\tconsole.log(chalk.black.bgGreenBright(section.sectionHeading));\n\n\tfor (const subsection of section.subsections) {\n\t\tif (subsection.warning) {\n\t\t\tconsole.log(chalk.yellow(subsection.warning));\n\t\t}\n\n\t\tif (subsection.subheading) {\n\t\t\tconsole.log(chalk.green(subsection.subheading));\n\t\t}\n\n\t\tfor (const { description, flag, type } of subsection.flags) {\n\t\t\tconsole.log(\n\t\t\t\tchalk.cyan(\n\t\t\t\t\t`\n --${flag}${\n\t\ttype !== \"boolean\" ? ` (${chalk.cyanBright(type)})` : \"\"\n\t}: ${description}`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n}\n"],"mappings":"AAAA,OAAO,WAAW;AAElB,SAAS,qBAAqB;AAiBvB,SAAS,YAAY,WAA2B;AACtD,QAAM,mBAAmB,uBAAuB;AAEhD,aAAW,OAAO,WAAW;AAC5B,YAAQ,IAAI,GAAG;AACf,YAAQ,IAAI,GAAG;AAAA,EAChB;AAEA,UAAQ;AAAA,IACP,MAAM;AAAA,MACL;AAAA;AAAA;AAAA;AAAA,IAID;AAAA,EACD;AAEA,aAAW,WAAW,kBAAkB;AACvC,uBAAmB,OAAO;AAE1B,YAAQ,IAAI;AAAA,EACb;AACD;AAEA,SAAS,yBAA4C;AACpD,QAAM,OAAwB;AAAA,IAC7B,gBAAgB;AAAA,IAChB,aAAa;AAAA,MACZ;AAAA,QACC,OAAO,CAAC;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,QAAM,WAA4B;AAAA,IACjC,gBAAgB;AAAA,IAChB,aAAa;AAAA,MACZ;AAAA,QACC,OAAO,CAAC;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,QAAM,SAA0B;AAAA,IAC/B,gBAAgB;AAAA,IAChB,aAAa;AAAA,MACZ;AAAA,QACC,OAAO,CAAC;AAAA,QACR,SAAS;AAAA;AAAA;AAAA,MAGV;AAAA,MACA;AAAA,QACC,OAAO;AAAA,UACN;AAAA,YACC,aAAa;AAAA;AAAA,YAEb,MAAM;AAAA,YACN,MAAM;AAAA,UACP;AAAA,QACD;AAAA,QACA,YAAY;AAAA;AAAA;AAAA,MAGb;AAAA,MACA;AAAA,QACC,OAAO,CAAC;AAAA,QACR,YAAY;AAAA;AAAA;AAAA,MAGb;AAAA,IACD;AAAA,EACD;AAEA,QAAM,UAA2B;AAAA,IAChC,gBAAgB;AAAA,IAChB,aAAa;AAAA,MACZ;AAAA,QACC,OAAO,CAAC;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,QAAM,cAAc;AAAA,IACnB,MAAM,KAAK,YAAY,CAAC;AAAA,IACxB,SAAS,QAAQ,YAAY,CAAC;AAAA,IAC9B,WAAW,OAAO,YAAY,CAAC;AAAA,IAC/B,UAAU,SAAS,YAAY,CAAC;AAAA,IAChC,aAAa,OAAO,YAAY,CAAC;AAAA,IACjC,YAAY,OAAO,YAAY,CAAC;AAAA,EACjC;AAEA,aAAW,CAAC,QAAQ,IAAI,KAAK,OAAO,QAAQ,aAAa,GAAG;AAC3D,gBAAY,KAAK,WAAW,EAAE,MAAM,KAAK;AAAA,MACxC,aAAa,KAAK;AAAA,MAClB,MAAM;AAAA,MACN,MAAM,KAAK;AAAA,IACZ,CAAC;AAAA,EACF;AAEA,SAAO,CAAC,MAAM,UAAU,QAAQ,OAAO;AACxC;AAEA,SAAS,mBAAmB,SAAgC;AAC3D,UAAQ,IAAI,GAAG;AAEf,UAAQ,IAAI,MAAM,MAAM,cAAc,QAAQ,cAAc,CAAC;AAE7D,aAAW,cAAc,QAAQ,aAAa;AAC7C,QAAI,WAAW,SAAS;AACvB,cAAQ,IAAI,MAAM,OAAO,WAAW,OAAO,CAAC;AAAA,IAC7C;AAEA,QAAI,WAAW,YAAY;AAC1B,cAAQ,IAAI,MAAM,MAAM,WAAW,UAAU,CAAC;AAAA,IAC/C;AAEA,eAAW,EAAE,aAAa,MAAM,KAAK,KAAK,WAAW,OAAO;AAC3D,cAAQ;AAAA,QACP,MAAM;AAAA,UACL;AAAA,MACC,IAAI,GACR,SAAS,YAAY,KAAK,MAAM,WAAW,IAAI,CAAC,MAAM,EACvD,KAAK,WAAW;AAAA,QACb;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
@@ -6,12 +6,6 @@ import * as process from "node:process";
6
6
  import { logLine } from "../shared/cli/lines.js";
7
7
  import { filterPromptCancel } from "../shared/prompts.js";
8
8
  const allowedModes = ["create", "initialize", "migrate"];
9
- function isMode(input) {
10
- return allowedModes.includes(input);
11
- }
12
- function label(base, text) {
13
- return `${chalk.bold(base)} ${text}`;
14
- }
15
9
  async function promptForMode(auto, input) {
16
10
  if (auto && input !== "migrate") {
17
11
  return {
@@ -101,6 +95,12 @@ async function promptForMode(auto, input) {
101
95
  mode: "create"
102
96
  };
103
97
  }
98
+ function isMode(input) {
99
+ return allowedModes.includes(input);
100
+ }
101
+ function label(base, text) {
102
+ return `${chalk.bold(base)} ${text}`;
103
+ }
104
104
  export {
105
105
  promptForMode
106
106
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/bin/promptForMode.ts"],"sourcesContent":["import * as prompts from \"@clack/prompts\";\nimport chalk from \"chalk\";\nimport * as fs from \"fs/promises\";\nimport path from \"node:path\";\nimport * as process from \"node:process\";\n\nimport { logLine } from \"../shared/cli/lines.js\";\nimport { filterPromptCancel } from \"../shared/prompts.js\";\nimport { Mode, PromptedOptions } from \"../shared/types.js\";\n\nconst allowedModes = [\"create\", \"initialize\", \"migrate\"] satisfies Mode[];\n\nfunction isMode(input: boolean | string): input is Mode {\n\treturn allowedModes.includes(input as Mode);\n}\n\nfunction label(base: string, text: string) {\n\treturn `${chalk.bold(base)} ${text}`;\n}\n\nexport interface PromptedMode {\n\tmode: Error | Mode | undefined;\n\toptions?: PromptedOptions;\n}\n\nexport async function promptForMode(\n\tauto: boolean,\n\tinput: boolean | string | undefined,\n): Promise<PromptedMode> {\n\tif (auto && input !== \"migrate\") {\n\t\treturn {\n\t\t\tmode: new Error(\"--auto can only be used with --mode migrate.\"),\n\t\t};\n\t}\n\n\tif (input) {\n\t\tif (!isMode(input)) {\n\t\t\treturn {\n\t\t\t\tmode: new Error(\n\t\t\t\t\t`Unknown --mode: ${input}. Allowed modes are: ${allowedModes.join(\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\n\t\treturn { mode: input };\n\t}\n\n\tconst dir = await fs.readdir(\".\");\n\n\tif (dir.length === 0) {\n\t\tconst mode = filterPromptCancel(\n\t\t\t(await prompts.select({\n\t\t\t\tmessage: chalk.blue(\"How would you like to use the template?\"),\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: label(\n\t\t\t\t\t\t\t\"create\",\n\t\t\t\t\t\t\t\"a new repository in the current empty directory\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\tvalue: \"create-current\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: label(\"create\", \"a new repository in a new child directory\"),\n\t\t\t\t\t\tvalue: \"create-child\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})) as string,\n\t\t);\n\n\t\tconst directory = path.basename(process.cwd());\n\n\t\treturn {\n\t\t\tmode: \"create\",\n\t\t\t...(mode === \"create-current\" && {\n\t\t\t\toptions: {\n\t\t\t\t\tdirectory: \".\",\n\t\t\t\t\trepository: directory,\n\t\t\t\t},\n\t\t\t}),\n\t\t};\n\t}\n\n\tif (dir.includes(\".git\")) {\n\t\treturn {\n\t\t\tmode: filterPromptCancel(\n\t\t\t\t(await prompts.select({\n\t\t\t\t\tinitialValue: \"migrate\" as Mode,\n\t\t\t\t\tmessage: chalk.blue(\"How would you like to use the template?\"),\n\t\t\t\t\toptions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: label(\"create\", \"a new repository in a child directory\"),\n\t\t\t\t\t\t\tvalue: \"create\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: label(\n\t\t\t\t\t\t\t\t\"initialize\",\n\t\t\t\t\t\t\t\t\"a freshly cloned repository in the current directory\",\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tvalue: \"initialize\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: label(\n\t\t\t\t\t\t\t\t\"migrate\",\n\t\t\t\t\t\t\t\t\"the existing repository in the current directory\",\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tvalue: \"migrate\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})) as Mode | symbol,\n\t\t\t),\n\t\t};\n\t}\n\n\tlogLine();\n\tlogLine(\n\t\tchalk.gray(\n\t\t\t\"Defaulting to --mode create because the directory contains children and isn't a Git repository.\",\n\t\t),\n\t);\n\n\treturn {\n\t\tmode: \"create\",\n\t};\n}\n"],"mappings":"AAAA,YAAY,aAAa;AACzB,OAAO,WAAW;AAClB,YAAY,QAAQ;AACpB,OAAO,UAAU;AACjB,YAAY,aAAa;AAEzB,SAAS,eAAe;AACxB,SAAS,0BAA0B;AAGnC,MAAM,eAAe,CAAC,UAAU,cAAc,SAAS;AAEvD,SAAS,OAAO,OAAwC;AACvD,SAAO,aAAa,SAAS,KAAa;AAC3C;AAEA,SAAS,MAAM,MAAc,MAAc;AAC1C,SAAO,GAAG,MAAM,KAAK,IAAI,CAAC,IAAI,IAAI;AACnC;AAOA,eAAsB,cACrB,MACA,OACwB;AACxB,MAAI,QAAQ,UAAU,WAAW;AAChC,WAAO;AAAA,MACN,MAAM,IAAI,MAAM,8CAA8C;AAAA,IAC/D;AAAA,EACD;AAEA,MAAI,OAAO;AACV,QAAI,CAAC,OAAO,KAAK,GAAG;AACnB,aAAO;AAAA,QACN,MAAM,IAAI;AAAA,UACT,mBAAmB,KAAK,wBAAwB,aAAa;AAAA,YAC5D;AAAA,UACD,CAAC;AAAA,QACF;AAAA,MACD;AAAA,IACD;AAEA,WAAO,EAAE,MAAM,MAAM;AAAA,EACtB;AAEA,QAAM,MAAM,MAAM,GAAG,QAAQ,GAAG;AAEhC,MAAI,IAAI,WAAW,GAAG;AACrB,UAAM,OAAO;AAAA,MACX,MAAM,QAAQ,OAAO;AAAA,QACrB,SAAS,MAAM,KAAK,yCAAyC;AAAA,QAC7D,SAAS;AAAA,UACR;AAAA,YACC,OAAO;AAAA,cACN;AAAA,cACA;AAAA,YACD;AAAA,YACA,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,OAAO,MAAM,UAAU,2CAA2C;AAAA,YAClE,OAAO;AAAA,UACR;AAAA,QACD;AAAA,MACD,CAAC;AAAA,IACF;AAEA,UAAM,YAAY,KAAK,SAAS,QAAQ,IAAI,CAAC;AAE7C,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,SAAS,oBAAoB;AAAA,QAChC,SAAS;AAAA,UACR,WAAW;AAAA,UACX,YAAY;AAAA,QACb;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,MAAI,IAAI,SAAS,MAAM,GAAG;AACzB,WAAO;AAAA,MACN,MAAM;AAAA,QACJ,MAAM,QAAQ,OAAO;AAAA,UACrB,cAAc;AAAA,UACd,SAAS,MAAM,KAAK,yCAAyC;AAAA,UAC7D,SAAS;AAAA,YACR;AAAA,cACC,OAAO,MAAM,UAAU,uCAAuC;AAAA,cAC9D,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,OAAO;AAAA,gBACN;AAAA,gBACA;AAAA,cACD;AAAA,cACA,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,OAAO;AAAA,gBACN;AAAA,gBACA;AAAA,cACD;AAAA,cACA,OAAO;AAAA,YACR;AAAA,UACD;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AAEA,UAAQ;AACR;AAAA,IACC,MAAM;AAAA,MACL;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN,MAAM;AAAA,EACP;AACD;","names":[]}
1
+ {"version":3,"sources":["../../src/bin/promptForMode.ts"],"sourcesContent":["import * as prompts from \"@clack/prompts\";\nimport chalk from \"chalk\";\nimport * as fs from \"fs/promises\";\nimport path from \"node:path\";\nimport * as process from \"node:process\";\n\nimport { logLine } from \"../shared/cli/lines.js\";\nimport { filterPromptCancel } from \"../shared/prompts.js\";\nimport { Mode, PromptedOptions } from \"../shared/types.js\";\n\nconst allowedModes = [\"create\", \"initialize\", \"migrate\"] satisfies Mode[];\n\nexport interface PromptedMode {\n\tmode: Error | Mode | undefined;\n\toptions?: PromptedOptions;\n}\n\nexport async function promptForMode(\n\tauto: boolean,\n\tinput: boolean | string | undefined,\n): Promise<PromptedMode> {\n\tif (auto && input !== \"migrate\") {\n\t\treturn {\n\t\t\tmode: new Error(\"--auto can only be used with --mode migrate.\"),\n\t\t};\n\t}\n\n\tif (input) {\n\t\tif (!isMode(input)) {\n\t\t\treturn {\n\t\t\t\tmode: new Error(\n\t\t\t\t\t`Unknown --mode: ${input}. Allowed modes are: ${allowedModes.join(\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\n\t\treturn { mode: input };\n\t}\n\n\tconst dir = await fs.readdir(\".\");\n\n\tif (dir.length === 0) {\n\t\tconst mode = filterPromptCancel(\n\t\t\t(await prompts.select({\n\t\t\t\tmessage: chalk.blue(\"How would you like to use the template?\"),\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: label(\n\t\t\t\t\t\t\t\"create\",\n\t\t\t\t\t\t\t\"a new repository in the current empty directory\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\tvalue: \"create-current\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: label(\"create\", \"a new repository in a new child directory\"),\n\t\t\t\t\t\tvalue: \"create-child\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})) as string,\n\t\t);\n\n\t\tconst directory = path.basename(process.cwd());\n\n\t\treturn {\n\t\t\tmode: \"create\",\n\t\t\t...(mode === \"create-current\" && {\n\t\t\t\toptions: {\n\t\t\t\t\tdirectory: \".\",\n\t\t\t\t\trepository: directory,\n\t\t\t\t},\n\t\t\t}),\n\t\t};\n\t}\n\n\tif (dir.includes(\".git\")) {\n\t\treturn {\n\t\t\tmode: filterPromptCancel(\n\t\t\t\t(await prompts.select({\n\t\t\t\t\tinitialValue: \"migrate\" as Mode,\n\t\t\t\t\tmessage: chalk.blue(\"How would you like to use the template?\"),\n\t\t\t\t\toptions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: label(\"create\", \"a new repository in a child directory\"),\n\t\t\t\t\t\t\tvalue: \"create\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: label(\n\t\t\t\t\t\t\t\t\"initialize\",\n\t\t\t\t\t\t\t\t\"a freshly cloned repository in the current directory\",\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tvalue: \"initialize\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: label(\n\t\t\t\t\t\t\t\t\"migrate\",\n\t\t\t\t\t\t\t\t\"the existing repository in the current directory\",\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tvalue: \"migrate\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t})) as Mode | symbol,\n\t\t\t),\n\t\t};\n\t}\n\n\tlogLine();\n\tlogLine(\n\t\tchalk.gray(\n\t\t\t\"Defaulting to --mode create because the directory contains children and isn't a Git repository.\",\n\t\t),\n\t);\n\n\treturn {\n\t\tmode: \"create\",\n\t};\n}\n\nfunction isMode(input: boolean | string): input is Mode {\n\treturn allowedModes.includes(input as Mode);\n}\n\nfunction label(base: string, text: string) {\n\treturn `${chalk.bold(base)} ${text}`;\n}\n"],"mappings":"AAAA,YAAY,aAAa;AACzB,OAAO,WAAW;AAClB,YAAY,QAAQ;AACpB,OAAO,UAAU;AACjB,YAAY,aAAa;AAEzB,SAAS,eAAe;AACxB,SAAS,0BAA0B;AAGnC,MAAM,eAAe,CAAC,UAAU,cAAc,SAAS;AAOvD,eAAsB,cACrB,MACA,OACwB;AACxB,MAAI,QAAQ,UAAU,WAAW;AAChC,WAAO;AAAA,MACN,MAAM,IAAI,MAAM,8CAA8C;AAAA,IAC/D;AAAA,EACD;AAEA,MAAI,OAAO;AACV,QAAI,CAAC,OAAO,KAAK,GAAG;AACnB,aAAO;AAAA,QACN,MAAM,IAAI;AAAA,UACT,mBAAmB,KAAK,wBAAwB,aAAa;AAAA,YAC5D;AAAA,UACD,CAAC;AAAA,QACF;AAAA,MACD;AAAA,IACD;AAEA,WAAO,EAAE,MAAM,MAAM;AAAA,EACtB;AAEA,QAAM,MAAM,MAAM,GAAG,QAAQ,GAAG;AAEhC,MAAI,IAAI,WAAW,GAAG;AACrB,UAAM,OAAO;AAAA,MACX,MAAM,QAAQ,OAAO;AAAA,QACrB,SAAS,MAAM,KAAK,yCAAyC;AAAA,QAC7D,SAAS;AAAA,UACR;AAAA,YACC,OAAO;AAAA,cACN;AAAA,cACA;AAAA,YACD;AAAA,YACA,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,OAAO,MAAM,UAAU,2CAA2C;AAAA,YAClE,OAAO;AAAA,UACR;AAAA,QACD;AAAA,MACD,CAAC;AAAA,IACF;AAEA,UAAM,YAAY,KAAK,SAAS,QAAQ,IAAI,CAAC;AAE7C,WAAO;AAAA,MACN,MAAM;AAAA,MACN,GAAI,SAAS,oBAAoB;AAAA,QAChC,SAAS;AAAA,UACR,WAAW;AAAA,UACX,YAAY;AAAA,QACb;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,MAAI,IAAI,SAAS,MAAM,GAAG;AACzB,WAAO;AAAA,MACN,MAAM;AAAA,QACJ,MAAM,QAAQ,OAAO;AAAA,UACrB,cAAc;AAAA,UACd,SAAS,MAAM,KAAK,yCAAyC;AAAA,UAC7D,SAAS;AAAA,YACR;AAAA,cACC,OAAO,MAAM,UAAU,uCAAuC;AAAA,cAC9D,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,OAAO;AAAA,gBACN;AAAA,gBACA;AAAA,cACD;AAAA,cACA,OAAO;AAAA,YACR;AAAA,YACA;AAAA,cACC,OAAO;AAAA,gBACN;AAAA,gBACA;AAAA,cACD;AAAA,cACA,OAAO;AAAA,YACR;AAAA,UACD;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AAEA,UAAQ;AACR;AAAA,IACC,MAAM;AAAA,MACL;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN,MAAM;AAAA,EACP;AACD;AAEA,SAAS,OAAO,OAAwC;AACvD,SAAO,aAAa,SAAS,KAAa;AAC3C;AAEA,SAAS,MAAM,MAAc,MAAc;AAC1C,SAAO,GAAG,MAAM,KAAK,IAAI,CAAC,IAAI,IAAI;AACnC;","names":[]}
@@ -1,12 +1,15 @@
1
1
  import { $ } from "execa";
2
- import { withSpinner, withSpinners } from "../shared/cli/spinners.js";
2
+ import {
3
+ withSpinner,
4
+ withSpinners
5
+ } from "../shared/cli/spinners.js";
3
6
  import { createCleanupCommands } from "../shared/createCleanupCommands.js";
4
7
  import { doesRepositoryExist } from "../shared/doesRepositoryExist.js";
8
+ import { isUsingCreateEngine } from "../shared/isUsingCreateEngine.js";
5
9
  import { addToolAllContributors } from "../steps/addToolAllContributors.js";
6
10
  import { clearLocalGitTags } from "../steps/clearLocalGitTags.js";
7
11
  import { finalizeDependencies } from "../steps/finalizeDependencies.js";
8
12
  import { initializeGitHubRepository } from "../steps/initializeGitHubRepository/index.js";
9
- import { populateCSpellDictionary } from "../steps/populateCSpellDictionary.js";
10
13
  import { runCleanup } from "../steps/runCleanup.js";
11
14
  import { writeReadme } from "../steps/writeReadme/index.js";
12
15
  import { writeStructure } from "../steps/writing/writeStructure.js";
@@ -18,11 +21,13 @@ async function createWithOptions({ github, options }) {
18
21
  await writeStructure(options);
19
22
  }
20
23
  ],
21
- [
22
- "Writing README.md",
23
- async () => {
24
- await writeReadme(options);
25
- }
24
+ ...isUsingCreateEngine() ? [] : [
25
+ [
26
+ "Writing README.md",
27
+ async () => {
28
+ await writeReadme(options);
29
+ }
30
+ ]
26
31
  ]
27
32
  ]);
28
33
  if (!options.excludeAllContributors && !options.skipAllContributorsApi) {
@@ -35,12 +40,6 @@ async function createWithOptions({ github, options }) {
35
40
  "Installing packages",
36
41
  async () => finalizeDependencies(options)
37
42
  );
38
- if (!options.excludeLintSpelling) {
39
- await withSpinner(
40
- "Populating CSpell dictionary",
41
- populateCSpellDictionary
42
- );
43
- }
44
43
  await runCleanup(createCleanupCommands(options.bin), options.mode);
45
44
  }
46
45
  await withSpinner("Clearing any local Git tags", clearLocalGitTags);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/create/createWithOptions.ts"],"sourcesContent":["import { $ } from \"execa\";\n\nimport { withSpinner, withSpinners } from \"../shared/cli/spinners.js\";\nimport { createCleanupCommands } from \"../shared/createCleanupCommands.js\";\nimport { doesRepositoryExist } from \"../shared/doesRepositoryExist.js\";\nimport { GitHubAndOptions } from \"../shared/options/readOptions.js\";\nimport { addToolAllContributors } from \"../steps/addToolAllContributors.js\";\nimport { clearLocalGitTags } from \"../steps/clearLocalGitTags.js\";\nimport { finalizeDependencies } from \"../steps/finalizeDependencies.js\";\nimport { initializeGitHubRepository } from \"../steps/initializeGitHubRepository/index.js\";\nimport { populateCSpellDictionary } from \"../steps/populateCSpellDictionary.js\";\nimport { runCleanup } from \"../steps/runCleanup.js\";\nimport { writeReadme } from \"../steps/writeReadme/index.js\";\nimport { writeStructure } from \"../steps/writing/writeStructure.js\";\n\nexport async function createWithOptions({ github, options }: GitHubAndOptions) {\n\tawait withSpinners(\"Creating repository structure\", [\n\t\t[\n\t\t\t\"Writing structure\",\n\t\t\tasync () => {\n\t\t\t\tawait writeStructure(options);\n\t\t\t},\n\t\t],\n\t\t[\n\t\t\t\"Writing README.md\",\n\t\t\tasync () => {\n\t\t\t\tawait writeReadme(options);\n\t\t\t},\n\t\t],\n\t]);\n\n\tif (!options.excludeAllContributors && !options.skipAllContributorsApi) {\n\t\tawait withSpinner(\"Adding contributors to table\", async () => {\n\t\t\tawait addToolAllContributors(github?.octokit, options);\n\t\t});\n\t}\n\n\tif (!options.skipInstall) {\n\t\tawait withSpinner(\"Installing packages\", async () =>\n\t\t\tfinalizeDependencies(options),\n\t\t);\n\n\t\tif (!options.excludeLintSpelling) {\n\t\t\tawait withSpinner(\n\t\t\t\t\"Populating CSpell dictionary\",\n\t\t\t\tpopulateCSpellDictionary,\n\t\t\t);\n\t\t}\n\n\t\tawait runCleanup(createCleanupCommands(options.bin), options.mode);\n\t}\n\n\tawait withSpinner(\"Clearing any local Git tags\", clearLocalGitTags);\n\n\tconst sendToGitHub =\n\t\tgithub && (await doesRepositoryExist(github.octokit, options));\n\n\tif (sendToGitHub) {\n\t\tawait withSpinner(\"Initializing GitHub repository\", async () => {\n\t\t\tawait $`git remote add origin https://github.com/${options.owner}/${options.repository}`;\n\t\t\tawait $`git add -A`;\n\t\t\tawait $`git commit --message ${\"feat: initialized repo ✨\"} --no-gpg-sign`;\n\t\t\tawait $`git push -u origin main --force`;\n\t\t\tawait initializeGitHubRepository(github.octokit, options);\n\t\t});\n\t}\n\n\treturn { sentToGitHub: sendToGitHub };\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAElB,SAAS,aAAa,oBAAoB;AAC1C,SAAS,6BAA6B;AACtC,SAAS,2BAA2B;AAEpC,SAAS,8BAA8B;AACvC,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AACrC,SAAS,kCAAkC;AAC3C,SAAS,gCAAgC;AACzC,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAE/B,eAAsB,kBAAkB,EAAE,QAAQ,QAAQ,GAAqB;AAC9E,QAAM,aAAa,iCAAiC;AAAA,IACnD;AAAA,MACC;AAAA,MACA,YAAY;AACX,cAAM,eAAe,OAAO;AAAA,MAC7B;AAAA,IACD;AAAA,IACA;AAAA,MACC;AAAA,MACA,YAAY;AACX,cAAM,YAAY,OAAO;AAAA,MAC1B;AAAA,IACD;AAAA,EACD,CAAC;AAED,MAAI,CAAC,QAAQ,0BAA0B,CAAC,QAAQ,wBAAwB;AACvE,UAAM,YAAY,gCAAgC,YAAY;AAC7D,YAAM,uBAAuB,QAAQ,SAAS,OAAO;AAAA,IACtD,CAAC;AAAA,EACF;AAEA,MAAI,CAAC,QAAQ,aAAa;AACzB,UAAM;AAAA,MAAY;AAAA,MAAuB,YACxC,qBAAqB,OAAO;AAAA,IAC7B;AAEA,QAAI,CAAC,QAAQ,qBAAqB;AACjC,YAAM;AAAA,QACL;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAEA,UAAM,WAAW,sBAAsB,QAAQ,GAAG,GAAG,QAAQ,IAAI;AAAA,EAClE;AAEA,QAAM,YAAY,+BAA+B,iBAAiB;AAElE,QAAM,eACL,UAAW,MAAM,oBAAoB,OAAO,SAAS,OAAO;AAE7D,MAAI,cAAc;AACjB,UAAM,YAAY,kCAAkC,YAAY;AAC/D,YAAM,6CAA6C,QAAQ,KAAK,IAAI,QAAQ,UAAU;AACtF,YAAM;AACN,YAAM,yBAAyB,+BAA0B;AACzD,YAAM;AACN,YAAM,2BAA2B,OAAO,SAAS,OAAO;AAAA,IACzD,CAAC;AAAA,EACF;AAEA,SAAO,EAAE,cAAc,aAAa;AACrC;","names":[]}
1
+ {"version":3,"sources":["../../src/create/createWithOptions.ts"],"sourcesContent":["import { $ } from \"execa\";\n\nimport {\n\tLabeledSpinnerTask,\n\twithSpinner,\n\twithSpinners,\n} from \"../shared/cli/spinners.js\";\nimport { createCleanupCommands } from \"../shared/createCleanupCommands.js\";\nimport { doesRepositoryExist } from \"../shared/doesRepositoryExist.js\";\nimport { isUsingCreateEngine } from \"../shared/isUsingCreateEngine.js\";\nimport { GitHubAndOptions } from \"../shared/options/readOptions.js\";\nimport { addToolAllContributors } from \"../steps/addToolAllContributors.js\";\nimport { clearLocalGitTags } from \"../steps/clearLocalGitTags.js\";\nimport { finalizeDependencies } from \"../steps/finalizeDependencies.js\";\nimport { initializeGitHubRepository } from \"../steps/initializeGitHubRepository/index.js\";\nimport { runCleanup } from \"../steps/runCleanup.js\";\nimport { writeReadme } from \"../steps/writeReadme/index.js\";\nimport { writeStructure } from \"../steps/writing/writeStructure.js\";\n\nexport async function createWithOptions({ github, options }: GitHubAndOptions) {\n\tawait withSpinners(\"Creating repository structure\", [\n\t\t[\n\t\t\t\"Writing structure\",\n\t\t\tasync () => {\n\t\t\t\tawait writeStructure(options);\n\t\t\t},\n\t\t],\n\t\t...(isUsingCreateEngine()\n\t\t\t? []\n\t\t\t: [\n\t\t\t\t\t[\n\t\t\t\t\t\t\"Writing README.md\",\n\t\t\t\t\t\tasync () => {\n\t\t\t\t\t\t\tawait writeReadme(options);\n\t\t\t\t\t\t},\n\t\t\t\t\t] satisfies LabeledSpinnerTask<void>,\n\t\t\t\t]),\n\t]);\n\n\tif (!options.excludeAllContributors && !options.skipAllContributorsApi) {\n\t\tawait withSpinner(\"Adding contributors to table\", async () => {\n\t\t\tawait addToolAllContributors(github?.octokit, options);\n\t\t});\n\t}\n\n\tif (!options.skipInstall) {\n\t\tawait withSpinner(\"Installing packages\", async () =>\n\t\t\tfinalizeDependencies(options),\n\t\t);\n\n\t\tawait runCleanup(createCleanupCommands(options.bin), options.mode);\n\t}\n\n\tawait withSpinner(\"Clearing any local Git tags\", clearLocalGitTags);\n\n\tconst sendToGitHub =\n\t\tgithub && (await doesRepositoryExist(github.octokit, options));\n\n\tif (sendToGitHub) {\n\t\tawait withSpinner(\"Initializing GitHub repository\", async () => {\n\t\t\tawait $`git remote add origin https://github.com/${options.owner}/${options.repository}`;\n\t\t\tawait $`git add -A`;\n\t\t\tawait $`git commit --message ${\"feat: initialized repo ✨\"} --no-gpg-sign`;\n\t\t\tawait $`git push -u origin main --force`;\n\t\t\tawait initializeGitHubRepository(github.octokit, options);\n\t\t});\n\t}\n\n\treturn { sentToGitHub: sendToGitHub };\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAElB;AAAA,EAEC;AAAA,EACA;AAAA,OACM;AACP,SAAS,6BAA6B;AACtC,SAAS,2BAA2B;AACpC,SAAS,2BAA2B;AAEpC,SAAS,8BAA8B;AACvC,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AACrC,SAAS,kCAAkC;AAC3C,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAE/B,eAAsB,kBAAkB,EAAE,QAAQ,QAAQ,GAAqB;AAC9E,QAAM,aAAa,iCAAiC;AAAA,IACnD;AAAA,MACC;AAAA,MACA,YAAY;AACX,cAAM,eAAe,OAAO;AAAA,MAC7B;AAAA,IACD;AAAA,IACA,GAAI,oBAAoB,IACrB,CAAC,IACD;AAAA,MACA;AAAA,QACC;AAAA,QACA,YAAY;AACX,gBAAM,YAAY,OAAO;AAAA,QAC1B;AAAA,MACD;AAAA,IACD;AAAA,EACH,CAAC;AAED,MAAI,CAAC,QAAQ,0BAA0B,CAAC,QAAQ,wBAAwB;AACvE,UAAM,YAAY,gCAAgC,YAAY;AAC7D,YAAM,uBAAuB,QAAQ,SAAS,OAAO;AAAA,IACtD,CAAC;AAAA,EACF;AAEA,MAAI,CAAC,QAAQ,aAAa;AACzB,UAAM;AAAA,MAAY;AAAA,MAAuB,YACxC,qBAAqB,OAAO;AAAA,IAC7B;AAEA,UAAM,WAAW,sBAAsB,QAAQ,GAAG,GAAG,QAAQ,IAAI;AAAA,EAClE;AAEA,QAAM,YAAY,+BAA+B,iBAAiB;AAElE,QAAM,eACL,UAAW,MAAM,oBAAoB,OAAO,SAAS,OAAO;AAE7D,MAAI,cAAc;AACjB,UAAM,YAAY,kCAAkC,YAAY;AAC/D,YAAM,6CAA6C,QAAQ,KAAK,IAAI,QAAQ,UAAU;AACtF,YAAM;AACN,YAAM,yBAAyB,+BAA0B;AACzD,YAAM;AACN,YAAM,2BAA2B,OAAO,SAAS,OAAO;AAAA,IACzD,CAAC;AAAA,EACF;AAEA,SAAO,EAAE,cAAc,aAAa;AACrC;","names":[]}
package/lib/index.d.ts CHANGED
@@ -1,2 +1,47 @@
1
1
  export { greet } from './greet.js';
2
+ export { blockAllContributors } from './next/blocks/blockAllContributors.js';
3
+ export { blockAreTheTypesWrong } from './next/blocks/blockAreTheTypesWrong.js';
4
+ export { blockContributingDocs } from './next/blocks/blockContributingDocs.js';
5
+ export { blockContributorCovenant } from './next/blocks/blockContributorCovenant.js';
6
+ export { blockCSpell } from './next/blocks/blockCSpell.js';
7
+ export { blockDevelopmentDocs } from './next/blocks/blockDevelopmentDocs.js';
8
+ export { blockESLint } from './next/blocks/blockESLint.js';
9
+ export { blockESLintComments } from './next/blocks/blockESLintComments.js';
10
+ export { blockESLintJSDoc } from './next/blocks/blockESLintJSDoc.js';
11
+ export { blockESLintJSONC } from './next/blocks/blockESLintJSONC.js';
12
+ export { blockESLintMarkdown } from './next/blocks/blockESLintMarkdown.js';
13
+ export { blockESLintMoreStyling } from './next/blocks/blockESLintMoreStyling.js';
14
+ export { blockESLintNode } from './next/blocks/blockESLintNode.js';
15
+ export { blockESLintPackageJson } from './next/blocks/blockESLintPackageJson.js';
16
+ export { blockESLintPerfectionist } from './next/blocks/blockESLintPerfectionist.js';
17
+ export { blockESLintRegexp } from './next/blocks/blockESLintRegexp.js';
18
+ export { blockESLintYML } from './next/blocks/blockESLintYML.js';
19
+ export { blockFunding } from './next/blocks/blockFunding.js';
20
+ export { blockGitHubActionsCI } from './next/blocks/blockGitHubActionsCI.js';
21
+ export { blockGitHubIssueTemplates } from './next/blocks/blockGitHubIssueTemplates.js';
22
+ export { blockGitHubPRTemplate } from './next/blocks/blockGitHubPRTemplate.js';
23
+ export { blockGitignore } from './next/blocks/blockGitignore.js';
24
+ export { blockKnip } from './next/blocks/blockKnip.js';
25
+ export { blockMarkdownlint } from './next/blocks/blockMarkdownlint.js';
26
+ export { blockMITLicense } from './next/blocks/blockMITLicense.js';
27
+ export { blockNvmrc } from './next/blocks/blockNvmrc.js';
28
+ export { blockPackageJson } from './next/blocks/blockPackageJson.js';
29
+ export { blockPnpmDedupe } from './next/blocks/blockPnpmDedupe.js';
30
+ export { blockPRCompliance } from './next/blocks/blockPRCompliance.js';
31
+ export { blockPrettier } from './next/blocks/blockPrettier.js';
32
+ export { blockPrettierPluginCurly } from './next/blocks/blockPrettierPluginCurly.js';
33
+ export { blockPrettierPluginPackageJson } from './next/blocks/blockPrettierPluginPackageJson.js';
34
+ export { blockPrettierPluginSh } from './next/blocks/blockPrettierPluginSh.js';
35
+ export { blockREADME } from './next/blocks/blockREADME.js';
36
+ export { blockReleaseIt } from './next/blocks/blockReleaseIt.js';
37
+ export { blockRenovate } from './next/blocks/blockRenovate.js';
38
+ export { blockSecurityDocs } from './next/blocks/blockSecurityDocs.js';
39
+ export { blockTemplatedBy } from './next/blocks/blockTemplatedBy.js';
40
+ export { blockTSup } from './next/blocks/blockTSup.js';
41
+ export { blockTypeScript } from './next/blocks/blockTypeScript.js';
42
+ export { blockVitest } from './next/blocks/blockVitest.js';
43
+ export { blockVSCode } from './next/blocks/blockVSCode.js';
44
+ export { default } from './next/template.js';
2
45
  export { GreetOptions } from './types.js';
46
+ import 'create';
47
+ import 'zod';
package/lib/index.js CHANGED
@@ -1,3 +1,8 @@
1
1
  export * from "./greet.js";
2
+ export * from "./next/blocks/index.js";
3
+ import { default as default2 } from "./next/template.js";
2
4
  export * from "./types.js";
5
+ export {
6
+ default2 as default
7
+ };
3
8
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from \"./greet.js\";\nexport * from \"./types.js\";\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from \"./greet.js\";\n\n// If you're using create-typescript-app as a template, ignore these.\n// They're plumbing for the create engine. :)\nexport * from \"./next/blocks/index.js\";\nexport { default } from \"./next/template.js\";\n\nexport * from \"./types.js\";\n"],"mappings":"AAAA,cAAc;AAId,cAAc;AACd,SAAS,WAAAA,gBAAe;AAExB,cAAc;","names":["default"]}
@@ -0,0 +1,101 @@
1
+ import * as create from 'create';
2
+ import { BaseOptionsFor } from 'create';
3
+ import { z } from 'zod';
4
+
5
+ declare const base: create.Base<{
6
+ access: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"public">, z.ZodLiteral<"restricted">]>>;
7
+ author: z.ZodOptional<z.ZodString>;
8
+ bin: z.ZodOptional<z.ZodString>;
9
+ contributors: z.ZodOptional<z.ZodArray<z.ZodObject<{
10
+ avatar_url: z.ZodString;
11
+ contributions: z.ZodArray<z.ZodString, "many">;
12
+ login: z.ZodString;
13
+ name: z.ZodString;
14
+ profile: z.ZodString;
15
+ }, "strip", z.ZodTypeAny, {
16
+ name: string;
17
+ avatar_url: string;
18
+ contributions: string[];
19
+ login: string;
20
+ profile: string;
21
+ }, {
22
+ name: string;
23
+ avatar_url: string;
24
+ contributions: string[];
25
+ login: string;
26
+ profile: string;
27
+ }>, "many">>;
28
+ description: z.ZodString;
29
+ documentation: z.ZodOptional<z.ZodString>;
30
+ email: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodObject<{
31
+ github: z.ZodString;
32
+ npm: z.ZodString;
33
+ }, "strip", z.ZodTypeAny, {
34
+ github: string;
35
+ npm: string;
36
+ }, {
37
+ github: string;
38
+ npm: string;
39
+ }>]>, {
40
+ github: string;
41
+ npm: string;
42
+ }, string | {
43
+ github: string;
44
+ npm: string;
45
+ }>;
46
+ funding: z.ZodOptional<z.ZodString>;
47
+ guide: z.ZodOptional<z.ZodObject<{
48
+ href: z.ZodString;
49
+ title: z.ZodString;
50
+ }, "strip", z.ZodTypeAny, {
51
+ href: string;
52
+ title: string;
53
+ }, {
54
+ href: string;
55
+ title: string;
56
+ }>>;
57
+ hideTemplatedBy: z.ZodOptional<z.ZodBoolean>;
58
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
59
+ login: z.ZodOptional<z.ZodString>;
60
+ logo: z.ZodOptional<z.ZodObject<{
61
+ alt: z.ZodString;
62
+ src: z.ZodString;
63
+ }, "strip", z.ZodTypeAny, {
64
+ alt: string;
65
+ src: string;
66
+ }, {
67
+ alt: string;
68
+ src: string;
69
+ }>>;
70
+ node: z.ZodOptional<z.ZodObject<{
71
+ minimum: z.ZodString;
72
+ pinned: z.ZodOptional<z.ZodString>;
73
+ }, "strip", z.ZodTypeAny, {
74
+ minimum: string;
75
+ pinned?: string | undefined;
76
+ }, {
77
+ minimum: string;
78
+ pinned?: string | undefined;
79
+ }>>;
80
+ owner: z.ZodString;
81
+ packageData: z.ZodOptional<z.ZodObject<{
82
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
83
+ devDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
84
+ scripts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ dependencies?: Record<string, string> | undefined;
87
+ devDependencies?: Record<string, string> | undefined;
88
+ scripts?: Record<string, string> | undefined;
89
+ }, {
90
+ dependencies?: Record<string, string> | undefined;
91
+ devDependencies?: Record<string, string> | undefined;
92
+ scripts?: Record<string, string> | undefined;
93
+ }>>;
94
+ preserveGeneratedFrom: z.ZodOptional<z.ZodBoolean>;
95
+ repository: z.ZodString;
96
+ title: z.ZodString;
97
+ version: z.ZodOptional<z.ZodString>;
98
+ }>;
99
+ type BaseOptions = BaseOptionsFor<typeof base>;
100
+
101
+ export { type BaseOptions, base };
@@ -0,0 +1,140 @@
1
+ import { createBase } from "create";
2
+ import { execaCommand } from "execa";
3
+ import gitRemoteOriginUrl from "git-remote-origin-url";
4
+ import gitUrlParse from "git-url-parse";
5
+ import { inputFromFile } from "input-from-file";
6
+ import { inputFromFileJSON } from "input-from-file-json";
7
+ import lazyValue from "lazy-value";
8
+ import npmUser from "npm-user";
9
+ import { z } from "zod";
10
+ import { parsePackageAuthor } from "../shared/options/createOptionDefaults/parsePackageAuthor.js";
11
+ import { readDefaultsFromReadme } from "../shared/options/createOptionDefaults/readDefaultsFromReadme.js";
12
+ import { readEmails } from "../shared/options/createOptionDefaults/readEmails.js";
13
+ import { readFunding } from "../shared/options/createOptionDefaults/readFunding.js";
14
+ import { readGuide } from "../shared/options/createOptionDefaults/readGuide.js";
15
+ import { readPackageData } from "../shared/packages.js";
16
+ import { tryCatchLazyValueAsync } from "../shared/tryCatchLazyValueAsync.js";
17
+ import { swallowError } from "./utils/swallowError.js";
18
+ const base = createBase({
19
+ options: {
20
+ access: z.union([z.literal("public"), z.literal("restricted")]).optional(),
21
+ author: z.string().optional(),
22
+ bin: z.string().optional(),
23
+ contributors: z.array(
24
+ z.object({
25
+ avatar_url: z.string(),
26
+ contributions: z.array(z.string()),
27
+ login: z.string(),
28
+ name: z.string(),
29
+ profile: z.string()
30
+ })
31
+ ).optional(),
32
+ description: z.string(),
33
+ documentation: z.string().optional(),
34
+ email: z.union([
35
+ z.string(),
36
+ z.object({
37
+ github: z.string(),
38
+ npm: z.string()
39
+ })
40
+ ]).transform(
41
+ (email) => typeof email === "string" ? { github: email, npm: email } : email
42
+ ),
43
+ funding: z.string().optional(),
44
+ guide: z.object({
45
+ href: z.string(),
46
+ title: z.string()
47
+ }).optional(),
48
+ hideTemplatedBy: z.boolean().optional(),
49
+ keywords: z.array(z.string()).optional(),
50
+ login: z.string().optional(),
51
+ logo: z.object({
52
+ alt: z.string(),
53
+ src: z.string()
54
+ }).optional(),
55
+ node: z.object({
56
+ minimum: z.string(),
57
+ pinned: z.string().optional()
58
+ }).optional(),
59
+ owner: z.string(),
60
+ packageData: z.object({
61
+ dependencies: z.record(z.string(), z.string()).optional(),
62
+ devDependencies: z.record(z.string(), z.string()).optional(),
63
+ scripts: z.record(z.string(), z.string()).optional()
64
+ }).optional(),
65
+ preserveGeneratedFrom: z.boolean().optional(),
66
+ repository: z.string(),
67
+ title: z.string(),
68
+ version: z.string().optional()
69
+ },
70
+ produce({ options, take }) {
71
+ const allContributors = lazyValue(async () => {
72
+ const contributions = await take(inputFromFileJSON, {
73
+ filePath: ".all-contributorsrc"
74
+ });
75
+ return contributions.contributors;
76
+ });
77
+ const documentation = lazyValue(
78
+ async () => swallowError(
79
+ await take(inputFromFile, {
80
+ filePath: ".github/DEVELOPMENT.md"
81
+ })
82
+ )
83
+ );
84
+ const nvmrc = lazyValue(
85
+ async () => await take(inputFromFile, {
86
+ filePath: ".nvmrc"
87
+ })
88
+ );
89
+ const gitDefaults = tryCatchLazyValueAsync(
90
+ async () => gitUrlParse(await gitRemoteOriginUrl())
91
+ );
92
+ const npmDefaults = tryCatchLazyValueAsync(async () => {
93
+ const whoami = (await execaCommand(`npm whoami`)).stdout;
94
+ return whoami ? await npmUser(whoami) : void 0;
95
+ });
96
+ const packageData = lazyValue(readPackageData);
97
+ const packageAuthor = lazyValue(
98
+ async () => parsePackageAuthor(await packageData())
99
+ );
100
+ const author = lazyValue(
101
+ async () => ((await packageAuthor()).author ?? (await npmDefaults())?.name ?? options.owner)?.toLowerCase()
102
+ );
103
+ const node = lazyValue(async () => {
104
+ const { engines } = await packageData();
105
+ return {
106
+ minimum: (engines?.node && /[\d+.]+/.exec(engines.node))?.[0] ?? "18.3.0",
107
+ pinned: swallowError(await nvmrc()) ?? "20.18.0"
108
+ };
109
+ });
110
+ const version = lazyValue(async () => (await packageData()).version);
111
+ return {
112
+ author,
113
+ bin: async () => (await packageData()).bin,
114
+ contributors: allContributors,
115
+ description: async () => (await packageData()).description,
116
+ documentation,
117
+ email: async () => readEmails(npmDefaults, packageAuthor),
118
+ funding: readFunding,
119
+ guide: readGuide,
120
+ login: author,
121
+ node,
122
+ owner: async () => (await gitDefaults())?.organization ?? (await packageAuthor()).author,
123
+ packageData: async () => {
124
+ const original = await packageData();
125
+ return {
126
+ dependencies: original.dependencies,
127
+ devDependencies: original.devDependencies,
128
+ scripts: original.scripts
129
+ };
130
+ },
131
+ repository: async () => options.repository ?? (await gitDefaults())?.name ?? (await packageData()).name,
132
+ ...readDefaultsFromReadme(),
133
+ version
134
+ };
135
+ }
136
+ });
137
+ export {
138
+ base
139
+ };
140
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/next/base.ts"],"sourcesContent":["import { BaseOptionsFor, createBase } from \"create\";\nimport { execaCommand } from \"execa\";\nimport gitRemoteOriginUrl from \"git-remote-origin-url\";\nimport gitUrlParse from \"git-url-parse\";\nimport { inputFromFile } from \"input-from-file\";\nimport { inputFromFileJSON } from \"input-from-file-json\";\nimport lazyValue from \"lazy-value\";\nimport npmUser from \"npm-user\";\nimport { z } from \"zod\";\n\nimport { parsePackageAuthor } from \"../shared/options/createOptionDefaults/parsePackageAuthor.js\";\nimport { readDefaultsFromReadme } from \"../shared/options/createOptionDefaults/readDefaultsFromReadme.js\";\nimport { readEmails } from \"../shared/options/createOptionDefaults/readEmails.js\";\nimport { readFunding } from \"../shared/options/createOptionDefaults/readFunding.js\";\nimport { readGuide } from \"../shared/options/createOptionDefaults/readGuide.js\";\nimport { readPackageData } from \"../shared/packages.js\";\nimport { tryCatchLazyValueAsync } from \"../shared/tryCatchLazyValueAsync.js\";\nimport { AllContributorsData } from \"../shared/types.js\";\nimport { swallowError } from \"./utils/swallowError.js\";\n\nexport const base = createBase({\n\toptions: {\n\t\taccess: z.union([z.literal(\"public\"), z.literal(\"restricted\")]).optional(),\n\t\tauthor: z.string().optional(),\n\t\tbin: z.string().optional(),\n\t\tcontributors: z\n\t\t\t.array(\n\t\t\t\tz.object({\n\t\t\t\t\tavatar_url: z.string(),\n\t\t\t\t\tcontributions: z.array(z.string()),\n\t\t\t\t\tlogin: z.string(),\n\t\t\t\t\tname: z.string(),\n\t\t\t\t\tprofile: z.string(),\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.optional(),\n\t\tdescription: z.string(),\n\t\tdocumentation: z.string().optional(),\n\t\temail: z\n\t\t\t.union([\n\t\t\t\tz.string(),\n\t\t\t\tz.object({\n\t\t\t\t\tgithub: z.string(),\n\t\t\t\t\tnpm: z.string(),\n\t\t\t\t}),\n\t\t\t])\n\t\t\t.transform((email) =>\n\t\t\t\ttypeof email === \"string\" ? { github: email, npm: email } : email,\n\t\t\t),\n\t\tfunding: z.string().optional(),\n\t\tguide: z\n\t\t\t.object({\n\t\t\t\thref: z.string(),\n\t\t\t\ttitle: z.string(),\n\t\t\t})\n\t\t\t.optional(),\n\t\thideTemplatedBy: z.boolean().optional(),\n\t\tkeywords: z.array(z.string()).optional(),\n\t\tlogin: z.string().optional(),\n\t\tlogo: z\n\t\t\t.object({\n\t\t\t\talt: z.string(),\n\t\t\t\tsrc: z.string(),\n\t\t\t})\n\t\t\t.optional(),\n\t\tnode: z\n\t\t\t.object({\n\t\t\t\tminimum: z.string(),\n\t\t\t\tpinned: z.string().optional(),\n\t\t\t})\n\t\t\t.optional(),\n\t\towner: z.string(),\n\t\tpackageData: z\n\t\t\t.object({\n\t\t\t\tdependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\tdevDependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\tscripts: z.record(z.string(), z.string()).optional(),\n\t\t\t})\n\t\t\t.optional(),\n\t\tpreserveGeneratedFrom: z.boolean().optional(),\n\t\trepository: z.string(),\n\t\ttitle: z.string(),\n\t\tversion: z.string().optional(),\n\t},\n\tproduce({ options, take }) {\n\t\tconst allContributors = lazyValue(async () => {\n\t\t\tconst contributions = (await take(inputFromFileJSON, {\n\t\t\t\tfilePath: \".all-contributorsrc\",\n\t\t\t})) as AllContributorsData;\n\n\t\t\treturn contributions.contributors;\n\t\t});\n\n\t\tconst documentation = lazyValue(async () =>\n\t\t\tswallowError(\n\t\t\t\tawait take(inputFromFile, {\n\t\t\t\t\tfilePath: \".github/DEVELOPMENT.md\",\n\t\t\t\t}),\n\t\t\t),\n\t\t);\n\n\t\tconst nvmrc = lazyValue(\n\t\t\tasync () =>\n\t\t\t\tawait take(inputFromFile, {\n\t\t\t\t\tfilePath: \".nvmrc\",\n\t\t\t\t}),\n\t\t);\n\n\t\t// TODO: Make these all use take\n\n\t\tconst gitDefaults = tryCatchLazyValueAsync(async () =>\n\t\t\tgitUrlParse(await gitRemoteOriginUrl()),\n\t\t);\n\n\t\tconst npmDefaults = tryCatchLazyValueAsync(async () => {\n\t\t\tconst whoami = (await execaCommand(`npm whoami`)).stdout;\n\t\t\treturn whoami ? await npmUser(whoami) : undefined;\n\t\t});\n\n\t\tconst packageData = lazyValue(readPackageData);\n\t\tconst packageAuthor = lazyValue(async () =>\n\t\t\tparsePackageAuthor(await packageData()),\n\t\t);\n\n\t\tconst author = lazyValue(async () =>\n\t\t\t(\n\t\t\t\t(await packageAuthor()).author ??\n\t\t\t\t(await npmDefaults())?.name ??\n\t\t\t\toptions.owner\n\t\t\t)?.toLowerCase(),\n\t\t);\n\n\t\tconst node = lazyValue(async () => {\n\t\t\tconst { engines } = await packageData();\n\n\t\t\treturn {\n\t\t\t\tminimum:\n\t\t\t\t\t(engines?.node && /[\\d+.]+/.exec(engines.node))?.[0] ?? \"18.3.0\",\n\t\t\t\tpinned: swallowError(await nvmrc()) ?? \"20.18.0\",\n\t\t\t};\n\t\t});\n\n\t\tconst version = lazyValue(async () => (await packageData()).version);\n\n\t\treturn {\n\t\t\tauthor,\n\t\t\tbin: async () => (await packageData()).bin,\n\t\t\tcontributors: allContributors,\n\t\t\tdescription: async () => (await packageData()).description,\n\t\t\tdocumentation,\n\t\t\temail: async () => readEmails(npmDefaults, packageAuthor),\n\t\t\tfunding: readFunding,\n\t\t\tguide: readGuide,\n\t\t\tlogin: author,\n\t\t\tnode,\n\t\t\towner: async () =>\n\t\t\t\t(await gitDefaults())?.organization ?? (await packageAuthor()).author,\n\t\t\tpackageData: async () => {\n\t\t\t\tconst original = await packageData();\n\n\t\t\t\treturn {\n\t\t\t\t\tdependencies: original.dependencies,\n\t\t\t\t\tdevDependencies: original.devDependencies,\n\t\t\t\t\tscripts: original.scripts,\n\t\t\t\t};\n\t\t\t},\n\t\t\trepository: async () =>\n\t\t\t\toptions.repository ??\n\t\t\t\t(await gitDefaults())?.name ??\n\t\t\t\t(await packageData()).name,\n\t\t\t...readDefaultsFromReadme(),\n\t\t\tversion,\n\t\t};\n\t},\n});\n\nexport type BaseOptions = BaseOptionsFor<typeof base>;\n"],"mappings":"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","names":[]}
@@ -0,0 +1,48 @@
1
+ import * as create from 'create';
2
+
3
+ declare const blockAllContributors: 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 { blockAllContributors };