create-typescript-app 2.58.1 → 2.60.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.
- package/README.md +4 -1
- package/lib/base.d.ts +2 -2
- package/lib/base.d.ts.map +1 -1
- package/lib/blocks/blockAllContributors.d.ts +3 -3
- package/lib/blocks/blockAreTheTypesWrong.d.ts +3 -3
- package/lib/blocks/blockCSpell.d.ts +3 -3
- package/lib/blocks/blockCTATransitions.d.ts +3 -3
- package/lib/blocks/blockCTATransitions.d.ts.map +1 -1
- package/lib/blocks/blockCodecov.d.ts +3 -3
- package/lib/blocks/blockContributingDocs.d.ts +3 -3
- package/lib/blocks/blockContributorCovenant.d.ts +3 -3
- package/lib/blocks/blockDevelopmentDocs.d.ts +2 -2
- package/lib/blocks/blockESLint.d.ts +5 -5
- package/lib/blocks/blockESLint.d.ts.map +1 -1
- package/lib/blocks/blockESLint.js +9 -4
- package/lib/blocks/blockESLint.js.map +1 -1
- package/lib/blocks/blockESLintComments.d.ts +3 -3
- package/lib/blocks/blockESLintJSDoc.d.ts +3 -3
- package/lib/blocks/blockESLintJSDoc.d.ts.map +1 -1
- package/lib/blocks/blockESLintJSONC.d.ts +3 -3
- package/lib/blocks/blockESLintJSONC.d.ts.map +1 -1
- package/lib/blocks/blockESLintMarkdown.d.ts +3 -3
- package/lib/blocks/blockESLintMarkdown.d.ts.map +1 -1
- package/lib/blocks/blockESLintMoreStyling.d.ts +3 -3
- package/lib/blocks/blockESLintNode.d.ts +3 -3
- package/lib/blocks/blockESLintPackageJson.d.ts +3 -3
- package/lib/blocks/blockESLintPerfectionist.d.ts +3 -3
- package/lib/blocks/blockESLintPerfectionist.d.ts.map +1 -1
- package/lib/blocks/blockESLintPlugin.d.ts +3 -3
- package/lib/blocks/blockESLintPlugin.d.ts.map +1 -1
- package/lib/blocks/blockESLintRegexp.d.ts +3 -3
- package/lib/blocks/blockESLintRegexp.d.ts.map +1 -1
- package/lib/blocks/blockESLintYML.d.ts +3 -3
- package/lib/blocks/blockExampleFiles.d.ts +3 -3
- package/lib/blocks/blockFunding.d.ts +3 -3
- package/lib/blocks/blockGitHubActionsCI.d.ts +3 -3
- package/lib/blocks/blockGitHubApps.d.ts +3 -3
- package/lib/blocks/blockGitHubIssueTemplates.d.ts +3 -3
- package/lib/blocks/blockGitHubIssueTemplates.js +2 -2
- package/lib/blocks/blockGitHubIssueTemplates.js.map +1 -1
- package/lib/blocks/blockGitHubPRTemplate.d.ts +3 -3
- package/lib/blocks/blockGitignore.d.ts +3 -3
- package/lib/blocks/blockKnip.d.ts +3 -3
- package/lib/blocks/blockMITLicense.d.ts +3 -3
- package/lib/blocks/blockMITLicense.d.ts.map +1 -1
- package/lib/blocks/blockMain.d.ts +3 -3
- package/lib/blocks/blockNcc.d.ts +3 -3
- package/lib/blocks/blockNvmrc.d.ts +3 -3
- package/lib/blocks/blockOctoGuide.d.ts +3 -3
- package/lib/blocks/blockOctoGuideStrict.d.ts +3 -3
- package/lib/blocks/blockPackageJson.d.ts +5 -5
- package/lib/blocks/blockPackageJson.d.ts.map +1 -1
- package/lib/blocks/blockPnpmDedupe.d.ts +3 -3
- package/lib/blocks/blockPrettier.d.ts +3 -3
- package/lib/blocks/blockPrettierPluginCurly.d.ts +3 -3
- package/lib/blocks/blockPrettierPluginPackageJson.d.ts +3 -3
- package/lib/blocks/blockPrettierPluginSentencesPerLine.d.ts +3 -3
- package/lib/blocks/blockPrettierPluginSh.d.ts +3 -3
- package/lib/blocks/blockREADME.d.ts +4 -4
- package/lib/blocks/blockREADME.d.ts.map +1 -1
- package/lib/blocks/blockReleaseIt.d.ts +3 -3
- package/lib/blocks/blockReleaseIt.d.ts.map +1 -1
- package/lib/blocks/blockReleaseIt.js +5 -11
- package/lib/blocks/blockReleaseIt.js.map +1 -1
- package/lib/blocks/blockRemoveDependencies.d.ts +3 -3
- package/lib/blocks/blockRemoveDependencies.d.ts.map +1 -1
- package/lib/blocks/blockRemoveFiles.d.ts +3 -3
- package/lib/blocks/blockRemoveWorkflows.d.ts +3 -3
- package/lib/blocks/blockRenovate.d.ts +3 -3
- package/lib/blocks/blockRepositoryBranchRuleset.d.ts +3 -3
- package/lib/blocks/blockRepositoryLabels.d.ts +3 -3
- package/lib/blocks/blockRepositorySecrets.d.ts +3 -3
- package/lib/blocks/blockRepositorySettings.d.ts +3 -3
- package/lib/blocks/blockSecurityDocs.d.ts +3 -3
- package/lib/blocks/blockTSDown.d.ts +3 -3
- package/lib/blocks/blockTemplatedWith.d.ts +3 -3
- package/lib/blocks/blockTypeScript.d.ts +3 -3
- package/lib/blocks/blockVSCode.d.ts +3 -3
- package/lib/blocks/blockVitest.d.ts +3 -3
- package/lib/blocks/blockWebExt.d.ts +3 -3
- package/lib/blocks/eslint/mergeAllExtensions.d.ts +2 -2
- package/lib/blocks/eslint/mergeAllExtensions.d.ts.map +1 -1
- package/lib/blocks/eslint/schemas.d.ts +4 -4
- package/lib/blocks/index.d.ts +103 -103
- package/lib/index.d.ts +74 -74
- package/lib/index.d.ts.map +1 -1
- package/lib/inputs/inputFromDirectory.d.ts +2 -2
- package/lib/package.d.ts +1 -5
- package/lib/package.d.ts.map +1 -1
- package/lib/presets/common.d.ts +71 -71
- package/lib/presets/everything.d.ts +71 -71
- package/lib/presets/index.d.ts +209 -209
- package/lib/presets/minimal.d.ts +71 -71
- package/lib/schemas.d.ts +6 -6
- package/lib/schemas.d.ts.map +1 -1
- package/lib/template.d.ts +69 -69
- package/lib/template.d.ts.map +1 -1
- package/package.json +7 -10
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:
|
|
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,
|
|
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
|
|
1
|
+
import * as bingo_stratum1 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockAllContributors.d.ts
|
|
4
|
-
declare const blockAllContributors:
|
|
4
|
+
declare const blockAllContributors: bingo_stratum1.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
|
|
1
|
+
import * as bingo_stratum0 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockAreTheTypesWrong.d.ts
|
|
4
|
-
declare const blockAreTheTypesWrong:
|
|
4
|
+
declare const blockAreTheTypesWrong: bingo_stratum0.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
|
|
1
|
+
import * as bingo_stratum4 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockCSpell.d.ts
|
|
4
|
-
declare const blockCSpell:
|
|
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
|
|
1
|
+
import * as bingo_stratum86 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockCTATransitions.d.ts
|
|
4
|
-
declare const blockCTATransitions:
|
|
4
|
+
declare const blockCTATransitions: bingo_stratum86.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockCTATransitions.d.ts","names":[],"sources":["../../src/blocks/blockCTATransitions.ts"],"sourcesContent":[],"mappings":";;;cAQa,
|
|
1
|
+
{"version":3,"file":"blockCTATransitions.d.ts","names":[],"sources":["../../src/blocks/blockCTATransitions.ts"],"sourcesContent":[],"mappings":";;;cAQa,qCAAmB;;;EAAnB,SAAA,EAAA,MAAA;;;;;;;;;;EAAmB,KAAA,EAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum9 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockCodecov.d.ts
|
|
4
|
-
declare const blockCodecov:
|
|
4
|
+
declare const blockCodecov: bingo_stratum9.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
|
|
1
|
+
import * as bingo_stratum87 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockContributingDocs.d.ts
|
|
4
|
-
declare const blockContributingDocs:
|
|
4
|
+
declare const blockContributingDocs: bingo_stratum87.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,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum2 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockContributorCovenant.d.ts
|
|
4
|
-
declare const blockContributorCovenant:
|
|
4
|
+
declare const blockContributorCovenant: bingo_stratum2.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
|
|
@@ -5,8 +5,8 @@ declare const blockDevelopmentDocs: bingo_stratum6.BlockWithAddons<{
|
|
|
5
5
|
hints: string[];
|
|
6
6
|
sections: Record<string, {
|
|
7
7
|
contents?: string | {
|
|
8
|
-
after?: string[] | undefined;
|
|
9
8
|
before?: string | undefined;
|
|
9
|
+
after?: string[] | undefined;
|
|
10
10
|
items?: string[] | undefined;
|
|
11
11
|
plural?: string | undefined;
|
|
12
12
|
} | undefined;
|
|
@@ -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,16 +1,16 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum23 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLint.d.ts
|
|
4
|
-
declare const blockESLint:
|
|
4
|
+
declare const blockESLint: bingo_stratum23.BlockWithAddons<{
|
|
5
5
|
ignores: string[];
|
|
6
6
|
extensions: {
|
|
7
7
|
files: string[];
|
|
8
|
-
plugins?: Record<string, string> | undefined;
|
|
9
|
-
settings?: Record<string, unknown> | undefined;
|
|
10
8
|
rules?: Record<string, "off" | "error" | "warn" | ["error" | "warn", unknown] | ["error" | "warn", unknown, unknown]> | {
|
|
11
9
|
entries: Record<string, "off" | "error" | "warn" | ["error" | "warn", unknown] | ["error" | "warn", unknown, unknown]>;
|
|
12
10
|
comment?: string | undefined;
|
|
13
11
|
}[] | undefined;
|
|
12
|
+
plugins?: Record<string, string> | undefined;
|
|
13
|
+
settings?: Record<string, unknown> | undefined;
|
|
14
14
|
extends?: string[] | undefined;
|
|
15
15
|
languageOptions?: unknown;
|
|
16
16
|
linterOptions?: unknown;
|
|
@@ -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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockESLint.d.ts","names":[],"sources":["../../src/blocks/blockESLint.ts"],"sourcesContent":[],"mappings":";;;cA2Ba,6BAAW;;;IAAX,KAAA,EAAA,
|
|
1
|
+
{"version":3,"file":"blockESLint.d.ts","names":[],"sources":["../../src/blocks/blockESLint.ts"],"sourcesContent":[],"mappings":";;;cA2Ba,6BAAW;;;IAAX,KAAA,EAAA,MAkPX,EAAA;;;;;;;;;;;;;aAlPsB,EAAA,MAAA;MAAA,WAAA,EAAA,MAAA"}
|
|
@@ -28,16 +28,21 @@ const blockESLint = base.createBlock({
|
|
|
28
28
|
imports: z.array(zPackageImport).default([])
|
|
29
29
|
},
|
|
30
30
|
intake({ files }) {
|
|
31
|
-
const eslintConfigRaw = intakeFile(files, [[
|
|
31
|
+
const eslintConfigRaw = intakeFile(files, [[
|
|
32
|
+
"eslint.config.ts",
|
|
33
|
+
"eslint.config.mts",
|
|
34
|
+
"eslint.config.js",
|
|
35
|
+
"eslint.config.mjs"
|
|
36
|
+
]]);
|
|
32
37
|
return eslintConfigRaw ? blockESLintIntake(eslintConfigRaw[0]) : void 0;
|
|
33
38
|
},
|
|
34
39
|
produce({ addons, options }) {
|
|
35
40
|
const { explanations, extensions, ignores, imports } = addons;
|
|
36
|
-
const configFileName = options.type === "commonjs" ? "eslint.config.
|
|
41
|
+
const configFileName = options.type === "commonjs" ? "eslint.config.mts" : "eslint.config.ts";
|
|
37
42
|
const explanation = explanations.length > 0 ? `${explanations.map((explanation$1) => `/*\n${explanation$1}\n*/\n`).join("")}\n` : "";
|
|
38
43
|
const importLines = [
|
|
39
44
|
"import eslint from \"@eslint/js\";",
|
|
40
|
-
"import { defineConfig } from \"eslint/config\";",
|
|
45
|
+
"import { defineConfig, globalIgnores } from \"eslint/config\";",
|
|
41
46
|
"import tseslint from \"typescript-eslint\";",
|
|
42
47
|
...imports.map((packageImport) => `import ${packageImport.specifier} from "${typeof packageImport.source === "string" ? packageImport.source : packageImport.source.packageName}"`)
|
|
43
48
|
].sort((a, b) => a.replace(/.+from/, "").localeCompare(b.replace(/.+from/, "")));
|
|
@@ -114,7 +119,7 @@ Each should be shown in VS Code, and can be run manually on the command-line:
|
|
|
114
119
|
files: { [configFileName]: `${explanation}${importLines.join("\n")}
|
|
115
120
|
|
|
116
121
|
export default defineConfig(
|
|
117
|
-
|
|
122
|
+
globalIgnores( [${ignoreLines.join(", ")}], "Global Ignores" ),
|
|
118
123
|
{ linterOptions: { reportUnusedDisableDirectives: "error" } },
|
|
119
124
|
${extensionLines.join(",")}
|
|
120
125
|
);` },
|
|
@@ -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[\n\t\t\t\t\"eslint.config.ts\",\n\t\t\t\t\"eslint.config.mts\",\n\t\t\t\t\"eslint.config.js\",\n\t\t\t\t\"eslint.config.mjs\",\n\t\t\t],\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.mts\" : \"eslint.config.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 { 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":";;;;;;;;;;;;;;;;;;;;AA2BA,MAAa,cAAc,KAAK,YAAY;CAC3C,OAAO,EACN,MAAM,UACN;CACD,QAAQ;EACP,YAAY,EAAE,QAAQ,CAAC,UAAU;EACjC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;EAC7C,YAAY,EAAE,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;EAC3C,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;EACxC,SAAS,EAAE,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAC;EAC5C;CACD,OAAO,EAAE,SAAS;EACjB,MAAM,kBAAkB,WAAW,OAAO,CACzC;GACC;GACA;GACA;GACA;GACA,CACD,CAAC;AAEF,SAAO,kBAAkB,kBAAkB,gBAAgB,GAAG,GAAG;;CAElE,QAAQ,EAAE,QAAQ,WAAW;EAC5B,MAAM,EAAE,cAAc,YAAY,SAAS,YAAY;EAEvD,MAAM,iBACL,QAAQ,SAAS,aAAa,sBAAsB;EAErD,MAAM,cACL,aAAa,SAAS,IACnB,GAAG,aACF,KAAK,kBAAgB,OAAOA,cAAY,QAAQ,CAChD,KAAK,GAAG,CAAC,MACV;EAEJ,MAAM,cAAc;GACnB;GACA;GACA;GACA,GAAG,QAAQ,KACT,kBACA,UAAU,cAAc,UAAU,SAAS,OAAO,cAAc,WAAW,WAAW,cAAc,SAAS,cAAc,OAAO,YAAY,GAC/I;GACD,CAAC,MAAM,GAAG,MACV,EAAE,QAAQ,UAAU,GAAG,CAAC,cAAc,EAAE,QAAQ,UAAU,GAAG,CAAC,CAC9D;EAED,MAAM,cAAc,MAAM,KACzB,IAAI,IACH;GAAC;GAAO;GAAgB;GAAkB,GAAG;GAAQ,CAAC,KAAK,WAC1D,KAAK,UAAU,OAAO,CACtB,CACD,CACD,CAAC,MAAM;EAwCR,MAAM,iBAtCmB,mBACxB;GACC,SAAS;IACR;IACA;IACA;IACA;GACD,OAAO,CAAC,uBAAuB,QAAQ,CAAC;GACxC,iBAAiB,EAChB,eAAe,EACd,gBAAgB,EACf,qBAAqB,MAAM,KAC1B,IAAI,IACH,CACC,eACA,GAAI,OAAO,QAAQ,QAAQ,WACxB,OAAO,OAAO,QAAQ,IAAI,GAC1B,CAAC,QAAQ,IAAI,CAChB,CACC,OAAO,QAAQ,CACf,MAAM,CACR,CACD,EACD,EACD,EACD;GACD,EACD,GAAG,YACH,GAAI,QAAQ,SAAS,aAClB,CACA;GACC,OAAO,CAAC,QAAQ;GAChB,iBAAiB,EAAE,YAAY,UAAU;GACzC,CACD,GACA,EAAE,CACL,CAGC,MAAM,GAAG,MACT,eAAe,EAAE,MAAM,CAAC,cAAc,eAAe,EAAE,MAAM,CAAC,CAC9D,CACA,IAAI,eAAe;AAErB,SAAO;GACN,QAAQ;IACP,qBAAqB,EACpB,UAAU,EACT,SAAS,EACR,UAAU;KACT,OAAO,CACN;;;;;;GAOA,GAAI,OAAO,aAAa,CAAC,OAAO,WAAW,GAAG,EAAE,CAChD;KACD,QAAQ;;;;KAIR,OAAO,CACN,sJACA;KACD,QAAQ;KACR,EACD,EACD,EACD,CAAC;IACF,qBAAqB,EACpB,MAAM,CACL;KACC,MAAM;KACN,OAAO,CACN,GAAI,QAAQ,MAAM,CAAC,EAAE,KAAK,cAAc,CAAC,GAAG,EAAE,EAC9C,EAAE,KAAK,aAAa,CACpB;KACD,CACD,EACD,CAAC;IACF,iBAAiB,EAChB,YAAY;KACX,iBAAiB;MAChB,GAAG,uBACF,cACA,eACA,UACA,qBACA,GAAG,QACD,QAAQ,aAAa,OAAO,SAAS,WAAW,SAAS,CACzD,SAAS,EAAE,QAAQ,YAAY;OAE/B,MAAM,EAAE,SAASC,MAAiB,OAAO;AAGzC,cAAO,QAAQ,CAAC,MAAM,UAAU,OAAO,GAAG,CAAC,KAAK;QAC/C,CACH;MACD,GAAG,OAAO,YACT,QACE,QAEC,aAEA,OAAO,SAAS,WAAW,SAC5B,CACA,KAAK,aAAa,CAClB,SAAS,OAAO,aAChB,SAAS,OAAO,QAChB,CAAC,CACH;MACD;KACD,SAAS,EACR,MAAM,6BACN;KACD,EACD,CAAC;IACF,YAAY;KACX,YAAY,CAAC,yBAAyB;KACtC,UAAU;MACT,4BAA4B,EAC3B,wBAAwB,YACxB;MACD,gBAAgB;OACf;OACA;OACA;OACA;OACA;OACA;OACA;OACA;OACA;MACD,+BAA+B,CAAC;OAAE,MAAM;OAAK,UAAU;OAAQ,CAAC;MAChE;KACD,CAAC;IACF;GACD,OAAO,GACL,iBAAiB,GAAG,cAAc,YAAY,KAAK,KAAK,CAAC;;;mBAG3C,YAAY,KAAK,KAAK,CAAC;;GAEvC,eAAe,KAAK,IAAI,CAAC;KAExB;GACD,SAAS,CACR;IACC,UAAU,CAAC,kBAAkB;IAC7B,OAAO,aAAa;IACpB,CACD;GACD;;CAEF,WAAW,EAAE,WAAW;AACvB,SAAO,EACN,QAAQ;GACP,wBAAwB,EACvB,cAAc;IACb;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EACD,CAAC;GACF,iBAAiB,EAChB,OAAO;IACN;IACA;IACA,QAAQ,SAAS,aACd,2BACA;IACH,EACD,CAAC;GACF,qBAAqB,EACpB,WAAW,CAAC,UAAU,OAAO,EAC7B,CAAC;GACF,EACD;;CAEF,CAAC;AAEF,SAAS,eAAe,aAAmC;CAC1D,MAAM,4BAAY,IAAI,KAA6C;CACnE,MAAMC,UAA8B,EAAE;AAEtC,MAAK,MAAM,SAAS,aAAa;EAChC,MAAM,WAAW,UAAU,IAAI,MAAM,QAAQ;AAE7C,MAAI,UAAU;AACb,YAAS,UAAU;IAClB,GAAG,SAAS;IACZ,GAAG,MAAM;IACT;AACD;SACM;AACN,aAAU,IAAI,MAAM,SAAS,MAAM;AACnC,WAAQ,KAAK,MAAM;;;AAIrB,QAAO;;AAGR,SAAS,eAAe,WAAsB;AAC7C,QAAO;EACN;EACA,UAAU,WAAW,aAAa,UAAU,QAAQ,KAAK,KAAK,CAAC;EAC/D,WAAW,UAAU,MAAM,KAAK,SAAS,KAAK,UAAU,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC;EAC1E,UAAU,mBACT,oBAAoB,KAAK,UAAU,UAAU,gBAAgB,CAAC,QAAQ,2BAAyB,sBAAsB,CAAC;EACvH,UAAU,iBACT,kBAAkB,KAAK,UAAU,UAAU,cAAc;EAC1D,UAAU,SAAS,UAAU,oBAAoB,UAAU,MAAM,CAAC;EAClE,UAAU,YACT,aAAa,KAAK,UAAU,SAAS,UAAU,SAAS,CAAC,CAAC;EAC3D;EACA,CACC,OAAO,QAAQ,CACf,KAAK,IAAI;;AAGZ,SAAS,oBAAoB,OAAuB;AACnD,KAAI,CAAC,MAAM,QAAQ,MAAM,CACxB,QAAO,KAAK,UAAU,MAAM;AAG7B,QAAO;EACN;EACA,GAAG,eAAe,MAAM,CAAC,SAAS,UAAU,CAC3C,kBAAkB,MAAM,QAAQ,EAChC,GAAG,OAAO,QAAQ,MAAM,QAAQ,CAAC,KAC/B,CAAC,UAAU,aAAa,IAAI,SAAS,KAAK,KAAK,UAAU,QAAQ,CAAC,GACnE,CACD,CAAC;EACF;EACA,CAAC,KAAK,GAAG;;AAGX,SAAS,kBAAkB,SAA6B;AACvD,QAAO,UAAU,UAAU,QAAQ,WAAW,MAAM,QAAQ,CAAC,MAAM;;AAGpE,SAAS,eAAe,OAAiB;AACxC,QAAO,MAAM,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum10 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLintComments.d.ts
|
|
4
|
-
declare const blockESLintComments:
|
|
4
|
+
declare const blockESLintComments: bingo_stratum10.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
|
|
1
|
+
import * as bingo_stratum7 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLintJSDoc.d.ts
|
|
4
|
-
declare const blockESLintJSDoc:
|
|
4
|
+
declare const blockESLintJSDoc: bingo_stratum7.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockESLintJSDoc.d.ts","names":[],"sources":["../../src/blocks/blockESLintJSDoc.ts"],"sourcesContent":[],"mappings":";;;cAIa,
|
|
1
|
+
{"version":3,"file":"blockESLintJSDoc.d.ts","names":[],"sources":["../../src/blocks/blockESLintJSDoc.ts"],"sourcesContent":[],"mappings":";;;cAIa,iCAAgB;;;EAAhB,SAAA,EAAA,MAAA;;;;;;;;;;EAAgB,KAAA,EAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum8 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLintJSONC.d.ts
|
|
4
|
-
declare const blockESLintJSONC:
|
|
4
|
+
declare const blockESLintJSONC: bingo_stratum8.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockESLintJSONC.d.ts","names":[],"sources":["../../src/blocks/blockESLintJSONC.ts"],"sourcesContent":[],"mappings":";;;cAGa,
|
|
1
|
+
{"version":3,"file":"blockESLintJSONC.d.ts","names":[],"sources":["../../src/blocks/blockESLintJSONC.ts"],"sourcesContent":[],"mappings":";;;cAGa,iCAAgB;;;EAAhB,SAAA,EAAA,MAAA;;;;;;;;;;EAAgB,KAAA,EAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum5 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLintMarkdown.d.ts
|
|
4
|
-
declare const blockESLintMarkdown:
|
|
4
|
+
declare const blockESLintMarkdown: bingo_stratum5.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockESLintMarkdown.d.ts","names":[],"sources":["../../src/blocks/blockESLintMarkdown.ts"],"sourcesContent":[],"mappings":";;;cAMa,
|
|
1
|
+
{"version":3,"file":"blockESLintMarkdown.d.ts","names":[],"sources":["../../src/blocks/blockESLintMarkdown.ts"],"sourcesContent":[],"mappings":";;;cAMa,oCAAmB;;;EAAnB,SAAA,EAAA,MAAA;;;;;;;;;;EAAmB,KAAA,EAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum90 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:
|
|
5
|
+
declare const blockESLintMoreStyling: bingo_stratum90.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
|
|
1
|
+
import * as bingo_stratum12 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLintNode.d.ts
|
|
4
|
-
declare const blockESLintNode:
|
|
4
|
+
declare const blockESLintNode: bingo_stratum12.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
|
|
1
|
+
import * as bingo_stratum13 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLintPackageJson.d.ts
|
|
4
|
-
declare const blockESLintPackageJson:
|
|
4
|
+
declare const blockESLintPackageJson: bingo_stratum13.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
|
|
1
|
+
import * as bingo_stratum14 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLintPerfectionist.d.ts
|
|
4
|
-
declare const blockESLintPerfectionist:
|
|
4
|
+
declare const blockESLintPerfectionist: bingo_stratum14.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,
|
|
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
|
|
1
|
+
import * as bingo_stratum15 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLintPlugin.d.ts
|
|
4
|
-
declare const blockESLintPlugin:
|
|
4
|
+
declare const blockESLintPlugin: bingo_stratum15.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,
|
|
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
|
|
1
|
+
import * as bingo_stratum16 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLintRegexp.d.ts
|
|
4
|
-
declare const blockESLintRegexp:
|
|
4
|
+
declare const blockESLintRegexp: bingo_stratum16.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,
|
|
1
|
+
{"version":3,"file":"blockESLintRegexp.d.ts","names":[],"sources":["../../src/blocks/blockESLintRegexp.ts"],"sourcesContent":[],"mappings":";;;cAIa,mCAAiB;;;EAAjB,SAAA,EAAA,MAAA;;;;;;;;;;EAAiB,KAAA,EAAA"}
|