create-typescript-app 2.46.2 → 2.46.3

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 (91) hide show
  1. package/lib/base.d.ts +2 -2
  2. package/lib/blocks/blockAllContributors.d.ts +2 -2
  3. package/lib/blocks/blockAreTheTypesWrong.d.ts +2 -2
  4. package/lib/blocks/blockCSpell.d.ts +2 -2
  5. package/lib/blocks/blockCTATransitions.d.ts +2 -2
  6. package/lib/blocks/blockCTATransitions.d.ts.map +1 -1
  7. package/lib/blocks/blockCodecov.d.ts +2 -2
  8. package/lib/blocks/blockContributingDocs.d.ts +2 -2
  9. package/lib/blocks/blockContributorCovenant.d.ts +2 -2
  10. package/lib/blocks/blockDevelopmentDocs.d.ts +2 -2
  11. package/lib/blocks/blockESLint.d.ts +11 -11
  12. package/lib/blocks/blockESLint.d.ts.map +1 -1
  13. package/lib/blocks/blockESLint.js +1 -4
  14. package/lib/blocks/blockESLint.js.map +1 -1
  15. package/lib/blocks/blockESLintComments.d.ts +2 -2
  16. package/lib/blocks/blockESLintJSDoc.d.ts +2 -2
  17. package/lib/blocks/blockESLintJSONC.d.ts +2 -2
  18. package/lib/blocks/blockESLintMarkdown.d.ts +2 -2
  19. package/lib/blocks/blockESLintMoreStyling.d.ts +2 -2
  20. package/lib/blocks/blockESLintNode.d.ts +2 -2
  21. package/lib/blocks/blockESLintPackageJson.d.ts +2 -2
  22. package/lib/blocks/blockESLintPerfectionist.d.ts +2 -2
  23. package/lib/blocks/blockESLintPlugin.d.ts +2 -2
  24. package/lib/blocks/blockESLintRegexp.d.ts +2 -2
  25. package/lib/blocks/blockESLintYML.d.ts +2 -2
  26. package/lib/blocks/blockExampleFiles.d.ts +2 -2
  27. package/lib/blocks/blockFunding.d.ts +2 -2
  28. package/lib/blocks/blockGitHubActionsCI.d.ts +2 -2
  29. package/lib/blocks/blockGitHubApps.d.ts +2 -2
  30. package/lib/blocks/blockGitHubIssueTemplates.d.ts +2 -2
  31. package/lib/blocks/blockGitHubPRTemplate.d.ts +2 -2
  32. package/lib/blocks/blockGitignore.d.ts +2 -2
  33. package/lib/blocks/blockKnip.d.ts +2 -2
  34. package/lib/blocks/blockMITLicense.d.ts +2 -2
  35. package/lib/blocks/blockMain.d.ts +2 -2
  36. package/lib/blocks/blockMain.d.ts.map +1 -1
  37. package/lib/blocks/blockMarkdownlint.d.ts +2 -2
  38. package/lib/blocks/blockMarkdownlint.d.ts.map +1 -1
  39. package/lib/blocks/blockNcc.d.ts +2 -2
  40. package/lib/blocks/blockNcc.d.ts.map +1 -1
  41. package/lib/blocks/blockNvmrc.d.ts +2 -2
  42. package/lib/blocks/blockNvmrc.d.ts.map +1 -1
  43. package/lib/blocks/blockOctoGuide.d.ts +2 -2
  44. package/lib/blocks/blockOctoGuide.d.ts.map +1 -1
  45. package/lib/blocks/blockOctoGuideStrict.d.ts +2 -2
  46. package/lib/blocks/blockOctoGuideStrict.d.ts.map +1 -1
  47. package/lib/blocks/blockPackageJson.d.ts +4 -4
  48. package/lib/blocks/blockPackageJson.d.ts.map +1 -1
  49. package/lib/blocks/blockPnpmDedupe.d.ts +2 -2
  50. package/lib/blocks/blockPrettier.d.ts +4 -4
  51. package/lib/blocks/blockPrettier.d.ts.map +1 -1
  52. package/lib/blocks/blockPrettierPluginCurly.d.ts +2 -2
  53. package/lib/blocks/blockPrettierPluginPackageJson.d.ts +2 -2
  54. package/lib/blocks/blockPrettierPluginSh.d.ts +2 -2
  55. package/lib/blocks/blockPrettierPluginSh.d.ts.map +1 -1
  56. package/lib/blocks/blockREADME.d.ts +2 -2
  57. package/lib/blocks/blockREADME.d.ts.map +1 -1
  58. package/lib/blocks/blockReleaseIt.d.ts +2 -2
  59. package/lib/blocks/blockReleaseIt.d.ts.map +1 -1
  60. package/lib/blocks/blockRemoveDependencies.d.ts +2 -2
  61. package/lib/blocks/blockRemoveDependencies.d.ts.map +1 -1
  62. package/lib/blocks/blockRemoveFiles.d.ts +2 -2
  63. package/lib/blocks/blockRemoveFiles.d.ts.map +1 -1
  64. package/lib/blocks/blockRemoveWorkflows.d.ts +2 -2
  65. package/lib/blocks/blockRenovate.d.ts +2 -2
  66. package/lib/blocks/blockRepositoryBranchRuleset.d.ts +2 -2
  67. package/lib/blocks/blockRepositoryLabels.d.ts +2 -2
  68. package/lib/blocks/blockRepositorySecrets.d.ts +2 -2
  69. package/lib/blocks/blockRepositorySettings.d.ts +2 -2
  70. package/lib/blocks/blockSecurityDocs.d.ts +2 -2
  71. package/lib/blocks/blockTSDown.d.ts +2 -2
  72. package/lib/blocks/blockTemplatedWith.d.ts +2 -2
  73. package/lib/blocks/blockTypeScript.d.ts +2 -2
  74. package/lib/blocks/blockVSCode.d.ts +3 -3
  75. package/lib/blocks/blockVSCode.d.ts.map +1 -1
  76. package/lib/blocks/blockVitest.d.ts +2 -2
  77. package/lib/blocks/blockWebExt.d.ts +2 -2
  78. package/lib/blocks/eslint/schemas.d.ts +9 -9
  79. package/lib/blocks/eslint/schemas.d.ts.map +1 -1
  80. package/lib/blocks/index.d.ts +63 -63
  81. package/lib/data/packageData.d.ts +2 -2
  82. package/lib/inputs/inputFromDirectory.d.ts +2 -2
  83. package/lib/inputs/inputFromOctokit.d.ts +2 -2
  84. package/lib/options/readNpmDefaults.d.ts +2 -2
  85. package/lib/options/readNpmDefaults.d.ts.map +1 -1
  86. package/lib/presets/common.d.ts +69 -69
  87. package/lib/presets/everything.d.ts +69 -69
  88. package/lib/presets/index.d.ts +203 -203
  89. package/lib/presets/minimal.d.ts +69 -69
  90. package/lib/template.d.ts +69 -69
  91. package/package.json +1 -1
package/lib/base.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import * as bingo_stratum132 from "bingo-stratum";
1
+ import * as bingo_stratum270 from "bingo-stratum";
2
2
  import { BaseOptionsFor } from "bingo-stratum";
3
3
  import { z } from "zod";
4
4
 
5
5
  //#region src/base.d.ts
6
- declare const base: bingo_stratum132.Base<{
6
+ declare const base: bingo_stratum270.Base<{
7
7
  access: z.ZodUnion<[z.ZodLiteral<"public">, z.ZodLiteral<"restricted">]>;
8
8
  author: z.ZodOptional<z.ZodString>;
9
9
  bin: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum266 from "bingo-stratum";
1
+ import * as bingo_stratum275 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockAllContributors.d.ts
4
- declare const blockAllContributors: bingo_stratum266.BlockWithoutAddons<{
4
+ declare const blockAllContributors: bingo_stratum275.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum271 from "bingo-stratum";
1
+ import * as bingo_stratum272 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockAreTheTypesWrong.d.ts
4
- declare const blockAreTheTypesWrong: bingo_stratum271.BlockWithoutAddons<{
4
+ declare const blockAreTheTypesWrong: bingo_stratum272.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum276 from "bingo-stratum";
1
+ import * as bingo_stratum277 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockCSpell.d.ts
4
- declare const blockCSpell: bingo_stratum276.BlockWithAddons<{
4
+ declare const blockCSpell: bingo_stratum277.BlockWithAddons<{
5
5
  words: string[];
6
6
  ignorePaths: string[];
7
7
  }, {
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum275 from "bingo-stratum";
1
+ import * as bingo_stratum1153 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockCTATransitions.d.ts
4
- declare const blockCTATransitions: bingo_stratum275.BlockWithoutAddons<{
4
+ declare const blockCTATransitions: bingo_stratum1153.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1 +1 @@
1
- {"version":3,"file":"blockCTATransitions.d.ts","names":[],"sources":["../../src/blocks/blockCTATransitions.ts"],"sourcesContent":[],"mappings":";;;cAQa,sCAAmB;;;EAAnB,SAAA,EAAA,MAAA;EA6JX,aAAA,EAAA;IAAA,MAAA,EAAA;;;;;;;;;IA7J8B,MAAA,EAAA,MAAA;;;;;;;;;;;;iBA6J9B"}
1
+ {"version":3,"file":"blockCTATransitions.d.ts","names":[],"sources":["../../src/blocks/blockCTATransitions.ts"],"sourcesContent":[],"mappings":";;;cAQa,uCAAmB;;;EAAnB,SAAA,EAAA,MAAA;EA6JX,aAAA,EAAA;IAAA,MAAA,EAAA;;;;;;;;;IA7J8B,MAAA,EAAA,MAAA;;;;;;;;;;;;iBA6J9B"}
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum279 from "bingo-stratum";
1
+ import * as bingo_stratum263 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockCodecov.d.ts
4
- declare const blockCodecov: bingo_stratum279.BlockWithAddons<{
4
+ declare const blockCodecov: bingo_stratum263.BlockWithAddons<{
5
5
  env?: Record<string, string> | undefined;
6
6
  }, {
7
7
  access: "public" | "restricted";
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum278 from "bingo-stratum";
1
+ import * as bingo_stratum264 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockContributingDocs.d.ts
4
- declare const blockContributingDocs: bingo_stratum278.BlockWithoutAddons<{
4
+ declare const blockContributingDocs: bingo_stratum264.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum272 from "bingo-stratum";
1
+ import * as bingo_stratum265 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockContributorCovenant.d.ts
4
- declare const blockContributorCovenant: bingo_stratum272.BlockWithoutAddons<{
4
+ declare const blockContributorCovenant: bingo_stratum265.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum273 from "bingo-stratum";
1
+ import * as bingo_stratum266 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockDevelopmentDocs.d.ts
4
- declare const blockDevelopmentDocs: bingo_stratum273.BlockWithAddons<{
4
+ declare const blockDevelopmentDocs: bingo_stratum266.BlockWithAddons<{
5
5
  hints: string[];
6
6
  sections: Record<string, {
7
7
  contents?: string | {
@@ -1,21 +1,19 @@
1
- import * as bingo_stratum274 from "bingo-stratum";
1
+ import * as bingo_stratum267 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLint.d.ts
4
- declare const blockESLint: bingo_stratum274.BlockWithAddons<{
5
- explanations: string[];
4
+ declare const blockESLint: bingo_stratum267.BlockWithAddons<{
6
5
  extensions: (string | {
7
6
  files?: string[] | undefined;
8
- extends?: string[] | undefined;
9
- languageOptions?: unknown;
10
- linterOptions?: unknown;
11
- plugins?: Record<string, string> | undefined;
7
+ settings?: Record<string, unknown> | undefined;
12
8
  rules?: Record<string, "off" | "error" | "warn" | ["error" | "warn", unknown] | ["error" | "warn", unknown, unknown]> | {
13
9
  entries: Record<string, "off" | "error" | "warn" | ["error" | "warn", unknown] | ["error" | "warn", unknown, unknown]>;
14
10
  comment?: string | undefined;
15
11
  }[] | undefined;
16
- settings?: Record<string, unknown> | undefined;
12
+ plugins?: Record<string, string> | undefined;
13
+ extends?: string[] | undefined;
14
+ languageOptions?: unknown;
15
+ linterOptions?: unknown;
17
16
  })[];
18
- ignores: string[];
19
17
  imports: {
20
18
  source: string | {
21
19
  version: string;
@@ -24,12 +22,14 @@ declare const blockESLint: bingo_stratum274.BlockWithAddons<{
24
22
  specifier: string;
25
23
  types?: boolean | undefined;
26
24
  }[];
27
- beforeLint?: string | undefined;
25
+ ignores: string[];
26
+ explanations: string[];
27
+ settings?: Record<string, unknown> | undefined;
28
28
  rules?: Record<string, "off" | "error" | "warn" | ["error" | "warn", unknown] | ["error" | "warn", unknown, unknown]> | {
29
29
  entries: Record<string, "off" | "error" | "warn" | ["error" | "warn", unknown] | ["error" | "warn", unknown, unknown]>;
30
30
  comment?: string | undefined;
31
31
  }[] | undefined;
32
- settings?: Record<string, unknown> | undefined;
32
+ beforeLint?: string | undefined;
33
33
  }, {
34
34
  access: "public" | "restricted";
35
35
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"blockESLint.d.ts","names":[],"sources":["../../src/blocks/blockESLint.ts"],"sourcesContent":[],"mappings":";;;cA0Ba,8BAAW;;;IAAX,KAAA,CAAA,EAAA,MAoPX,EAAA,GAAA,SAAA;IAAA,OAAA,CAAA,EAAA,MAAA,EAAA,GAAA,SAAA;IAAA,eAAA,CAAA,EAAA,OAAA;;cAAA;;;;;;;;;;;;;qBApPsB;IAAA,KAAA,CAAA,EAAA,OAAA,GAAA,SAAA"}
1
+ {"version":3,"file":"blockESLint.d.ts","names":[],"sources":["../../src/blocks/blockESLint.ts"],"sourcesContent":[],"mappings":";;;cA0Ba,8BAAW;;;IAAX,QAAA,CAAA,EAmPX,MAAA,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA,SAAA;IAAA,KAAA,CAAA,QAAA,CAAA,MAAA,EAAA,KAAA,GAAA,OAAA,GAAA,MAAA,GAAA,CAAA,OAAA,GAAA,MAAA,EAAA,OAAA,CAAA,GAAA,CAAA,OAAA,GAAA,MAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAA,GAAA;MAAA,OAAA,QAAA,CAAA,MAAA,EAAA,KAAA,GAAA,OAAA,GAAA,MAAA,GAAA,CAAA,OAAA,GAAA,MAAA,EAAA,OAAA,CAAA,GAAA,CAAA,OAAA,GAAA,MAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;EAnPsB,OAAA,EAAA,MAAA,EAAA"}
@@ -50,10 +50,7 @@ const blockESLint = base.createBlock({
50
50
  printExtension({
51
51
  extends: ["tseslint.configs.strictTypeChecked", "tseslint.configs.stylisticTypeChecked"],
52
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
- } },
53
+ languageOptions: { parserOptions: { projectService: { allowDefaultProject: Array.from(new Set(["*.config.*s", ...typeof options.bin === "object" ? Object.values(options.bin) : [options.bin]].filter(Boolean).sort())) } } },
57
54
  ...rules && { rules },
58
55
  ...settings && { settings }
59
56
  }),
@@ -1 +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
+ {"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},\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,7 +1,7 @@
1
- import * as bingo_stratum133 from "bingo-stratum";
1
+ import * as bingo_stratum268 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintComments.d.ts
4
- declare const blockESLintComments: bingo_stratum133.BlockWithoutAddons<{
4
+ declare const blockESLintComments: bingo_stratum268.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum265 from "bingo-stratum";
1
+ import * as bingo_stratum269 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintJSDoc.d.ts
4
- declare const blockESLintJSDoc: bingo_stratum265.BlockWithoutAddons<{
4
+ declare const blockESLintJSDoc: bingo_stratum269.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum267 from "bingo-stratum";
1
+ import * as bingo_stratum271 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintJSONC.d.ts
4
- declare const blockESLintJSONC: bingo_stratum267.BlockWithoutAddons<{
4
+ declare const blockESLintJSONC: bingo_stratum271.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum268 from "bingo-stratum";
1
+ import * as bingo_stratum273 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintMarkdown.d.ts
4
- declare const blockESLintMarkdown: bingo_stratum268.BlockWithoutAddons<{
4
+ declare const blockESLintMarkdown: bingo_stratum273.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,8 +1,8 @@
1
- import * as bingo_stratum269 from "bingo-stratum";
1
+ import * as bingo_stratum274 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintMoreStyling.d.ts
4
4
  declare const stylisticComment = "Stylistic concerns that don't interfere with Prettier";
5
- declare const blockESLintMoreStyling: bingo_stratum269.BlockWithoutAddons<{
5
+ declare const blockESLintMoreStyling: bingo_stratum274.BlockWithoutAddons<{
6
6
  access: "public" | "restricted";
7
7
  description: string;
8
8
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum270 from "bingo-stratum";
1
+ import * as bingo_stratum276 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintNode.d.ts
4
- declare const blockESLintNode: bingo_stratum270.BlockWithoutAddons<{
4
+ declare const blockESLintNode: bingo_stratum276.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum134 from "bingo-stratum";
1
+ import * as bingo_stratum278 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintPackageJson.d.ts
4
- declare const blockESLintPackageJson: bingo_stratum134.BlockWithoutAddons<{
4
+ declare const blockESLintPackageJson: bingo_stratum278.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum277 from "bingo-stratum";
1
+ import * as bingo_stratum281 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintPerfectionist.d.ts
4
- declare const blockESLintPerfectionist: bingo_stratum277.BlockWithoutAddons<{
4
+ declare const blockESLintPerfectionist: bingo_stratum281.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum280 from "bingo-stratum";
1
+ import * as bingo_stratum331 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintPlugin.d.ts
4
- declare const blockESLintPlugin: bingo_stratum280.BlockWithAddons<{
4
+ declare const blockESLintPlugin: bingo_stratum331.BlockWithAddons<{
5
5
  configEmoji?: [string, string][] | undefined;
6
6
  }, {
7
7
  access: "public" | "restricted";
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum283 from "bingo-stratum";
1
+ import * as bingo_stratum332 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintRegexp.d.ts
4
- declare const blockESLintRegexp: bingo_stratum283.BlockWithoutAddons<{
4
+ declare const blockESLintRegexp: bingo_stratum332.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum285 from "bingo-stratum";
1
+ import * as bingo_stratum334 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintYML.d.ts
4
- declare const blockESLintYML: bingo_stratum285.BlockWithoutAddons<{
4
+ declare const blockESLintYML: bingo_stratum334.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum287 from "bingo-stratum";
1
+ import * as bingo_stratum336 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockExampleFiles.d.ts
4
- declare const blockExampleFiles: bingo_stratum287.BlockWithAddons<{
4
+ declare const blockExampleFiles: bingo_stratum336.BlockWithAddons<{
5
5
  usage: string[];
6
6
  files: Record<string, string>;
7
7
  }, {
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum289 from "bingo-stratum";
1
+ import * as bingo_stratum338 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockFunding.d.ts
4
- declare const blockFunding: bingo_stratum289.BlockWithoutAddons<{
4
+ declare const blockFunding: bingo_stratum338.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum292 from "bingo-stratum";
1
+ import * as bingo_stratum355 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockGitHubActionsCI.d.ts
4
- declare const blockGitHubActionsCI: bingo_stratum292.BlockWithAddons<{
4
+ declare const blockGitHubActionsCI: bingo_stratum355.BlockWithAddons<{
5
5
  jobs?: {
6
6
  name: string;
7
7
  steps: ({
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum293 from "bingo-stratum";
1
+ import * as bingo_stratum356 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockGitHubApps.d.ts
4
- declare const blockGitHubApps: bingo_stratum293.BlockWithAddons<{
4
+ declare const blockGitHubApps: bingo_stratum356.BlockWithAddons<{
5
5
  apps: {
6
6
  name: string;
7
7
  url: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum296 from "bingo-stratum";
1
+ import * as bingo_stratum358 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockGitHubIssueTemplates.d.ts
4
- declare const blockGitHubIssueTemplates: bingo_stratum296.BlockWithoutAddons<{
4
+ declare const blockGitHubIssueTemplates: bingo_stratum358.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum297 from "bingo-stratum";
1
+ import * as bingo_stratum360 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockGitHubPRTemplate.d.ts
4
- declare const blockGitHubPRTemplate: bingo_stratum297.BlockWithoutAddons<{
4
+ declare const blockGitHubPRTemplate: bingo_stratum360.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum299 from "bingo-stratum";
1
+ import * as bingo_stratum362 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockGitignore.d.ts
4
- declare const blockGitignore: bingo_stratum299.BlockWithAddons<{
4
+ declare const blockGitignore: bingo_stratum362.BlockWithAddons<{
5
5
  ignores: string[];
6
6
  }, {
7
7
  access: "public" | "restricted";
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum301 from "bingo-stratum";
1
+ import * as bingo_stratum493 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockKnip.d.ts
4
- declare const blockKnip: bingo_stratum301.BlockWithAddons<{
4
+ declare const blockKnip: bingo_stratum493.BlockWithAddons<{
5
5
  entry?: string[] | undefined;
6
6
  ignoreDependencies?: string[] | undefined;
7
7
  project?: string[] | undefined;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum303 from "bingo-stratum";
1
+ import * as bingo_stratum624 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockMITLicense.d.ts
4
- declare const blockMITLicense: bingo_stratum303.BlockWithoutAddons<{
4
+ declare const blockMITLicense: bingo_stratum624.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum305 from "bingo-stratum";
1
+ import * as bingo_stratum1015 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockMain.d.ts
4
- declare const blockMain: bingo_stratum305.BlockWithAddons<{
4
+ declare const blockMain: bingo_stratum1015.BlockWithAddons<{
5
5
  runArgs: string[];
6
6
  filePath?: string | undefined;
7
7
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"blockMain.d.ts","names":[],"sources":["../../src/blocks/blockMain.ts"],"sourcesContent":[],"mappings":";;;cAMa,4BAAS;;;AAAtB,CAAA,EAAA;EA0BE,MAAA,EAAA,QAAA,GAAA,YAAA;EAAA,WAAA,EAAA,MAAA;;;;;;;;;IA1BoB,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA;;;;;;;;;;;;;;;iBA0BpB"}
1
+ {"version":3,"file":"blockMain.d.ts","names":[],"sources":["../../src/blocks/blockMain.ts"],"sourcesContent":[],"mappings":";;;cAMa,6BAAS;;;AAAtB,CAAA,EAAA;EA0BE,MAAA,EAAA,QAAA,GAAA,YAAA;EAAA,WAAA,EAAA,MAAA;;;;;;;;;IA1BoB,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA;;;;;;;;;;;;;;;iBA0BpB"}
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum306 from "bingo-stratum";
1
+ import * as bingo_stratum1146 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockMarkdownlint.d.ts
4
- declare const blockMarkdownlint: bingo_stratum306.BlockWithAddons<{
4
+ declare const blockMarkdownlint: bingo_stratum1146.BlockWithAddons<{
5
5
  ignores: string[];
6
6
  }, {
7
7
  access: "public" | "restricted";
@@ -1 +1 @@
1
- {"version":3,"file":"blockMarkdownlint.d.ts","names":[],"sources":["../../src/blocks/blockMarkdownlint.ts"],"sourcesContent":[],"mappings":";;;cAaa,oCAAiB;;;EAAjB,MAAA,EAAA,QAAA,GAAA,YA2FX;EAAA,WAAA,EAAA,MAAA;EAAA,SAAA,EAAA,MAAA;;;;;;;;wBA3F4B,GAAA,SAAA;EAAA,CAAA;;;;;;;;;;;;;;iBA2F5B"}
1
+ {"version":3,"file":"blockMarkdownlint.d.ts","names":[],"sources":["../../src/blocks/blockMarkdownlint.ts"],"sourcesContent":[],"mappings":";;;cAaa,qCAAiB;;;EAAjB,MAAA,EAAA,QAAA,GAAA,YA2FX;EAAA,WAAA,EAAA,MAAA;EAAA,SAAA,EAAA,MAAA;;;;;;;;wBA3F4B,GAAA,SAAA;EAAA,CAAA;;;;;;;;;;;;;;iBA2F5B"}
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum355 from "bingo-stratum";
1
+ import * as bingo_stratum1147 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockNcc.d.ts
4
- declare const blockNcc: bingo_stratum355.BlockWithAddons<{
4
+ declare const blockNcc: bingo_stratum1147.BlockWithAddons<{
5
5
  entry?: string | undefined;
6
6
  }, {
7
7
  access: "public" | "restricted";
@@ -1 +1 @@
1
- {"version":3,"file":"blockNcc.d.ts","names":[],"sources":["../../src/blocks/blockNcc.ts"],"sourcesContent":[],"mappings":";;;cAUa,2BAAQ;;;EAAR,MAAA,EAAA,QAqFX,GAAA,YAAA;EAAA,WAAA,EAAA,MAAA;EAAA,SAAA,EAAA,MAAA;;;;;;;;wBArFmB,GAAA,SAAA;EAAA,CAAA;;;;;;;;;;;;;;iBAqFnB"}
1
+ {"version":3,"file":"blockNcc.d.ts","names":[],"sources":["../../src/blocks/blockNcc.ts"],"sourcesContent":[],"mappings":";;;cAUa,4BAAQ;;;EAAR,MAAA,EAAA,QAqFX,GAAA,YAAA;EAAA,WAAA,EAAA,MAAA;EAAA,SAAA,EAAA,MAAA;;;;;;;;wBArFmB,GAAA,SAAA;EAAA,CAAA;;;;;;;;;;;;;;iBAqFnB"}
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum356 from "bingo-stratum";
1
+ import * as bingo_stratum1148 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockNvmrc.d.ts
4
- declare const blockNvmrc: bingo_stratum356.BlockWithoutAddons<{
4
+ declare const blockNvmrc: bingo_stratum1148.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1 +1 @@
1
- {"version":3,"file":"blockNvmrc.d.ts","names":[],"sources":["../../src/blocks/blockNvmrc.ts"],"sourcesContent":[],"mappings":";;;cAGa,6BAAU;;;EAAV,SAAA,EAAA,MAkBX;EAAA,aAAA,EAAA;IAAA,MAAA,EAAA;;;;;;;;;IAlBqB,MAAA,EAAA,MAAA;;;;;;;;;;;;iBAkBrB"}
1
+ {"version":3,"file":"blockNvmrc.d.ts","names":[],"sources":["../../src/blocks/blockNvmrc.ts"],"sourcesContent":[],"mappings":";;;cAGa,8BAAU;;;EAAV,SAAA,EAAA,MAkBX;EAAA,aAAA,EAAA;IAAA,MAAA,EAAA;;;;;;;;;IAlBqB,MAAA,EAAA,MAAA;;;;;;;;;;;;iBAkBrB"}
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum357 from "bingo-stratum";
1
+ import * as bingo_stratum1149 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockOctoGuide.d.ts
4
- declare const blockOctoGuide: bingo_stratum357.BlockWithAddons<{
4
+ declare const blockOctoGuide: bingo_stratum1149.BlockWithAddons<{
5
5
  config?: "strict" | "recommended" | undefined;
6
6
  }, {
7
7
  access: "public" | "restricted";
@@ -1 +1 @@
1
- {"version":3,"file":"blockOctoGuide.d.ts","names":[],"sources":["../../src/blocks/blockOctoGuide.ts"],"sourcesContent":[],"mappings":";;;cAQa,iCAAc;;;EAAd,MAAA,EAAA,QAAA,GAiGX,YAAA;EAAA,WAAA,EAAA,MAAA;EAAA,SAAA,EAAA,MAAA;;;;;;;;wBAjGyB,GAAA,SAAA;EAAA,CAAA;;;;;;;;;;;;;;iBAiGzB"}
1
+ {"version":3,"file":"blockOctoGuide.d.ts","names":[],"sources":["../../src/blocks/blockOctoGuide.ts"],"sourcesContent":[],"mappings":";;;cAQa,kCAAc;;;EAAd,MAAA,EAAA,QAAA,GAiGX,YAAA;EAAA,WAAA,EAAA,MAAA;EAAA,SAAA,EAAA,MAAA;;;;;;;;wBAjGyB,GAAA,SAAA;EAAA,CAAA;;;;;;;;;;;;;;iBAiGzB"}
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum358 from "bingo-stratum";
1
+ import * as bingo_stratum1150 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockOctoGuideStrict.d.ts
4
- declare const blockOctoGuideStrict: bingo_stratum358.BlockWithoutAddons<{
4
+ declare const blockOctoGuideStrict: bingo_stratum1150.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -1 +1 @@
1
- {"version":3,"file":"blockOctoGuideStrict.d.ts","names":[],"sources":["../../src/blocks/blockOctoGuideStrict.ts"],"sourcesContent":[],"mappings":";;;cAGa,uCAAoB;;;EAApB,SAAA,EAAA,MAAA;EAaX,aAAA,EAAA;IAAA,MAAA,EAAA;;;;;;;;;IAb+B,MAAA,EAAA,MAAA;;;;;;;;;;;;iBAa/B"}
1
+ {"version":3,"file":"blockOctoGuideStrict.d.ts","names":[],"sources":["../../src/blocks/blockOctoGuideStrict.ts"],"sourcesContent":[],"mappings":";;;cAGa,wCAAoB;;;EAApB,SAAA,EAAA,MAAA;EAaX,aAAA,EAAA;IAAA,MAAA,EAAA;;;;;;;;;IAb+B,MAAA,EAAA,MAAA;;;;;;;;;;;;iBAa/B"}
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum359 from "bingo-stratum";
1
+ import * as bingo_stratum1151 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockPackageJson.d.ts
4
- declare const blockPackageJson: bingo_stratum359.BlockWithAddons<{
4
+ declare const blockPackageJson: bingo_stratum1151.BlockWithAddons<{
5
5
  properties: {
6
6
  type?: "commonjs" | "module" | undefined;
7
7
  author?: string | {
@@ -42,8 +42,6 @@ declare const blockPackageJson: bingo_stratum359.BlockWithAddons<{
42
42
  engines?: Record<string, string> | undefined;
43
43
  packageManager?: string | undefined;
44
44
  files?: string[] | undefined;
45
- types?: string | undefined;
46
- imports?: Record<string, unknown> | undefined;
47
45
  license?: string | undefined;
48
46
  config?: Record<string, unknown> | undefined;
49
47
  private?: boolean | undefined;
@@ -70,9 +68,11 @@ declare const blockPackageJson: bingo_stratum359.BlockWithAddons<{
70
68
  publishConfig?: Record<string, unknown> | undefined;
71
69
  workspaces?: string[] | undefined;
72
70
  deprecated?: string | undefined;
71
+ types?: string | undefined;
73
72
  typings?: string | undefined;
74
73
  typesVersions?: Record<string, Record<string, string[]>> | undefined;
75
74
  sideEffects?: boolean | string[] | undefined;
75
+ imports?: Record<string, unknown> | undefined;
76
76
  exports?: string | string[] | Record<string, unknown> | null | undefined;
77
77
  } & {
78
78
  [k: string]: unknown;