create-typescript-app 2.45.0 → 2.46.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 (549) hide show
  1. package/lib/base.d.ts +170 -167
  2. package/lib/base.d.ts.map +1 -0
  3. package/lib/base.js +132 -204
  4. package/lib/base.js.map +1 -0
  5. package/lib/blocks/actions/resolveUses.d.ts +5 -2
  6. package/lib/blocks/actions/resolveUses.d.ts.map +1 -0
  7. package/lib/blocks/actions/resolveUses.js +13 -20
  8. package/lib/blocks/actions/resolveUses.js.map +1 -0
  9. package/lib/blocks/actions/steps.d.ts +25 -21
  10. package/lib/blocks/actions/steps.d.ts.map +1 -0
  11. package/lib/blocks/actions/steps.js +18 -23
  12. package/lib/blocks/actions/steps.js.map +1 -0
  13. package/lib/blocks/bin/getPrimaryBin.d.ts +4 -0
  14. package/lib/blocks/bin/getPrimaryBin.d.ts.map +1 -0
  15. package/lib/blocks/bin/getPrimaryBin.js +6 -4
  16. package/lib/blocks/bin/getPrimaryBin.js.map +1 -0
  17. package/lib/blocks/blockAllContributors.d.ts +70 -67
  18. package/lib/blocks/blockAllContributors.d.ts.map +1 -0
  19. package/lib/blocks/blockAllContributors.js +122 -170
  20. package/lib/blocks/blockAllContributors.js.map +1 -0
  21. package/lib/blocks/blockAreTheTypesWrong.d.ts +70 -67
  22. package/lib/blocks/blockAreTheTypesWrong.d.ts.map +1 -0
  23. package/lib/blocks/blockAreTheTypesWrong.js +13 -25
  24. package/lib/blocks/blockAreTheTypesWrong.js.map +1 -0
  25. package/lib/blocks/blockCSpell.d.ts +72 -69
  26. package/lib/blocks/blockCSpell.d.ts.map +1 -0
  27. package/lib/blocks/blockCSpell.js +68 -105
  28. package/lib/blocks/blockCSpell.js.map +1 -0
  29. package/lib/blocks/blockCTATransitions.d.ts +70 -67
  30. package/lib/blocks/blockCTATransitions.d.ts.map +1 -0
  31. package/lib/blocks/blockCTATransitions.js +108 -158
  32. package/lib/blocks/blockCTATransitions.js.map +1 -0
  33. package/lib/blocks/blockCodecov.d.ts +71 -68
  34. package/lib/blocks/blockCodecov.d.ts.map +1 -0
  35. package/lib/blocks/blockCodecov.js +48 -75
  36. package/lib/blocks/blockCodecov.js.map +1 -0
  37. package/lib/blocks/blockContributingDocs.d.ts +70 -67
  38. package/lib/blocks/blockContributingDocs.d.ts.map +1 -0
  39. package/lib/blocks/blockContributingDocs.js +14 -21
  40. package/lib/blocks/blockContributingDocs.js.map +1 -0
  41. package/lib/blocks/blockContributorCovenant.d.ts +70 -67
  42. package/lib/blocks/blockContributorCovenant.d.ts.map +1 -0
  43. package/lib/blocks/blockContributorCovenant.js +23 -37
  44. package/lib/blocks/blockContributorCovenant.js.map +1 -0
  45. package/lib/blocks/blockDevelopmentDocs.d.ts +83 -80
  46. package/lib/blocks/blockDevelopmentDocs.d.ts.map +1 -0
  47. package/lib/blocks/blockDevelopmentDocs.js +64 -74
  48. package/lib/blocks/blockDevelopmentDocs.js.map +1 -0
  49. package/lib/blocks/blockESLint.d.ts +95 -92
  50. package/lib/blocks/blockESLint.d.ts.map +1 -0
  51. package/lib/blocks/blockESLint.js +169 -263
  52. package/lib/blocks/blockESLint.js.map +1 -0
  53. package/lib/blocks/blockESLintComments.d.ts +70 -67
  54. package/lib/blocks/blockESLintComments.d.ts.map +1 -0
  55. package/lib/blocks/blockESLintComments.js +16 -21
  56. package/lib/blocks/blockESLintComments.js.map +1 -0
  57. package/lib/blocks/blockESLintJSDoc.d.ts +70 -67
  58. package/lib/blocks/blockESLintJSDoc.d.ts.map +1 -0
  59. package/lib/blocks/blockESLintJSDoc.js +20 -20
  60. package/lib/blocks/blockESLintJSDoc.js.map +1 -0
  61. package/lib/blocks/blockESLintJSONC.d.ts +70 -67
  62. package/lib/blocks/blockESLintJSONC.d.ts.map +1 -0
  63. package/lib/blocks/blockESLintJSONC.js +16 -16
  64. package/lib/blocks/blockESLintJSONC.js.map +1 -0
  65. package/lib/blocks/blockESLintMarkdown.d.ts +70 -67
  66. package/lib/blocks/blockESLintMarkdown.d.ts.map +1 -0
  67. package/lib/blocks/blockESLintMarkdown.js +17 -22
  68. package/lib/blocks/blockESLintMarkdown.js.map +1 -0
  69. package/lib/blocks/blockESLintMoreStyling.d.ts +70 -67
  70. package/lib/blocks/blockESLintMoreStyling.d.ts.map +1 -0
  71. package/lib/blocks/blockESLintMoreStyling.js +22 -30
  72. package/lib/blocks/blockESLintMoreStyling.js.map +1 -0
  73. package/lib/blocks/blockESLintNode.d.ts +70 -67
  74. package/lib/blocks/blockESLintNode.d.ts.map +1 -0
  75. package/lib/blocks/blockESLintNode.js +20 -23
  76. package/lib/blocks/blockESLintNode.js.map +1 -0
  77. package/lib/blocks/blockESLintPackageJson.d.ts +70 -67
  78. package/lib/blocks/blockESLintPackageJson.d.ts.map +1 -0
  79. package/lib/blocks/blockESLintPackageJson.js +26 -49
  80. package/lib/blocks/blockESLintPackageJson.js.map +1 -0
  81. package/lib/blocks/blockESLintPerfectionist.d.ts +70 -67
  82. package/lib/blocks/blockESLintPerfectionist.d.ts.map +1 -0
  83. package/lib/blocks/blockESLintPerfectionist.js +20 -27
  84. package/lib/blocks/blockESLintPerfectionist.js.map +1 -0
  85. package/lib/blocks/blockESLintPlugin.d.ts +71 -68
  86. package/lib/blocks/blockESLintPlugin.d.ts.map +1 -0
  87. package/lib/blocks/blockESLintPlugin.js +89 -137
  88. package/lib/blocks/blockESLintPlugin.js.map +1 -0
  89. package/lib/blocks/blockESLintRegexp.d.ts +70 -67
  90. package/lib/blocks/blockESLintRegexp.d.ts.map +1 -0
  91. package/lib/blocks/blockESLintRegexp.js +16 -18
  92. package/lib/blocks/blockESLintRegexp.js.map +1 -0
  93. package/lib/blocks/blockESLintYML.d.ts +70 -67
  94. package/lib/blocks/blockESLintYML.d.ts.map +1 -0
  95. package/lib/blocks/blockESLintYML.js +30 -41
  96. package/lib/blocks/blockESLintYML.js.map +1 -0
  97. package/lib/blocks/blockExampleFiles.d.ts +72 -69
  98. package/lib/blocks/blockExampleFiles.d.ts.map +1 -0
  99. package/lib/blocks/blockExampleFiles.js +22 -29
  100. package/lib/blocks/blockExampleFiles.js.map +1 -0
  101. package/lib/blocks/blockFunding.d.ts +70 -67
  102. package/lib/blocks/blockFunding.d.ts.map +1 -0
  103. package/lib/blocks/blockFunding.js +10 -15
  104. package/lib/blocks/blockFunding.js.map +1 -0
  105. package/lib/blocks/blockGitHubActionsCI.d.ts +85 -82
  106. package/lib/blocks/blockGitHubActionsCI.d.ts.map +1 -0
  107. package/lib/blocks/blockGitHubActionsCI.js +83 -134
  108. package/lib/blocks/blockGitHubActionsCI.js.map +1 -0
  109. package/lib/blocks/blockGitHubApps.d.ts +74 -71
  110. package/lib/blocks/blockGitHubApps.d.ts.map +1 -0
  111. package/lib/blocks/blockGitHubApps.js +15 -24
  112. package/lib/blocks/blockGitHubApps.js.map +1 -0
  113. package/lib/blocks/blockGitHubIssueTemplates.d.ts +70 -67
  114. package/lib/blocks/blockGitHubIssueTemplates.d.ts.map +1 -0
  115. package/lib/blocks/blockGitHubIssueTemplates.js +185 -204
  116. package/lib/blocks/blockGitHubIssueTemplates.js.map +1 -0
  117. package/lib/blocks/blockGitHubPRTemplate.d.ts +70 -67
  118. package/lib/blocks/blockGitHubPRTemplate.d.ts.map +1 -0
  119. package/lib/blocks/blockGitHubPRTemplate.js +11 -16
  120. package/lib/blocks/blockGitHubPRTemplate.js.map +1 -0
  121. package/lib/blocks/blockGitignore.d.ts +71 -68
  122. package/lib/blocks/blockGitignore.d.ts.map +1 -0
  123. package/lib/blocks/blockGitignore.js +13 -18
  124. package/lib/blocks/blockGitignore.js.map +1 -0
  125. package/lib/blocks/blockKnip.d.ts +73 -70
  126. package/lib/blocks/blockKnip.d.ts.map +1 -0
  127. package/lib/blocks/blockKnip.js +60 -88
  128. package/lib/blocks/blockKnip.js.map +1 -0
  129. package/lib/blocks/blockMITLicense.d.ts +70 -67
  130. package/lib/blocks/blockMITLicense.d.ts.map +1 -0
  131. package/lib/blocks/blockMITLicense.js +21 -31
  132. package/lib/blocks/blockMITLicense.js.map +1 -0
  133. package/lib/blocks/blockMain.d.ts +72 -69
  134. package/lib/blocks/blockMain.d.ts.map +1 -0
  135. package/lib/blocks/blockMain.js +17 -29
  136. package/lib/blocks/blockMain.js.map +1 -0
  137. package/lib/blocks/blockMarkdownlint.d.ts +71 -68
  138. package/lib/blocks/blockMarkdownlint.d.ts.map +1 -0
  139. package/lib/blocks/blockMarkdownlint.js +55 -94
  140. package/lib/blocks/blockMarkdownlint.js.map +1 -0
  141. package/lib/blocks/blockNcc.d.ts +71 -68
  142. package/lib/blocks/blockNcc.d.ts.map +1 -0
  143. package/lib/blocks/blockNcc.js +44 -72
  144. package/lib/blocks/blockNcc.js.map +1 -0
  145. package/lib/blocks/blockNvmrc.d.ts +70 -67
  146. package/lib/blocks/blockNvmrc.d.ts.map +1 -0
  147. package/lib/blocks/blockNvmrc.js +16 -21
  148. package/lib/blocks/blockNvmrc.js.map +1 -0
  149. package/lib/blocks/blockOctoGuide.d.ts +71 -68
  150. package/lib/blocks/blockOctoGuide.d.ts.map +1 -0
  151. package/lib/blocks/blockOctoGuide.js +65 -93
  152. package/lib/blocks/blockOctoGuide.js.map +1 -0
  153. package/lib/blocks/blockOctoGuideStrict.d.ts +70 -67
  154. package/lib/blocks/blockOctoGuideStrict.d.ts.map +1 -0
  155. package/lib/blocks/blockOctoGuideStrict.js +10 -15
  156. package/lib/blocks/blockOctoGuideStrict.js.map +1 -0
  157. package/lib/blocks/blockPackageJson.d.ts +144 -141
  158. package/lib/blocks/blockPackageJson.d.ts.map +1 -0
  159. package/lib/blocks/blockPackageJson.js +82 -113
  160. package/lib/blocks/blockPackageJson.js.map +1 -0
  161. package/lib/blocks/blockPnpmDedupe.d.ts +70 -67
  162. package/lib/blocks/blockPnpmDedupe.d.ts.map +1 -0
  163. package/lib/blocks/blockPnpmDedupe.js +24 -49
  164. package/lib/blocks/blockPnpmDedupe.js.map +1 -0
  165. package/lib/blocks/blockPrettier.d.ts +79 -76
  166. package/lib/blocks/blockPrettier.d.ts.map +1 -0
  167. package/lib/blocks/blockPrettier.js +82 -116
  168. package/lib/blocks/blockPrettier.js.map +1 -0
  169. package/lib/blocks/blockPrettierPluginCurly.d.ts +70 -67
  170. package/lib/blocks/blockPrettierPluginCurly.d.ts.map +1 -0
  171. package/lib/blocks/blockPrettierPluginCurly.js +10 -15
  172. package/lib/blocks/blockPrettierPluginCurly.js.map +1 -0
  173. package/lib/blocks/blockPrettierPluginPackageJson.d.ts +70 -67
  174. package/lib/blocks/blockPrettierPluginPackageJson.d.ts.map +1 -0
  175. package/lib/blocks/blockPrettierPluginPackageJson.js +10 -15
  176. package/lib/blocks/blockPrettierPluginPackageJson.js.map +1 -0
  177. package/lib/blocks/blockPrettierPluginSh.d.ts +70 -67
  178. package/lib/blocks/blockPrettierPluginSh.d.ts.map +1 -0
  179. package/lib/blocks/blockPrettierPluginSh.js +10 -15
  180. package/lib/blocks/blockPrettierPluginSh.js.map +1 -0
  181. package/lib/blocks/blockREADME.d.ts +82 -79
  182. package/lib/blocks/blockREADME.d.ts.map +1 -0
  183. package/lib/blocks/blockREADME.js +46 -60
  184. package/lib/blocks/blockREADME.js.map +1 -0
  185. package/lib/blocks/blockReleaseIt.d.ts +74 -71
  186. package/lib/blocks/blockReleaseIt.d.ts.map +1 -0
  187. package/lib/blocks/blockReleaseIt.js +152 -181
  188. package/lib/blocks/blockReleaseIt.js.map +1 -0
  189. package/lib/blocks/blockRemoveDependencies.d.ts +71 -68
  190. package/lib/blocks/blockRemoveDependencies.d.ts.map +1 -0
  191. package/lib/blocks/blockRemoveDependencies.js +18 -27
  192. package/lib/blocks/blockRemoveDependencies.js.map +1 -0
  193. package/lib/blocks/blockRemoveFiles.d.ts +71 -68
  194. package/lib/blocks/blockRemoveFiles.d.ts.map +1 -0
  195. package/lib/blocks/blockRemoveFiles.js +19 -28
  196. package/lib/blocks/blockRemoveFiles.js.map +1 -0
  197. package/lib/blocks/blockRemoveWorkflows.d.ts +71 -68
  198. package/lib/blocks/blockRemoveWorkflows.d.ts.map +1 -0
  199. package/lib/blocks/blockRemoveWorkflows.js +16 -27
  200. package/lib/blocks/blockRemoveWorkflows.js.map +1 -0
  201. package/lib/blocks/blockRenovate.d.ts +71 -68
  202. package/lib/blocks/blockRenovate.d.ts.map +1 -0
  203. package/lib/blocks/blockRenovate.js +37 -52
  204. package/lib/blocks/blockRenovate.js.map +1 -0
  205. package/lib/blocks/blockRepositoryBranchRuleset.d.ts +71 -68
  206. package/lib/blocks/blockRepositoryBranchRuleset.d.ts.map +1 -0
  207. package/lib/blocks/blockRepositoryBranchRuleset.js +77 -107
  208. package/lib/blocks/blockRepositoryBranchRuleset.js.map +1 -0
  209. package/lib/blocks/blockRepositoryLabels.d.ts +70 -67
  210. package/lib/blocks/blockRepositoryLabels.d.ts.map +1 -0
  211. package/lib/blocks/blockRepositoryLabels.js +51 -58
  212. package/lib/blocks/blockRepositoryLabels.js.map +1 -0
  213. package/lib/blocks/blockRepositorySecrets.d.ts +74 -71
  214. package/lib/blocks/blockRepositorySecrets.d.ts.map +1 -0
  215. package/lib/blocks/blockRepositorySecrets.js +15 -26
  216. package/lib/blocks/blockRepositorySecrets.js.map +1 -0
  217. package/lib/blocks/blockRepositorySettings.d.ts +70 -67
  218. package/lib/blocks/blockRepositorySettings.d.ts.map +1 -0
  219. package/lib/blocks/blockRepositorySettings.js +32 -39
  220. package/lib/blocks/blockRepositorySettings.js.map +1 -0
  221. package/lib/blocks/blockSecurityDocs.d.ts +70 -67
  222. package/lib/blocks/blockSecurityDocs.d.ts.map +1 -0
  223. package/lib/blocks/blockSecurityDocs.js +11 -16
  224. package/lib/blocks/blockSecurityDocs.js.map +1 -0
  225. package/lib/blocks/blockTSDown.d.ts +79 -0
  226. package/lib/blocks/blockTSDown.d.ts.map +1 -0
  227. package/lib/blocks/blockTSDown.js +111 -0
  228. package/lib/blocks/blockTSDown.js.map +1 -0
  229. package/lib/blocks/blockTemplatedWith.d.ts +70 -67
  230. package/lib/blocks/blockTemplatedWith.d.ts.map +1 -0
  231. package/lib/blocks/blockTemplatedWith.js +12 -20
  232. package/lib/blocks/blockTemplatedWith.js.map +1 -0
  233. package/lib/blocks/blockTypeScript.d.ts +181 -178
  234. package/lib/blocks/blockTypeScript.d.ts.map +1 -0
  235. package/lib/blocks/blockTypeScript.js +94 -127
  236. package/lib/blocks/blockTypeScript.js.map +1 -0
  237. package/lib/blocks/blockVSCode.d.ts +78 -75
  238. package/lib/blocks/blockVSCode.d.ts.map +1 -0
  239. package/lib/blocks/blockVSCode.js +51 -81
  240. package/lib/blocks/blockVSCode.js.map +1 -0
  241. package/lib/blocks/blockVitest.d.ts +86 -83
  242. package/lib/blocks/blockVitest.d.ts.map +1 -0
  243. package/lib/blocks/blockVitest.js +115 -168
  244. package/lib/blocks/blockVitest.js.map +1 -0
  245. package/lib/blocks/blockWebExt.d.ts +70 -67
  246. package/lib/blocks/blockWebExt.d.ts.map +1 -0
  247. package/lib/blocks/blockWebExt.js +59 -83
  248. package/lib/blocks/blockWebExt.js.map +1 -0
  249. package/lib/blocks/eslint/blockESLintIntake.d.ts +9 -6
  250. package/lib/blocks/eslint/blockESLintIntake.d.ts.map +1 -0
  251. package/lib/blocks/eslint/blockESLintIntake.js +84 -111
  252. package/lib/blocks/eslint/blockESLintIntake.js.map +1 -0
  253. package/lib/blocks/eslint/blockESLintPluginIntake.d.ts +5 -2
  254. package/lib/blocks/eslint/blockESLintPluginIntake.d.ts.map +1 -0
  255. package/lib/blocks/eslint/blockESLintPluginIntake.js +26 -44
  256. package/lib/blocks/eslint/blockESLintPluginIntake.js.map +1 -0
  257. package/lib/blocks/eslint/schemas.d.ts +77 -73
  258. package/lib/blocks/eslint/schemas.d.ts.map +1 -0
  259. package/lib/blocks/eslint/schemas.js +31 -36
  260. package/lib/blocks/eslint/schemas.js.map +1 -0
  261. package/lib/blocks/files/createJobName.d.ts +4 -0
  262. package/lib/blocks/files/createJobName.d.ts.map +1 -0
  263. package/lib/blocks/files/createJobName.js +6 -4
  264. package/lib/blocks/files/createJobName.js.map +1 -0
  265. package/lib/blocks/files/createMultiWorkflowFile.d.ts +21 -14
  266. package/lib/blocks/files/createMultiWorkflowFile.d.ts.map +1 -0
  267. package/lib/blocks/files/createMultiWorkflowFile.js +27 -35
  268. package/lib/blocks/files/createMultiWorkflowFile.js.map +1 -0
  269. package/lib/blocks/files/createSoloWorkflowFile.d.ts +61 -52
  270. package/lib/blocks/files/createSoloWorkflowFile.d.ts.map +1 -0
  271. package/lib/blocks/files/createSoloWorkflowFile.js +19 -25
  272. package/lib/blocks/files/createSoloWorkflowFile.js.map +1 -0
  273. package/lib/blocks/files/formatIgnoreFile.d.ts +4 -0
  274. package/lib/blocks/files/formatIgnoreFile.d.ts.map +1 -0
  275. package/lib/blocks/files/formatIgnoreFile.js +6 -4
  276. package/lib/blocks/files/formatIgnoreFile.js.map +1 -0
  277. package/lib/blocks/files/formatWorkflowYaml.d.ts +4 -0
  278. package/lib/blocks/files/formatWorkflowYaml.d.ts.map +1 -0
  279. package/lib/blocks/files/formatWorkflowYaml.js +7 -4
  280. package/lib/blocks/files/formatWorkflowYaml.js.map +1 -0
  281. package/lib/blocks/files/formatYaml.d.ts +4 -0
  282. package/lib/blocks/files/formatYaml.d.ts.map +1 -0
  283. package/lib/blocks/files/formatYaml.js +16 -21
  284. package/lib/blocks/files/formatYaml.js.map +1 -0
  285. package/lib/blocks/files/removeUsesQuotes.d.ts +4 -0
  286. package/lib/blocks/files/removeUsesQuotes.d.ts.map +1 -0
  287. package/lib/blocks/files/removeUsesQuotes.js +6 -7
  288. package/lib/blocks/files/removeUsesQuotes.js.map +1 -0
  289. package/lib/blocks/getInstallationSuggestions.d.ts +4 -0
  290. package/lib/blocks/getInstallationSuggestions.d.ts.map +1 -0
  291. package/lib/blocks/getInstallationSuggestions.js +11 -12
  292. package/lib/blocks/getInstallationSuggestions.js.map +1 -0
  293. package/lib/blocks/index.d.ts +3646 -3644
  294. package/lib/blocks/index.d.ts.map +1 -0
  295. package/lib/blocks/index.js +83 -177
  296. package/lib/blocks/index.js.map +1 -0
  297. package/lib/blocks/intake/intakeFile.d.ts +5 -1
  298. package/lib/blocks/intake/intakeFile.d.ts.map +1 -0
  299. package/lib/blocks/intake/intakeFile.js +12 -18
  300. package/lib/blocks/intake/intakeFile.js.map +1 -0
  301. package/lib/blocks/intake/intakeFileAsJson.d.ts +5 -1
  302. package/lib/blocks/intake/intakeFileAsJson.d.ts.map +1 -0
  303. package/lib/blocks/intake/intakeFileAsJson.js +13 -10
  304. package/lib/blocks/intake/intakeFileAsJson.js.map +1 -0
  305. package/lib/blocks/intake/intakeFileAsYaml.d.ts +5 -1
  306. package/lib/blocks/intake/intakeFileAsYaml.d.ts.map +1 -0
  307. package/lib/blocks/intake/intakeFileAsYaml.js +13 -10
  308. package/lib/blocks/intake/intakeFileAsYaml.js.map +1 -0
  309. package/lib/blocks/intake/intakeFileDefineConfig.d.ts +5 -1
  310. package/lib/blocks/intake/intakeFileDefineConfig.d.ts.map +1 -0
  311. package/lib/blocks/intake/intakeFileDefineConfig.js +20 -23
  312. package/lib/blocks/intake/intakeFileDefineConfig.js.map +1 -0
  313. package/lib/blocks/options.fakes.d.ts +23 -20
  314. package/lib/blocks/options.fakes.d.ts.map +1 -0
  315. package/lib/blocks/options.fakes.js +19 -23
  316. package/lib/blocks/options.fakes.js.map +1 -0
  317. package/lib/blocks/outcomeLabels.d.ts +12 -9
  318. package/lib/blocks/outcomeLabels.d.ts.map +1 -0
  319. package/lib/blocks/outcomeLabels.js +93 -92
  320. package/lib/blocks/outcomeLabels.js.map +1 -0
  321. package/lib/blocks/phases.d.ts +9 -6
  322. package/lib/blocks/phases.d.ts.map +1 -0
  323. package/lib/blocks/phases.js +10 -8
  324. package/lib/blocks/phases.js.map +1 -0
  325. package/lib/constants.d.ts +8 -5
  326. package/lib/constants.d.ts.map +1 -0
  327. package/lib/constants.js +9 -9
  328. package/lib/constants.js.map +1 -0
  329. package/lib/data/contributions.d.ts +4 -0
  330. package/lib/data/contributions.d.ts.map +1 -0
  331. package/lib/data/contributions.js +13 -11
  332. package/lib/data/contributions.js.map +1 -0
  333. package/lib/data/packageData.d.ts +7 -166
  334. package/lib/data/packageData.d.ts.map +1 -0
  335. package/lib/data/packageData.js +16 -24
  336. package/lib/data/packageData.js.map +1 -0
  337. package/lib/index.d.ts +290 -288
  338. package/lib/index.d.ts.map +1 -0
  339. package/lib/index.js +61 -7
  340. package/lib/index.js.map +1 -0
  341. package/lib/inputs/inputFromDirectory.d.ts +8 -4
  342. package/lib/inputs/inputFromDirectory.d.ts.map +1 -0
  343. package/lib/inputs/inputFromDirectory.js +11 -10
  344. package/lib/inputs/inputFromDirectory.js.map +1 -0
  345. package/lib/inputs/inputFromOctokit.d.ts +9 -5
  346. package/lib/inputs/inputFromOctokit.d.ts.map +1 -0
  347. package/lib/inputs/inputFromOctokit.js +23 -24
  348. package/lib/inputs/inputFromOctokit.js.map +1 -0
  349. package/lib/options/readAccess.d.ts +5 -1
  350. package/lib/options/readAccess.d.ts.map +1 -0
  351. package/lib/options/readAccess.js +6 -4
  352. package/lib/options/readAccess.js.map +1 -0
  353. package/lib/options/readAllContributors.d.ts +6 -2
  354. package/lib/options/readAllContributors.d.ts.map +1 -0
  355. package/lib/options/readAllContributors.js +17 -22
  356. package/lib/options/readAllContributors.js.map +1 -0
  357. package/lib/options/readAuthor.d.ts +6 -3
  358. package/lib/options/readAuthor.d.ts.map +1 -0
  359. package/lib/options/readAuthor.js +6 -4
  360. package/lib/options/readAuthor.js.map +1 -0
  361. package/lib/options/readBin.d.ts +5 -1
  362. package/lib/options/readBin.d.ts.map +1 -0
  363. package/lib/options/readBin.js +8 -10
  364. package/lib/options/readBin.js.map +1 -0
  365. package/lib/options/readDescription.d.ts +5 -1
  366. package/lib/options/readDescription.d.ts.map +1 -0
  367. package/lib/options/readDescription.js +16 -23
  368. package/lib/options/readDescription.js.map +1 -0
  369. package/lib/options/readDescriptionFromReadme.d.ts +4 -0
  370. package/lib/options/readDescriptionFromReadme.d.ts.map +1 -0
  371. package/lib/options/readDescriptionFromReadme.js +11 -13
  372. package/lib/options/readDescriptionFromReadme.js.map +1 -0
  373. package/lib/options/readDevelopmentDocumentation.d.ts +5 -1
  374. package/lib/options/readDevelopmentDocumentation.d.ts.map +1 -0
  375. package/lib/options/readDevelopmentDocumentation.js +18 -21
  376. package/lib/options/readDevelopmentDocumentation.js.map +1 -0
  377. package/lib/options/readDocumentation.d.ts +5 -2
  378. package/lib/options/readDocumentation.d.ts.map +1 -0
  379. package/lib/options/readDocumentation.js +21 -19
  380. package/lib/options/readDocumentation.js.map +1 -0
  381. package/lib/options/readEmailFromCodeOfConduct.d.ts +5 -1
  382. package/lib/options/readEmailFromCodeOfConduct.d.ts.map +1 -0
  383. package/lib/options/readEmailFromCodeOfConduct.js +8 -7
  384. package/lib/options/readEmailFromCodeOfConduct.js.map +1 -0
  385. package/lib/options/readEmailFromGit.d.ts +5 -1
  386. package/lib/options/readEmailFromGit.d.ts.map +1 -0
  387. package/lib/options/readEmailFromGit.js +7 -4
  388. package/lib/options/readEmailFromGit.js.map +1 -0
  389. package/lib/options/readEmailFromNpm.d.ts +6 -3
  390. package/lib/options/readEmailFromNpm.d.ts.map +1 -0
  391. package/lib/options/readEmailFromNpm.js +6 -4
  392. package/lib/options/readEmailFromNpm.js.map +1 -0
  393. package/lib/options/readEmails.d.ts +7 -4
  394. package/lib/options/readEmails.d.ts.map +1 -0
  395. package/lib/options/readEmails.js +11 -6
  396. package/lib/options/readEmails.js.map +1 -0
  397. package/lib/options/readEmoji.d.ts +4 -0
  398. package/lib/options/readEmoji.d.ts.map +1 -0
  399. package/lib/options/readEmoji.js +6 -4
  400. package/lib/options/readEmoji.js.map +1 -0
  401. package/lib/options/readExistingLabels.d.ts +8 -4
  402. package/lib/options/readExistingLabels.d.ts.map +1 -0
  403. package/lib/options/readExistingLabels.js +21 -20
  404. package/lib/options/readExistingLabels.js.map +1 -0
  405. package/lib/options/readFileAsJson.d.ts +4 -0
  406. package/lib/options/readFileAsJson.d.ts.map +1 -0
  407. package/lib/options/readFileAsJson.js +11 -11
  408. package/lib/options/readFileAsJson.js.map +1 -0
  409. package/lib/options/readFileSafe.d.ts +4 -0
  410. package/lib/options/readFileSafe.d.ts.map +1 -0
  411. package/lib/options/readFileSafe.js +11 -8
  412. package/lib/options/readFileSafe.js.map +1 -0
  413. package/lib/options/readFunding.d.ts +5 -1
  414. package/lib/options/readFunding.d.ts.map +1 -0
  415. package/lib/options/readFunding.js +8 -7
  416. package/lib/options/readFunding.js.map +1 -0
  417. package/lib/options/readGitDefaults.d.ts +6 -2
  418. package/lib/options/readGitDefaults.d.ts.map +1 -0
  419. package/lib/options/readGitDefaults.js +9 -8
  420. package/lib/options/readGitDefaults.js.map +1 -0
  421. package/lib/options/readGuide.d.ts +7 -3
  422. package/lib/options/readGuide.d.ts.map +1 -0
  423. package/lib/options/readGuide.js +14 -19
  424. package/lib/options/readGuide.js.map +1 -0
  425. package/lib/options/readKeywords.d.ts +5 -1
  426. package/lib/options/readKeywords.d.ts.map +1 -0
  427. package/lib/options/readKeywords.js +7 -5
  428. package/lib/options/readKeywords.js.map +1 -0
  429. package/lib/options/readLogo.d.ts +8 -4
  430. package/lib/options/readLogo.d.ts.map +1 -0
  431. package/lib/options/readLogo.js +19 -22
  432. package/lib/options/readLogo.js.map +1 -0
  433. package/lib/options/readLogoSizing.d.ts +7 -3
  434. package/lib/options/readLogoSizing.d.ts.map +1 -0
  435. package/lib/options/readLogoSizing.js +26 -22
  436. package/lib/options/readLogoSizing.js.map +1 -0
  437. package/lib/options/readNode.d.ts +7 -3
  438. package/lib/options/readNode.d.ts.map +1 -0
  439. package/lib/options/readNode.js +12 -9
  440. package/lib/options/readNode.js.map +1 -0
  441. package/lib/options/readNpmDefaults.d.ts +7 -3
  442. package/lib/options/readNpmDefaults.d.ts.map +1 -0
  443. package/lib/options/readNpmDefaults.js +9 -6
  444. package/lib/options/readNpmDefaults.js.map +1 -0
  445. package/lib/options/readOwner.d.ts +7 -4
  446. package/lib/options/readOwner.d.ts.map +1 -0
  447. package/lib/options/readOwner.js +7 -6
  448. package/lib/options/readOwner.js.map +1 -0
  449. package/lib/options/readPackageAuthor.d.ts +8 -4
  450. package/lib/options/readPackageAuthor.d.ts.map +1 -0
  451. package/lib/options/readPackageAuthor.js +12 -12
  452. package/lib/options/readPackageAuthor.js.map +1 -0
  453. package/lib/options/readPackageData.d.ts +6 -2
  454. package/lib/options/readPackageData.d.ts.map +1 -0
  455. package/lib/options/readPackageData.js +8 -9
  456. package/lib/options/readPackageData.js.map +1 -0
  457. package/lib/options/readPnpm.d.ts +5 -1
  458. package/lib/options/readPnpm.d.ts.map +1 -0
  459. package/lib/options/readPnpm.js +7 -5
  460. package/lib/options/readPnpm.js.map +1 -0
  461. package/lib/options/readReadmeAdditional.d.ts +4 -0
  462. package/lib/options/readReadmeAdditional.d.ts.map +1 -0
  463. package/lib/options/readReadmeAdditional.js +15 -22
  464. package/lib/options/readReadmeAdditional.js.map +1 -0
  465. package/lib/options/readReadmeExplainer.d.ts +4 -0
  466. package/lib/options/readReadmeExplainer.d.ts.map +1 -0
  467. package/lib/options/readReadmeExplainer.js +24 -25
  468. package/lib/options/readReadmeExplainer.js.map +1 -0
  469. package/lib/options/readReadmeFootnotes.d.ts +4 -0
  470. package/lib/options/readReadmeFootnotes.d.ts.map +1 -0
  471. package/lib/options/readReadmeFootnotes.js +15 -24
  472. package/lib/options/readReadmeFootnotes.js.map +1 -0
  473. package/lib/options/readReadmeUsage.d.ts +4 -0
  474. package/lib/options/readReadmeUsage.d.ts.map +1 -0
  475. package/lib/options/readReadmeUsage.js +13 -15
  476. package/lib/options/readReadmeUsage.js.map +1 -0
  477. package/lib/options/readRepository.d.ts +8 -4
  478. package/lib/options/readRepository.d.ts.map +1 -0
  479. package/lib/options/readRepository.js +6 -4
  480. package/lib/options/readRepository.js.map +1 -0
  481. package/lib/options/readRulesetId.d.ts +5 -1
  482. package/lib/options/readRulesetId.d.ts.map +1 -0
  483. package/lib/options/readRulesetId.js +14 -13
  484. package/lib/options/readRulesetId.js.map +1 -0
  485. package/lib/options/readTitle.d.ts +4 -0
  486. package/lib/options/readTitle.d.ts.map +1 -0
  487. package/lib/options/readTitle.js +11 -10
  488. package/lib/options/readTitle.js.map +1 -0
  489. package/lib/options/readWords.d.ts +5 -1
  490. package/lib/options/readWords.d.ts.map +1 -0
  491. package/lib/options/readWords.js +9 -10
  492. package/lib/options/readWords.js.map +1 -0
  493. package/lib/options/readWorkflowsVersions.d.ts +6 -3
  494. package/lib/options/readWorkflowsVersions.d.ts.map +1 -0
  495. package/lib/options/readWorkflowsVersions.js +45 -63
  496. package/lib/options/readWorkflowsVersions.js.map +1 -0
  497. package/lib/presets/common.d.ts +169 -166
  498. package/lib/presets/common.d.ts.map +1 -0
  499. package/lib/presets/common.js +21 -18
  500. package/lib/presets/common.js.map +1 -0
  501. package/lib/presets/everything.d.ts +169 -166
  502. package/lib/presets/everything.d.ts.map +1 -0
  503. package/lib/presets/everything.js +39 -36
  504. package/lib/presets/everything.js.map +1 -0
  505. package/lib/presets/index.d.ts +504 -502
  506. package/lib/presets/index.d.ts.map +1 -0
  507. package/lib/presets/index.js +10 -13
  508. package/lib/presets/index.js.map +1 -0
  509. package/lib/presets/minimal.d.ts +169 -166
  510. package/lib/presets/minimal.d.ts.map +1 -0
  511. package/lib/presets/minimal.js +51 -48
  512. package/lib/presets/minimal.js.map +1 -0
  513. package/lib/schemas.d.ts +75 -71
  514. package/lib/schemas.d.ts.map +1 -0
  515. package/lib/schemas.js +19 -21
  516. package/lib/schemas.js.map +1 -0
  517. package/lib/template.d.ts +169 -166
  518. package/lib/template.d.ts.map +1 -0
  519. package/lib/template.js +31 -24
  520. package/lib/template.js.map +1 -0
  521. package/lib/types.d.ts +32 -30
  522. package/lib/types.d.ts.map +1 -0
  523. package/lib/utils/htmlToTextSafe.d.ts +4 -0
  524. package/lib/utils/htmlToTextSafe.d.ts.map +1 -0
  525. package/lib/utils/htmlToTextSafe.js +13 -12
  526. package/lib/utils/htmlToTextSafe.js.map +1 -0
  527. package/lib/utils/resolveBin.d.ts +4 -0
  528. package/lib/utils/resolveBin.d.ts.map +1 -0
  529. package/lib/utils/resolveBin.js +7 -4
  530. package/lib/utils/resolveBin.js.map +1 -0
  531. package/lib/utils/swallowError.d.ts +4 -0
  532. package/lib/utils/swallowError.d.ts.map +1 -0
  533. package/lib/utils/swallowError.js +6 -4
  534. package/lib/utils/swallowError.js.map +1 -0
  535. package/lib/utils/swallowErrorAsync.d.ts +4 -0
  536. package/lib/utils/swallowErrorAsync.d.ts.map +1 -0
  537. package/lib/utils/swallowErrorAsync.js +10 -8
  538. package/lib/utils/swallowErrorAsync.js.map +1 -0
  539. package/lib/utils/trimPrecedingSlash.d.ts +4 -0
  540. package/lib/utils/trimPrecedingSlash.d.ts.map +1 -0
  541. package/lib/utils/trimPrecedingSlash.js +6 -4
  542. package/lib/utils/trimPrecedingSlash.js.map +1 -0
  543. package/lib/utils/tryCatch.d.ts +4 -0
  544. package/lib/utils/tryCatch.d.ts.map +1 -0
  545. package/lib/utils/tryCatch.js +10 -8
  546. package/lib/utils/tryCatch.js.map +1 -0
  547. package/package.json +3 -3
  548. package/lib/blocks/blockTSup.d.ts +0 -76
  549. package/lib/blocks/blockTSup.js +0 -139
@@ -1,294 +1,200 @@
1
- import { parse as parsePackageName } from "parse-package-name";
2
- import sortKeys from "sort-keys";
3
- import { z } from "zod";
4
- import { base } from "../base.js";
5
1
  import { getPackageDependencies } from "../data/packageData.js";
6
- import { blockDevelopmentDocs } from "./blockDevelopmentDocs.js";
2
+ import { base } from "../base.js";
3
+ import { intakeFile } from "./intake/intakeFile.js";
4
+ import { CommandPhase } from "./phases.js";
5
+ import { blockRemoveFiles } from "./blockRemoveFiles.js";
7
6
  import { blockGitHubActionsCI } from "./blockGitHubActionsCI.js";
8
7
  import { blockPackageJson } from "./blockPackageJson.js";
9
- import { blockRemoveDependencies } from "./blockRemoveDependencies.js";
10
- import { blockRemoveFiles } from "./blockRemoveFiles.js";
8
+ import { blockDevelopmentDocs } from "./blockDevelopmentDocs.js";
11
9
  import { blockRemoveWorkflows } from "./blockRemoveWorkflows.js";
12
10
  import { blockVSCode } from "./blockVSCode.js";
11
+ import { blockRemoveDependencies } from "./blockRemoveDependencies.js";
12
+ import { zExtension, zExtensionRules, zPackageImport } from "./eslint/schemas.js";
13
13
  import { blockESLintIntake } from "./eslint/blockESLintIntake.js";
14
- import {
15
- zExtension,
16
- zExtensionRules,
17
- zPackageImport
18
- } from "./eslint/schemas.js";
19
- import { intakeFile } from "./intake/intakeFile.js";
20
- import { CommandPhase } from "./phases.js";
14
+ import { z } from "zod";
15
+ import sortKeys from "sort-keys";
16
+ import { parse } from "parse-package-name";
17
+
18
+ //#region src/blocks/blockESLint.ts
21
19
  const blockESLint = base.createBlock({
22
- about: {
23
- name: "ESLint"
24
- },
25
- addons: {
26
- beforeLint: z.string().optional(),
27
- explanations: z.array(z.string()).default([]),
28
- extensions: z.array(z.union([z.string(), zExtension])).default([]),
29
- ignores: z.array(z.string()).default([]),
30
- imports: z.array(zPackageImport).default([]),
31
- rules: zExtensionRules.optional(),
32
- settings: z.record(z.string(), z.unknown()).optional()
33
- },
34
- intake({ files }) {
35
- const eslintConfigRaw = intakeFile(files, [
36
- ["eslint.config.js", "eslint.config.mjs"]
37
- ]);
38
- return eslintConfigRaw ? blockESLintIntake(eslintConfigRaw[0]) : void 0;
39
- },
40
- produce({ addons, options }) {
41
- const { explanations, extensions, ignores, imports, rules, settings } = addons;
42
- const [configFileName, fileExtensions] = options.type === "commonjs" ? ["eslint.config.mjs", "js,mjs,ts"] : ["eslint.config.js", "js,ts"];
43
- const explanation = explanations.length > 0 ? `${explanations.map((explanation2) => `/*
44
- ${explanation2}
45
- */
46
- `).join("")}
47
- ` : "";
48
- const importLines = [
49
- 'import eslint from "@eslint/js";',
50
- 'import tseslint from "typescript-eslint";',
51
- ...imports.map(
52
- (packageImport) => `import ${packageImport.specifier} from "${typeof packageImport.source === "string" ? packageImport.source : packageImport.source.packageName}"`
53
- )
54
- ].sort(
55
- (a, b) => a.replace(/.+from/, "").localeCompare(b.replace(/.+from/, ""))
56
- );
57
- const ignoreLines = Array.from(
58
- new Set(
59
- ["lib", "node_modules", "pnpm-lock.yaml", ...ignores].map(
60
- (ignore) => JSON.stringify(ignore)
61
- )
62
- )
63
- ).sort();
64
- const extensionLines = [
65
- printExtension({
66
- extends: [
67
- "tseslint.configs.strictTypeChecked",
68
- "tseslint.configs.stylisticTypeChecked"
69
- ],
70
- files: [`**/*.{${fileExtensions}}`],
71
- languageOptions: {
72
- parserOptions: {
73
- projectService: {
74
- allowDefaultProject: Array.from(
75
- new Set(
76
- [
77
- "*.config.*s",
78
- ...typeof options.bin === "object" ? Object.values(options.bin) : [options.bin]
79
- ].filter(Boolean).sort()
80
- )
81
- )
82
- },
83
- tsconfigRootDir: "import.meta.dirname"
84
- }
85
- },
86
- ...rules && { rules },
87
- ...settings && { settings }
88
- }),
89
- ...options.type === "commonjs" ? [
90
- printExtension({
91
- files: ["*.mjs"],
92
- languageOptions: { sourceType: "module" }
93
- })
94
- ] : [],
95
- ...extensions.map(
96
- (extension) => typeof extension === "string" ? extension : printExtension(extension)
97
- )
98
- ].sort((a, b) => processForSort(a).localeCompare(processForSort(b))).map((t) => t);
99
- return {
100
- addons: [
101
- blockDevelopmentDocs({
102
- sections: {
103
- Linting: {
104
- contents: {
105
- after: [
106
- `
20
+ about: { name: "ESLint" },
21
+ addons: {
22
+ beforeLint: z.string().optional(),
23
+ explanations: z.array(z.string()).default([]),
24
+ extensions: z.array(z.union([z.string(), zExtension])).default([]),
25
+ ignores: z.array(z.string()).default([]),
26
+ imports: z.array(zPackageImport).default([]),
27
+ rules: zExtensionRules.optional(),
28
+ settings: z.record(z.string(), z.unknown()).optional()
29
+ },
30
+ intake({ files }) {
31
+ const eslintConfigRaw = intakeFile(files, [["eslint.config.js", "eslint.config.mjs"]]);
32
+ return eslintConfigRaw ? blockESLintIntake(eslintConfigRaw[0]) : void 0;
33
+ },
34
+ produce({ addons, options }) {
35
+ const { explanations, extensions, ignores, imports, rules, settings } = addons;
36
+ const [configFileName, fileExtensions] = options.type === "commonjs" ? ["eslint.config.mjs", "js,mjs,ts"] : ["eslint.config.js", "js,ts"];
37
+ const explanation = explanations.length > 0 ? `${explanations.map((explanation$1) => `/*\n${explanation$1}\n*/\n`).join("")}\n` : "";
38
+ const importLines = [
39
+ "import eslint from \"@eslint/js\";",
40
+ "import tseslint from \"typescript-eslint\";",
41
+ ...imports.map((packageImport) => `import ${packageImport.specifier} from "${typeof packageImport.source === "string" ? packageImport.source : packageImport.source.packageName}"`)
42
+ ].sort((a, b) => a.replace(/.+from/, "").localeCompare(b.replace(/.+from/, "")));
43
+ const ignoreLines = Array.from(new Set([
44
+ "lib",
45
+ "node_modules",
46
+ "pnpm-lock.yaml",
47
+ ...ignores
48
+ ].map((ignore) => JSON.stringify(ignore)))).sort();
49
+ const extensionLines = [
50
+ printExtension({
51
+ extends: ["tseslint.configs.strictTypeChecked", "tseslint.configs.stylisticTypeChecked"],
52
+ files: [`**/*.{${fileExtensions}}`],
53
+ languageOptions: { parserOptions: {
54
+ projectService: { allowDefaultProject: Array.from(new Set(["*.config.*s", ...typeof options.bin === "object" ? Object.values(options.bin) : [options.bin]].filter(Boolean).sort())) },
55
+ tsconfigRootDir: "import.meta.dirname"
56
+ } },
57
+ ...rules && { rules },
58
+ ...settings && { settings }
59
+ }),
60
+ ...options.type === "commonjs" ? [printExtension({
61
+ files: ["*.mjs"],
62
+ languageOptions: { sourceType: "module" }
63
+ })] : [],
64
+ ...extensions.map((extension) => typeof extension === "string" ? extension : printExtension(extension))
65
+ ].sort((a, b) => processForSort(a).localeCompare(processForSort(b))).map((t) => t);
66
+ return {
67
+ addons: [
68
+ blockDevelopmentDocs({ sections: { Linting: { contents: {
69
+ after: [`
107
70
  For example, ESLint can be run with \`--fix\` to auto-fix some lint rule complaints:
108
71
 
109
72
  \`\`\`shell
110
73
  pnpm run lint --fix
111
74
  \`\`\`
112
- `,
113
- ...addons.beforeLint ? [addons.beforeLint] : []
114
- ],
115
- before: `
75
+ `, ...addons.beforeLint ? [addons.beforeLint] : []],
76
+ before: `
116
77
  This package includes several forms of linting to enforce consistent code quality and styling.
117
78
  Each should be shown in VS Code, and can be run manually on the command-line:
118
79
  `,
119
- items: [
120
- `- \`pnpm lint\` ([ESLint](https://eslint.org) with [typescript-eslint](https://typescript-eslint.io)): Lints JavaScript and TypeScript source files`
121
- ],
122
- plural: `Read the individual documentation for each linter to understand how it can be configured and used best.`
123
- }
124
- }
125
- }
126
- }),
127
- blockGitHubActionsCI({
128
- jobs: [
129
- {
130
- name: "Lint",
131
- steps: [
132
- ...options.bin ? [{ run: "pnpm build" }] : [],
133
- { run: "pnpm lint" }
134
- ]
135
- }
136
- ]
137
- }),
138
- blockPackageJson({
139
- properties: {
140
- devDependencies: {
141
- ...getPackageDependencies(
142
- "@eslint/js",
143
- "@types/node",
144
- "eslint",
145
- "typescript-eslint",
146
- ...imports.filter((imported) => typeof imported.source === "string").flatMap(({ source, types }) => {
147
- const { name } = parsePackageName(source);
148
- return types ? [name, `@types/${name}`] : [name];
149
- })
150
- ),
151
- ...Object.fromEntries(
152
- imports.filter(
153
- (imported) => typeof imported.source === "object"
154
- ).map((imported) => [
155
- imported.source.packageName,
156
- imported.source.version
157
- ])
158
- )
159
- },
160
- scripts: {
161
- lint: "eslint . --max-warnings 0"
162
- }
163
- }
164
- }),
165
- blockVSCode({
166
- extensions: ["dbaeumer.vscode-eslint"],
167
- settings: {
168
- "editor.codeActionsOnSave": {
169
- "source.fixAll.eslint": "explicit"
170
- },
171
- "eslint.probe": [
172
- "javascript",
173
- "javascriptreact",
174
- "json",
175
- "jsonc",
176
- "markdown",
177
- "typescript",
178
- "typescriptreact",
179
- "yaml"
180
- ],
181
- "eslint.rules.customizations": [{ rule: "*", severity: "warn" }]
182
- }
183
- })
184
- ],
185
- files: {
186
- [configFileName]: `${explanation}${importLines.join("\n")}
80
+ items: [`- \`pnpm lint\` ([ESLint](https://eslint.org) with [typescript-eslint](https://typescript-eslint.io)): Lints JavaScript and TypeScript source files`],
81
+ plural: `Read the individual documentation for each linter to understand how it can be configured and used best.`
82
+ } } } }),
83
+ blockGitHubActionsCI({ jobs: [{
84
+ name: "Lint",
85
+ steps: [...options.bin ? [{ run: "pnpm build" }] : [], { run: "pnpm lint" }]
86
+ }] }),
87
+ blockPackageJson({ properties: {
88
+ devDependencies: {
89
+ ...getPackageDependencies("@eslint/js", "@types/node", "eslint", "typescript-eslint", ...imports.filter((imported) => typeof imported.source === "string").flatMap(({ source, types }) => {
90
+ const { name } = parse(source);
91
+ return types ? [name, `@types/${name}`] : [name];
92
+ })),
93
+ ...Object.fromEntries(imports.filter((imported) => typeof imported.source === "object").map((imported) => [imported.source.packageName, imported.source.version]))
94
+ },
95
+ scripts: { lint: "eslint . --max-warnings 0" }
96
+ } }),
97
+ blockVSCode({
98
+ extensions: ["dbaeumer.vscode-eslint"],
99
+ settings: {
100
+ "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" },
101
+ "eslint.probe": [
102
+ "javascript",
103
+ "javascriptreact",
104
+ "json",
105
+ "jsonc",
106
+ "markdown",
107
+ "typescript",
108
+ "typescriptreact",
109
+ "yaml"
110
+ ],
111
+ "eslint.rules.customizations": [{
112
+ rule: "*",
113
+ severity: "warn"
114
+ }]
115
+ }
116
+ })
117
+ ],
118
+ files: { [configFileName]: `${explanation}${importLines.join("\n")}
187
119
 
188
120
  export default tseslint.config(
189
121
  { ignores: [${ignoreLines.join(", ")}] },
190
- ${printExtension({
191
- linterOptions: { reportUnusedDisableDirectives: "error" }
192
- })},
122
+ ${printExtension({ linterOptions: { reportUnusedDisableDirectives: "error" } })},
193
123
  eslint.configs.recommended,
194
124
  ${extensionLines.join(",")}
195
- );`
196
- },
197
- scripts: [
198
- {
199
- commands: ["pnpm lint --fix"],
200
- phase: CommandPhase.Process
201
- }
202
- ]
203
- };
204
- },
205
- transition({ options }) {
206
- return {
207
- addons: [
208
- blockRemoveDependencies({
209
- dependencies: [
210
- "@types/eslint",
211
- "@typescript-eslint/eslint-plugin",
212
- "@typescript-eslint/parser",
213
- "eslint-plugin-deprecation",
214
- "eslint-plugin-eslint-comments",
215
- "eslint-plugin-no-only-tests",
216
- "yaml-eslint-parser"
217
- ]
218
- }),
219
- blockRemoveFiles({
220
- files: [
221
- ".eslintrc*",
222
- ".eslintignore",
223
- options.type === "commonjs" ? "eslint.config.{cjs,js}" : "eslint.config.{cjs,mjs}"
224
- ]
225
- }),
226
- blockRemoveWorkflows({
227
- workflows: ["eslint", "lint"]
228
- })
229
- ]
230
- };
231
- }
125
+ );` },
126
+ scripts: [{
127
+ commands: ["pnpm lint --fix"],
128
+ phase: CommandPhase.Process
129
+ }]
130
+ };
131
+ },
132
+ transition({ options }) {
133
+ return { addons: [
134
+ blockRemoveDependencies({ dependencies: [
135
+ "@types/eslint",
136
+ "@typescript-eslint/eslint-plugin",
137
+ "@typescript-eslint/parser",
138
+ "eslint-plugin-deprecation",
139
+ "eslint-plugin-eslint-comments",
140
+ "eslint-plugin-no-only-tests",
141
+ "yaml-eslint-parser"
142
+ ] }),
143
+ blockRemoveFiles({ files: [
144
+ ".eslintrc*",
145
+ ".eslintignore",
146
+ options.type === "commonjs" ? "eslint.config.{cjs,js}" : "eslint.config.{cjs,mjs}"
147
+ ] }),
148
+ blockRemoveWorkflows({ workflows: ["eslint", "lint"] })
149
+ ] };
150
+ }
232
151
  });
233
152
  function groupByComment(rulesGroups) {
234
- const byComment = /* @__PURE__ */ new Map();
235
- const grouped = [];
236
- for (const group of rulesGroups) {
237
- const existing = byComment.get(group.comment);
238
- if (existing) {
239
- existing.entries = {
240
- ...existing.entries,
241
- ...group.entries
242
- };
243
- continue;
244
- } else {
245
- byComment.set(group.comment, group);
246
- grouped.push(group);
247
- }
248
- }
249
- return grouped;
153
+ const byComment = /* @__PURE__ */ new Map();
154
+ const grouped = [];
155
+ for (const group of rulesGroups) {
156
+ const existing = byComment.get(group.comment);
157
+ if (existing) {
158
+ existing.entries = {
159
+ ...existing.entries,
160
+ ...group.entries
161
+ };
162
+ continue;
163
+ } else {
164
+ byComment.set(group.comment, group);
165
+ grouped.push(group);
166
+ }
167
+ }
168
+ return grouped;
250
169
  }
251
170
  function printExtension(extension) {
252
- return [
253
- "{",
254
- extension.extends && `extends: [${extension.extends.join(", ")}],`,
255
- extension.files && `files: [${extension.files.map((glob) => JSON.stringify(glob)).join(", ")}],`,
256
- extension.languageOptions && `languageOptions: ${JSON.stringify(extension.languageOptions).replace('"import.meta.dirname"', "import.meta.dirname")},`,
257
- extension.linterOptions && `linterOptions: ${JSON.stringify(extension.linterOptions)}`,
258
- extension.rules && `rules: ${printExtensionRules(extension.rules)},`,
259
- extension.settings && `settings: ${JSON.stringify(sortKeys(extension.settings))},`,
260
- "}"
261
- ].filter(Boolean).join(" ");
171
+ return [
172
+ "{",
173
+ extension.extends && `extends: [${extension.extends.join(", ")}],`,
174
+ extension.files && `files: [${extension.files.map((glob) => JSON.stringify(glob)).join(", ")}],`,
175
+ extension.languageOptions && `languageOptions: ${JSON.stringify(extension.languageOptions).replace("\"import.meta.dirname\"", "import.meta.dirname")},`,
176
+ extension.linterOptions && `linterOptions: ${JSON.stringify(extension.linterOptions)}`,
177
+ extension.rules && `rules: ${printExtensionRules(extension.rules)},`,
178
+ extension.settings && `settings: ${JSON.stringify(sortKeys(extension.settings))},`,
179
+ "}"
180
+ ].filter(Boolean).join(" ");
262
181
  }
263
182
  function printExtensionRules(rules) {
264
- if (!Array.isArray(rules)) {
265
- return JSON.stringify(rules);
266
- }
267
- return [
268
- "{",
269
- ...groupByComment(rules).flatMap((group) => [
270
- printGroupComment(group.comment),
271
- ...Object.entries(group.entries).map(
272
- ([ruleName, options]) => `"${ruleName}": ${JSON.stringify(options)},`
273
- )
274
- ]),
275
- "}"
276
- ].join("");
183
+ if (!Array.isArray(rules)) return JSON.stringify(rules);
184
+ return [
185
+ "{",
186
+ ...groupByComment(rules).flatMap((group) => [printGroupComment(group.comment), ...Object.entries(group.entries).map(([ruleName, options]) => `"${ruleName}": ${JSON.stringify(options)},`)]),
187
+ "}"
188
+ ].join("");
277
189
  }
278
190
  function printGroupComment(comment) {
279
- return comment ? `
280
-
281
- // ${comment.replaceAll("\n", "\n// ")}
282
- ` : "";
191
+ return comment ? `\n\n// ${comment.replaceAll("\n", "\n// ")}\n` : "";
283
192
  }
284
193
  function processForSort(line) {
285
- if (line.startsWith("...") || /\w+/.test(line[0])) {
286
- return `A
287
- ${line.replaceAll(/\W+/g, "")}`;
288
- }
289
- return `B
290
- ${(/files: (.+)/.exec(line)?.[1] ?? line).replaceAll(/\W+/g, "")}`;
194
+ if (line.startsWith("...") || /\w+/.test(line[0])) return `A\n${line.replaceAll(/\W+/g, "")}`;
195
+ return `B\n${(/files: (.+)/.exec(line)?.[1] ?? line).replaceAll(/\W+/g, "")}`;
291
196
  }
292
- export {
293
- blockESLint
294
- };
197
+
198
+ //#endregion
199
+ export { blockESLint };
200
+ //# sourceMappingURL=blockESLint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockESLint.js","names":["explanation","rulesGroups: ExtensionRuleGroup[]","grouped: typeof rulesGroups","extension: Extension","rules: ExtensionRules","comment: string | undefined","line: string"],"sources":["../../src/blocks/blockESLint.ts"],"sourcesContent":["// @ts-expect-error -- https://github.com/egoist/parse-package-name/issues/30\nimport { parse as parsePackageName } from \"parse-package-name\";\nimport sortKeys from \"sort-keys\";\nimport { z } from \"zod\";\n\nimport { base } from \"../base.js\";\nimport { getPackageDependencies } from \"../data/packageData.js\";\nimport { blockDevelopmentDocs } from \"./blockDevelopmentDocs.js\";\nimport { blockGitHubActionsCI } from \"./blockGitHubActionsCI.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\nimport { blockRemoveDependencies } from \"./blockRemoveDependencies.js\";\nimport { blockRemoveFiles } from \"./blockRemoveFiles.js\";\nimport { blockRemoveWorkflows } from \"./blockRemoveWorkflows.js\";\nimport { blockVSCode } from \"./blockVSCode.js\";\nimport { blockESLintIntake } from \"./eslint/blockESLintIntake.js\";\nimport {\n\tExtension,\n\tExtensionRuleGroup,\n\tExtensionRules,\n\tzExtension,\n\tzExtensionRules,\n\tzPackageImport,\n} from \"./eslint/schemas.js\";\nimport { intakeFile } from \"./intake/intakeFile.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockESLint = base.createBlock({\n\tabout: {\n\t\tname: \"ESLint\",\n\t},\n\taddons: {\n\t\tbeforeLint: z.string().optional(),\n\t\texplanations: z.array(z.string()).default([]),\n\t\textensions: z.array(z.union([z.string(), zExtension])).default([]),\n\t\tignores: z.array(z.string()).default([]),\n\t\timports: z.array(zPackageImport).default([]),\n\t\trules: zExtensionRules.optional(),\n\t\tsettings: z.record(z.string(), z.unknown()).optional(),\n\t},\n\tintake({ files }) {\n\t\tconst eslintConfigRaw = intakeFile(files, [\n\t\t\t[\"eslint.config.js\", \"eslint.config.mjs\"],\n\t\t]);\n\n\t\treturn eslintConfigRaw ? blockESLintIntake(eslintConfigRaw[0]) : undefined;\n\t},\n\tproduce({ addons, options }) {\n\t\tconst { explanations, extensions, ignores, imports, rules, settings } =\n\t\t\taddons;\n\n\t\tconst [configFileName, fileExtensions] =\n\t\t\toptions.type === \"commonjs\"\n\t\t\t\t? [\"eslint.config.mjs\", \"js,mjs,ts\"]\n\t\t\t\t: [\"eslint.config.js\", \"js,ts\"];\n\n\t\tconst explanation =\n\t\t\texplanations.length > 0\n\t\t\t\t? `${explanations\n\t\t\t\t\t\t.map((explanation) => `/*\\n${explanation}\\n*/\\n`)\n\t\t\t\t\t\t.join(\"\")}\\n`\n\t\t\t\t: \"\";\n\n\t\tconst importLines = [\n\t\t\t'import eslint from \"@eslint/js\";',\n\t\t\t'import tseslint from \"typescript-eslint\";',\n\t\t\t...imports.map(\n\t\t\t\t(packageImport) =>\n\t\t\t\t\t`import ${packageImport.specifier} from \"${typeof packageImport.source === \"string\" ? packageImport.source : packageImport.source.packageName}\"`,\n\t\t\t),\n\t\t].sort((a, b) =>\n\t\t\ta.replace(/.+from/, \"\").localeCompare(b.replace(/.+from/, \"\")),\n\t\t);\n\n\t\tconst ignoreLines = Array.from(\n\t\t\tnew Set(\n\t\t\t\t[\"lib\", \"node_modules\", \"pnpm-lock.yaml\", ...ignores].map((ignore) =>\n\t\t\t\t\tJSON.stringify(ignore),\n\t\t\t\t),\n\t\t\t),\n\t\t).sort();\n\n\t\tconst extensionLines = [\n\t\t\tprintExtension({\n\t\t\t\textends: [\n\t\t\t\t\t\"tseslint.configs.strictTypeChecked\",\n\t\t\t\t\t\"tseslint.configs.stylisticTypeChecked\",\n\t\t\t\t],\n\t\t\t\tfiles: [`**/*.{${fileExtensions}}`],\n\t\t\t\tlanguageOptions: {\n\t\t\t\t\tparserOptions: {\n\t\t\t\t\t\tprojectService: {\n\t\t\t\t\t\t\tallowDefaultProject: Array.from(\n\t\t\t\t\t\t\t\tnew Set(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\"*.config.*s\",\n\t\t\t\t\t\t\t\t\t\t...(typeof options.bin === \"object\"\n\t\t\t\t\t\t\t\t\t\t\t? Object.values(options.bin)\n\t\t\t\t\t\t\t\t\t\t\t: [options.bin]),\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t\t\t.sort(),\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\ttsconfigRootDir: \"import.meta.dirname\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t...(rules && { rules }),\n\t\t\t\t...(settings && { settings }),\n\t\t\t}),\n\t\t\t...(options.type === \"commonjs\"\n\t\t\t\t? [\n\t\t\t\t\t\tprintExtension({\n\t\t\t\t\t\t\tfiles: [\"*.mjs\"],\n\t\t\t\t\t\t\tlanguageOptions: { sourceType: \"module\" },\n\t\t\t\t\t\t}),\n\t\t\t\t\t]\n\t\t\t\t: []),\n\t\t\t...extensions.map((extension) =>\n\t\t\t\ttypeof extension === \"string\" ? extension : printExtension(extension),\n\t\t\t),\n\t\t]\n\t\t\t.sort((a, b) => processForSort(a).localeCompare(processForSort(b)))\n\t\t\t.map((t) => t);\n\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\tafter: [\n\t\t\t\t\t\t\t\t\t`\nFor example, ESLint can be run with \\`--fix\\` to auto-fix some lint rule complaints:\n\n\\`\\`\\`shell\npnpm run lint --fix\n\\`\\`\\`\n`,\n\t\t\t\t\t\t\t\t\t...(addons.beforeLint ? [addons.beforeLint] : []),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tbefore: `\nThis package includes several forms of linting to enforce consistent code quality and styling.\nEach should be shown in VS Code, and can be run manually on the command-line:\n`,\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t`- \\`pnpm lint\\` ([ESLint](https://eslint.org) with [typescript-eslint](https://typescript-eslint.io)): Lints JavaScript and TypeScript source files`,\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tplural: `Read the individual documentation for each linter to understand how it can be configured and used best.`,\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\",\n\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t...(options.bin ? [{ run: \"pnpm build\" }] : []),\n\t\t\t\t\t\t\t\t{ run: \"pnpm lint\" },\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\tblockPackageJson({\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tdevDependencies: {\n\t\t\t\t\t\t\t...getPackageDependencies(\n\t\t\t\t\t\t\t\t\"@eslint/js\",\n\t\t\t\t\t\t\t\t\"@types/node\",\n\t\t\t\t\t\t\t\t\"eslint\",\n\t\t\t\t\t\t\t\t\"typescript-eslint\",\n\t\t\t\t\t\t\t\t...imports\n\t\t\t\t\t\t\t\t\t.filter((imported) => typeof imported.source === \"string\")\n\t\t\t\t\t\t\t\t\t.flatMap(({ source, types }) => {\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call -- https://github.com/egoist/parse-package-name/issues/30\n\t\t\t\t\t\t\t\t\t\tconst { name } = parsePackageName(source) as {\n\t\t\t\t\t\t\t\t\t\t\tname: string;\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\treturn types ? [name, `@types/${name}`] : [name];\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t...Object.fromEntries(\n\t\t\t\t\t\t\t\timports\n\t\t\t\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\timported,\n\t\t\t\t\t\t\t\t\t\t): imported is typeof imported & { source: object } =>\n\t\t\t\t\t\t\t\t\t\t\ttypeof imported.source === \"object\",\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.map((imported) => [\n\t\t\t\t\t\t\t\t\t\timported.source.packageName,\n\t\t\t\t\t\t\t\t\t\timported.source.version,\n\t\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\tscripts: {\n\t\t\t\t\t\t\tlint: \"eslint . --max-warnings 0\",\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: [\"dbaeumer.vscode-eslint\"],\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\t\"editor.codeActionsOnSave\": {\n\t\t\t\t\t\t\t\"source.fixAll.eslint\": \"explicit\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"eslint.probe\": [\n\t\t\t\t\t\t\t\"javascript\",\n\t\t\t\t\t\t\t\"javascriptreact\",\n\t\t\t\t\t\t\t\"json\",\n\t\t\t\t\t\t\t\"jsonc\",\n\t\t\t\t\t\t\t\"markdown\",\n\t\t\t\t\t\t\t\"typescript\",\n\t\t\t\t\t\t\t\"typescriptreact\",\n\t\t\t\t\t\t\t\"yaml\",\n\t\t\t\t\t\t],\n\t\t\t\t\t\t\"eslint.rules.customizations\": [{ rule: \"*\", severity: \"warn\" }],\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t],\n\t\t\tfiles: {\n\t\t\t\t[configFileName]: `${explanation}${importLines.join(\"\\n\")}\n\nexport default tseslint.config(\n\t{ ignores: [${ignoreLines.join(\", \")}] },\n\t${printExtension({\n\t\tlinterOptions: { reportUnusedDisableDirectives: \"error\" },\n\t})},\n\teslint.configs.recommended,\n\t${extensionLines.join(\",\")}\n);`,\n\t\t\t},\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\"pnpm lint --fix\"],\n\t\t\t\t\tphase: CommandPhase.Process,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\ttransition({ options }) {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockRemoveDependencies({\n\t\t\t\t\tdependencies: [\n\t\t\t\t\t\t\"@types/eslint\",\n\t\t\t\t\t\t\"@typescript-eslint/eslint-plugin\",\n\t\t\t\t\t\t\"@typescript-eslint/parser\",\n\t\t\t\t\t\t\"eslint-plugin-deprecation\",\n\t\t\t\t\t\t\"eslint-plugin-eslint-comments\",\n\t\t\t\t\t\t\"eslint-plugin-no-only-tests\",\n\t\t\t\t\t\t\"yaml-eslint-parser\",\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t\tblockRemoveFiles({\n\t\t\t\t\tfiles: [\n\t\t\t\t\t\t\".eslintrc*\",\n\t\t\t\t\t\t\".eslintignore\",\n\t\t\t\t\t\toptions.type === \"commonjs\"\n\t\t\t\t\t\t\t? \"eslint.config.{cjs,js}\"\n\t\t\t\t\t\t\t: \"eslint.config.{cjs,mjs}\",\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t\tblockRemoveWorkflows({\n\t\t\t\t\tworkflows: [\"eslint\", \"lint\"],\n\t\t\t\t}),\n\t\t\t],\n\t\t};\n\t},\n});\n\nfunction groupByComment(rulesGroups: ExtensionRuleGroup[]) {\n\tconst byComment = new Map<string | undefined, ExtensionRuleGroup>();\n\tconst grouped: typeof rulesGroups = [];\n\n\tfor (const group of rulesGroups) {\n\t\tconst existing = byComment.get(group.comment);\n\n\t\tif (existing) {\n\t\t\texisting.entries = {\n\t\t\t\t...existing.entries,\n\t\t\t\t...group.entries,\n\t\t\t};\n\t\t\tcontinue;\n\t\t} else {\n\t\t\tbyComment.set(group.comment, group);\n\t\t\tgrouped.push(group);\n\t\t}\n\t}\n\n\treturn grouped;\n}\n\nfunction printExtension(extension: Extension) {\n\treturn [\n\t\t\"{\",\n\t\textension.extends && `extends: [${extension.extends.join(\", \")}],`,\n\t\textension.files &&\n\t\t\t`files: [${extension.files.map((glob) => JSON.stringify(glob)).join(\", \")}],`,\n\t\textension.languageOptions &&\n\t\t\t`languageOptions: ${JSON.stringify(extension.languageOptions).replace('\"import.meta.dirname\"', \"import.meta.dirname\")},`,\n\t\textension.linterOptions &&\n\t\t\t`linterOptions: ${JSON.stringify(extension.linterOptions)}`,\n\t\textension.rules && `rules: ${printExtensionRules(extension.rules)},`,\n\t\textension.settings &&\n\t\t\t`settings: ${JSON.stringify(sortKeys(extension.settings))},`,\n\t\t\"}\",\n\t]\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n}\n\nfunction printExtensionRules(rules: ExtensionRules) {\n\tif (!Array.isArray(rules)) {\n\t\treturn JSON.stringify(rules);\n\t}\n\n\treturn [\n\t\t\"{\",\n\t\t...groupByComment(rules).flatMap((group) => [\n\t\t\tprintGroupComment(group.comment),\n\t\t\t...Object.entries(group.entries).map(\n\t\t\t\t([ruleName, options]) => `\"${ruleName}\": ${JSON.stringify(options)},`,\n\t\t\t),\n\t\t]),\n\t\t\"}\",\n\t].join(\"\");\n}\n\nfunction printGroupComment(comment: string | undefined) {\n\treturn comment ? `\\n\\n// ${comment.replaceAll(\"\\n\", \"\\n// \")}\\n` : \"\";\n}\n\nfunction processForSort(line: string) {\n\tif (line.startsWith(\"...\") || /\\w+/.test(line[0])) {\n\t\treturn `A\\n${line.replaceAll(/\\W+/g, \"\")}`;\n\t}\n\n\treturn `B\\n${(/files: (.+)/.exec(line)?.[1] ?? line).replaceAll(/\\W+/g, \"\")}`;\n}\n"],"mappings":"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"}
@@ -1,72 +1,75 @@
1
- import * as bingo_stratum from 'bingo-stratum';
1
+ import * as bingo_stratum292 from "bingo-stratum";
2
2
 
3
- declare const blockESLintComments: bingo_stratum.BlockWithoutAddons<{
4
- access: "public" | "restricted";
5
- description: string;
6
- directory: string;
7
- documentation: {
8
- readme: {
9
- additional?: string | undefined;
10
- explainer?: string | undefined;
11
- footnotes?: string | undefined;
12
- usage?: string | undefined;
13
- };
14
- development?: string | undefined;
15
- };
16
- email: {
17
- github: string;
18
- npm: string;
3
+ //#region src/blocks/blockESLintComments.d.ts
4
+ declare const blockESLintComments: bingo_stratum292.BlockWithoutAddons<{
5
+ access: "public" | "restricted";
6
+ description: string;
7
+ directory: string;
8
+ documentation: {
9
+ readme: {
10
+ additional?: string | undefined;
11
+ explainer?: string | undefined;
12
+ footnotes?: string | undefined;
13
+ usage?: string | undefined;
19
14
  };
15
+ development?: string | undefined;
16
+ };
17
+ email: {
18
+ github: string;
19
+ npm: string;
20
+ };
21
+ title: string;
22
+ node: {
23
+ minimum: string;
24
+ pinned?: string | undefined;
25
+ };
26
+ owner: string;
27
+ repository: string;
28
+ type?: "commonjs" | "module" | undefined;
29
+ author?: string | undefined;
30
+ bin?: string | Record<string, string> | undefined;
31
+ contributors?: {
32
+ avatar_url: string;
33
+ contributions: string[];
34
+ login: string;
35
+ name: string;
36
+ profile: string;
37
+ }[] | undefined;
38
+ emoji?: string | undefined;
39
+ existingLabels?: {
40
+ name: string;
41
+ description: string;
42
+ color: string;
43
+ }[] | undefined;
44
+ funding?: string | undefined;
45
+ guide?: {
46
+ href: string;
20
47
  title: string;
21
- node: {
22
- minimum: string;
23
- pinned?: string | undefined;
24
- };
25
- owner: string;
26
- repository: string;
27
- type?: "commonjs" | "module" | undefined;
28
- author?: string | undefined;
29
- bin?: string | Record<string, string> | undefined;
30
- contributors?: {
31
- avatar_url: string;
32
- contributions: string[];
33
- login: string;
34
- name: string;
35
- profile: string;
36
- }[] | undefined;
37
- emoji?: string | undefined;
38
- existingLabels?: {
39
- name: string;
40
- description: string;
41
- color: string;
42
- }[] | undefined;
43
- funding?: string | undefined;
44
- guide?: {
45
- href: string;
46
- title: string;
47
- } | undefined;
48
- keywords?: string[] | undefined;
49
- logo?: {
50
- alt: string;
51
- src: string;
52
- height?: number | undefined;
53
- width?: number | undefined;
54
- } | undefined;
55
- packageData?: {
56
- dependencies?: Record<string, string> | undefined;
57
- devDependencies?: Record<string, string> | undefined;
58
- peerDependencies?: Record<string, string> | undefined;
59
- peerDependenciesMeta?: Record<string, unknown> | undefined;
60
- scripts?: Record<string, string | undefined> | undefined;
61
- } | undefined;
62
- pnpm?: string | undefined;
63
- rulesetId?: string | undefined;
64
- version?: string | undefined;
65
- words?: string[] | undefined;
66
- workflowsVersions?: Record<string, Record<string, {
67
- pinned?: boolean | undefined;
68
- hash?: string | undefined;
69
- }>> | undefined;
48
+ } | undefined;
49
+ keywords?: string[] | undefined;
50
+ logo?: {
51
+ alt: string;
52
+ src: string;
53
+ height?: number | undefined;
54
+ width?: number | undefined;
55
+ } | undefined;
56
+ packageData?: {
57
+ dependencies?: Record<string, string> | undefined;
58
+ devDependencies?: Record<string, string> | undefined;
59
+ peerDependencies?: Record<string, string> | undefined;
60
+ peerDependenciesMeta?: Record<string, unknown> | undefined;
61
+ scripts?: Record<string, string | undefined> | undefined;
62
+ } | undefined;
63
+ pnpm?: string | undefined;
64
+ rulesetId?: string | undefined;
65
+ version?: string | undefined;
66
+ words?: string[] | undefined;
67
+ workflowsVersions?: Record<string, Record<string, {
68
+ hash?: string | undefined;
69
+ pinned?: boolean | undefined;
70
+ }>> | undefined;
70
71
  }>;
71
-
72
+ //# sourceMappingURL=blockESLintComments.d.ts.map
73
+ //#endregion
72
74
  export { blockESLintComments };
75
+ //# sourceMappingURL=blockESLintComments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockESLintComments.d.ts","names":[],"sources":["../../src/blocks/blockESLintComments.ts"],"sourcesContent":[],"mappings":";;;cAGa,sCAAmB;;;EAAnB,SAAA,EAAA,MAAA;EAmBX,aAAA,EAAA;IAAA,MAAA,EAAA;;;;;;;;;IAnB8B,MAAA,EAAA,MAAA;;;;;;;;;;;;iBAmB9B"}