create-typescript-app 2.58.1 → 2.59.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 (94) hide show
  1. package/README.md +4 -1
  2. package/lib/base.d.ts +2 -2
  3. package/lib/base.d.ts.map +1 -1
  4. package/lib/blocks/blockAllContributors.d.ts +3 -3
  5. package/lib/blocks/blockAreTheTypesWrong.d.ts +3 -3
  6. package/lib/blocks/blockCSpell.d.ts +3 -3
  7. package/lib/blocks/blockCTATransitions.d.ts +3 -3
  8. package/lib/blocks/blockCodecov.d.ts +3 -3
  9. package/lib/blocks/blockContributingDocs.d.ts +3 -3
  10. package/lib/blocks/blockContributingDocs.d.ts.map +1 -1
  11. package/lib/blocks/blockContributorCovenant.d.ts +3 -3
  12. package/lib/blocks/blockDevelopmentDocs.d.ts +3 -3
  13. package/lib/blocks/blockESLint.d.ts +3 -3
  14. package/lib/blocks/blockESLint.js +2 -2
  15. package/lib/blocks/blockESLint.js.map +1 -1
  16. package/lib/blocks/blockESLintComments.d.ts +3 -3
  17. package/lib/blocks/blockESLintJSDoc.d.ts +3 -3
  18. package/lib/blocks/blockESLintJSONC.d.ts +3 -3
  19. package/lib/blocks/blockESLintMarkdown.d.ts +3 -3
  20. package/lib/blocks/blockESLintMoreStyling.d.ts +3 -3
  21. package/lib/blocks/blockESLintNode.d.ts +3 -3
  22. package/lib/blocks/blockESLintPackageJson.d.ts +3 -3
  23. package/lib/blocks/blockESLintPerfectionist.d.ts +3 -3
  24. package/lib/blocks/blockESLintPerfectionist.d.ts.map +1 -1
  25. package/lib/blocks/blockESLintPlugin.d.ts +3 -3
  26. package/lib/blocks/blockESLintPlugin.d.ts.map +1 -1
  27. package/lib/blocks/blockESLintRegexp.d.ts +3 -3
  28. package/lib/blocks/blockESLintRegexp.d.ts.map +1 -1
  29. package/lib/blocks/blockESLintYML.d.ts +3 -3
  30. package/lib/blocks/blockExampleFiles.d.ts +3 -3
  31. package/lib/blocks/blockFunding.d.ts +3 -3
  32. package/lib/blocks/blockFunding.d.ts.map +1 -1
  33. package/lib/blocks/blockGitHubActionsCI.d.ts +3 -3
  34. package/lib/blocks/blockGitHubApps.d.ts +3 -3
  35. package/lib/blocks/blockGitHubIssueTemplates.d.ts +3 -3
  36. package/lib/blocks/blockGitHubIssueTemplates.js +2 -2
  37. package/lib/blocks/blockGitHubIssueTemplates.js.map +1 -1
  38. package/lib/blocks/blockGitHubPRTemplate.d.ts +1 -1
  39. package/lib/blocks/blockGitignore.d.ts +3 -3
  40. package/lib/blocks/blockKnip.d.ts +3 -3
  41. package/lib/blocks/blockMITLicense.d.ts +3 -3
  42. package/lib/blocks/blockMain.d.ts +1 -1
  43. package/lib/blocks/blockNcc.d.ts +3 -3
  44. package/lib/blocks/blockNvmrc.d.ts +1 -1
  45. package/lib/blocks/blockOctoGuide.d.ts +3 -3
  46. package/lib/blocks/blockOctoGuideStrict.d.ts +3 -3
  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 +3 -3
  50. package/lib/blocks/blockPrettier.d.ts +3 -3
  51. package/lib/blocks/blockPrettierPluginCurly.d.ts +3 -3
  52. package/lib/blocks/blockPrettierPluginPackageJson.d.ts +3 -3
  53. package/lib/blocks/blockPrettierPluginSentencesPerLine.d.ts +3 -3
  54. package/lib/blocks/blockPrettierPluginSh.d.ts +3 -3
  55. package/lib/blocks/blockREADME.d.ts +3 -3
  56. package/lib/blocks/blockReleaseIt.d.ts +3 -3
  57. package/lib/blocks/blockReleaseIt.d.ts.map +1 -1
  58. package/lib/blocks/blockReleaseIt.js +5 -11
  59. package/lib/blocks/blockReleaseIt.js.map +1 -1
  60. package/lib/blocks/blockRemoveDependencies.d.ts +3 -3
  61. package/lib/blocks/blockRemoveDependencies.d.ts.map +1 -1
  62. package/lib/blocks/blockRemoveFiles.d.ts +3 -3
  63. package/lib/blocks/blockRemoveFiles.d.ts.map +1 -1
  64. package/lib/blocks/blockRemoveWorkflows.d.ts +3 -3
  65. package/lib/blocks/blockRemoveWorkflows.d.ts.map +1 -1
  66. package/lib/blocks/blockRenovate.d.ts +3 -3
  67. package/lib/blocks/blockRenovate.d.ts.map +1 -1
  68. package/lib/blocks/blockRepositoryBranchRuleset.d.ts +3 -3
  69. package/lib/blocks/blockRepositoryBranchRuleset.d.ts.map +1 -1
  70. package/lib/blocks/blockRepositoryLabels.d.ts +3 -3
  71. package/lib/blocks/blockRepositoryLabels.d.ts.map +1 -1
  72. package/lib/blocks/blockRepositorySecrets.d.ts +3 -3
  73. package/lib/blocks/blockRepositorySettings.d.ts +3 -3
  74. package/lib/blocks/blockSecurityDocs.d.ts +3 -3
  75. package/lib/blocks/blockTSDown.d.ts +3 -3
  76. package/lib/blocks/blockTemplatedWith.d.ts +3 -3
  77. package/lib/blocks/blockTypeScript.d.ts +3 -3
  78. package/lib/blocks/blockVSCode.d.ts +3 -3
  79. package/lib/blocks/blockVitest.d.ts +3 -3
  80. package/lib/blocks/blockWebExt.d.ts +3 -3
  81. package/lib/blocks/index.d.ts +98 -98
  82. package/lib/index.d.ts +74 -74
  83. package/lib/index.d.ts.map +1 -1
  84. package/lib/inputs/inputFromOctokit.d.ts +2 -2
  85. package/lib/package.d.ts +1 -5
  86. package/lib/package.d.ts.map +1 -1
  87. package/lib/presets/common.d.ts +71 -71
  88. package/lib/presets/everything.d.ts +71 -71
  89. package/lib/presets/index.d.ts +209 -209
  90. package/lib/presets/minimal.d.ts +71 -71
  91. package/lib/schemas.d.ts +6 -6
  92. package/lib/template.d.ts +69 -69
  93. package/lib/template.d.ts.map +1 -1
  94. package/package.json +5 -8
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
  <p align="center">
9
9
  <!-- prettier-ignore-start -->
10
10
  <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
11
- <a href="#contributors" target="_blank"><img alt="👪 All Contributors: 56" src="https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-56-21bb42.svg" /></a>
11
+ <a href="#contributors" target="_blank"><img alt="👪 All Contributors: 57" src="https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-57-21bb42.svg" /></a>
12
12
  <!-- ALL-CONTRIBUTORS-BADGE:END -->
13
13
  <!-- prettier-ignore-end -->
14
14
  <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/blob/main/.github/CODE_OF_CONDUCT.md" target="_blank"><img alt="🤝 Code of Conduct: Kept" src="https://img.shields.io/badge/%F0%9F%A4%9D_code_of_conduct-kept-21bb42" /></a>
@@ -134,10 +134,13 @@ Thanks! 🎁
134
134
  <tr>
135
135
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/astrochemx"><img src="https://avatars.githubusercontent.com/u/105541001?v=4?s=100" width="100px;" alt="Vladyslav Shevchenko"/><br /><sub><b>Vladyslav Shevchenko</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=astrochemx" title="Code">💻</a></td>
136
136
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/xl4624"><img src="https://avatars.githubusercontent.com/u/116298054?v=4?s=100" width="100px;" alt="Xiaomin Liu"/><br /><sub><b>Xiaomin Liu</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=xl4624" title="Code">💻</a></td>
137
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/cylewaitforit"><img src="https://avatars.githubusercontent.com/u/54253392?v=4?s=100" width="100px;" alt="cylewaitforit"/><br /><sub><b>cylewaitforit</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=cylewaitforit" title="Code">💻</a> <a href="#ideas-cylewaitforit" title="Ideas, Planning, & Feedback">🤔</a></td>
137
138
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/lcforbes"><img src="https://avatars.githubusercontent.com/u/42080532?v=4?s=100" width="100px;" alt="lcforbes"/><br /><sub><b>lcforbes</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Alcforbes" title="Bug reports">🐛</a></td>
138
139
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/michaelfaith"><img src="https://avatars.githubusercontent.com/u/8071845?v=4?s=100" width="100px;" alt="michael faith"/><br /><sub><b>michael faith</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=michaelfaith" title="Code">💻</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Amichaelfaith" title="Bug reports">🐛</a> <a href="#ideas-michaelfaith" title="Ideas, Planning, & Feedback">🤔</a></td>
139
140
  <td align="center" valign="top" width="14.28%"><a href="http://nandertga.ddns.net"><img src="https://avatars.githubusercontent.com/u/65074195?v=4?s=100" width="100px;" alt="nandertga"/><br /><sub><b>nandertga</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=nandertga" title="Code">💻</a></td>
140
141
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/rubiesonthesky"><img src="https://avatars.githubusercontent.com/u/2591240?v=4?s=100" width="100px;" alt="rubiesonthesky"/><br /><sub><b>rubiesonthesky</b></sub></a><br /><a href="#ideas-rubiesonthesky" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=rubiesonthesky" title="Code">💻</a> <a href="https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3Arubiesonthesky" title="Bug reports">🐛</a></td>
142
+ </tr>
143
+ <tr>
141
144
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/TAKANOME-DEV"><img src="https://avatars.githubusercontent.com/u/79809121?v=4?s=100" width="100px;" alt="takanomedev"/><br /><sub><b>takanomedev</b></sub></a><br /><a href="https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=TAKANOME-DEV" title="Code">💻</a></td>
142
145
  </tr>
143
146
  </tbody>
package/lib/base.d.ts CHANGED
@@ -162,11 +162,11 @@ declare const base: bingo_stratum0.Base<{
162
162
  hash: z.ZodOptional<z.ZodString>;
163
163
  pinned: z.ZodOptional<z.ZodBoolean>;
164
164
  }, "strip", z.ZodTypeAny, {
165
- hash?: string | undefined;
166
165
  pinned?: boolean | undefined;
167
- }, {
168
166
  hash?: string | undefined;
167
+ }, {
169
168
  pinned?: boolean | undefined;
169
+ hash?: string | undefined;
170
170
  }>>>>;
171
171
  }>;
172
172
  type BaseOptions = BaseOptionsFor<typeof base> & {
package/lib/base.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","names":[],"sources":["../src/base.ts"],"sourcesContent":[],"mappings":";;;;;cA0Ca,qBAAI;;;EAAJ,GAAA,eAuTX,WAAA,CAAA,YAAA,aAAA,YAAA,aAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAvTe,CAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA,GAAA,SAAA;IAAA,gBAAA,CAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA,GAAA,SAAA;IAyTL,oBAAW,CAAA,QAAG,CAAA,MAAA,EAAA,OAAc,CAAA,GAAA,SAAA;;;;;;;;;;;;;;;;;;;;;KAA5B,WAAA,GAAc,sBAAsB"}
1
+ {"version":3,"file":"base.d.ts","names":[],"sources":["../src/base.ts"],"sourcesContent":[],"mappings":";;;;;cA0Ca,qBAAI;;;EAAJ,GAAA,eAuTX,WAAA,CAAA,YAAA,aAAA,YAAA,aAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAvTe,CAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA,GAAA,SAAA;IAAA,gBAAA,CAAA,QAAA,CAAA,MAAA,EAAA,MAAA,CAAA,GAAA,SAAA;IAyTL,oBAAW,CAAyB,QAAtB,CAAA,MAAA,EAAA,OAAc,CAAA,GAAA,SAAA;;;;;;;;;;;;;;;;;;;;;KAA5B,WAAA,GAAc,sBAAsB"}
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum0 from "bingo-stratum";
1
+ import * as bingo_stratum2 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockAllContributors.d.ts
4
- declare const blockAllContributors: bingo_stratum0.BlockWithoutAddons<{
4
+ declare const blockAllContributors: bingo_stratum2.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockAllContributors: bingo_stratum0.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum1 from "bingo-stratum";
1
+ import * as bingo_stratum3 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockAreTheTypesWrong.d.ts
4
- declare const blockAreTheTypesWrong: bingo_stratum1.BlockWithoutAddons<{
4
+ declare const blockAreTheTypesWrong: bingo_stratum3.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockAreTheTypesWrong: bingo_stratum1.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum2 from "bingo-stratum";
1
+ import * as bingo_stratum4 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockCSpell.d.ts
4
- declare const blockCSpell: bingo_stratum2.BlockWithAddons<{
4
+ declare const blockCSpell: bingo_stratum4.BlockWithAddons<{
5
5
  words: string[];
6
6
  ignorePaths: string[];
7
7
  }, {
@@ -68,8 +68,8 @@ declare const blockCSpell: bingo_stratum2.BlockWithAddons<{
68
68
  version?: string | undefined;
69
69
  words?: string[] | undefined;
70
70
  workflowsVersions?: Record<string, Record<string, {
71
- hash?: string | undefined;
72
71
  pinned?: boolean | undefined;
72
+ hash?: string | undefined;
73
73
  }>> | undefined;
74
74
  }>;
75
75
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum3 from "bingo-stratum";
1
+ import * as bingo_stratum5 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockCTATransitions.d.ts
4
- declare const blockCTATransitions: bingo_stratum3.BlockWithoutAddons<{
4
+ declare const blockCTATransitions: bingo_stratum5.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockCTATransitions: bingo_stratum3.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum4 from "bingo-stratum";
1
+ import * as bingo_stratum6 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockCodecov.d.ts
4
- declare const blockCodecov: bingo_stratum4.BlockWithAddons<{
4
+ declare const blockCodecov: bingo_stratum6.BlockWithAddons<{
5
5
  env?: Record<string, string> | undefined;
6
6
  }, {
7
7
  access: "public" | "restricted";
@@ -67,8 +67,8 @@ declare const blockCodecov: bingo_stratum4.BlockWithAddons<{
67
67
  version?: string | undefined;
68
68
  words?: string[] | undefined;
69
69
  workflowsVersions?: Record<string, Record<string, {
70
- hash?: string | undefined;
71
70
  pinned?: boolean | undefined;
71
+ hash?: string | undefined;
72
72
  }>> | undefined;
73
73
  }>;
74
74
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum13 from "bingo-stratum";
1
+ import * as bingo_stratum7 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockContributingDocs.d.ts
4
- declare const blockContributingDocs: bingo_stratum13.BlockWithoutAddons<{
4
+ declare const blockContributingDocs: bingo_stratum7.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockContributingDocs: bingo_stratum13.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"blockContributingDocs.d.ts","names":[],"sources":["../../src/blocks/blockContributingDocs.ts"],"sourcesContent":[],"mappings":";;;cAGa,uCAAqB;;;EAArB,SAAA,EAAA,MAAA;;;;;;;;;;EAAqB,KAAA,EAAA"}
1
+ {"version":3,"file":"blockContributingDocs.d.ts","names":[],"sources":["../../src/blocks/blockContributingDocs.ts"],"sourcesContent":[],"mappings":";;;cAGa,sCAAqB;;;EAArB,SAAA,EAAA,MAAA;;;;;;;;;;EAAqB,KAAA,EAAA"}
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum7 from "bingo-stratum";
1
+ import * as bingo_stratum8 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockContributorCovenant.d.ts
4
- declare const blockContributorCovenant: bingo_stratum7.BlockWithoutAddons<{
4
+ declare const blockContributorCovenant: bingo_stratum8.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockContributorCovenant: bingo_stratum7.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum6 from "bingo-stratum";
1
+ import * as bingo_stratum9 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockDevelopmentDocs.d.ts
4
- declare const blockDevelopmentDocs: bingo_stratum6.BlockWithAddons<{
4
+ declare const blockDevelopmentDocs: bingo_stratum9.BlockWithAddons<{
5
5
  hints: string[];
6
6
  sections: Record<string, {
7
7
  contents?: string | {
@@ -79,8 +79,8 @@ declare const blockDevelopmentDocs: bingo_stratum6.BlockWithAddons<{
79
79
  version?: string | undefined;
80
80
  words?: string[] | undefined;
81
81
  workflowsVersions?: Record<string, Record<string, {
82
- hash?: string | undefined;
83
82
  pinned?: boolean | undefined;
83
+ hash?: string | undefined;
84
84
  }>> | undefined;
85
85
  }>;
86
86
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum17 from "bingo-stratum";
1
+ import * as bingo_stratum10 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLint.d.ts
4
- declare const blockESLint: bingo_stratum17.BlockWithAddons<{
4
+ declare const blockESLint: bingo_stratum10.BlockWithAddons<{
5
5
  ignores: string[];
6
6
  extensions: {
7
7
  files: string[];
@@ -89,8 +89,8 @@ declare const blockESLint: bingo_stratum17.BlockWithAddons<{
89
89
  version?: string | undefined;
90
90
  words?: string[] | undefined;
91
91
  workflowsVersions?: Record<string, Record<string, {
92
- hash?: string | undefined;
93
92
  pinned?: boolean | undefined;
93
+ hash?: string | undefined;
94
94
  }>> | undefined;
95
95
  }>;
96
96
  //#endregion
@@ -37,7 +37,7 @@ const blockESLint = base.createBlock({
37
37
  const explanation = explanations.length > 0 ? `${explanations.map((explanation$1) => `/*\n${explanation$1}\n*/\n`).join("")}\n` : "";
38
38
  const importLines = [
39
39
  "import eslint from \"@eslint/js\";",
40
- "import { defineConfig } from \"eslint/config\";",
40
+ "import { defineConfig, globalIgnores } from \"eslint/config\";",
41
41
  "import tseslint from \"typescript-eslint\";",
42
42
  ...imports.map((packageImport) => `import ${packageImport.specifier} from "${typeof packageImport.source === "string" ? packageImport.source : packageImport.source.packageName}"`)
43
43
  ].sort((a, b) => a.replace(/.+from/, "").localeCompare(b.replace(/.+from/, "")));
@@ -114,7 +114,7 @@ Each should be shown in VS Code, and can be run manually on the command-line:
114
114
  files: { [configFileName]: `${explanation}${importLines.join("\n")}
115
115
 
116
116
  export default defineConfig(
117
- { ignores: [${ignoreLines.join(", ")}] },
117
+ globalIgnores( [${ignoreLines.join(", ")}], "Global Ignores" ),
118
118
  { linterOptions: { reportUnusedDisableDirectives: "error" } },
119
119
  ${extensionLines.join(",")}
120
120
  );` },
@@ -1 +1 @@
1
- {"version":3,"file":"blockESLint.js","names":["explanation","parsePackageName","grouped: typeof rulesGroups"],"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 { getScriptFileExtension } from \"./eslint/getScriptFileExtension.js\";\nimport { mergeAllExtensions } from \"./eslint/mergeAllExtensions.js\";\nimport {\n\tExtension,\n\tExtensionRuleGroup,\n\tExtensionRules,\n\tzExtension,\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(zExtension).default([]),\n\t\tignores: z.array(z.string()).default([]),\n\t\timports: z.array(zPackageImport).default([]),\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 } = addons;\n\n\t\tconst configFileName =\n\t\t\toptions.type === \"commonjs\" ? \"eslint.config.mjs\" : \"eslint.config.js\";\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 { defineConfig } from \"eslint/config\";',\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 extensionEntries = mergeAllExtensions(\n\t\t\t{\n\t\t\t\textends: [\n\t\t\t\t\t\"eslint.configs.recommended\",\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: [getScriptFileExtension(options)],\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},\n\t\t\t...extensions,\n\t\t\t...(options.type === \"commonjs\"\n\t\t\t\t? [\n\t\t\t\t\t\t{\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);\n\n\t\tconst extensionLines = extensionEntries\n\t\t\t.sort((a, b) =>\n\t\t\t\tprocessForSort(a.files).localeCompare(processForSort(b.files)),\n\t\t\t)\n\t\t\t.map(printExtension);\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 defineConfig(\n\t{ ignores: [${ignoreLines.join(\", \")}] },\n\t{ linterOptions: { reportUnusedDisableDirectives: \"error\" } },\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\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(files: string[]) {\n\treturn files.join(\"\").replaceAll(\"{\", \"\");\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"blockESLint.js","names":["explanation","parsePackageName","grouped: typeof rulesGroups"],"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 { getScriptFileExtension } from \"./eslint/getScriptFileExtension.js\";\nimport { mergeAllExtensions } from \"./eslint/mergeAllExtensions.js\";\nimport {\n\tExtension,\n\tExtensionRuleGroup,\n\tExtensionRules,\n\tzExtension,\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(zExtension).default([]),\n\t\tignores: z.array(z.string()).default([]),\n\t\timports: z.array(zPackageImport).default([]),\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 } = addons;\n\n\t\tconst configFileName =\n\t\t\toptions.type === \"commonjs\" ? \"eslint.config.mjs\" : \"eslint.config.js\";\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 { defineConfig, globalIgnores } from \"eslint/config\";',\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 extensionEntries = mergeAllExtensions(\n\t\t\t{\n\t\t\t\textends: [\n\t\t\t\t\t\"eslint.configs.recommended\",\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: [getScriptFileExtension(options)],\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},\n\t\t\t...extensions,\n\t\t\t...(options.type === \"commonjs\"\n\t\t\t\t? [\n\t\t\t\t\t\t{\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);\n\n\t\tconst extensionLines = extensionEntries\n\t\t\t.sort((a, b) =>\n\t\t\t\tprocessForSort(a.files).localeCompare(processForSort(b.files)),\n\t\t\t)\n\t\t\t.map(printExtension);\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 defineConfig(\n\tglobalIgnores( [${ignoreLines.join(\", \")}], \"Global Ignores\" ),\n\t{ linterOptions: { reportUnusedDisableDirectives: \"error\" } },\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\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(files: string[]) {\n\treturn files.join(\"\").replaceAll(\"{\", \"\");\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum15 from "bingo-stratum";
1
+ import * as bingo_stratum11 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintComments.d.ts
4
- declare const blockESLintComments: bingo_stratum15.BlockWithoutAddons<{
4
+ declare const blockESLintComments: bingo_stratum11.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockESLintComments: bingo_stratum15.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum16 from "bingo-stratum";
1
+ import * as bingo_stratum12 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintJSDoc.d.ts
4
- declare const blockESLintJSDoc: bingo_stratum16.BlockWithoutAddons<{
4
+ declare const blockESLintJSDoc: bingo_stratum12.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockESLintJSDoc: bingo_stratum16.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum19 from "bingo-stratum";
1
+ import * as bingo_stratum13 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintJSONC.d.ts
4
- declare const blockESLintJSONC: bingo_stratum19.BlockWithoutAddons<{
4
+ declare const blockESLintJSONC: bingo_stratum13.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockESLintJSONC: bingo_stratum19.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum20 from "bingo-stratum";
1
+ import * as bingo_stratum14 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintMarkdown.d.ts
4
- declare const blockESLintMarkdown: bingo_stratum20.BlockWithoutAddons<{
4
+ declare const blockESLintMarkdown: bingo_stratum14.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockESLintMarkdown: bingo_stratum20.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1,8 +1,8 @@
1
- import * as bingo_stratum21 from "bingo-stratum";
1
+ import * as bingo_stratum15 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_stratum21.BlockWithoutAddons<{
5
+ declare const blockESLintMoreStyling: bingo_stratum15.BlockWithoutAddons<{
6
6
  access: "public" | "restricted";
7
7
  description: string;
8
8
  directory: string;
@@ -66,8 +66,8 @@ declare const blockESLintMoreStyling: bingo_stratum21.BlockWithoutAddons<{
66
66
  version?: string | undefined;
67
67
  words?: string[] | undefined;
68
68
  workflowsVersions?: Record<string, Record<string, {
69
- hash?: string | undefined;
70
69
  pinned?: boolean | undefined;
70
+ hash?: string | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
73
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum24 from "bingo-stratum";
1
+ import * as bingo_stratum16 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintNode.d.ts
4
- declare const blockESLintNode: bingo_stratum24.BlockWithoutAddons<{
4
+ declare const blockESLintNode: bingo_stratum16.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockESLintNode: bingo_stratum24.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum25 from "bingo-stratum";
1
+ import * as bingo_stratum17 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintPackageJson.d.ts
4
- declare const blockESLintPackageJson: bingo_stratum25.BlockWithoutAddons<{
4
+ declare const blockESLintPackageJson: bingo_stratum17.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockESLintPackageJson: bingo_stratum25.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum5 from "bingo-stratum";
1
+ import * as bingo_stratum18 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintPerfectionist.d.ts
4
- declare const blockESLintPerfectionist: bingo_stratum5.BlockWithoutAddons<{
4
+ declare const blockESLintPerfectionist: bingo_stratum18.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockESLintPerfectionist: bingo_stratum5.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"blockESLintPerfectionist.d.ts","names":[],"sources":["../../src/blocks/blockESLintPerfectionist.ts"],"sourcesContent":[],"mappings":";;;cAIa,yCAAwB;;;EAAxB,SAAA,EAAA,MAAA;;;;;;;;;;EAAwB,KAAA,EAAA"}
1
+ {"version":3,"file":"blockESLintPerfectionist.d.ts","names":[],"sources":["../../src/blocks/blockESLintPerfectionist.ts"],"sourcesContent":[],"mappings":";;;cAIa,0CAAwB;;;EAAxB,SAAA,EAAA,MAAA;;;;;;;;;;EAAwB,KAAA,EAAA"}
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum8 from "bingo-stratum";
1
+ import * as bingo_stratum19 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintPlugin.d.ts
4
- declare const blockESLintPlugin: bingo_stratum8.BlockWithAddons<{
4
+ declare const blockESLintPlugin: bingo_stratum19.BlockWithAddons<{
5
5
  configEmoji?: [string, string][] | undefined;
6
6
  }, {
7
7
  access: "public" | "restricted";
@@ -67,8 +67,8 @@ declare const blockESLintPlugin: bingo_stratum8.BlockWithAddons<{
67
67
  version?: string | undefined;
68
68
  words?: string[] | undefined;
69
69
  workflowsVersions?: Record<string, Record<string, {
70
- hash?: string | undefined;
71
70
  pinned?: boolean | undefined;
71
+ hash?: string | undefined;
72
72
  }>> | undefined;
73
73
  }>;
74
74
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"blockESLintPlugin.d.ts","names":[],"sources":["../../src/blocks/blockESLintPlugin.ts"],"sourcesContent":[],"mappings":";;;cAca,kCAAiB;;;EAAjB,MAAA,EAAA,QAAA,GAAA,YAgRX;;;;;;;;;;IAhR4B,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA"}
1
+ {"version":3,"file":"blockESLintPlugin.d.ts","names":[],"sources":["../../src/blocks/blockESLintPlugin.ts"],"sourcesContent":[],"mappings":";;;cAca,mCAAiB;;;EAAjB,MAAA,EAAA,QAAA,GAAA,YAgRX;;;;;;;;;;IAhR4B,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA"}
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum9 from "bingo-stratum";
1
+ import * as bingo_stratum26 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintRegexp.d.ts
4
- declare const blockESLintRegexp: bingo_stratum9.BlockWithoutAddons<{
4
+ declare const blockESLintRegexp: bingo_stratum26.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockESLintRegexp: bingo_stratum9.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"blockESLintRegexp.d.ts","names":[],"sources":["../../src/blocks/blockESLintRegexp.ts"],"sourcesContent":[],"mappings":";;;cAIa,kCAAiB;;;EAAjB,SAAA,EAAA,MAAA;;;;;;;;;;EAAiB,KAAA,EAAA"}
1
+ {"version":3,"file":"blockESLintRegexp.d.ts","names":[],"sources":["../../src/blocks/blockESLintRegexp.ts"],"sourcesContent":[],"mappings":";;;cAIa,mCAAiB;;;EAAjB,SAAA,EAAA,MAAA;;;;;;;;;;EAAiB,KAAA,EAAA"}
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum10 from "bingo-stratum";
1
+ import * as bingo_stratum27 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockESLintYML.d.ts
4
- declare const blockESLintYML: bingo_stratum10.BlockWithoutAddons<{
4
+ declare const blockESLintYML: bingo_stratum27.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockESLintYML: bingo_stratum10.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum11 from "bingo-stratum";
1
+ import * as bingo_stratum28 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockExampleFiles.d.ts
4
- declare const blockExampleFiles: bingo_stratum11.BlockWithAddons<{
4
+ declare const blockExampleFiles: bingo_stratum28.BlockWithAddons<{
5
5
  usage: string[];
6
6
  files: Record<string, string>;
7
7
  }, {
@@ -68,8 +68,8 @@ declare const blockExampleFiles: bingo_stratum11.BlockWithAddons<{
68
68
  version?: string | undefined;
69
69
  words?: string[] | undefined;
70
70
  workflowsVersions?: Record<string, Record<string, {
71
- hash?: string | undefined;
72
71
  pinned?: boolean | undefined;
72
+ hash?: string | undefined;
73
73
  }>> | undefined;
74
74
  }>;
75
75
  //#endregion
@@ -1,7 +1,7 @@
1
- import * as bingo_stratum12 from "bingo-stratum";
1
+ import * as bingo_stratum1 from "bingo-stratum";
2
2
 
3
3
  //#region src/blocks/blockFunding.d.ts
4
- declare const blockFunding: bingo_stratum12.BlockWithoutAddons<{
4
+ declare const blockFunding: bingo_stratum1.BlockWithoutAddons<{
5
5
  access: "public" | "restricted";
6
6
  description: string;
7
7
  directory: string;
@@ -65,8 +65,8 @@ declare const blockFunding: bingo_stratum12.BlockWithoutAddons<{
65
65
  version?: string | undefined;
66
66
  words?: string[] | undefined;
67
67
  workflowsVersions?: Record<string, Record<string, {
68
- hash?: string | undefined;
69
68
  pinned?: boolean | undefined;
69
+ hash?: string | undefined;
70
70
  }>> | undefined;
71
71
  }>;
72
72
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"blockFunding.d.ts","names":[],"sources":["../../src/blocks/blockFunding.ts"],"sourcesContent":[],"mappings":";;;cAGa,8BAAY;;;EAAZ,SAAA,EAAA,MAcX;;;;;;;;;;EAduB,KAAA,EAAA"}
1
+ {"version":3,"file":"blockFunding.d.ts","names":[],"sources":["../../src/blocks/blockFunding.ts"],"sourcesContent":[],"mappings":";;;cAGa,6BAAY;;;EAAZ,SAAA,EAAA,MAcX;;;;;;;;;;EAduB,KAAA,EAAA"}