create-typescript-app 2.51.0 → 2.52.1
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/lib/blocks/blockAllContributors.d.ts +2 -2
- package/lib/blocks/blockAreTheTypesWrong.d.ts +2 -2
- package/lib/blocks/blockCSpell.d.ts +2 -2
- package/lib/blocks/blockCSpell.d.ts.map +1 -1
- package/lib/blocks/blockCTATransitions.d.ts +2 -2
- package/lib/blocks/blockCTATransitions.d.ts.map +1 -1
- package/lib/blocks/blockCodecov.d.ts +2 -2
- package/lib/blocks/blockContributingDocs.d.ts +2 -2
- package/lib/blocks/blockContributorCovenant.d.ts +2 -2
- package/lib/blocks/blockContributorCovenant.d.ts.map +1 -1
- package/lib/blocks/blockDevelopmentDocs.d.ts +3 -3
- package/lib/blocks/blockESLint.d.ts +14 -19
- package/lib/blocks/blockESLint.d.ts.map +1 -1
- package/lib/blocks/blockESLint.js +23 -27
- package/lib/blocks/blockESLint.js.map +1 -1
- package/lib/blocks/blockESLintComments.d.ts.map +1 -1
- package/lib/blocks/blockESLintComments.js +6 -2
- package/lib/blocks/blockESLintComments.js.map +1 -1
- package/lib/blocks/blockESLintJSDoc.d.ts +2 -2
- package/lib/blocks/blockESLintJSDoc.d.ts.map +1 -1
- package/lib/blocks/blockESLintJSDoc.js +10 -6
- package/lib/blocks/blockESLintJSDoc.js.map +1 -1
- package/lib/blocks/blockESLintJSONC.d.ts +2 -2
- package/lib/blocks/blockESLintJSONC.d.ts.map +1 -1
- package/lib/blocks/blockESLintJSONC.js +4 -1
- package/lib/blocks/blockESLintJSONC.js.map +1 -1
- package/lib/blocks/blockESLintMarkdown.d.ts +2 -2
- package/lib/blocks/blockESLintMarkdown.d.ts.map +1 -1
- package/lib/blocks/blockESLintMarkdown.js +4 -1
- package/lib/blocks/blockESLintMarkdown.js.map +1 -1
- package/lib/blocks/blockESLintMoreStyling.d.ts +2 -2
- package/lib/blocks/blockESLintMoreStyling.d.ts.map +1 -1
- package/lib/blocks/blockESLintMoreStyling.js +17 -13
- package/lib/blocks/blockESLintMoreStyling.js.map +1 -1
- package/lib/blocks/blockESLintNode.d.ts +2 -2
- package/lib/blocks/blockESLintNode.d.ts.map +1 -1
- package/lib/blocks/blockESLintNode.js +10 -2
- package/lib/blocks/blockESLintNode.js.map +1 -1
- package/lib/blocks/blockESLintPackageJson.d.ts +2 -2
- package/lib/blocks/blockESLintPackageJson.d.ts.map +1 -1
- package/lib/blocks/blockESLintPackageJson.js +4 -1
- package/lib/blocks/blockESLintPackageJson.js.map +1 -1
- package/lib/blocks/blockESLintPerfectionist.d.ts +2 -2
- package/lib/blocks/blockESLintPerfectionist.d.ts.map +1 -1
- package/lib/blocks/blockESLintPerfectionist.js +11 -7
- package/lib/blocks/blockESLintPerfectionist.js.map +1 -1
- package/lib/blocks/blockESLintPlugin.d.ts +2 -2
- package/lib/blocks/blockESLintPlugin.d.ts.map +1 -1
- package/lib/blocks/blockESLintPlugin.js +5 -1
- package/lib/blocks/blockESLintPlugin.js.map +1 -1
- package/lib/blocks/blockESLintRegexp.d.ts +2 -2
- package/lib/blocks/blockESLintRegexp.d.ts.map +1 -1
- package/lib/blocks/blockESLintRegexp.js +6 -2
- package/lib/blocks/blockESLintRegexp.js.map +1 -1
- package/lib/blocks/blockESLintYML.d.ts +2 -2
- package/lib/blocks/blockExampleFiles.d.ts +2 -2
- package/lib/blocks/blockFunding.d.ts +2 -2
- package/lib/blocks/blockGitHubActionsCI.d.ts +2 -2
- package/lib/blocks/blockGitHubApps.d.ts +2 -2
- package/lib/blocks/blockGitHubApps.d.ts.map +1 -1
- package/lib/blocks/blockGitHubIssueTemplates.d.ts +2 -2
- package/lib/blocks/blockGitHubIssueTemplates.d.ts.map +1 -1
- package/lib/blocks/blockGitHubPRTemplate.d.ts +2 -2
- package/lib/blocks/blockGitHubPRTemplate.d.ts.map +1 -1
- package/lib/blocks/blockGitignore.d.ts +2 -2
- package/lib/blocks/blockKnip.d.ts +2 -2
- package/lib/blocks/blockKnip.d.ts.map +1 -1
- package/lib/blocks/blockMITLicense.d.ts +2 -2
- package/lib/blocks/blockMITLicense.d.ts.map +1 -1
- package/lib/blocks/blockMain.d.ts +2 -2
- package/lib/blocks/blockMain.d.ts.map +1 -1
- package/lib/blocks/blockMarkdownlint.d.ts +2 -2
- package/lib/blocks/blockMarkdownlint.d.ts.map +1 -1
- package/lib/blocks/blockNcc.d.ts +2 -2
- package/lib/blocks/blockNcc.d.ts.map +1 -1
- package/lib/blocks/blockNvmrc.d.ts +2 -2
- package/lib/blocks/blockNvmrc.d.ts.map +1 -1
- package/lib/blocks/blockOctoGuide.d.ts +2 -2
- package/lib/blocks/blockOctoGuide.d.ts.map +1 -1
- package/lib/blocks/blockOctoGuideStrict.d.ts +2 -2
- package/lib/blocks/blockOctoGuideStrict.d.ts.map +1 -1
- package/lib/blocks/blockPackageJson.d.ts +2 -2
- package/lib/blocks/blockPackageJson.d.ts.map +1 -1
- package/lib/blocks/blockPackageJson.js +2 -5
- package/lib/blocks/blockPackageJson.js.map +1 -1
- package/lib/blocks/blockPnpmDedupe.d.ts +2 -2
- package/lib/blocks/blockPnpmDedupe.d.ts.map +1 -1
- package/lib/blocks/blockPrettier.d.ts +2 -2
- package/lib/blocks/blockPrettier.d.ts.map +1 -1
- package/lib/blocks/blockPrettierPluginCurly.d.ts +2 -2
- package/lib/blocks/blockPrettierPluginCurly.d.ts.map +1 -1
- package/lib/blocks/blockPrettierPluginPackageJson.d.ts +2 -2
- package/lib/blocks/blockPrettierPluginSentencesPerLine.d.ts +2 -2
- package/lib/blocks/blockPrettierPluginSh.d.ts +2 -2
- package/lib/blocks/blockPrettierPluginSh.d.ts.map +1 -1
- package/lib/blocks/blockREADME.d.ts +3 -3
- package/lib/blocks/blockReleaseIt.d.ts +2 -2
- package/lib/blocks/blockRemoveDependencies.d.ts +2 -2
- package/lib/blocks/blockRemoveFiles.d.ts +2 -2
- package/lib/blocks/blockRemoveWorkflows.d.ts +2 -2
- package/lib/blocks/blockRemoveWorkflows.d.ts.map +1 -1
- package/lib/blocks/blockRenovate.d.ts +2 -2
- package/lib/blocks/blockRenovate.d.ts.map +1 -1
- package/lib/blocks/blockRepositoryBranchRuleset.d.ts +2 -2
- package/lib/blocks/blockRepositoryBranchRuleset.d.ts.map +1 -1
- package/lib/blocks/blockRepositoryLabels.d.ts +2 -2
- package/lib/blocks/blockRepositoryLabels.d.ts.map +1 -1
- package/lib/blocks/blockRepositorySecrets.d.ts +2 -2
- package/lib/blocks/blockRepositorySecrets.d.ts.map +1 -1
- package/lib/blocks/blockRepositorySettings.d.ts +2 -2
- package/lib/blocks/blockRepositorySettings.d.ts.map +1 -1
- package/lib/blocks/blockSecurityDocs.d.ts +2 -2
- package/lib/blocks/blockTSDown.d.ts +2 -2
- package/lib/blocks/blockTSDown.d.ts.map +1 -1
- package/lib/blocks/blockTemplatedWith.d.ts +2 -2
- package/lib/blocks/blockTemplatedWith.d.ts.map +1 -1
- package/lib/blocks/blockTypeScript.d.ts +2 -2
- package/lib/blocks/blockTypeScript.d.ts.map +1 -1
- package/lib/blocks/blockVSCode.d.ts +2 -2
- package/lib/blocks/blockVSCode.d.ts.map +1 -1
- package/lib/blocks/blockVitest.d.ts +2 -2
- package/lib/blocks/blockVitest.d.ts.map +1 -1
- package/lib/blocks/blockVitest.js +3 -3
- package/lib/blocks/blockVitest.js.map +1 -1
- package/lib/blocks/blockWebExt.d.ts +2 -2
- package/lib/blocks/blockWebExt.d.ts.map +1 -1
- package/lib/blocks/eslint/getScriptFileExtension.d.ts +8 -0
- package/lib/blocks/eslint/getScriptFileExtension.d.ts.map +1 -0
- package/lib/blocks/eslint/getScriptFileExtension.js +8 -0
- package/lib/blocks/eslint/getScriptFileExtension.js.map +1 -0
- package/lib/blocks/eslint/mergeAllExtensions.d.ts +18 -0
- package/lib/blocks/eslint/mergeAllExtensions.d.ts.map +1 -0
- package/lib/blocks/eslint/mergeAllExtensions.js +48 -0
- package/lib/blocks/eslint/mergeAllExtensions.js.map +1 -0
- package/lib/blocks/eslint/schemas.d.ts +23 -10
- package/lib/blocks/eslint/schemas.d.ts.map +1 -1
- package/lib/blocks/eslint/schemas.js +5 -3
- package/lib/blocks/eslint/schemas.js.map +1 -1
- package/lib/blocks/index.d.ts +64 -69
- package/lib/presets/common.d.ts +69 -69
- package/lib/presets/common.d.ts.map +1 -1
- package/lib/presets/everything.d.ts +69 -69
- package/lib/presets/everything.d.ts.map +1 -1
- package/lib/presets/index.d.ts +203 -203
- package/lib/presets/minimal.d.ts +69 -69
- package/lib/presets/minimal.d.ts.map +1 -1
- package/lib/schemas.d.ts.map +1 -1
- package/lib/template.d.ts +67 -67
- package/package.json +2 -3
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import { base } from "../base.js";
|
|
2
|
+
import { getScriptFileExtension } from "./eslint/getScriptFileExtension.js";
|
|
2
3
|
import { blockESLint } from "./blockESLint.js";
|
|
3
4
|
|
|
4
5
|
//#region src/blocks/blockESLintNode.ts
|
|
5
6
|
const blockESLintNode = base.createBlock({
|
|
6
7
|
about: { name: "ESLint Node Plugin" },
|
|
7
|
-
produce() {
|
|
8
|
+
produce({ options }) {
|
|
8
9
|
return { addons: [blockESLint({
|
|
9
|
-
extensions: [
|
|
10
|
+
extensions: [{
|
|
11
|
+
extends: ["n.configs[\"flat/recommended\"]"],
|
|
12
|
+
files: [getScriptFileExtension(options)],
|
|
13
|
+
rules: [{
|
|
14
|
+
comment: "https://github.com/eslint-community/eslint-plugin-n/issues/472",
|
|
15
|
+
entries: { "n/no-unpublished-bin": "off" }
|
|
16
|
+
}]
|
|
17
|
+
}, {
|
|
10
18
|
extends: ["tseslint.configs.disableTypeChecked"],
|
|
11
19
|
files: ["**/*.md/*.ts"],
|
|
12
20
|
rules: { "n/no-missing-import": "off" }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockESLintNode.js","names":[],"sources":["../../src/blocks/blockESLintNode.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockESLint } from \"./blockESLint.js\";\n\nexport const blockESLintNode = base.createBlock({\n\tabout: {\n\t\tname: \"ESLint Node Plugin\",\n\t},\n\tproduce() {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockESLint({\n\t\t\t\t\textensions: [\n\t\t\t\t\t\t'n.configs[\"flat/recommended\"]',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\textends: [\"tseslint.configs.disableTypeChecked\"],\n\t\t\t\t\t\t\tfiles: [\"**/*.md/*.ts\"],\n\t\t\t\t\t\t\trules: { \"n/no-missing-import\": \"off\" },\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\timports: [{ source: \"eslint-plugin-n\", specifier: \"n\" }],\n\t\t\t\t}),\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"blockESLintNode.js","names":[],"sources":["../../src/blocks/blockESLintNode.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockESLint } from \"./blockESLint.js\";\nimport { getScriptFileExtension } from \"./eslint/getScriptFileExtension.js\";\n\nexport const blockESLintNode = base.createBlock({\n\tabout: {\n\t\tname: \"ESLint Node Plugin\",\n\t},\n\tproduce({ options }) {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockESLint({\n\t\t\t\t\textensions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\textends: ['n.configs[\"flat/recommended\"]'],\n\t\t\t\t\t\t\tfiles: [getScriptFileExtension(options)],\n\t\t\t\t\t\t\trules: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcomment:\n\t\t\t\t\t\t\t\t\t\t\"https://github.com/eslint-community/eslint-plugin-n/issues/472\",\n\t\t\t\t\t\t\t\t\tentries: {\n\t\t\t\t\t\t\t\t\t\t\"n/no-unpublished-bin\": \"off\",\n\t\t\t\t\t\t\t\t\t},\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\t{\n\t\t\t\t\t\t\textends: [\"tseslint.configs.disableTypeChecked\"],\n\t\t\t\t\t\t\tfiles: [\"**/*.md/*.ts\"],\n\t\t\t\t\t\t\trules: { \"n/no-missing-import\": \"off\" },\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\timports: [{ source: \"eslint-plugin-n\", specifier: \"n\" }],\n\t\t\t\t}),\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":";;;;;AAIA,MAAa,kBAAkB,KAAK,YAAY;CAC/C,OAAO,EACN,MAAM,sBACN;CACD,QAAQ,EAAE,WAAW;AACpB,SAAO,EACN,QAAQ,CACP,YAAY;GACX,YAAY,CACX;IACC,SAAS,CAAC,kCAAgC;IAC1C,OAAO,CAAC,uBAAuB,QAAQ,CAAC;IACxC,OAAO,CACN;KACC,SACC;KACD,SAAS,EACR,wBAAwB,OACxB;KACD,CACD;IACD,EACD;IACC,SAAS,CAAC,sCAAsC;IAChD,OAAO,CAAC,eAAe;IACvB,OAAO,EAAE,uBAAuB,OAAO;IACvC,CACD;GACD,SAAS,CAAC;IAAE,QAAQ;IAAmB,WAAW;IAAK,CAAC;GACxD,CAAC,CACF,EACD;;CAEF,CAAC"}
|
|
@@ -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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockESLintPackageJson.d.ts","names":[],"sources":["../../src/blocks/blockESLintPackageJson.ts"],"sourcesContent":[],"mappings":";;;cAOa,
|
|
1
|
+
{"version":3,"file":"blockESLintPackageJson.d.ts","names":[],"sources":["../../src/blocks/blockESLintPackageJson.ts"],"sourcesContent":[],"mappings":";;;cAOa,wCAAsB;;;EAAtB,SAAA,EAAA,MAAA;;;;;;;;;;EAAsB,KAAA,EAAA"}
|
|
@@ -10,7 +10,10 @@ const blockESLintPackageJson = base.createBlock({
|
|
|
10
10
|
about: { name: "ESLint package.json Plugin" },
|
|
11
11
|
produce() {
|
|
12
12
|
return { addons: [blockESLint({
|
|
13
|
-
extensions: [
|
|
13
|
+
extensions: [{
|
|
14
|
+
extends: ["packageJson.configs.recommended"],
|
|
15
|
+
files: ["package.json"]
|
|
16
|
+
}],
|
|
14
17
|
imports: [{
|
|
15
18
|
source: "eslint-plugin-package-json",
|
|
16
19
|
specifier: "packageJson"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockESLintPackageJson.js","names":[],"sources":["../../src/blocks/blockESLintPackageJson.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockESLint } from \"./blockESLint.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\nimport { blockRemoveDependencies } from \"./blockRemoveDependencies.js\";\nimport { blockRemoveFiles } from \"./blockRemoveFiles.js\";\nimport { blockRemoveWorkflows } from \"./blockRemoveWorkflows.js\";\n\nexport const blockESLintPackageJson = base.createBlock({\n\tabout: {\n\t\tname: \"ESLint package.json Plugin\",\n\t},\n\tproduce() {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockESLint({\n\t\t\t\t\textensions: [\"packageJson.configs.recommended\"],\n\t\t\t\t\timports: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsource: \"eslint-plugin-package-json\",\n\t\t\t\t\t\t\tspecifier: \"packageJson\",\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\tscripts: {\n\t\t\t\t\t\t\t\"lint:package-json\": undefined,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t],\n\t\t};\n\t},\n\ttransition() {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockRemoveFiles({\n\t\t\t\t\tfiles: [\".npmpackagejsonlintrc*\"],\n\t\t\t\t}),\n\t\t\t\tblockRemoveDependencies({\n\t\t\t\t\tdependencies: [\n\t\t\t\t\t\t\"npm-package-json-lint\",\n\t\t\t\t\t\t\"npm-package-json-lint-config-default\",\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t\tblockRemoveWorkflows({\n\t\t\t\t\tworkflows: [\"lint-package-json\"],\n\t\t\t\t}),\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":";;;;;;;;AAOA,MAAa,yBAAyB,KAAK,YAAY;CACtD,OAAO,EACN,MAAM,8BACN;CACD,UAAU;AACT,SAAO,EACN,QAAQ,CACP,YAAY;GACX,YAAY,CAAC,kCAAkC;
|
|
1
|
+
{"version":3,"file":"blockESLintPackageJson.js","names":[],"sources":["../../src/blocks/blockESLintPackageJson.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockESLint } from \"./blockESLint.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\nimport { blockRemoveDependencies } from \"./blockRemoveDependencies.js\";\nimport { blockRemoveFiles } from \"./blockRemoveFiles.js\";\nimport { blockRemoveWorkflows } from \"./blockRemoveWorkflows.js\";\n\nexport const blockESLintPackageJson = base.createBlock({\n\tabout: {\n\t\tname: \"ESLint package.json Plugin\",\n\t},\n\tproduce() {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockESLint({\n\t\t\t\t\textensions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\textends: [\"packageJson.configs.recommended\"],\n\t\t\t\t\t\t\tfiles: [\"package.json\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\timports: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsource: \"eslint-plugin-package-json\",\n\t\t\t\t\t\t\tspecifier: \"packageJson\",\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\tscripts: {\n\t\t\t\t\t\t\t\"lint:package-json\": undefined,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t],\n\t\t};\n\t},\n\ttransition() {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockRemoveFiles({\n\t\t\t\t\tfiles: [\".npmpackagejsonlintrc*\"],\n\t\t\t\t}),\n\t\t\t\tblockRemoveDependencies({\n\t\t\t\t\tdependencies: [\n\t\t\t\t\t\t\"npm-package-json-lint\",\n\t\t\t\t\t\t\"npm-package-json-lint-config-default\",\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t\tblockRemoveWorkflows({\n\t\t\t\t\tworkflows: [\"lint-package-json\"],\n\t\t\t\t}),\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":";;;;;;;;AAOA,MAAa,yBAAyB,KAAK,YAAY;CACtD,OAAO,EACN,MAAM,8BACN;CACD,UAAU;AACT,SAAO,EACN,QAAQ,CACP,YAAY;GACX,YAAY,CACX;IACC,SAAS,CAAC,kCAAkC;IAC5C,OAAO,CAAC,eAAe;IACvB,CACD;GACD,SAAS,CACR;IACC,QAAQ;IACR,WAAW;IACX,CACD;GACD,CAAC,EACF,iBAAiB,EAChB,YAAY,EACX,SAAS,EACR,qBAAqB,QACrB,EACD,EACD,CAAC,CACF,EACD;;CAEF,aAAa;AACZ,SAAO,EACN,QAAQ;GACP,iBAAiB,EAChB,OAAO,CAAC,yBAAyB,EACjC,CAAC;GACF,wBAAwB,EACvB,cAAc,CACb,yBACA,uCACA,EACD,CAAC;GACF,qBAAqB,EACpB,WAAW,CAAC,oBAAoB,EAChC,CAAC;GACF,EACD;;CAEF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum15 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLintPerfectionist.d.ts
|
|
4
|
-
declare const blockESLintPerfectionist:
|
|
4
|
+
declare const blockESLintPerfectionist: bingo_stratum15.BlockWithoutAddons<{
|
|
5
5
|
access: "public" | "restricted";
|
|
6
6
|
description: string;
|
|
7
7
|
directory: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockESLintPerfectionist.d.ts","names":[],"sources":["../../src/blocks/blockESLintPerfectionist.ts"],"sourcesContent":[],"mappings":";;;
|
|
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,20 +1,24 @@
|
|
|
1
1
|
import { base } from "../base.js";
|
|
2
|
+
import { getScriptFileExtension } from "./eslint/getScriptFileExtension.js";
|
|
2
3
|
import { blockESLint } from "./blockESLint.js";
|
|
3
4
|
|
|
4
5
|
//#region src/blocks/blockESLintPerfectionist.ts
|
|
5
6
|
const blockESLintPerfectionist = base.createBlock({
|
|
6
7
|
about: { name: "ESLint Perfectionist Plugin" },
|
|
7
|
-
produce() {
|
|
8
|
+
produce({ options }) {
|
|
8
9
|
return { addons: [blockESLint({
|
|
9
|
-
extensions: [
|
|
10
|
+
extensions: [{
|
|
11
|
+
extends: [`perfectionist.configs["recommended-natural"]`],
|
|
12
|
+
files: [getScriptFileExtension(options)],
|
|
13
|
+
settings: { perfectionist: {
|
|
14
|
+
partitionByComment: true,
|
|
15
|
+
type: "natural"
|
|
16
|
+
} }
|
|
17
|
+
}],
|
|
10
18
|
imports: [{
|
|
11
19
|
source: "eslint-plugin-perfectionist",
|
|
12
20
|
specifier: "perfectionist"
|
|
13
|
-
}]
|
|
14
|
-
settings: { perfectionist: {
|
|
15
|
-
partitionByComment: true,
|
|
16
|
-
type: "natural"
|
|
17
|
-
} }
|
|
21
|
+
}]
|
|
18
22
|
})] };
|
|
19
23
|
}
|
|
20
24
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockESLintPerfectionist.js","names":[],"sources":["../../src/blocks/blockESLintPerfectionist.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockESLint } from \"./blockESLint.js\";\n\nexport const blockESLintPerfectionist = base.createBlock({\n\tabout: {\n\t\tname: \"ESLint Perfectionist Plugin\",\n\t},\n\tproduce() {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockESLint({\n\t\t\t\t\textensions: [`perfectionist.configs[\"recommended-natural\"]`],\n\t\t\t\t\
|
|
1
|
+
{"version":3,"file":"blockESLintPerfectionist.js","names":[],"sources":["../../src/blocks/blockESLintPerfectionist.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockESLint } from \"./blockESLint.js\";\nimport { getScriptFileExtension } from \"./eslint/getScriptFileExtension.js\";\n\nexport const blockESLintPerfectionist = base.createBlock({\n\tabout: {\n\t\tname: \"ESLint Perfectionist Plugin\",\n\t},\n\tproduce({ options }) {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockESLint({\n\t\t\t\t\textensions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\textends: [`perfectionist.configs[\"recommended-natural\"]`],\n\t\t\t\t\t\t\tfiles: [getScriptFileExtension(options)],\n\t\t\t\t\t\t\tsettings: {\n\t\t\t\t\t\t\t\tperfectionist: {\n\t\t\t\t\t\t\t\t\tpartitionByComment: true,\n\t\t\t\t\t\t\t\t\ttype: \"natural\",\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\timports: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsource: \"eslint-plugin-perfectionist\",\n\t\t\t\t\t\t\tspecifier: \"perfectionist\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":";;;;;AAIA,MAAa,2BAA2B,KAAK,YAAY;CACxD,OAAO,EACN,MAAM,+BACN;CACD,QAAQ,EAAE,WAAW;AACpB,SAAO,EACN,QAAQ,CACP,YAAY;GACX,YAAY,CACX;IACC,SAAS,CAAC,+CAA+C;IACzD,OAAO,CAAC,uBAAuB,QAAQ,CAAC;IACxC,UAAU,EACT,eAAe;KACd,oBAAoB;KACpB,MAAM;KACN,EACD;IACD,CACD;GACD,SAAS,CACR;IACC,QAAQ;IACR,WAAW;IACX,CACD;GACD,CAAC,CACF,EACD;;CAEF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum17 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLintPlugin.d.ts
|
|
4
|
-
declare const blockESLintPlugin:
|
|
4
|
+
declare const blockESLintPlugin: bingo_stratum17.BlockWithAddons<{
|
|
5
5
|
configEmoji?: [string, string][] | undefined;
|
|
6
6
|
}, {
|
|
7
7
|
access: "public" | "restricted";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockESLintPlugin.d.ts","names":[],"sources":["../../src/blocks/blockESLintPlugin.ts"],"sourcesContent":[],"mappings":";;;
|
|
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"}
|
|
@@ -5,6 +5,7 @@ import { blockGitHubActionsCI } from "./blockGitHubActionsCI.js";
|
|
|
5
5
|
import { blockPackageJson } from "./blockPackageJson.js";
|
|
6
6
|
import { blockDevelopmentDocs } from "./blockDevelopmentDocs.js";
|
|
7
7
|
import { blockCSpell } from "./blockCSpell.js";
|
|
8
|
+
import { getScriptFileExtension } from "./eslint/getScriptFileExtension.js";
|
|
8
9
|
import { zConfigEmoji } from "./eslint/schemas.js";
|
|
9
10
|
import { blockESLint } from "./blockESLint.js";
|
|
10
11
|
import { blockREADME } from "./blockREADME.js";
|
|
@@ -40,7 +41,10 @@ pnpm build:docs
|
|
|
40
41
|
Linting: { contents: { items: [`- \`pnpm lint:docs\` ([eslint-doc-generator](https://github.com/bmish/eslint-doc-generator)): Generates and validates documentation for ESLint rules`] } }
|
|
41
42
|
} }),
|
|
42
43
|
blockESLint({
|
|
43
|
-
extensions: [
|
|
44
|
+
extensions: [{
|
|
45
|
+
extends: ["eslintPlugin.configs[\"flat/recommended\"]"],
|
|
46
|
+
files: [getScriptFileExtension(options)]
|
|
47
|
+
}],
|
|
44
48
|
ignores: [configFileName, "docs/rules/*/*.ts"],
|
|
45
49
|
imports: [{
|
|
46
50
|
source: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockESLintPlugin.js","names":[],"sources":["../../src/blocks/blockESLintPlugin.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockCSpell } from \"./blockCSpell.js\";\nimport { blockDevelopmentDocs } from \"./blockDevelopmentDocs.js\";\nimport { blockESLint } from \"./blockESLint.js\";\nimport { blockGitHubActionsCI } from \"./blockGitHubActionsCI.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\nimport { blockREADME } from \"./blockREADME.js\";\nimport { blockVitest } from \"./blockVitest.js\";\nimport { blockESLintPluginIntake } from \"./eslint/blockESLintPluginIntake.js\";\nimport { zConfigEmoji } from \"./eslint/schemas.js\";\nimport { intakeFile } from \"./intake/intakeFile.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockESLintPlugin = base.createBlock({\n\tabout: {\n\t\tname: \"ESLint Plugin\",\n\t},\n\taddons: {\n\t\tconfigEmoji: zConfigEmoji,\n\t},\n\tintake({ files }) {\n\t\tconst docGeneratorConfigRaw = intakeFile(files, [\n\t\t\t[\".eslint-doc-generatorrc.js\", \".eslint-doc-generatorrc.mjs\"],\n\t\t]);\n\n\t\treturn docGeneratorConfigRaw\n\t\t\t? blockESLintPluginIntake(docGeneratorConfigRaw[0])\n\t\t\t: undefined;\n\t},\n\tproduce({ addons, options }) {\n\t\tconst { configEmoji } = addons;\n\t\tconst configFileName = `.eslint-doc-generatorrc.${options.type === \"commonjs\" ? \"mjs\" : \"js\"}`;\n\t\tconst pluginName = options.repository\n\t\t\t.replace(/^eslint-plugin-/, \"\")\n\t\t\t.replaceAll(/-\\w/g, (matched) => matched[1].toUpperCase());\n\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockCSpell({\n\t\t\t\t\twords: [\"eslint-doc-generatorrc\"],\n\t\t\t\t}),\n\t\t\t\tblockDevelopmentDocs({\n\t\t\t\t\tsections: {\n\t\t\t\t\t\tBuilding: {\n\t\t\t\t\t\t\tinnerSections: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcontents: `\nRun [\\`eslint-doc-generator\\`](https://github.com/bmish/eslint-doc-generator) to generate Markdown files documenting rules.\n\n\\`\\`\\`shell\npnpm build:docs\n\\`\\`\\`\n\t\t`,\n\t\t\t\t\t\t\t\t\theading: \"Building Docs\",\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\tLinting: {\n\t\t\t\t\t\t\tcontents: {\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t`- \\`pnpm lint:docs\\` ([eslint-doc-generator](https://github.com/bmish/eslint-doc-generator)): Generates and validates documentation for ESLint rules`,\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\tblockESLint({\n\t\t\t\t\textensions: ['eslintPlugin.configs[\"flat/recommended\"]'],\n\t\t\t\t\tignores: [configFileName, \"docs/rules/*/*.ts\"],\n\t\t\t\t\timports: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsource: {\n\t\t\t\t\t\t\t\tpackageName: \"eslint-plugin-eslint-plugin\",\n\t\t\t\t\t\t\t\tversion: \"6.4.0\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tspecifier: \"eslintPlugin\",\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 Docs\",\n\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t{ run: \"pnpm build || exit 0\" },\n\t\t\t\t\t\t\t\t{ run: \"pnpm lint:docs\" },\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\tblockREADME({\n\t\t\t\t\tdefaultUsage: [\n\t\t\t\t\t\t`Add this plugin to the list of plugins in your [ESLint configuration file](https://eslint.org/docs/latest/use/configure/configuration-files):\n\n\\`\\`\\`shell\nnpm i ${options.repository} -D\n\\`\\`\\`\n\n\\`\\`\\`ts\nimport ${pluginName} from \"${options.repository}\";\n\nexport default [\n\t// (other plugins)\n\t${pluginName}.configs.recommended, // 👈\n];\n\\`\\`\\`\n\n### Rules\n\nThese are all set to \\`\"error\"\\` in the recommended config:\n\n<!-- begin auto-generated rules list --><!-- end auto-generated rules list -->`,\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\tdependencies: {\n\t\t\t\t\t\t\t\"@typescript-eslint/utils\": \"^8.29.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdevDependencies: {\n\t\t\t\t\t\t\t\"@typescript-eslint/rule-tester\": \"8.29.1\",\n\t\t\t\t\t\t\t\"eslint-doc-generator\": \"2.1.0\",\n\t\t\t\t\t\t\t\"eslint-plugin-eslint-plugin\": \"6.4.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\t\"build:docs\": \"pnpm build --no-dts && eslint-doc-generator\",\n\t\t\t\t\t\t\t\"lint:docs\": \"eslint-doc-generator --check\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockVitest({\n\t\t\t\t\tcoverage: {\n\t\t\t\t\t\texclude: [\"src/index.ts\", \"src/rules/index.ts\"],\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]: `import prettier from \"prettier\";\n\n/** @type {import('eslint-doc-generator').GenerateOptions} */\nconst config = {\n\t${configEmoji ? `configEmoji: ${JSON.stringify(configEmoji)},\\n\\t` : \"\"}postprocess: async (content, path) =>\n\t\tprettier.format(content, {\n\t\t\t...(await prettier.resolveConfig(path)),\n\t\t\tparser: \"markdown\",\n\t\t}),\n\truleDocTitleFormat: \"name\",\n};\n\nexport default config;\n`,\n\t\t\t},\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\"pnpm build\"],\n\t\t\t\t\tphase: CommandPhase.Build,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcommands: [\"pnpm eslint-doc-generator --init-rule-docs\"],\n\t\t\t\t\tphase: CommandPhase.Process,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\tsetup({ options }) {\n\t\tconst pluginName = options.repository.replace(\"eslint-plugin-\", \"\");\n\n\t\treturn {\n\t\t\tfiles: {\n\t\t\t\tsrc: {\n\t\t\t\t\t\"index.ts\": `import Module from \"node:module\";\n\nimport { rules } from \"./rules/index.js\";\n\nconst require = Module.createRequire(import.meta.url);\n\nconst { name, version } =\n\t// \\`import\\`ing here would bypass the TSConfig's \\`\"rootDir\": \"src\"\\`\n\trequire(\"../package.json\") as typeof import(\"../package.json\");\n\nexport const plugin = {\n\tconfigs: {\n\t\tget recommended() {\n\t\t\treturn recommended;\n\t\t},\n\t},\n\tmeta: { name, version },\n\trules,\n};\n\nconst recommended = {\n\tplugins: {\n\t\t\"${pluginName}\": plugin,\n\t},\n\trules: Object.fromEntries(\n\t\tObject.keys(rules).map((rule) => [\\`${pluginName}/\\${rule}\\`, \"error\"]),\n\t),\n};\n\nexport { rules };\n\nexport default plugin;\n`,\n\t\t\t\t\trules: {\n\t\t\t\t\t\t\"enums.test.ts\": `import { rule } from \"./enums.js\";\nimport { ruleTester } from \"./ruleTester.js\";\n\nruleTester.run(\"enums\", rule, {\n\tinvalid: [\n\t\t{\n\t\t\tcode: \\`enum Values {}\\`,\n\t\t\terrors: [\n\t\t\t\t{\n\t\t\t\t\tcolumn: 1,\n\t\t\t\t\tendColumn: 15,\n\t\t\t\t\tendLine: 1,\n\t\t\t\t\tline: 1,\n\t\t\t\t\tmessageId: \"enum\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n\tvalid: [\\`const Values = {};\\`, \\`const Values = {} as const;\\`],\n});\n`,\n\t\t\t\t\t\t\"enums.ts\": `import { createRule } from \"../utils.js\";\n\nexport const rule = createRule({\n\tcreate(context) {\n\t\treturn {\n\t\t\tTSEnumDeclaration(node) {\n\t\t\t\tcontext.report({\n\t\t\t\t\tmessageId: \"enum\",\n\t\t\t\t\tnode,\n\t\t\t\t});\n\t\t\t},\n\t\t};\n\t},\n\tdefaultOptions: [],\n\tmeta: {\n\t\tdocs: {\n\t\t\tdescription: \"Avoid using TypeScript's enums.\",\n\t\t},\n\t\tmessages: {\n\t\t\tenum: \"This enum will not be allowed under TypeScript's --erasableSyntaxOnly.\",\n\t\t},\n\t\tschema: [],\n\t\ttype: \"problem\",\n\t},\n\tname: \"enums\",\n});\n`,\n\t\t\t\t\t\t\"index.ts\": `import { rule as enums } from \"./enums.js\";\n\nexport const rules = {\n\tenums,\n};\n`,\n\t\t\t\t\t\t\"ruleTester.ts\": `import { RuleTester } from \"@typescript-eslint/rule-tester\";\nimport * as vitest from \"vitest\";\n\nRuleTester.afterAll = vitest.afterAll;\nRuleTester.it = vitest.it;\nRuleTester.itOnly = vitest.it.only;\nRuleTester.describe = vitest.describe;\n\nexport const ruleTester = new RuleTester();\n`,\n\t\t\t\t\t},\n\t\t\t\t\t\"utils.ts\": `import { ESLintUtils } from \"@typescript-eslint/utils\";\n\nexport const createRule = ESLintUtils.RuleCreator(\n\t(name) =>\n\t\t\\`https://github.com/${options.owner}/${options.repository}/blob/main/docs/rules/\\${name}.md\\`,\n);\n`,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t},\n});\n"],"mappings":";;;;;;;;;;;;;;AAaA,MAAa,oBAAoB,KAAK,YAAY;CACjD,OAAO,EACN,MAAM,iBACN;CACD,QAAQ,EACP,aAAa,cACb;CACD,OAAO,EAAE,SAAS;EACjB,MAAM,wBAAwB,WAAW,OAAO,CAC/C,CAAC,8BAA8B,8BAA8B,CAC7D,CAAC;AAEF,SAAO,wBACJ,wBAAwB,sBAAsB,GAAG,GACjD;;CAEJ,QAAQ,EAAE,QAAQ,WAAW;EAC5B,MAAM,EAAE,gBAAgB;EACxB,MAAM,iBAAiB,2BAA2B,QAAQ,SAAS,aAAa,QAAQ;EACxF,MAAM,aAAa,QAAQ,WACzB,QAAQ,mBAAmB,GAAG,CAC9B,WAAW,SAAS,YAAY,QAAQ,GAAG,aAAa,CAAC;AAE3D,SAAO;GACN,QAAQ;IACP,YAAY,EACX,OAAO,CAAC,yBAAyB,EACjC,CAAC;IACF,qBAAqB,EACpB,UAAU;KACT,UAAU,EACT,eAAe,CACd;MACC,UAAU;;;;;;;MAOV,SAAS;MACT,CACD,EACD;KACD,SAAS,EACR,UAAU,EACT,OAAO,CACN,uJACA,EACD,EACD;KACD,EACD,CAAC;IACF,YAAY;KACX,YAAY,CAAC,6CAA2C;KACxD,SAAS,CAAC,gBAAgB,oBAAoB;KAC9C,SAAS,CACR;MACC,QAAQ;OACP,aAAa;OACb,SAAS;OACT;MACD,WAAW;MACX,CACD;KACD,CAAC;IACF,qBAAqB,EACpB,MAAM,CACL;KACC,MAAM;KACN,OAAO,CACN,EAAE,KAAK,wBAAwB,EAC/B,EAAE,KAAK,kBAAkB,CACzB;KACD,CACD,EACD,CAAC;IACF,YAAY,EACX,cAAc,CACb;;;QAGE,QAAQ,WAAW;;;;SAIlB,WAAW,SAAS,QAAQ,WAAW;;;;GAI7C,WAAW;;;;;;;;gFASR,EACD,CAAC;IACF,iBAAiB,EAChB,YAAY;KACX,cAAc,EACb,4BAA4B,WAC5B;KACD,iBAAiB;MAChB,kCAAkC;MAClC,wBAAwB;MACxB,+BAA+B;MAC/B;KACD,SAAS;MACR,cAAc;MACd,aAAa;MACb;KACD,EACD,CAAC;IACF,YAAY,EACX,UAAU,EACT,SAAS,CAAC,gBAAgB,qBAAqB,EAC/C,EACD,CAAC;IACF;GACD,OAAO,GACL,iBAAiB;;;;GAInB,cAAc,gBAAgB,KAAK,UAAU,YAAY,CAAC,SAAS,GAAG;;;;;;;;;GAUrE;GACD,SAAS,CACR;IACC,UAAU,CAAC,aAAa;IACxB,OAAO,aAAa;IACpB,EACD;IACC,UAAU,CAAC,6CAA6C;IACxD,OAAO,aAAa;IACpB,CACD;GACD;;CAEF,MAAM,EAAE,WAAW;EAClB,MAAM,aAAa,QAAQ,WAAW,QAAQ,kBAAkB,GAAG;AAEnE,SAAO,EACN,OAAO,EACN,KAAK;GACJ,YAAY;;;;;;;;;;;;;;;;;;;;;;KAsBZ,WAAW;;;wCAGwB,WAAW;;;;;;;;GAQ9C,OAAO;IACN,iBAAiB;;;;;;;;;;;;;;;;;;;;;IAqBjB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2BZ,YAAY;;;;;;IAMZ,iBAAiB;;;;;;;;;;IAUjB;GACD,YAAY;;;;yBAIQ,QAAQ,MAAM,GAAG,QAAQ,WAAW;;;GAGxD,EACD,EACD;;CAEF,CAAC"}
|
|
1
|
+
{"version":3,"file":"blockESLintPlugin.js","names":[],"sources":["../../src/blocks/blockESLintPlugin.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockCSpell } from \"./blockCSpell.js\";\nimport { blockDevelopmentDocs } from \"./blockDevelopmentDocs.js\";\nimport { blockESLint } from \"./blockESLint.js\";\nimport { blockGitHubActionsCI } from \"./blockGitHubActionsCI.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\nimport { blockREADME } from \"./blockREADME.js\";\nimport { blockVitest } from \"./blockVitest.js\";\nimport { blockESLintPluginIntake } from \"./eslint/blockESLintPluginIntake.js\";\nimport { getScriptFileExtension } from \"./eslint/getScriptFileExtension.js\";\nimport { zConfigEmoji } from \"./eslint/schemas.js\";\nimport { intakeFile } from \"./intake/intakeFile.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockESLintPlugin = base.createBlock({\n\tabout: {\n\t\tname: \"ESLint Plugin\",\n\t},\n\taddons: {\n\t\tconfigEmoji: zConfigEmoji,\n\t},\n\tintake({ files }) {\n\t\tconst docGeneratorConfigRaw = intakeFile(files, [\n\t\t\t[\".eslint-doc-generatorrc.js\", \".eslint-doc-generatorrc.mjs\"],\n\t\t]);\n\n\t\treturn docGeneratorConfigRaw\n\t\t\t? blockESLintPluginIntake(docGeneratorConfigRaw[0])\n\t\t\t: undefined;\n\t},\n\tproduce({ addons, options }) {\n\t\tconst { configEmoji } = addons;\n\t\tconst configFileName = `.eslint-doc-generatorrc.${options.type === \"commonjs\" ? \"mjs\" : \"js\"}`;\n\t\tconst pluginName = options.repository\n\t\t\t.replace(/^eslint-plugin-/, \"\")\n\t\t\t.replaceAll(/-\\w/g, (matched) => matched[1].toUpperCase());\n\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockCSpell({\n\t\t\t\t\twords: [\"eslint-doc-generatorrc\"],\n\t\t\t\t}),\n\t\t\t\tblockDevelopmentDocs({\n\t\t\t\t\tsections: {\n\t\t\t\t\t\tBuilding: {\n\t\t\t\t\t\t\tinnerSections: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcontents: `\nRun [\\`eslint-doc-generator\\`](https://github.com/bmish/eslint-doc-generator) to generate Markdown files documenting rules.\n\n\\`\\`\\`shell\npnpm build:docs\n\\`\\`\\`\n\t\t`,\n\t\t\t\t\t\t\t\t\theading: \"Building Docs\",\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\tLinting: {\n\t\t\t\t\t\t\tcontents: {\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t`- \\`pnpm lint:docs\\` ([eslint-doc-generator](https://github.com/bmish/eslint-doc-generator)): Generates and validates documentation for ESLint rules`,\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\tblockESLint({\n\t\t\t\t\textensions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\textends: ['eslintPlugin.configs[\"flat/recommended\"]'],\n\t\t\t\t\t\t\tfiles: [getScriptFileExtension(options)],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tignores: [configFileName, \"docs/rules/*/*.ts\"],\n\t\t\t\t\timports: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsource: {\n\t\t\t\t\t\t\t\tpackageName: \"eslint-plugin-eslint-plugin\",\n\t\t\t\t\t\t\t\tversion: \"6.4.0\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tspecifier: \"eslintPlugin\",\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 Docs\",\n\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t{ run: \"pnpm build || exit 0\" },\n\t\t\t\t\t\t\t\t{ run: \"pnpm lint:docs\" },\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\tblockREADME({\n\t\t\t\t\tdefaultUsage: [\n\t\t\t\t\t\t`Add this plugin to the list of plugins in your [ESLint configuration file](https://eslint.org/docs/latest/use/configure/configuration-files):\n\n\\`\\`\\`shell\nnpm i ${options.repository} -D\n\\`\\`\\`\n\n\\`\\`\\`ts\nimport ${pluginName} from \"${options.repository}\";\n\nexport default [\n\t// (other plugins)\n\t${pluginName}.configs.recommended, // 👈\n];\n\\`\\`\\`\n\n### Rules\n\nThese are all set to \\`\"error\"\\` in the recommended config:\n\n<!-- begin auto-generated rules list --><!-- end auto-generated rules list -->`,\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\tdependencies: {\n\t\t\t\t\t\t\t\"@typescript-eslint/utils\": \"^8.29.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdevDependencies: {\n\t\t\t\t\t\t\t\"@typescript-eslint/rule-tester\": \"8.29.1\",\n\t\t\t\t\t\t\t\"eslint-doc-generator\": \"2.1.0\",\n\t\t\t\t\t\t\t\"eslint-plugin-eslint-plugin\": \"6.4.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\t\"build:docs\": \"pnpm build --no-dts && eslint-doc-generator\",\n\t\t\t\t\t\t\t\"lint:docs\": \"eslint-doc-generator --check\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockVitest({\n\t\t\t\t\tcoverage: {\n\t\t\t\t\t\texclude: [\"src/index.ts\", \"src/rules/index.ts\"],\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]: `import prettier from \"prettier\";\n\n/** @type {import('eslint-doc-generator').GenerateOptions} */\nconst config = {\n\t${configEmoji ? `configEmoji: ${JSON.stringify(configEmoji)},\\n\\t` : \"\"}postprocess: async (content, path) =>\n\t\tprettier.format(content, {\n\t\t\t...(await prettier.resolveConfig(path)),\n\t\t\tparser: \"markdown\",\n\t\t}),\n\truleDocTitleFormat: \"name\",\n};\n\nexport default config;\n`,\n\t\t\t},\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\"pnpm build\"],\n\t\t\t\t\tphase: CommandPhase.Build,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcommands: [\"pnpm eslint-doc-generator --init-rule-docs\"],\n\t\t\t\t\tphase: CommandPhase.Process,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\tsetup({ options }) {\n\t\tconst pluginName = options.repository.replace(\"eslint-plugin-\", \"\");\n\n\t\treturn {\n\t\t\tfiles: {\n\t\t\t\tsrc: {\n\t\t\t\t\t\"index.ts\": `import Module from \"node:module\";\n\nimport { rules } from \"./rules/index.js\";\n\nconst require = Module.createRequire(import.meta.url);\n\nconst { name, version } =\n\t// \\`import\\`ing here would bypass the TSConfig's \\`\"rootDir\": \"src\"\\`\n\trequire(\"../package.json\") as typeof import(\"../package.json\");\n\nexport const plugin = {\n\tconfigs: {\n\t\tget recommended() {\n\t\t\treturn recommended;\n\t\t},\n\t},\n\tmeta: { name, version },\n\trules,\n};\n\nconst recommended = {\n\tplugins: {\n\t\t\"${pluginName}\": plugin,\n\t},\n\trules: Object.fromEntries(\n\t\tObject.keys(rules).map((rule) => [\\`${pluginName}/\\${rule}\\`, \"error\"]),\n\t),\n};\n\nexport { rules };\n\nexport default plugin;\n`,\n\t\t\t\t\trules: {\n\t\t\t\t\t\t\"enums.test.ts\": `import { rule } from \"./enums.js\";\nimport { ruleTester } from \"./ruleTester.js\";\n\nruleTester.run(\"enums\", rule, {\n\tinvalid: [\n\t\t{\n\t\t\tcode: \\`enum Values {}\\`,\n\t\t\terrors: [\n\t\t\t\t{\n\t\t\t\t\tcolumn: 1,\n\t\t\t\t\tendColumn: 15,\n\t\t\t\t\tendLine: 1,\n\t\t\t\t\tline: 1,\n\t\t\t\t\tmessageId: \"enum\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n\tvalid: [\\`const Values = {};\\`, \\`const Values = {} as const;\\`],\n});\n`,\n\t\t\t\t\t\t\"enums.ts\": `import { createRule } from \"../utils.js\";\n\nexport const rule = createRule({\n\tcreate(context) {\n\t\treturn {\n\t\t\tTSEnumDeclaration(node) {\n\t\t\t\tcontext.report({\n\t\t\t\t\tmessageId: \"enum\",\n\t\t\t\t\tnode,\n\t\t\t\t});\n\t\t\t},\n\t\t};\n\t},\n\tdefaultOptions: [],\n\tmeta: {\n\t\tdocs: {\n\t\t\tdescription: \"Avoid using TypeScript's enums.\",\n\t\t},\n\t\tmessages: {\n\t\t\tenum: \"This enum will not be allowed under TypeScript's --erasableSyntaxOnly.\",\n\t\t},\n\t\tschema: [],\n\t\ttype: \"problem\",\n\t},\n\tname: \"enums\",\n});\n`,\n\t\t\t\t\t\t\"index.ts\": `import { rule as enums } from \"./enums.js\";\n\nexport const rules = {\n\tenums,\n};\n`,\n\t\t\t\t\t\t\"ruleTester.ts\": `import { RuleTester } from \"@typescript-eslint/rule-tester\";\nimport * as vitest from \"vitest\";\n\nRuleTester.afterAll = vitest.afterAll;\nRuleTester.it = vitest.it;\nRuleTester.itOnly = vitest.it.only;\nRuleTester.describe = vitest.describe;\n\nexport const ruleTester = new RuleTester();\n`,\n\t\t\t\t\t},\n\t\t\t\t\t\"utils.ts\": `import { ESLintUtils } from \"@typescript-eslint/utils\";\n\nexport const createRule = ESLintUtils.RuleCreator(\n\t(name) =>\n\t\t\\`https://github.com/${options.owner}/${options.repository}/blob/main/docs/rules/\\${name}.md\\`,\n);\n`,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t},\n});\n"],"mappings":";;;;;;;;;;;;;;;AAcA,MAAa,oBAAoB,KAAK,YAAY;CACjD,OAAO,EACN,MAAM,iBACN;CACD,QAAQ,EACP,aAAa,cACb;CACD,OAAO,EAAE,SAAS;EACjB,MAAM,wBAAwB,WAAW,OAAO,CAC/C,CAAC,8BAA8B,8BAA8B,CAC7D,CAAC;AAEF,SAAO,wBACJ,wBAAwB,sBAAsB,GAAG,GACjD;;CAEJ,QAAQ,EAAE,QAAQ,WAAW;EAC5B,MAAM,EAAE,gBAAgB;EACxB,MAAM,iBAAiB,2BAA2B,QAAQ,SAAS,aAAa,QAAQ;EACxF,MAAM,aAAa,QAAQ,WACzB,QAAQ,mBAAmB,GAAG,CAC9B,WAAW,SAAS,YAAY,QAAQ,GAAG,aAAa,CAAC;AAE3D,SAAO;GACN,QAAQ;IACP,YAAY,EACX,OAAO,CAAC,yBAAyB,EACjC,CAAC;IACF,qBAAqB,EACpB,UAAU;KACT,UAAU,EACT,eAAe,CACd;MACC,UAAU;;;;;;;MAOV,SAAS;MACT,CACD,EACD;KACD,SAAS,EACR,UAAU,EACT,OAAO,CACN,uJACA,EACD,EACD;KACD,EACD,CAAC;IACF,YAAY;KACX,YAAY,CACX;MACC,SAAS,CAAC,6CAA2C;MACrD,OAAO,CAAC,uBAAuB,QAAQ,CAAC;MACxC,CACD;KACD,SAAS,CAAC,gBAAgB,oBAAoB;KAC9C,SAAS,CACR;MACC,QAAQ;OACP,aAAa;OACb,SAAS;OACT;MACD,WAAW;MACX,CACD;KACD,CAAC;IACF,qBAAqB,EACpB,MAAM,CACL;KACC,MAAM;KACN,OAAO,CACN,EAAE,KAAK,wBAAwB,EAC/B,EAAE,KAAK,kBAAkB,CACzB;KACD,CACD,EACD,CAAC;IACF,YAAY,EACX,cAAc,CACb;;;QAGE,QAAQ,WAAW;;;;SAIlB,WAAW,SAAS,QAAQ,WAAW;;;;GAI7C,WAAW;;;;;;;;gFASR,EACD,CAAC;IACF,iBAAiB,EAChB,YAAY;KACX,cAAc,EACb,4BAA4B,WAC5B;KACD,iBAAiB;MAChB,kCAAkC;MAClC,wBAAwB;MACxB,+BAA+B;MAC/B;KACD,SAAS;MACR,cAAc;MACd,aAAa;MACb;KACD,EACD,CAAC;IACF,YAAY,EACX,UAAU,EACT,SAAS,CAAC,gBAAgB,qBAAqB,EAC/C,EACD,CAAC;IACF;GACD,OAAO,GACL,iBAAiB;;;;GAInB,cAAc,gBAAgB,KAAK,UAAU,YAAY,CAAC,SAAS,GAAG;;;;;;;;;GAUrE;GACD,SAAS,CACR;IACC,UAAU,CAAC,aAAa;IACxB,OAAO,aAAa;IACpB,EACD;IACC,UAAU,CAAC,6CAA6C;IACxD,OAAO,aAAa;IACpB,CACD;GACD;;CAEF,MAAM,EAAE,WAAW;EAClB,MAAM,aAAa,QAAQ,WAAW,QAAQ,kBAAkB,GAAG;AAEnE,SAAO,EACN,OAAO,EACN,KAAK;GACJ,YAAY;;;;;;;;;;;;;;;;;;;;;;KAsBZ,WAAW;;;wCAGwB,WAAW;;;;;;;;GAQ9C,OAAO;IACN,iBAAiB;;;;;;;;;;;;;;;;;;;;;IAqBjB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2BZ,YAAY;;;;;;IAMZ,iBAAiB;;;;;;;;;;IAUjB;GACD,YAAY;;;;yBAIQ,QAAQ,MAAM,GAAG,QAAQ,WAAW;;;GAGxD,EACD,EACD;;CAEF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum21 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLintRegexp.d.ts
|
|
4
|
-
declare const blockESLintRegexp:
|
|
4
|
+
declare const blockESLintRegexp: bingo_stratum21.BlockWithoutAddons<{
|
|
5
5
|
access: "public" | "restricted";
|
|
6
6
|
description: string;
|
|
7
7
|
directory: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockESLintRegexp.d.ts","names":[],"sources":["../../src/blocks/blockESLintRegexp.ts"],"sourcesContent":[],"mappings":";;;
|
|
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,12 +1,16 @@
|
|
|
1
1
|
import { base } from "../base.js";
|
|
2
|
+
import { getScriptFileExtension } from "./eslint/getScriptFileExtension.js";
|
|
2
3
|
import { blockESLint } from "./blockESLint.js";
|
|
3
4
|
|
|
4
5
|
//#region src/blocks/blockESLintRegexp.ts
|
|
5
6
|
const blockESLintRegexp = base.createBlock({
|
|
6
7
|
about: { name: "ESLint Regexp Plugin" },
|
|
7
|
-
produce() {
|
|
8
|
+
produce({ options }) {
|
|
8
9
|
return { addons: [blockESLint({
|
|
9
|
-
extensions: [
|
|
10
|
+
extensions: [{
|
|
11
|
+
extends: [`regexp.configs["flat/recommended"]`],
|
|
12
|
+
files: [getScriptFileExtension(options)]
|
|
13
|
+
}],
|
|
10
14
|
imports: [{
|
|
11
15
|
source: "eslint-plugin-regexp",
|
|
12
16
|
specifier: "* as regexp"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockESLintRegexp.js","names":[],"sources":["../../src/blocks/blockESLintRegexp.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockESLint } from \"./blockESLint.js\";\n\nexport const blockESLintRegexp = base.createBlock({\n\tabout: {\n\t\tname: \"ESLint Regexp Plugin\",\n\t},\n\tproduce() {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockESLint({\n\t\t\t\t\textensions: [`regexp.configs[\"flat/recommended\"]`],\n\t\t\t\t\timports: [\n\t\t\t\t\t\t{ source: \"eslint-plugin-regexp\", specifier: \"* as regexp\" },\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"blockESLintRegexp.js","names":[],"sources":["../../src/blocks/blockESLintRegexp.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockESLint } from \"./blockESLint.js\";\nimport { getScriptFileExtension } from \"./eslint/getScriptFileExtension.js\";\n\nexport const blockESLintRegexp = base.createBlock({\n\tabout: {\n\t\tname: \"ESLint Regexp Plugin\",\n\t},\n\tproduce({ options }) {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockESLint({\n\t\t\t\t\textensions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\textends: [`regexp.configs[\"flat/recommended\"]`],\n\t\t\t\t\t\t\tfiles: [getScriptFileExtension(options)],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\timports: [\n\t\t\t\t\t\t{ source: \"eslint-plugin-regexp\", specifier: \"* as regexp\" },\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":";;;;;AAIA,MAAa,oBAAoB,KAAK,YAAY;CACjD,OAAO,EACN,MAAM,wBACN;CACD,QAAQ,EAAE,WAAW;AACpB,SAAO,EACN,QAAQ,CACP,YAAY;GACX,YAAY,CACX;IACC,SAAS,CAAC,qCAAqC;IAC/C,OAAO,CAAC,uBAAuB,QAAQ,CAAC;IACxC,CACD;GACD,SAAS,CACR;IAAE,QAAQ;IAAwB,WAAW;IAAe,CAC5D;GACD,CAAC,CACF,EACD;;CAEF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum19 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockESLintYML.d.ts
|
|
4
|
-
declare const blockESLintYML:
|
|
4
|
+
declare const blockESLintYML: bingo_stratum19.BlockWithoutAddons<{
|
|
5
5
|
access: "public" | "restricted";
|
|
6
6
|
description: string;
|
|
7
7
|
directory: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum22 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockExampleFiles.d.ts
|
|
4
|
-
declare const blockExampleFiles:
|
|
4
|
+
declare const blockExampleFiles: bingo_stratum22.BlockWithAddons<{
|
|
5
5
|
usage: string[];
|
|
6
6
|
files: Record<string, string>;
|
|
7
7
|
}, {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum27 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockFunding.d.ts
|
|
4
|
-
declare const blockFunding:
|
|
4
|
+
declare const blockFunding: bingo_stratum27.BlockWithoutAddons<{
|
|
5
5
|
access: "public" | "restricted";
|
|
6
6
|
description: string;
|
|
7
7
|
directory: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum28 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockGitHubActionsCI.d.ts
|
|
4
|
-
declare const blockGitHubActionsCI:
|
|
4
|
+
declare const blockGitHubActionsCI: bingo_stratum28.BlockWithAddons<{
|
|
5
5
|
jobs?: {
|
|
6
6
|
name: string;
|
|
7
7
|
steps: ({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum29 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockGitHubApps.d.ts
|
|
4
|
-
declare const blockGitHubApps:
|
|
4
|
+
declare const blockGitHubApps: bingo_stratum29.BlockWithAddons<{
|
|
5
5
|
apps: {
|
|
6
6
|
name: string;
|
|
7
7
|
url: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockGitHubApps.d.ts","names":[],"sources":["../../src/blocks/blockGitHubApps.ts"],"sourcesContent":[],"mappings":";;;cAKa,
|
|
1
|
+
{"version":3,"file":"blockGitHubApps.d.ts","names":[],"sources":["../../src/blocks/blockGitHubApps.ts"],"sourcesContent":[],"mappings":";;;cAKa,iCAAe;;;IAAf,GAAA,EAAA,MAAA;;;;;;;;;eAAe,CAAA,EAAA,MAAA,GAAA,SAAA;MAAA,SAAA,CAAA,EAAA,MAAA,GAAA,SAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum30 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockGitHubIssueTemplates.d.ts
|
|
4
|
-
declare const blockGitHubIssueTemplates:
|
|
4
|
+
declare const blockGitHubIssueTemplates: bingo_stratum30.BlockWithoutAddons<{
|
|
5
5
|
access: "public" | "restricted";
|
|
6
6
|
description: string;
|
|
7
7
|
directory: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockGitHubIssueTemplates.d.ts","names":[],"sources":["../../src/blocks/blockGitHubIssueTemplates.ts"],"sourcesContent":[],"mappings":";;;cAGa,
|
|
1
|
+
{"version":3,"file":"blockGitHubIssueTemplates.d.ts","names":[],"sources":["../../src/blocks/blockGitHubIssueTemplates.ts"],"sourcesContent":[],"mappings":";;;cAGa,2CAAyB;;;EAAzB,SAAA,EAAA,MAAA;;;;;;;;;;EAAyB,KAAA,EAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum31 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockGitHubPRTemplate.d.ts
|
|
4
|
-
declare const blockGitHubPRTemplate:
|
|
4
|
+
declare const blockGitHubPRTemplate: bingo_stratum31.BlockWithoutAddons<{
|
|
5
5
|
access: "public" | "restricted";
|
|
6
6
|
description: string;
|
|
7
7
|
directory: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockGitHubPRTemplate.d.ts","names":[],"sources":["../../src/blocks/blockGitHubPRTemplate.ts"],"sourcesContent":[],"mappings":";;;cAEa,
|
|
1
|
+
{"version":3,"file":"blockGitHubPRTemplate.d.ts","names":[],"sources":["../../src/blocks/blockGitHubPRTemplate.ts"],"sourcesContent":[],"mappings":";;;cAEa,uCAAqB;;;EAArB,SAAA,EAAA,MAAA;;;;;;;;;;EAAqB,KAAA,EAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum32 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockGitignore.d.ts
|
|
4
|
-
declare const blockGitignore:
|
|
4
|
+
declare const blockGitignore: bingo_stratum32.BlockWithAddons<{
|
|
5
5
|
ignores: string[];
|
|
6
6
|
}, {
|
|
7
7
|
access: "public" | "restricted";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum33 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockKnip.d.ts
|
|
4
|
-
declare const blockKnip:
|
|
4
|
+
declare const blockKnip: bingo_stratum33.BlockWithAddons<{
|
|
5
5
|
entry?: string[] | undefined;
|
|
6
6
|
ignoreDependencies?: string[] | undefined;
|
|
7
7
|
project?: string[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockKnip.d.ts","names":[],"sources":["../../src/blocks/blockKnip.ts"],"sourcesContent":[],"mappings":";;;cAiBa,
|
|
1
|
+
{"version":3,"file":"blockKnip.d.ts","names":[],"sources":["../../src/blocks/blockKnip.ts"],"sourcesContent":[],"mappings":";;;cAiBa,2BAAS;;;EAAT,OAAA,CAAA,EAAA,MAgFX,EAAA,GAAA,SAAA;;;;;;;;;eAhFoB,CAAA,EAAA,MAAA,GAAA,SAAA;MAAA,KAAA,CAAA,EAAA,MAAA,GAAA,SAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum35 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockMITLicense.d.ts
|
|
4
|
-
declare const blockMITLicense:
|
|
4
|
+
declare const blockMITLicense: bingo_stratum35.BlockWithoutAddons<{
|
|
5
5
|
access: "public" | "restricted";
|
|
6
6
|
description: string;
|
|
7
7
|
directory: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockMITLicense.d.ts","names":[],"sources":["../../src/blocks/blockMITLicense.ts"],"sourcesContent":[],"mappings":";;;cAIa,
|
|
1
|
+
{"version":3,"file":"blockMITLicense.d.ts","names":[],"sources":["../../src/blocks/blockMITLicense.ts"],"sourcesContent":[],"mappings":";;;cAIa,iCAAe;;;EAAf,SAAA,EAAA,MAAA;;;;;;;;;;EAAe,KAAA,EAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum37 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockMain.d.ts
|
|
4
|
-
declare const blockMain:
|
|
4
|
+
declare const blockMain: bingo_stratum37.BlockWithAddons<{
|
|
5
5
|
runArgs: string[];
|
|
6
6
|
filePath?: string | undefined;
|
|
7
7
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockMain.d.ts","names":[],"sources":["../../src/blocks/blockMain.ts"],"sourcesContent":[],"mappings":";;;cAMa,
|
|
1
|
+
{"version":3,"file":"blockMain.d.ts","names":[],"sources":["../../src/blocks/blockMain.ts"],"sourcesContent":[],"mappings":";;;cAMa,2BAAS;;;AAAtB,CAAA,EAAA;;;;;;;;;WAAsB,CAAA,EAAA,MAAA,GAAA,SAAA;IAAA,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum39 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockMarkdownlint.d.ts
|
|
4
|
-
declare const blockMarkdownlint:
|
|
4
|
+
declare const blockMarkdownlint: bingo_stratum39.BlockWithAddons<{
|
|
5
5
|
ignores: string[];
|
|
6
6
|
}, {
|
|
7
7
|
access: "public" | "restricted";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockMarkdownlint.d.ts","names":[],"sources":["../../src/blocks/blockMarkdownlint.ts"],"sourcesContent":[],"mappings":";;;cAaa,
|
|
1
|
+
{"version":3,"file":"blockMarkdownlint.d.ts","names":[],"sources":["../../src/blocks/blockMarkdownlint.ts"],"sourcesContent":[],"mappings":";;;cAaa,mCAAiB;;;EAAjB,MAAA,EAAA,QAAA,GAAA,YA0FX;;;;;;;;;;IA1F4B,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA"}
|
package/lib/blocks/blockNcc.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum36 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockNcc.d.ts
|
|
4
|
-
declare const blockNcc:
|
|
4
|
+
declare const blockNcc: bingo_stratum36.BlockWithAddons<{
|
|
5
5
|
entry?: string | undefined;
|
|
6
6
|
}, {
|
|
7
7
|
access: "public" | "restricted";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockNcc.d.ts","names":[],"sources":["../../src/blocks/blockNcc.ts"],"sourcesContent":[],"mappings":";;;cAUa,
|
|
1
|
+
{"version":3,"file":"blockNcc.d.ts","names":[],"sources":["../../src/blocks/blockNcc.ts"],"sourcesContent":[],"mappings":";;;cAUa,0BAAQ;;;EAAR,MAAA,EAAA,QAqFX,GAAA,YAAA;;;;;;;;;;IArFmB,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum38 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockNvmrc.d.ts
|
|
4
|
-
declare const blockNvmrc:
|
|
4
|
+
declare const blockNvmrc: bingo_stratum38.BlockWithoutAddons<{
|
|
5
5
|
access: "public" | "restricted";
|
|
6
6
|
description: string;
|
|
7
7
|
directory: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockNvmrc.d.ts","names":[],"sources":["../../src/blocks/blockNvmrc.ts"],"sourcesContent":[],"mappings":";;;cAGa,
|
|
1
|
+
{"version":3,"file":"blockNvmrc.d.ts","names":[],"sources":["../../src/blocks/blockNvmrc.ts"],"sourcesContent":[],"mappings":";;;cAGa,4BAAU;;;EAAV,SAAA,EAAA,MAkBX;;;;;;;;;;EAlBqB,KAAA,EAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum41 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockOctoGuide.d.ts
|
|
4
|
-
declare const blockOctoGuide:
|
|
4
|
+
declare const blockOctoGuide: bingo_stratum41.BlockWithAddons<{
|
|
5
5
|
config?: "strict" | "recommended" | undefined;
|
|
6
6
|
}, {
|
|
7
7
|
access: "public" | "restricted";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockOctoGuide.d.ts","names":[],"sources":["../../src/blocks/blockOctoGuide.ts"],"sourcesContent":[],"mappings":";;;cAQa,
|
|
1
|
+
{"version":3,"file":"blockOctoGuide.d.ts","names":[],"sources":["../../src/blocks/blockOctoGuide.ts"],"sourcesContent":[],"mappings":";;;cAQa,gCAAc;;;EAAd,MAAA,EAAA,QAAA,GAiGX,YAAA;;;;;;;;;;IAjGyB,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum40 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockOctoGuideStrict.d.ts
|
|
4
|
-
declare const blockOctoGuideStrict:
|
|
4
|
+
declare const blockOctoGuideStrict: bingo_stratum40.BlockWithoutAddons<{
|
|
5
5
|
access: "public" | "restricted";
|
|
6
6
|
description: string;
|
|
7
7
|
directory: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockOctoGuideStrict.d.ts","names":[],"sources":["../../src/blocks/blockOctoGuideStrict.ts"],"sourcesContent":[],"mappings":";;;cAGa,
|
|
1
|
+
{"version":3,"file":"blockOctoGuideStrict.d.ts","names":[],"sources":["../../src/blocks/blockOctoGuideStrict.ts"],"sourcesContent":[],"mappings":";;;cAGa,sCAAoB;;;EAApB,SAAA,EAAA,MAAA;;;;;;;;;;EAAoB,KAAA,EAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum5 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockPackageJson.d.ts
|
|
4
|
-
declare const blockPackageJson:
|
|
4
|
+
declare const blockPackageJson: bingo_stratum5.BlockWithAddons<{
|
|
5
5
|
properties: {
|
|
6
6
|
type?: "commonjs" | "module" | undefined;
|
|
7
7
|
author?: string | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockPackageJson.d.ts","names":[],"sources":["../../src/blocks/blockPackageJson.ts"],"sourcesContent":[],"mappings":";;;cAiBa,
|
|
1
|
+
{"version":3,"file":"blockPackageJson.d.ts","names":[],"sources":["../../src/blocks/blockPackageJson.ts"],"sourcesContent":[],"mappings":";;;cAiBa,iCAAgB;;;IAAhB,MAAA,CAAA,EAAA,MA6EX,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;kBA7E2B;IAAA,OAAA,CAAA,QAAA,CAAA,MAAA,EAAA,MAAA,GAAA,SAAA,CAAA,GAAA,SAAA"}
|
|
@@ -40,7 +40,7 @@ const blockPackageJson = base.createBlock({
|
|
|
40
40
|
devDependencies: Object.keys(devDependencies).length ? devDependencies : void 0,
|
|
41
41
|
engines: { node: `>=${options.node.minimum}` },
|
|
42
42
|
...options.pnpm && { packageManager: `pnpm@${options.pnpm}` },
|
|
43
|
-
files: processFiles(
|
|
43
|
+
files: processFiles(addons.properties.files),
|
|
44
44
|
keywords: options.keywords,
|
|
45
45
|
name: options.repository,
|
|
46
46
|
repository: {
|
|
@@ -64,11 +64,8 @@ const blockPackageJson = base.createBlock({
|
|
|
64
64
|
return { addons: [blockRemoveFiles({ files: ["package-lock.json yarn.lock"] })] };
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
|
-
function collectBinFiles(bin) {
|
|
68
|
-
if (!bin) return [];
|
|
69
|
-
return (typeof bin === "object" ? Object.values(bin) : [bin]).map((file) => file.replace(/^\.\//, ""));
|
|
70
|
-
}
|
|
71
67
|
function processFiles(files) {
|
|
68
|
+
if (!files?.length) return;
|
|
72
69
|
const sortedByLength = files.filter(Boolean).sort((a, b) => a.length - b.length);
|
|
73
70
|
return sortedByLength.filter((file, i) => !sortedByLength.slice(0, i).some((earlier) => earlier.endsWith("/") && file.startsWith(earlier))).sort();
|
|
74
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockPackageJson.js","names":[],"sources":["../../src/blocks/blockPackageJson.ts"],"sourcesContent":["import removeUndefinedObjects from \"remove-undefined-objects\";\nimport semver from \"semver\";\nimport sortPackageJson from \"sort-package-json\";\nimport { z } from \"zod\";\nimport { PackageJson } from \"zod-package-json\";\n\nimport { base } from \"../base.js\";\nimport { htmlToTextSafe } from \"../utils/htmlToTextSafe.js\";\nimport { blockRemoveFiles } from \"./blockRemoveFiles.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nconst PackageJsonWithNullableScripts = PackageJson.partial().extend({\n\tscripts: z\n\t\t.record(z.string(), z.union([z.string(), z.undefined()]))\n\t\t.optional(),\n});\n\nexport const blockPackageJson = base.createBlock({\n\tabout: {\n\t\tname: \"Package JSON\",\n\t},\n\taddons: {\n\t\tcleanupCommands: z.array(z.string()).default([]),\n\t\tproperties: PackageJsonWithNullableScripts.default({}),\n\t},\n\tproduce({ addons, offline, options }) {\n\t\tconst dependencies = useLargerVersions(options.packageData?.dependencies, {\n\t\t\t...options.packageData?.dependencies,\n\t\t\t...addons.properties.dependencies,\n\t\t});\n\t\tconst devDependencies = useLargerVersions(\n\t\t\toptions.packageData?.devDependencies,\n\t\t\t{\n\t\t\t\t...options.packageData?.devDependencies,\n\t\t\t\t...addons.properties.devDependencies,\n\t\t\t},\n\t\t);\n\t\tconst description = htmlToTextSafe(options.description);\n\n\t\treturn {\n\t\t\tfiles: {\n\t\t\t\t\"package.json\": sortPackageJson(\n\t\t\t\t\tJSON.stringify(\n\t\t\t\t\t\tremoveUndefinedObjects({\n\t\t\t\t\t\t\t...options.packageData,\n\t\t\t\t\t\t\t...addons.properties,\n\t\t\t\t\t\t\tauthor: { email: options.email.npm, name: options.author },\n\t\t\t\t\t\t\tbin: options.bin,\n\t\t\t\t\t\t\tdependencies: Object.keys(dependencies).length\n\t\t\t\t\t\t\t\t? dependencies\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\tdevDependencies: Object.keys(devDependencies).length\n\t\t\t\t\t\t\t\t? devDependencies\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tengines: {\n\t\t\t\t\t\t\t\tnode: `>=${options.node.minimum}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...(options.pnpm && {\n\t\t\t\t\t\t\t\tpackageManager: `pnpm@${options.pnpm}`,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tfiles: processFiles(
|
|
1
|
+
{"version":3,"file":"blockPackageJson.js","names":[],"sources":["../../src/blocks/blockPackageJson.ts"],"sourcesContent":["import removeUndefinedObjects from \"remove-undefined-objects\";\nimport semver from \"semver\";\nimport sortPackageJson from \"sort-package-json\";\nimport { z } from \"zod\";\nimport { PackageJson } from \"zod-package-json\";\n\nimport { base } from \"../base.js\";\nimport { htmlToTextSafe } from \"../utils/htmlToTextSafe.js\";\nimport { blockRemoveFiles } from \"./blockRemoveFiles.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nconst PackageJsonWithNullableScripts = PackageJson.partial().extend({\n\tscripts: z\n\t\t.record(z.string(), z.union([z.string(), z.undefined()]))\n\t\t.optional(),\n});\n\nexport const blockPackageJson = base.createBlock({\n\tabout: {\n\t\tname: \"Package JSON\",\n\t},\n\taddons: {\n\t\tcleanupCommands: z.array(z.string()).default([]),\n\t\tproperties: PackageJsonWithNullableScripts.default({}),\n\t},\n\tproduce({ addons, offline, options }) {\n\t\tconst dependencies = useLargerVersions(options.packageData?.dependencies, {\n\t\t\t...options.packageData?.dependencies,\n\t\t\t...addons.properties.dependencies,\n\t\t});\n\t\tconst devDependencies = useLargerVersions(\n\t\t\toptions.packageData?.devDependencies,\n\t\t\t{\n\t\t\t\t...options.packageData?.devDependencies,\n\t\t\t\t...addons.properties.devDependencies,\n\t\t\t},\n\t\t);\n\t\tconst description = htmlToTextSafe(options.description);\n\n\t\treturn {\n\t\t\tfiles: {\n\t\t\t\t\"package.json\": sortPackageJson(\n\t\t\t\t\tJSON.stringify(\n\t\t\t\t\t\tremoveUndefinedObjects({\n\t\t\t\t\t\t\t...options.packageData,\n\t\t\t\t\t\t\t...addons.properties,\n\t\t\t\t\t\t\tauthor: { email: options.email.npm, name: options.author },\n\t\t\t\t\t\t\tbin: options.bin,\n\t\t\t\t\t\t\tdependencies: Object.keys(dependencies).length\n\t\t\t\t\t\t\t\t? dependencies\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\tdevDependencies: Object.keys(devDependencies).length\n\t\t\t\t\t\t\t\t? devDependencies\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tengines: {\n\t\t\t\t\t\t\t\tnode: `>=${options.node.minimum}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...(options.pnpm && {\n\t\t\t\t\t\t\t\tpackageManager: `pnpm@${options.pnpm}`,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tfiles: processFiles(addons.properties.files),\n\t\t\t\t\t\t\tkeywords: options.keywords,\n\t\t\t\t\t\t\tname: options.repository,\n\t\t\t\t\t\t\trepository: {\n\t\t\t\t\t\t\t\ttype: \"git\",\n\t\t\t\t\t\t\t\turl: `git+https://github.com/${options.owner}/${options.repository}.git`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\t\t...options.packageData?.scripts,\n\t\t\t\t\t\t\t\t...addons.properties.scripts,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttype: options.type ?? \"module\",\n\t\t\t\t\t\t\tversion: options.version ?? \"0.0.0\",\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\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\n\t\t\t\t\t\t`pnpm install ${offline ? \"--offline \" : \"\"}--no-frozen-lockfile`,\n\t\t\t\t\t\t...addons.cleanupCommands,\n\t\t\t\t\t],\n\t\t\t\t\tphase: CommandPhase.Install,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\ttransition() {\n\t\treturn {\n\t\t\taddons: [blockRemoveFiles({ files: [\"package-lock.json yarn.lock\"] })],\n\t\t};\n\t},\n});\n\nfunction processFiles(files: string[] | undefined) {\n\t// If no files have been specified, we can skip the property altogether\n\tif (!files?.length) {\n\t\treturn undefined;\n\t}\n\n\t// First sort so that shorter entries are first (e.g. \"lib/\")...\n\tconst sortedByLength = files\n\t\t.filter(Boolean)\n\t\t.sort((a, b) => a.length - b.length);\n\n\t// ...then remove entries captured by earlier directories (e.g. \"lib/index.js\")\n\treturn sortedByLength\n\t\t.filter(\n\t\t\t(file, i) =>\n\t\t\t\t!sortedByLength\n\t\t\t\t\t.slice(0, i)\n\t\t\t\t\t.some((earlier) => earlier.endsWith(\"/\") && file.startsWith(earlier)),\n\t\t)\n\t\t.sort();\n}\n\nfunction removeRangePrefix(version: string) {\n\tconst raw = version.replaceAll(/[\\^~><=]/gu, \"\").split(\" \")[0];\n\n\treturn semver.coerce(raw) ?? raw;\n}\n\nfunction useLargerVersion(existing: string | undefined, replacement: string) {\n\tif (!existing || existing === replacement) {\n\t\treturn replacement;\n\t}\n\n\tconst existingCoerced = semver.coerce(removeRangePrefix(existing));\n\n\treturn existingCoerced &&\n\t\tsemver.gt(existingCoerced, removeRangePrefix(replacement))\n\t\t? existing\n\t\t: replacement;\n}\n\nfunction useLargerVersions(\n\texisting: Record<string, string | undefined> | undefined,\n\treplacements: Record<string, string>,\n) {\n\tif (!existing) {\n\t\treturn replacements;\n\t}\n\n\treturn Object.fromEntries(\n\t\tObject.entries(replacements).map(([key, replacement]) => [\n\t\t\tkey,\n\t\t\tuseLargerVersion(existing[key], replacement),\n\t\t]),\n\t);\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAM,iCAAiC,YAAY,SAAS,CAAC,OAAO,EACnE,SAAS,EACP,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CACxD,UAAU,EACZ,CAAC;AAEF,MAAa,mBAAmB,KAAK,YAAY;CAChD,OAAO,EACN,MAAM,gBACN;CACD,QAAQ;EACP,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;EAChD,YAAY,+BAA+B,QAAQ,EAAE,CAAC;EACtD;CACD,QAAQ,EAAE,QAAQ,SAAS,WAAW;EACrC,MAAM,eAAe,kBAAkB,QAAQ,aAAa,cAAc;GACzE,GAAG,QAAQ,aAAa;GACxB,GAAG,OAAO,WAAW;GACrB,CAAC;EACF,MAAM,kBAAkB,kBACvB,QAAQ,aAAa,iBACrB;GACC,GAAG,QAAQ,aAAa;GACxB,GAAG,OAAO,WAAW;GACrB,CACD;EACD,MAAM,cAAc,eAAe,QAAQ,YAAY;AAEvD,SAAO;GACN,OAAO,EACN,gBAAgB,gBACf,KAAK,UACJ,uBAAuB;IACtB,GAAG,QAAQ;IACX,GAAG,OAAO;IACV,QAAQ;KAAE,OAAO,QAAQ,MAAM;KAAK,MAAM,QAAQ;KAAQ;IAC1D,KAAK,QAAQ;IACb,cAAc,OAAO,KAAK,aAAa,CAAC,SACrC,eACA;IACH;IACA,iBAAiB,OAAO,KAAK,gBAAgB,CAAC,SAC3C,kBACA;IACH,SAAS,EACR,MAAM,KAAK,QAAQ,KAAK,WACxB;IACD,GAAI,QAAQ,QAAQ,EACnB,gBAAgB,QAAQ,QAAQ,QAChC;IACD,OAAO,aAAa,OAAO,WAAW,MAAM;IAC5C,UAAU,QAAQ;IAClB,MAAM,QAAQ;IACd,YAAY;KACX,MAAM;KACN,KAAK,0BAA0B,QAAQ,MAAM,GAAG,QAAQ,WAAW;KACnE;IACD,SAAS;KACR,GAAG,QAAQ,aAAa;KACxB,GAAG,OAAO,WAAW;KACrB;IACD,MAAM,QAAQ,QAAQ;IACtB,SAAS,QAAQ,WAAW;IAC5B,CAAC,CACF,CACD,EACD;GACD,SAAS,CACR;IACC,UAAU,CACT,gBAAgB,UAAU,eAAe,GAAG,uBAC5C,GAAG,OAAO,gBACV;IACD,OAAO,aAAa;IACpB,CACD;GACD;;CAEF,aAAa;AACZ,SAAO,EACN,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,8BAA8B,EAAE,CAAC,CAAC,EACtE;;CAEF,CAAC;AAEF,SAAS,aAAa,OAA6B;AAElD,KAAI,CAAC,OAAO,OACX;CAID,MAAM,iBAAiB,MACrB,OAAO,QAAQ,CACf,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,OAAO;AAGrC,QAAO,eACL,QACC,MAAM,MACN,CAAC,eACC,MAAM,GAAG,EAAE,CACX,MAAM,YAAY,QAAQ,SAAS,IAAI,IAAI,KAAK,WAAW,QAAQ,CAAC,CACvE,CACA,MAAM;;AAGT,SAAS,kBAAkB,SAAiB;CAC3C,MAAM,MAAM,QAAQ,WAAW,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC;AAE5D,QAAO,OAAO,OAAO,IAAI,IAAI;;AAG9B,SAAS,iBAAiB,UAA8B,aAAqB;AAC5E,KAAI,CAAC,YAAY,aAAa,YAC7B,QAAO;CAGR,MAAM,kBAAkB,OAAO,OAAO,kBAAkB,SAAS,CAAC;AAElE,QAAO,mBACN,OAAO,GAAG,iBAAiB,kBAAkB,YAAY,CAAC,GACxD,WACA;;AAGJ,SAAS,kBACR,UACA,cACC;AACD,KAAI,CAAC,SACJ,QAAO;AAGR,QAAO,OAAO,YACb,OAAO,QAAQ,aAAa,CAAC,KAAK,CAAC,KAAK,iBAAiB,CACxD,KACA,iBAAiB,SAAS,MAAM,YAAY,CAC5C,CAAC,CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as bingo_stratum46 from "bingo-stratum";
|
|
2
2
|
|
|
3
3
|
//#region src/blocks/blockPnpmDedupe.d.ts
|
|
4
|
-
declare const blockPnpmDedupe:
|
|
4
|
+
declare const blockPnpmDedupe: bingo_stratum46.BlockWithoutAddons<{
|
|
5
5
|
access: "public" | "restricted";
|
|
6
6
|
description: string;
|
|
7
7
|
directory: string;
|