create-typescript-app 1.79.0 → 1.81.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 -3
- package/lib/create/createRerunDirectorySuggestion.d.ts +7 -0
- package/lib/create/createRerunDirectorySuggestion.js +8 -0
- package/lib/create/createRerunDirectorySuggestion.js.map +1 -0
- package/lib/create/createRerunSuggestion.js +3 -1
- package/lib/create/createRerunSuggestion.js.map +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/next/base.d.ts +8 -1
- package/lib/next/base.js +14 -7
- package/lib/next/base.js.map +1 -1
- package/lib/next/blocks/blockAllContributors.d.ts +4 -1
- package/lib/next/blocks/blockAllContributors.js +1 -5
- package/lib/next/blocks/blockAllContributors.js.map +1 -1
- package/lib/next/blocks/blockAreTheTypesWrong.d.ts +4 -1
- package/lib/next/blocks/blockCSpell.d.ts +4 -1
- package/lib/next/blocks/blockContributingDocs.d.ts +4 -1
- package/lib/next/blocks/blockContributorCovenant.d.ts +4 -1
- package/lib/next/blocks/blockDevelopmentDocs.d.ts +4 -1
- package/lib/next/blocks/blockESLint.d.ts +4 -1
- package/lib/next/blocks/blockESLint.js +4 -2
- package/lib/next/blocks/blockESLint.js.map +1 -1
- package/lib/next/blocks/blockESLintComments.d.ts +4 -1
- package/lib/next/blocks/blockESLintJSDoc.d.ts +4 -1
- package/lib/next/blocks/blockESLintJSONC.d.ts +4 -1
- package/lib/next/blocks/blockESLintMarkdown.d.ts +4 -1
- package/lib/next/blocks/blockESLintMoreStyling.d.ts +4 -1
- package/lib/next/blocks/blockESLintNode.d.ts +4 -1
- package/lib/next/blocks/blockESLintPackageJson.d.ts +4 -1
- package/lib/next/blocks/blockESLintPerfectionist.d.ts +4 -1
- package/lib/next/blocks/blockESLintRegexp.d.ts +4 -1
- package/lib/next/blocks/blockESLintYML.d.ts +4 -1
- package/lib/next/blocks/blockExampleFiles.d.ts +4 -1
- package/lib/next/blocks/blockFunding.d.ts +4 -1
- package/lib/next/blocks/blockGitHubActionsCI.d.ts +5 -1
- package/lib/next/blocks/blockGitHubActionsCI.js +1 -0
- package/lib/next/blocks/blockGitHubActionsCI.js.map +1 -1
- package/lib/next/blocks/blockGitHubApps.d.ts +4 -1
- package/lib/next/blocks/blockGitHubIssueTemplates.d.ts +4 -1
- package/lib/next/blocks/blockGitHubPRTemplate.d.ts +4 -1
- package/lib/next/blocks/blockGitignore.d.ts +4 -1
- package/lib/next/blocks/blockKnip.d.ts +4 -1
- package/lib/next/blocks/blockKnip.js +11 -0
- package/lib/next/blocks/blockKnip.js.map +1 -1
- package/lib/next/blocks/blockMITLicense.d.ts +4 -1
- package/lib/next/blocks/blockMarkdownlint.d.ts +4 -1
- package/lib/next/blocks/blockNvmrc.d.ts +4 -1
- package/lib/next/blocks/blockPRCompliance.d.ts +4 -1
- package/lib/next/blocks/blockPackageJson.d.ts +4 -1
- package/lib/next/blocks/blockPackageJson.js +3 -1
- package/lib/next/blocks/blockPackageJson.js.map +1 -1
- package/lib/next/blocks/blockPnpmDedupe.d.ts +4 -1
- package/lib/next/blocks/blockPrettier.d.ts +4 -1
- package/lib/next/blocks/blockPrettier.js +2 -2
- package/lib/next/blocks/blockPrettier.js.map +1 -1
- package/lib/next/blocks/blockPrettierPluginCurly.d.ts +4 -1
- package/lib/next/blocks/blockPrettierPluginPackageJson.d.ts +4 -1
- package/lib/next/blocks/blockPrettierPluginSh.d.ts +4 -1
- package/lib/next/blocks/blockREADME.d.ts +4 -1
- package/lib/next/blocks/blockREADME.js +6 -9
- package/lib/next/blocks/blockREADME.js.map +1 -1
- package/lib/next/blocks/blockReleaseIt.d.ts +4 -1
- package/lib/next/blocks/blockReleaseIt.js +13 -1
- package/lib/next/blocks/blockReleaseIt.js.map +1 -1
- package/lib/next/blocks/blockRenovate.d.ts +4 -1
- package/lib/next/blocks/blockRepositoryBranchRuleset.d.ts +4 -1
- package/lib/next/blocks/blockRepositoryLabels.d.ts +4 -1
- package/lib/next/blocks/blockRepositorySecrets.d.ts +4 -1
- package/lib/next/blocks/blockRepositorySettings.d.ts +4 -1
- package/lib/next/blocks/blockRepositorySettings.js +3 -1
- package/lib/next/blocks/blockRepositorySettings.js.map +1 -1
- package/lib/next/blocks/blockSecurityDocs.d.ts +4 -1
- package/lib/next/blocks/blockTSup.d.ts +4 -1
- package/lib/next/blocks/blockTemplatedBy.d.ts +4 -1
- package/lib/next/blocks/blockTypeScript.d.ts +4 -1
- package/lib/next/blocks/blockTypeScript.js +1 -4
- package/lib/next/blocks/blockTypeScript.js.map +1 -1
- package/lib/next/blocks/blockVSCode.d.ts +4 -1
- package/lib/next/blocks/blockVitest.d.ts +10 -4
- package/lib/next/blocks/blockVitest.js +18 -14
- package/lib/next/blocks/blockVitest.js.map +1 -1
- package/lib/next/blocks/packageData.js +2 -7
- package/lib/next/blocks/packageData.js.map +1 -1
- package/lib/next/blocks/sourcePackageJson.d.ts +164 -0
- package/lib/next/blocks/sourcePackageJson.js +10 -0
- package/lib/next/blocks/sourcePackageJson.js.map +1 -0
- package/lib/next/presets/index.d.ts +5 -0
- package/lib/next/presets/index.js +4 -0
- package/lib/next/presets/index.js.map +1 -0
- package/lib/next/{presetCommon.d.ts → presets/presetCommon.d.ts} +8 -1
- package/lib/next/{presetCommon.js → presets/presetCommon.js} +4 -4
- package/lib/next/presets/presetCommon.js.map +1 -0
- package/lib/next/{presetEverything.d.ts → presets/presetEverything.d.ts} +8 -1
- package/lib/next/presets/presetEverything.js +59 -0
- package/lib/next/presets/presetEverything.js.map +1 -0
- package/lib/next/{presetMinimal.d.ts → presets/presetMinimal.d.ts} +8 -1
- package/lib/next/presets/presetMinimal.js +57 -0
- package/lib/next/presets/presetMinimal.js.map +1 -0
- package/lib/next/readDescription.d.ts +7 -0
- package/lib/next/readDescription.js +18 -0
- package/lib/next/readDescription.js.map +1 -0
- package/lib/next/readDescriptionFromReadme.d.ts +3 -0
- package/lib/next/readDescriptionFromReadme.js +18 -0
- package/lib/next/readDescriptionFromReadme.js.map +1 -0
- package/lib/next/runCreateEnginePreset.js +3 -3
- package/lib/next/runCreateEnginePreset.js.map +1 -1
- package/lib/next/template.d.ts +8 -1
- package/lib/next/template.js +3 -3
- package/lib/next/template.js.map +1 -1
- package/lib/shared/options/args.d.ts +14 -2
- package/lib/shared/options/args.js +18 -2
- package/lib/shared/options/args.js.map +1 -1
- package/lib/shared/options/createOptionDefaults/getUsageFromReadme.d.ts +3 -0
- package/lib/shared/options/createOptionDefaults/getUsageFromReadme.js +21 -0
- package/lib/shared/options/createOptionDefaults/getUsageFromReadme.js.map +1 -0
- package/lib/shared/options/createOptionDefaults/index.d.ts +3 -0
- package/lib/shared/options/createOptionDefaults/index.js +5 -2
- package/lib/shared/options/createOptionDefaults/index.js.map +1 -1
- package/lib/shared/options/createOptionDefaults/readDefaultsFromReadme.d.ts +4 -1
- package/lib/shared/options/createOptionDefaults/readDefaultsFromReadme.js +15 -4
- package/lib/shared/options/createOptionDefaults/readDefaultsFromReadme.js.map +1 -1
- package/lib/shared/options/exclusionKeys.js +3 -3
- package/lib/shared/options/exclusionKeys.js.map +1 -1
- package/lib/shared/options/logInferredOptions.js +6 -0
- package/lib/shared/options/logInferredOptions.js.map +1 -1
- package/lib/shared/options/optionsSchema.d.ts +8 -8
- package/lib/shared/options/optionsSchema.js +1 -1
- package/lib/shared/options/optionsSchema.js.map +1 -1
- package/lib/shared/options/readLogoSizing.d.ts +7 -0
- package/lib/shared/options/readLogoSizing.js +29 -0
- package/lib/shared/options/readLogoSizing.js.map +1 -0
- package/lib/shared/options/readOptions.js +3 -1
- package/lib/shared/options/readOptions.js.map +1 -1
- package/lib/shared/types.d.ts +3 -1
- package/lib/steps/finalizeDependencies.js +1 -1
- package/lib/steps/finalizeDependencies.js.map +1 -1
- package/lib/steps/uninstallPackages.js +3 -0
- package/lib/steps/uninstallPackages.js.map +1 -1
- package/lib/steps/updateReadme.js +1 -1
- package/lib/steps/updateReadme.js.map +1 -1
- package/lib/steps/writing/creation/createESLintConfig.js +2 -2
- package/lib/steps/writing/creation/createESLintConfig.js.map +1 -1
- package/lib/steps/writing/creation/index.js +3 -3
- package/lib/steps/writing/creation/index.js.map +1 -1
- package/lib/steps/writing/creation/rootFiles.js +13 -3
- package/lib/steps/writing/creation/rootFiles.js.map +1 -1
- package/package.json +5 -2
- package/lib/next/presetCommon.js.map +0 -1
- package/lib/next/presetEverything.js +0 -59
- package/lib/next/presetEverything.js.map +0 -1
- package/lib/next/presetMinimal.js +0 -57
- package/lib/next/presetMinimal.js.map +0 -1
|
@@ -11,6 +11,7 @@ import { getBase } from "./getBase.js";
|
|
|
11
11
|
import { getPrefillOrPromptedOption } from "./getPrefillOrPromptedOption.js";
|
|
12
12
|
import { logInferredOptions } from "./logInferredOptions.js";
|
|
13
13
|
import { optionsSchema } from "./optionsSchema.js";
|
|
14
|
+
import { readLogoSizing } from "./readLogoSizing.js";
|
|
14
15
|
async function readOptions(args, mode, promptedOptions = {}) {
|
|
15
16
|
const defaults = createOptionDefaults(promptedOptions);
|
|
16
17
|
const { values } = parseArgs({
|
|
@@ -44,7 +45,7 @@ async function readOptions(args, mode, promptedOptions = {}) {
|
|
|
44
45
|
excludeLintPackageJson: values["exclude-lint-package-json"],
|
|
45
46
|
excludeLintPackages: values["exclude-lint-packages"],
|
|
46
47
|
excludeLintPerfectionist: values["exclude-lint-perfectionist"],
|
|
47
|
-
|
|
48
|
+
excludeLintRegexp: values["exclude-lint-regexp"],
|
|
48
49
|
excludeLintSpelling: values["exclude-lint-spelling"],
|
|
49
50
|
excludeLintStrict: values["exclude-lint-strict"],
|
|
50
51
|
excludeLintYml: values["exclude-lint-yml"],
|
|
@@ -183,6 +184,7 @@ async function readOptions(args, mode, promptedOptions = {}) {
|
|
|
183
184
|
}
|
|
184
185
|
logo = { alt: logoAltOption.value, src: options.logo };
|
|
185
186
|
}
|
|
187
|
+
Object.assign(logo, readLogoSizing(logo.src));
|
|
186
188
|
}
|
|
187
189
|
let email = options.email ?? await defaults.email();
|
|
188
190
|
if (!email) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/shared/options/readOptions.ts"],"sourcesContent":["import { parseArgs } from \"node:util\";\nimport { Octokit } from \"octokit\";\nimport { octokitFromAuth } from \"octokit-from-auth\";\nimport { titleCase } from \"title-case\";\nimport { z } from \"zod\";\n\nimport { withSpinner } from \"../cli/spinners.js\";\nimport { Mode, OptionsGuide, PromptedOptions } from \"../types.js\";\nimport { Options, OptionsLogo } from \"../types.js\";\nimport { allArgOptions } from \"./args.js\";\nimport { augmentOptionsWithExcludes } from \"./augmentOptionsWithExcludes.js\";\nimport { createOptionDefaults } from \"./createOptionDefaults/index.js\";\nimport { detectEmailRedundancy } from \"./detectEmailRedundancy.js\";\nimport { ensureRepositoryExists } from \"./ensureRepositoryExists.js\";\nimport { getBase } from \"./getBase.js\";\nimport { getPrefillOrPromptedOption } from \"./getPrefillOrPromptedOption.js\";\nimport { logInferredOptions } from \"./logInferredOptions.js\";\nimport { optionsSchema } from \"./optionsSchema.js\";\n\nexport interface OctokitAndOptions {\n\toctokit: Octokit | undefined;\n\toptions: Options;\n}\n\nexport interface OptionsParseCancelled {\n\tcancelled: true;\n\terror?: string | z.ZodError<object>;\n\toptions: object;\n}\n\nexport type OptionsParseResult = OptionsParseCancelled | OptionsParseSuccess;\n\nexport interface OptionsParseSuccess extends OctokitAndOptions {\n\tcancelled: false;\n}\n\nexport async function readOptions(\n\targs: string[],\n\tmode: Mode,\n\tpromptedOptions: PromptedOptions = {},\n): Promise<OptionsParseResult> {\n\tconst defaults = createOptionDefaults(promptedOptions);\n\tconst { values } = parseArgs({\n\t\targs,\n\t\toptions: allArgOptions,\n\t\tstrict: false,\n\t\ttokens: true,\n\t});\n\n\tif (mode === \"migrate\" && !values.base) {\n\t\tvalues.base = await getBase();\n\t}\n\n\tconst mappedOptions = {\n\t\taccess: values.access,\n\t\tauthor: values.author,\n\t\tauto: !!values.auto,\n\t\tbase: values.base,\n\t\tbin: values.bin,\n\t\tdescription: values.description,\n\t\tdirectory: values.directory,\n\t\temail:\n\t\t\t(values.email ?? values[\"email-github\"] ?? values[\"email-npm\"])\n\t\t\t\t? {\n\t\t\t\t\t\tgithub: values.email ?? values[\"email-github\"],\n\t\t\t\t\t\tnpm: values.email ?? values[\"email-npm\"],\n\t\t\t\t\t}\n\t\t\t\t: undefined,\n\t\texcludeAllContributors: values[\"exclude-all-contributors\"],\n\t\texcludeCompliance: values[\"exclude-compliance\"],\n\t\texcludeLintESLint: values[\"exclude-lint-eslint\"],\n\t\texcludeLintJSDoc: values[\"exclude-lint-jsdoc\"],\n\t\texcludeLintJson: values[\"exclude-lint-json\"],\n\t\texcludeLintKnip: values[\"exclude-lint-knip\"],\n\t\texcludeLintMd: values[\"exclude-lint-md\"],\n\t\texcludeLintPackageJson: values[\"exclude-lint-package-json\"],\n\t\texcludeLintPackages: values[\"exclude-lint-packages\"],\n\t\texcludeLintPerfectionist: values[\"exclude-lint-perfectionist\"],\n\t\texcludeLintRegex: values[\"exclude-lint-regex\"],\n\t\texcludeLintSpelling: values[\"exclude-lint-spelling\"],\n\t\texcludeLintStrict: values[\"exclude-lint-strict\"],\n\t\texcludeLintYml: values[\"exclude-lint-yml\"],\n\t\texcludeReleases: values[\"exclude-releases\"],\n\t\texcludeRenovate: values[\"exclude-renovate\"],\n\t\texcludeTemplatedBy: values[\"exclude-templated-by\"],\n\t\texcludeTests: values[\"unit-tests\"],\n\t\tfunding: values.funding,\n\t\tguide: values.guide,\n\t\tguideTitle: values[\"guide-title\"],\n\t\tlogo: values.logo,\n\t\tlogoAlt: values[\"logo-alt\"],\n\t\toffline: values.offline,\n\t\towner: values.owner,\n\t\tpreserveGeneratedFrom:\n\t\t\tvalues[\"preserve-generated-from\"] ?? values.owner === \"JoshuaKGoldberg\",\n\t\trepository: values.repository,\n\t\tskipAllContributorsApi:\n\t\t\tvalues[\"skip-all-contributors-api\"] ?? values.offline,\n\t\tskipGitHubApi: values[\"skip-github-api\"] ?? values.offline,\n\t\tskipInstall: values[\"skip-install\"],\n\t\tskipRemoval: values[\"skip-removal\"],\n\t\tskipRestore: values[\"skip-restore\"] ?? mode === \"create\",\n\t\tskipUninstall: values[\"skip-uninstall\"],\n\t\ttitle: values.title,\n\t};\n\n\tconst emailError = detectEmailRedundancy(values);\n\tif (emailError) {\n\t\treturn {\n\t\t\tcancelled: true,\n\t\t\terror: emailError,\n\t\t\toptions: mappedOptions,\n\t\t};\n\t}\n\n\tconst optionsParseResult = optionsSchema.safeParse(mappedOptions);\n\n\tif (!optionsParseResult.success) {\n\t\treturn {\n\t\t\tcancelled: true,\n\t\t\terror: optionsParseResult.error,\n\t\t\toptions: mappedOptions,\n\t\t};\n\t}\n\n\tconst options = optionsParseResult.data;\n\n\tconst ownerOption = await getPrefillOrPromptedOption({\n\t\tauto: !!mappedOptions.auto,\n\t\tgetDefaultValue: defaults.owner,\n\t\tmessage: \"What organization or user will the repository be under?\",\n\t\tname: \"owner\",\n\t\tprovided: options.owner,\n\t});\n\n\toptions.owner ??= ownerOption.value;\n\n\tif (!options.owner) {\n\t\treturn {\n\t\t\tcancelled: true,\n\t\t\terror: ownerOption.error,\n\t\t\toptions,\n\t\t};\n\t}\n\n\tconst repositoryOption = await getPrefillOrPromptedOption({\n\t\tauto: !!mappedOptions.auto,\n\t\tgetDefaultValue: defaults.repository,\n\t\tmessage: \"What will the kebab-case name of the repository be?\",\n\t\tname: \"repository\",\n\t\tprovided: options.repository,\n\t});\n\n\toptions.repository ??= repositoryOption.value;\n\n\tif (!options.repository) {\n\t\treturn {\n\t\t\tcancelled: true,\n\t\t\terror: repositoryOption.error,\n\t\t\toptions,\n\t\t};\n\t}\n\n\tconst { octokit, repository } = await ensureRepositoryExists(\n\t\toptions.skipGitHubApi\n\t\t\t? undefined\n\t\t\t: await withSpinner(\"Checking GitHub authentication\", async () =>\n\t\t\t\t\toctokitFromAuth(),\n\t\t\t\t),\n\t\t{\n\t\t\tmode,\n\t\t\towner: options.owner,\n\t\t\trepository: options.repository,\n\t\t},\n\t);\n\n\tif (!repository) {\n\t\treturn { cancelled: true, error: repositoryOption.error, options };\n\t}\n\n\tconst descriptionOption = await getPrefillOrPromptedOption({\n\t\tauto: !!mappedOptions.auto,\n\t\tgetDefaultValue: async () =>\n\t\t\t(await defaults.description()) ?? \"A very lovely package. Hooray!\",\n\t\tmessage: \"How would you describe the new package?\",\n\t\tname: \"description\",\n\t\tprovided: options.description,\n\t});\n\n\toptions.description ??= descriptionOption.value;\n\n\tif (!options.description) {\n\t\treturn { cancelled: true, error: descriptionOption.error, options };\n\t}\n\n\tconst titleOption = await getPrefillOrPromptedOption({\n\t\tauto: !!mappedOptions.auto,\n\t\tgetDefaultValue: async () =>\n\t\t\t(await defaults.title()) ?? titleCase(repository).replaceAll(\"-\", \" \"),\n\t\tmessage: \"What will the Title Case title of the repository be?\",\n\t\tname: \"title\",\n\t\tprovided: options.title,\n\t});\n\n\toptions.title ??= titleOption.value;\n\n\tif (!options.title) {\n\t\treturn { cancelled: true, error: titleOption.error, options };\n\t}\n\n\tlet guide: OptionsGuide | undefined;\n\n\tif (options.guide) {\n\t\tif (options.guideTitle) {\n\t\t\tguide = { href: options.guide, title: options.guideTitle };\n\t\t} else {\n\t\t\tconst titleOption = await getPrefillOrPromptedOption({\n\t\t\t\tauto: !!mappedOptions.auto,\n\t\t\t\tmessage: \"What is the title text for the guide?\",\n\t\t\t\tname: \"getPrefillOrPromptedOption\",\n\t\t\t});\n\n\t\t\tif (!titleOption.value) {\n\t\t\t\treturn { cancelled: true, error: titleOption.error, options };\n\t\t\t}\n\n\t\t\tguide = { href: options.guide, title: titleOption.value };\n\t\t}\n\t}\n\n\tlet logo: OptionsLogo | undefined;\n\n\tif (options.logo) {\n\t\tif (options.logoAlt) {\n\t\t\tlogo = { alt: options.logoAlt, src: options.logo };\n\t\t} else {\n\t\t\tconst logoAltOption = await getPrefillOrPromptedOption({\n\t\t\t\tauto: !!mappedOptions.auto,\n\t\t\t\tmessage: \"What is the alt text (non-visual description) of the logo?\",\n\t\t\t\tname: \"getPrefillOrPromptedOption\",\n\t\t\t});\n\n\t\t\tif (!logoAltOption.value) {\n\t\t\t\treturn { cancelled: true, error: logoAltOption.error, options };\n\t\t\t}\n\n\t\t\tlogo = { alt: logoAltOption.value, src: options.logo };\n\t\t}\n\t}\n\n\tlet email = options.email ?? (await defaults.email());\n\n\tif (!email) {\n\t\tconst emailOption = await getPrefillOrPromptedOption({\n\t\t\tauto: !!mappedOptions.auto,\n\t\t\tmessage: \"What email should be used in package.json and .md files?\",\n\t\t\tname: \"email\",\n\t\t});\n\n\t\tif (!emailOption.value) {\n\t\t\treturn { cancelled: true, error: emailOption.error, options };\n\t\t}\n\n\t\temail = { github: emailOption.value, npm: emailOption.value };\n\t}\n\n\tconst augmentedOptions = await augmentOptionsWithExcludes({\n\t\t...options,\n\t\taccess: options.access ?? \"public\",\n\t\tauthor:\n\t\t\toptions.author ?? (await defaults.author()) ?? (await defaults.owner()),\n\t\tbin: options.bin ?? (await defaults.bin()),\n\t\tdescription: options.description,\n\t\tdirectory:\n\t\t\toptions.directory ?? promptedOptions.directory ?? options.repository,\n\t\temail,\n\t\tfunding: options.funding ?? (await defaults.funding()),\n\t\tguide: guide ?? (await defaults.guide()),\n\t\tlogo: logo ?? (await defaults.logo()),\n\t\tmode,\n\t\towner: options.owner,\n\t\trepository,\n\t\ttitle: options.title,\n\t});\n\n\tif (!augmentedOptions) {\n\t\treturn {\n\t\t\tcancelled: true,\n\t\t\toptions,\n\t\t};\n\t}\n\n\tif (options.auto) {\n\t\tlogInferredOptions(augmentedOptions);\n\t}\n\n\treturn {\n\t\tcancelled: false,\n\t\toctokit,\n\t\toptions: augmentedOptions,\n\t};\n}\n"],"mappings":"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","names":["titleOption"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/shared/options/readOptions.ts"],"sourcesContent":["import { parseArgs } from \"node:util\";\nimport { Octokit } from \"octokit\";\nimport { octokitFromAuth } from \"octokit-from-auth\";\nimport { titleCase } from \"title-case\";\nimport { z } from \"zod\";\n\nimport { withSpinner } from \"../cli/spinners.js\";\nimport { Mode, OptionsGuide, PromptedOptions } from \"../types.js\";\nimport { Options, OptionsLogo } from \"../types.js\";\nimport { allArgOptions } from \"./args.js\";\nimport { augmentOptionsWithExcludes } from \"./augmentOptionsWithExcludes.js\";\nimport { createOptionDefaults } from \"./createOptionDefaults/index.js\";\nimport { detectEmailRedundancy } from \"./detectEmailRedundancy.js\";\nimport { ensureRepositoryExists } from \"./ensureRepositoryExists.js\";\nimport { getBase } from \"./getBase.js\";\nimport { getPrefillOrPromptedOption } from \"./getPrefillOrPromptedOption.js\";\nimport { logInferredOptions } from \"./logInferredOptions.js\";\nimport { optionsSchema } from \"./optionsSchema.js\";\nimport { readLogoSizing } from \"./readLogoSizing.js\";\n\nexport interface OctokitAndOptions {\n\toctokit: Octokit | undefined;\n\toptions: Options;\n}\n\nexport interface OptionsParseCancelled {\n\tcancelled: true;\n\terror?: string | z.ZodError<object>;\n\toptions: object;\n}\n\nexport type OptionsParseResult = OptionsParseCancelled | OptionsParseSuccess;\n\nexport interface OptionsParseSuccess extends OctokitAndOptions {\n\tcancelled: false;\n}\n\nexport async function readOptions(\n\targs: string[],\n\tmode: Mode,\n\tpromptedOptions: PromptedOptions = {},\n): Promise<OptionsParseResult> {\n\tconst defaults = createOptionDefaults(promptedOptions);\n\tconst { values } = parseArgs({\n\t\targs,\n\t\toptions: allArgOptions,\n\t\tstrict: false,\n\t\ttokens: true,\n\t});\n\n\tif (mode === \"migrate\" && !values.base) {\n\t\tvalues.base = await getBase();\n\t}\n\n\tconst mappedOptions = {\n\t\taccess: values.access,\n\t\tauthor: values.author,\n\t\tauto: !!values.auto,\n\t\tbase: values.base,\n\t\tbin: values.bin,\n\t\tdescription: values.description,\n\t\tdirectory: values.directory,\n\t\temail:\n\t\t\t(values.email ?? values[\"email-github\"] ?? values[\"email-npm\"])\n\t\t\t\t? {\n\t\t\t\t\t\tgithub: values.email ?? values[\"email-github\"],\n\t\t\t\t\t\tnpm: values.email ?? values[\"email-npm\"],\n\t\t\t\t\t}\n\t\t\t\t: undefined,\n\t\texcludeAllContributors: values[\"exclude-all-contributors\"],\n\t\texcludeCompliance: values[\"exclude-compliance\"],\n\t\texcludeLintESLint: values[\"exclude-lint-eslint\"],\n\t\texcludeLintJSDoc: values[\"exclude-lint-jsdoc\"],\n\t\texcludeLintJson: values[\"exclude-lint-json\"],\n\t\texcludeLintKnip: values[\"exclude-lint-knip\"],\n\t\texcludeLintMd: values[\"exclude-lint-md\"],\n\t\texcludeLintPackageJson: values[\"exclude-lint-package-json\"],\n\t\texcludeLintPackages: values[\"exclude-lint-packages\"],\n\t\texcludeLintPerfectionist: values[\"exclude-lint-perfectionist\"],\n\t\texcludeLintRegexp: values[\"exclude-lint-regexp\"],\n\t\texcludeLintSpelling: values[\"exclude-lint-spelling\"],\n\t\texcludeLintStrict: values[\"exclude-lint-strict\"],\n\t\texcludeLintYml: values[\"exclude-lint-yml\"],\n\t\texcludeReleases: values[\"exclude-releases\"],\n\t\texcludeRenovate: values[\"exclude-renovate\"],\n\t\texcludeTemplatedBy: values[\"exclude-templated-by\"],\n\t\texcludeTests: values[\"unit-tests\"],\n\t\tfunding: values.funding,\n\t\tguide: values.guide,\n\t\tguideTitle: values[\"guide-title\"],\n\t\tlogo: values.logo,\n\t\tlogoAlt: values[\"logo-alt\"],\n\t\toffline: values.offline,\n\t\towner: values.owner,\n\t\tpreserveGeneratedFrom:\n\t\t\tvalues[\"preserve-generated-from\"] ?? values.owner === \"JoshuaKGoldberg\",\n\t\trepository: values.repository,\n\t\tskipAllContributorsApi:\n\t\t\tvalues[\"skip-all-contributors-api\"] ?? values.offline,\n\t\tskipGitHubApi: values[\"skip-github-api\"] ?? values.offline,\n\t\tskipInstall: values[\"skip-install\"],\n\t\tskipRemoval: values[\"skip-removal\"],\n\t\tskipRestore: values[\"skip-restore\"] ?? mode === \"create\",\n\t\tskipUninstall: values[\"skip-uninstall\"],\n\t\ttitle: values.title,\n\t};\n\n\tconst emailError = detectEmailRedundancy(values);\n\tif (emailError) {\n\t\treturn {\n\t\t\tcancelled: true,\n\t\t\terror: emailError,\n\t\t\toptions: mappedOptions,\n\t\t};\n\t}\n\n\tconst optionsParseResult = optionsSchema.safeParse(mappedOptions);\n\n\tif (!optionsParseResult.success) {\n\t\treturn {\n\t\t\tcancelled: true,\n\t\t\terror: optionsParseResult.error,\n\t\t\toptions: mappedOptions,\n\t\t};\n\t}\n\n\tconst options = optionsParseResult.data;\n\n\tconst ownerOption = await getPrefillOrPromptedOption({\n\t\tauto: !!mappedOptions.auto,\n\t\tgetDefaultValue: defaults.owner,\n\t\tmessage: \"What organization or user will the repository be under?\",\n\t\tname: \"owner\",\n\t\tprovided: options.owner,\n\t});\n\n\toptions.owner ??= ownerOption.value;\n\n\tif (!options.owner) {\n\t\treturn {\n\t\t\tcancelled: true,\n\t\t\terror: ownerOption.error,\n\t\t\toptions,\n\t\t};\n\t}\n\n\tconst repositoryOption = await getPrefillOrPromptedOption({\n\t\tauto: !!mappedOptions.auto,\n\t\tgetDefaultValue: defaults.repository,\n\t\tmessage: \"What will the kebab-case name of the repository be?\",\n\t\tname: \"repository\",\n\t\tprovided: options.repository,\n\t});\n\n\toptions.repository ??= repositoryOption.value;\n\n\tif (!options.repository) {\n\t\treturn {\n\t\t\tcancelled: true,\n\t\t\terror: repositoryOption.error,\n\t\t\toptions,\n\t\t};\n\t}\n\n\tconst { octokit, repository } = await ensureRepositoryExists(\n\t\toptions.skipGitHubApi\n\t\t\t? undefined\n\t\t\t: await withSpinner(\"Checking GitHub authentication\", async () =>\n\t\t\t\t\toctokitFromAuth(),\n\t\t\t\t),\n\t\t{\n\t\t\tmode,\n\t\t\towner: options.owner,\n\t\t\trepository: options.repository,\n\t\t},\n\t);\n\n\tif (!repository) {\n\t\treturn { cancelled: true, error: repositoryOption.error, options };\n\t}\n\n\tconst descriptionOption = await getPrefillOrPromptedOption({\n\t\tauto: !!mappedOptions.auto,\n\t\tgetDefaultValue: async () =>\n\t\t\t(await defaults.description()) ?? \"A very lovely package. Hooray!\",\n\t\tmessage: \"How would you describe the new package?\",\n\t\tname: \"description\",\n\t\tprovided: options.description,\n\t});\n\n\toptions.description ??= descriptionOption.value;\n\n\tif (!options.description) {\n\t\treturn { cancelled: true, error: descriptionOption.error, options };\n\t}\n\n\tconst titleOption = await getPrefillOrPromptedOption({\n\t\tauto: !!mappedOptions.auto,\n\t\tgetDefaultValue: async () =>\n\t\t\t(await defaults.title()) ?? titleCase(repository).replaceAll(\"-\", \" \"),\n\t\tmessage: \"What will the Title Case title of the repository be?\",\n\t\tname: \"title\",\n\t\tprovided: options.title,\n\t});\n\n\toptions.title ??= titleOption.value;\n\n\tif (!options.title) {\n\t\treturn { cancelled: true, error: titleOption.error, options };\n\t}\n\n\tlet guide: OptionsGuide | undefined;\n\n\tif (options.guide) {\n\t\tif (options.guideTitle) {\n\t\t\tguide = { href: options.guide, title: options.guideTitle };\n\t\t} else {\n\t\t\tconst titleOption = await getPrefillOrPromptedOption({\n\t\t\t\tauto: !!mappedOptions.auto,\n\t\t\t\tmessage: \"What is the title text for the guide?\",\n\t\t\t\tname: \"getPrefillOrPromptedOption\",\n\t\t\t});\n\n\t\t\tif (!titleOption.value) {\n\t\t\t\treturn { cancelled: true, error: titleOption.error, options };\n\t\t\t}\n\n\t\t\tguide = { href: options.guide, title: titleOption.value };\n\t\t}\n\t}\n\n\tlet logo: OptionsLogo | undefined;\n\n\tif (options.logo) {\n\t\tif (options.logoAlt) {\n\t\t\tlogo = { alt: options.logoAlt, src: options.logo };\n\t\t} else {\n\t\t\tconst logoAltOption = await getPrefillOrPromptedOption({\n\t\t\t\tauto: !!mappedOptions.auto,\n\t\t\t\tmessage: \"What is the alt text (non-visual description) of the logo?\",\n\t\t\t\tname: \"getPrefillOrPromptedOption\",\n\t\t\t});\n\n\t\t\tif (!logoAltOption.value) {\n\t\t\t\treturn { cancelled: true, error: logoAltOption.error, options };\n\t\t\t}\n\n\t\t\tlogo = { alt: logoAltOption.value, src: options.logo };\n\t\t}\n\n\t\tObject.assign(logo, readLogoSizing(logo.src));\n\t}\n\n\tlet email = options.email ?? (await defaults.email());\n\n\tif (!email) {\n\t\tconst emailOption = await getPrefillOrPromptedOption({\n\t\t\tauto: !!mappedOptions.auto,\n\t\t\tmessage: \"What email should be used in package.json and .md files?\",\n\t\t\tname: \"email\",\n\t\t});\n\n\t\tif (!emailOption.value) {\n\t\t\treturn { cancelled: true, error: emailOption.error, options };\n\t\t}\n\n\t\temail = { github: emailOption.value, npm: emailOption.value };\n\t}\n\n\tconst augmentedOptions = await augmentOptionsWithExcludes({\n\t\t...options,\n\t\taccess: options.access ?? \"public\",\n\t\tauthor:\n\t\t\toptions.author ?? (await defaults.author()) ?? (await defaults.owner()),\n\t\tbin: options.bin ?? (await defaults.bin()),\n\t\tdescription: options.description,\n\t\tdirectory:\n\t\t\toptions.directory ?? promptedOptions.directory ?? options.repository,\n\t\temail,\n\t\tfunding: options.funding ?? (await defaults.funding()),\n\t\tguide: guide ?? (await defaults.guide()),\n\t\tlogo: logo ?? (await defaults.logo()),\n\t\tmode,\n\t\towner: options.owner,\n\t\trepository,\n\t\ttitle: options.title,\n\t});\n\n\tif (!augmentedOptions) {\n\t\treturn {\n\t\t\tcancelled: true,\n\t\t\toptions,\n\t\t};\n\t}\n\n\tif (options.auto) {\n\t\tlogInferredOptions(augmentedOptions);\n\t}\n\n\treturn {\n\t\tcancelled: false,\n\t\toctokit,\n\t\toptions: augmentedOptions,\n\t};\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAE1B,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAG1B,SAAS,mBAAmB;AAG5B,SAAS,qBAAqB;AAC9B,SAAS,kCAAkC;AAC3C,SAAS,4BAA4B;AACrC,SAAS,6BAA6B;AACtC,SAAS,8BAA8B;AACvC,SAAS,eAAe;AACxB,SAAS,kCAAkC;AAC3C,SAAS,0BAA0B;AACnC,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAmB/B,eAAsB,YACrB,MACA,MACA,kBAAmC,CAAC,GACN;AAC9B,QAAM,WAAW,qBAAqB,eAAe;AACrD,QAAM,EAAE,OAAO,IAAI,UAAU;AAAA,IAC5B;AAAA,IACA,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,EACT,CAAC;AAED,MAAI,SAAS,aAAa,CAAC,OAAO,MAAM;AACvC,WAAO,OAAO,MAAM,QAAQ;AAAA,EAC7B;AAEA,QAAM,gBAAgB;AAAA,IACrB,QAAQ,OAAO;AAAA,IACf,QAAQ,OAAO;AAAA,IACf,MAAM,CAAC,CAAC,OAAO;AAAA,IACf,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,IACZ,aAAa,OAAO;AAAA,IACpB,WAAW,OAAO;AAAA,IAClB,OACE,OAAO,SAAS,OAAO,cAAc,KAAK,OAAO,WAAW,IAC1D;AAAA,MACA,QAAQ,OAAO,SAAS,OAAO,cAAc;AAAA,MAC7C,KAAK,OAAO,SAAS,OAAO,WAAW;AAAA,IACxC,IACC;AAAA,IACJ,wBAAwB,OAAO,0BAA0B;AAAA,IACzD,mBAAmB,OAAO,oBAAoB;AAAA,IAC9C,mBAAmB,OAAO,qBAAqB;AAAA,IAC/C,kBAAkB,OAAO,oBAAoB;AAAA,IAC7C,iBAAiB,OAAO,mBAAmB;AAAA,IAC3C,iBAAiB,OAAO,mBAAmB;AAAA,IAC3C,eAAe,OAAO,iBAAiB;AAAA,IACvC,wBAAwB,OAAO,2BAA2B;AAAA,IAC1D,qBAAqB,OAAO,uBAAuB;AAAA,IACnD,0BAA0B,OAAO,4BAA4B;AAAA,IAC7D,mBAAmB,OAAO,qBAAqB;AAAA,IAC/C,qBAAqB,OAAO,uBAAuB;AAAA,IACnD,mBAAmB,OAAO,qBAAqB;AAAA,IAC/C,gBAAgB,OAAO,kBAAkB;AAAA,IACzC,iBAAiB,OAAO,kBAAkB;AAAA,IAC1C,iBAAiB,OAAO,kBAAkB;AAAA,IAC1C,oBAAoB,OAAO,sBAAsB;AAAA,IACjD,cAAc,OAAO,YAAY;AAAA,IACjC,SAAS,OAAO;AAAA,IAChB,OAAO,OAAO;AAAA,IACd,YAAY,OAAO,aAAa;AAAA,IAChC,MAAM,OAAO;AAAA,IACb,SAAS,OAAO,UAAU;AAAA,IAC1B,SAAS,OAAO;AAAA,IAChB,OAAO,OAAO;AAAA,IACd,uBACC,OAAO,yBAAyB,KAAK,OAAO,UAAU;AAAA,IACvD,YAAY,OAAO;AAAA,IACnB,wBACC,OAAO,2BAA2B,KAAK,OAAO;AAAA,IAC/C,eAAe,OAAO,iBAAiB,KAAK,OAAO;AAAA,IACnD,aAAa,OAAO,cAAc;AAAA,IAClC,aAAa,OAAO,cAAc;AAAA,IAClC,aAAa,OAAO,cAAc,KAAK,SAAS;AAAA,IAChD,eAAe,OAAO,gBAAgB;AAAA,IACtC,OAAO,OAAO;AAAA,EACf;AAEA,QAAM,aAAa,sBAAsB,MAAM;AAC/C,MAAI,YAAY;AACf,WAAO;AAAA,MACN,WAAW;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,IACV;AAAA,EACD;AAEA,QAAM,qBAAqB,cAAc,UAAU,aAAa;AAEhE,MAAI,CAAC,mBAAmB,SAAS;AAChC,WAAO;AAAA,MACN,WAAW;AAAA,MACX,OAAO,mBAAmB;AAAA,MAC1B,SAAS;AAAA,IACV;AAAA,EACD;AAEA,QAAM,UAAU,mBAAmB;AAEnC,QAAM,cAAc,MAAM,2BAA2B;AAAA,IACpD,MAAM,CAAC,CAAC,cAAc;AAAA,IACtB,iBAAiB,SAAS;AAAA,IAC1B,SAAS;AAAA,IACT,MAAM;AAAA,IACN,UAAU,QAAQ;AAAA,EACnB,CAAC;AAED,UAAQ,UAAU,YAAY;AAE9B,MAAI,CAAC,QAAQ,OAAO;AACnB,WAAO;AAAA,MACN,WAAW;AAAA,MACX,OAAO,YAAY;AAAA,MACnB;AAAA,IACD;AAAA,EACD;AAEA,QAAM,mBAAmB,MAAM,2BAA2B;AAAA,IACzD,MAAM,CAAC,CAAC,cAAc;AAAA,IACtB,iBAAiB,SAAS;AAAA,IAC1B,SAAS;AAAA,IACT,MAAM;AAAA,IACN,UAAU,QAAQ;AAAA,EACnB,CAAC;AAED,UAAQ,eAAe,iBAAiB;AAExC,MAAI,CAAC,QAAQ,YAAY;AACxB,WAAO;AAAA,MACN,WAAW;AAAA,MACX,OAAO,iBAAiB;AAAA,MACxB;AAAA,IACD;AAAA,EACD;AAEA,QAAM,EAAE,SAAS,WAAW,IAAI,MAAM;AAAA,IACrC,QAAQ,gBACL,SACA,MAAM;AAAA,MAAY;AAAA,MAAkC,YACpD,gBAAgB;AAAA,IACjB;AAAA,IACF;AAAA,MACC;AAAA,MACA,OAAO,QAAQ;AAAA,MACf,YAAY,QAAQ;AAAA,IACrB;AAAA,EACD;AAEA,MAAI,CAAC,YAAY;AAChB,WAAO,EAAE,WAAW,MAAM,OAAO,iBAAiB,OAAO,QAAQ;AAAA,EAClE;AAEA,QAAM,oBAAoB,MAAM,2BAA2B;AAAA,IAC1D,MAAM,CAAC,CAAC,cAAc;AAAA,IACtB,iBAAiB,YACf,MAAM,SAAS,YAAY,KAAM;AAAA,IACnC,SAAS;AAAA,IACT,MAAM;AAAA,IACN,UAAU,QAAQ;AAAA,EACnB,CAAC;AAED,UAAQ,gBAAgB,kBAAkB;AAE1C,MAAI,CAAC,QAAQ,aAAa;AACzB,WAAO,EAAE,WAAW,MAAM,OAAO,kBAAkB,OAAO,QAAQ;AAAA,EACnE;AAEA,QAAM,cAAc,MAAM,2BAA2B;AAAA,IACpD,MAAM,CAAC,CAAC,cAAc;AAAA,IACtB,iBAAiB,YACf,MAAM,SAAS,MAAM,KAAM,UAAU,UAAU,EAAE,WAAW,KAAK,GAAG;AAAA,IACtE,SAAS;AAAA,IACT,MAAM;AAAA,IACN,UAAU,QAAQ;AAAA,EACnB,CAAC;AAED,UAAQ,UAAU,YAAY;AAE9B,MAAI,CAAC,QAAQ,OAAO;AACnB,WAAO,EAAE,WAAW,MAAM,OAAO,YAAY,OAAO,QAAQ;AAAA,EAC7D;AAEA,MAAI;AAEJ,MAAI,QAAQ,OAAO;AAClB,QAAI,QAAQ,YAAY;AACvB,cAAQ,EAAE,MAAM,QAAQ,OAAO,OAAO,QAAQ,WAAW;AAAA,IAC1D,OAAO;AACN,YAAMA,eAAc,MAAM,2BAA2B;AAAA,QACpD,MAAM,CAAC,CAAC,cAAc;AAAA,QACtB,SAAS;AAAA,QACT,MAAM;AAAA,MACP,CAAC;AAED,UAAI,CAACA,aAAY,OAAO;AACvB,eAAO,EAAE,WAAW,MAAM,OAAOA,aAAY,OAAO,QAAQ;AAAA,MAC7D;AAEA,cAAQ,EAAE,MAAM,QAAQ,OAAO,OAAOA,aAAY,MAAM;AAAA,IACzD;AAAA,EACD;AAEA,MAAI;AAEJ,MAAI,QAAQ,MAAM;AACjB,QAAI,QAAQ,SAAS;AACpB,aAAO,EAAE,KAAK,QAAQ,SAAS,KAAK,QAAQ,KAAK;AAAA,IAClD,OAAO;AACN,YAAM,gBAAgB,MAAM,2BAA2B;AAAA,QACtD,MAAM,CAAC,CAAC,cAAc;AAAA,QACtB,SAAS;AAAA,QACT,MAAM;AAAA,MACP,CAAC;AAED,UAAI,CAAC,cAAc,OAAO;AACzB,eAAO,EAAE,WAAW,MAAM,OAAO,cAAc,OAAO,QAAQ;AAAA,MAC/D;AAEA,aAAO,EAAE,KAAK,cAAc,OAAO,KAAK,QAAQ,KAAK;AAAA,IACtD;AAEA,WAAO,OAAO,MAAM,eAAe,KAAK,GAAG,CAAC;AAAA,EAC7C;AAEA,MAAI,QAAQ,QAAQ,SAAU,MAAM,SAAS,MAAM;AAEnD,MAAI,CAAC,OAAO;AACX,UAAM,cAAc,MAAM,2BAA2B;AAAA,MACpD,MAAM,CAAC,CAAC,cAAc;AAAA,MACtB,SAAS;AAAA,MACT,MAAM;AAAA,IACP,CAAC;AAED,QAAI,CAAC,YAAY,OAAO;AACvB,aAAO,EAAE,WAAW,MAAM,OAAO,YAAY,OAAO,QAAQ;AAAA,IAC7D;AAEA,YAAQ,EAAE,QAAQ,YAAY,OAAO,KAAK,YAAY,MAAM;AAAA,EAC7D;AAEA,QAAM,mBAAmB,MAAM,2BAA2B;AAAA,IACzD,GAAG;AAAA,IACH,QAAQ,QAAQ,UAAU;AAAA,IAC1B,QACC,QAAQ,UAAW,MAAM,SAAS,OAAO,KAAO,MAAM,SAAS,MAAM;AAAA,IACtE,KAAK,QAAQ,OAAQ,MAAM,SAAS,IAAI;AAAA,IACxC,aAAa,QAAQ;AAAA,IACrB,WACC,QAAQ,aAAa,gBAAgB,aAAa,QAAQ;AAAA,IAC3D;AAAA,IACA,SAAS,QAAQ,WAAY,MAAM,SAAS,QAAQ;AAAA,IACpD,OAAO,SAAU,MAAM,SAAS,MAAM;AAAA,IACtC,MAAM,QAAS,MAAM,SAAS,KAAK;AAAA,IACnC;AAAA,IACA,OAAO,QAAQ;AAAA,IACf;AAAA,IACA,OAAO,QAAQ;AAAA,EAChB,CAAC;AAED,MAAI,CAAC,kBAAkB;AACtB,WAAO;AAAA,MACN,WAAW;AAAA,MACX;AAAA,IACD;AAAA,EACD;AAEA,MAAI,QAAQ,MAAM;AACjB,uBAAmB,gBAAgB;AAAA,EACpC;AAEA,SAAO;AAAA,IACN,WAAW;AAAA,IACX;AAAA,IACA,SAAS;AAAA,EACV;AACD;","names":["titleOption"]}
|
package/lib/shared/types.d.ts
CHANGED
|
@@ -23,7 +23,9 @@ interface OptionsGuide {
|
|
|
23
23
|
}
|
|
24
24
|
interface OptionsLogo {
|
|
25
25
|
alt: string;
|
|
26
|
+
height?: number;
|
|
26
27
|
src: string;
|
|
28
|
+
width?: number;
|
|
27
29
|
}
|
|
28
30
|
interface PartialPackageData {
|
|
29
31
|
author?: string | {
|
|
@@ -68,7 +70,7 @@ interface Options {
|
|
|
68
70
|
excludeLintPackageJson?: boolean;
|
|
69
71
|
excludeLintPackages?: boolean;
|
|
70
72
|
excludeLintPerfectionist?: boolean;
|
|
71
|
-
|
|
73
|
+
excludeLintRegexp?: boolean;
|
|
72
74
|
excludeLintSpelling?: boolean;
|
|
73
75
|
excludeLintStrict?: boolean;
|
|
74
76
|
excludeLintStylistic?: boolean;
|
|
@@ -29,7 +29,7 @@ async function finalizeDependencies(options) {
|
|
|
29
29
|
],
|
|
30
30
|
...options.excludeLintPackageJson ? [] : ["eslint-plugin-package-json"],
|
|
31
31
|
...options.excludeLintPerfectionist ? [] : ["eslint-plugin-perfectionist"],
|
|
32
|
-
...options.
|
|
32
|
+
...options.excludeLintRegexp ? [] : ["eslint-plugin-regexp"],
|
|
33
33
|
...options.excludeLintSpelling ? [] : ["cspell"],
|
|
34
34
|
...options.excludeLintYml ? [] : ["eslint-plugin-yml"],
|
|
35
35
|
...options.excludeReleases ? [] : ["@release-it/conventional-changelog", "release-it"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/steps/finalizeDependencies.ts"],"sourcesContent":["import { execaCommand } from \"execa\";\n\nimport { readPackageData, removeDependencies } from \"../shared/packages.js\";\nimport { Options } from \"../shared/types.js\";\n\nexport async function finalizeDependencies(options: Options) {\n\tconst devDependencies = [\n\t\t\"@eslint/js\",\n\t\t\"@types/node\",\n\t\t\"eslint-plugin-n\",\n\t\t\"eslint\",\n\t\t\"husky\",\n\t\t\"lint-staged\",\n\t\t\"prettier-plugin-curly\",\n\t\t\"prettier-plugin-packagejson\",\n\t\t\"prettier-plugin-sh\",\n\t\t\"prettier\",\n\t\t\"tsup\",\n\t\t\"typescript-eslint\",\n\t\t\"typescript\",\n\t\t...(options.excludeAllContributors ? [] : [\"all-contributors-cli\"]),\n\t\t...(options.excludeLintESLint\n\t\t\t? []\n\t\t\t: [\"@eslint-community/eslint-plugin-eslint-comments\"]),\n\t\t...(options.excludeLintJSDoc ? [] : [\"eslint-plugin-jsdoc\"]),\n\t\t...(options.excludeLintJson ? [] : [\"eslint-plugin-jsonc\"]),\n\t\t...(options.excludeLintKnip ? [] : [\"knip\"]),\n\t\t...(options.excludeLintMd\n\t\t\t? []\n\t\t\t: [\n\t\t\t\t\t\"@types/eslint-plugin-markdown\",\n\t\t\t\t\t\"eslint-plugin-markdown\",\n\t\t\t\t\t\"markdownlint\",\n\t\t\t\t\t\"markdownlint-cli\",\n\t\t\t\t\t\"sentences-per-line\",\n\t\t\t\t]),\n\t\t...(options.excludeLintPackageJson ? [] : [\"eslint-plugin-package-json\"]),\n\t\t...(options.excludeLintPerfectionist\n\t\t\t? []\n\t\t\t: [\"eslint-plugin-perfectionist\"]),\n\t\t...(options.
|
|
1
|
+
{"version":3,"sources":["../../src/steps/finalizeDependencies.ts"],"sourcesContent":["import { execaCommand } from \"execa\";\n\nimport { readPackageData, removeDependencies } from \"../shared/packages.js\";\nimport { Options } from \"../shared/types.js\";\n\nexport async function finalizeDependencies(options: Options) {\n\tconst devDependencies = [\n\t\t\"@eslint/js\",\n\t\t\"@types/node\",\n\t\t\"eslint-plugin-n\",\n\t\t\"eslint\",\n\t\t\"husky\",\n\t\t\"lint-staged\",\n\t\t\"prettier-plugin-curly\",\n\t\t\"prettier-plugin-packagejson\",\n\t\t\"prettier-plugin-sh\",\n\t\t\"prettier\",\n\t\t\"tsup\",\n\t\t\"typescript-eslint\",\n\t\t\"typescript\",\n\t\t...(options.excludeAllContributors ? [] : [\"all-contributors-cli\"]),\n\t\t...(options.excludeLintESLint\n\t\t\t? []\n\t\t\t: [\"@eslint-community/eslint-plugin-eslint-comments\"]),\n\t\t...(options.excludeLintJSDoc ? [] : [\"eslint-plugin-jsdoc\"]),\n\t\t...(options.excludeLintJson ? [] : [\"eslint-plugin-jsonc\"]),\n\t\t...(options.excludeLintKnip ? [] : [\"knip\"]),\n\t\t...(options.excludeLintMd\n\t\t\t? []\n\t\t\t: [\n\t\t\t\t\t\"@types/eslint-plugin-markdown\",\n\t\t\t\t\t\"eslint-plugin-markdown\",\n\t\t\t\t\t\"markdownlint\",\n\t\t\t\t\t\"markdownlint-cli\",\n\t\t\t\t\t\"sentences-per-line\",\n\t\t\t\t]),\n\t\t...(options.excludeLintPackageJson ? [] : [\"eslint-plugin-package-json\"]),\n\t\t...(options.excludeLintPerfectionist\n\t\t\t? []\n\t\t\t: [\"eslint-plugin-perfectionist\"]),\n\t\t...(options.excludeLintRegexp ? [] : [\"eslint-plugin-regexp\"]),\n\t\t...(options.excludeLintSpelling ? [] : [\"cspell\"]),\n\t\t...(options.excludeLintYml ? [] : [\"eslint-plugin-yml\"]),\n\t\t...(options.excludeReleases\n\t\t\t? []\n\t\t\t: [\"@release-it/conventional-changelog\", \"release-it\"]),\n\t\t...(options.excludeTests\n\t\t\t? []\n\t\t\t: [\n\t\t\t\t\t\"@vitest/coverage-v8\",\n\t\t\t\t\t\"@vitest/eslint-plugin\",\n\t\t\t\t\t\"console-fail-test\",\n\t\t\t\t\t\"vitest\",\n\t\t\t\t]),\n\t]\n\t\t.filter(Boolean)\n\t\t.sort()\n\t\t.map((packageName) => `${packageName}@latest`)\n\t\t.join(\" \");\n\n\tawait execaCommand(\n\t\t`pnpm add ${devDependencies} -D${options.offline ? \" --offline\" : \"\"}`,\n\t);\n\n\tif (!options.excludeAllContributors) {\n\t\tawait execaCommand(`npx all-contributors-cli generate`);\n\t\tawait removeDependencies(\n\t\t\t[\"all-contributors-cli\"],\n\t\t\t(await readPackageData()).devDependencies,\n\t\t\t\"-D\",\n\t\t);\n\t}\n\n\tawait execaCommand(`pnpm dedupe --offline`);\n}\n"],"mappings":"AAAA,SAAS,oBAAoB;AAE7B,SAAS,iBAAiB,0BAA0B;AAGpD,eAAsB,qBAAqB,SAAkB;AAC5D,QAAM,kBAAkB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAI,QAAQ,yBAAyB,CAAC,IAAI,CAAC,sBAAsB;AAAA,IACjE,GAAI,QAAQ,oBACT,CAAC,IACD,CAAC,iDAAiD;AAAA,IACrD,GAAI,QAAQ,mBAAmB,CAAC,IAAI,CAAC,qBAAqB;AAAA,IAC1D,GAAI,QAAQ,kBAAkB,CAAC,IAAI,CAAC,qBAAqB;AAAA,IACzD,GAAI,QAAQ,kBAAkB,CAAC,IAAI,CAAC,MAAM;AAAA,IAC1C,GAAI,QAAQ,gBACT,CAAC,IACD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACF,GAAI,QAAQ,yBAAyB,CAAC,IAAI,CAAC,4BAA4B;AAAA,IACvE,GAAI,QAAQ,2BACT,CAAC,IACD,CAAC,6BAA6B;AAAA,IACjC,GAAI,QAAQ,oBAAoB,CAAC,IAAI,CAAC,sBAAsB;AAAA,IAC5D,GAAI,QAAQ,sBAAsB,CAAC,IAAI,CAAC,QAAQ;AAAA,IAChD,GAAI,QAAQ,iBAAiB,CAAC,IAAI,CAAC,mBAAmB;AAAA,IACtD,GAAI,QAAQ,kBACT,CAAC,IACD,CAAC,sCAAsC,YAAY;AAAA,IACtD,GAAI,QAAQ,eACT,CAAC,IACD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACH,EACE,OAAO,OAAO,EACd,KAAK,EACL,IAAI,CAAC,gBAAgB,GAAG,WAAW,SAAS,EAC5C,KAAK,GAAG;AAEV,QAAM;AAAA,IACL,YAAY,eAAe,MAAM,QAAQ,UAAU,eAAe,EAAE;AAAA,EACrE;AAEA,MAAI,CAAC,QAAQ,wBAAwB;AACpC,UAAM,aAAa,mCAAmC;AACtD,UAAM;AAAA,MACL,CAAC,sBAAsB;AAAA,OACtB,MAAM,gBAAgB,GAAG;AAAA,MAC1B;AAAA,IACD;AAAA,EACD;AAEA,QAAM,aAAa,uBAAuB;AAC3C;","names":[]}
|
|
@@ -13,6 +13,8 @@ async function uninstallPackages(offline) {
|
|
|
13
13
|
"execa",
|
|
14
14
|
"git-remote-origin-url",
|
|
15
15
|
"git-url-parse",
|
|
16
|
+
"html-to-text",
|
|
17
|
+
"image-size",
|
|
16
18
|
"input-from-file",
|
|
17
19
|
"input-from-file-json",
|
|
18
20
|
"input-from-script",
|
|
@@ -41,6 +43,7 @@ async function uninstallPackages(offline) {
|
|
|
41
43
|
[
|
|
42
44
|
"@octokit/request-error",
|
|
43
45
|
"@types/git-url-parse",
|
|
46
|
+
"@types/html-to-text",
|
|
44
47
|
"@types/js-yaml",
|
|
45
48
|
"@types/parse-author",
|
|
46
49
|
"all-contributors-cli",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/steps/uninstallPackages.ts"],"sourcesContent":["import { $ } from \"execa\";\n\nimport { readPackageData, removeDependencies } from \"../shared/packages.js\";\n\nexport async function uninstallPackages(offline: boolean | undefined) {\n\tconst packageData = await readPackageData();\n\n\tawait removeDependencies(\n\t\t[\n\t\t\t\"@clack/prompts\",\n\t\t\t\"@prettier/sync\",\n\t\t\t\"all-contributors-cli\",\n\t\t\t\"chalk\",\n\t\t\t\"create\",\n\t\t\t\"cspell-populate-words\",\n\t\t\t\"execa\",\n\t\t\t\"git-remote-origin-url\",\n\t\t\t\"git-url-parse\",\n\t\t\t\"input-from-file\",\n\t\t\t\"input-from-file-json\",\n\t\t\t\"input-from-script\",\n\t\t\t\"js-yaml\",\n\t\t\t\"lazy-value\",\n\t\t\t\"npm-user\",\n\t\t\t\"object-strings-deep\",\n\t\t\t\"octokit\",\n\t\t\t\"octokit-from-auth\",\n\t\t\t\"parse-author\",\n\t\t\t\"parse-package-name\",\n\t\t\t\"populate-all-contributors-for-repository\",\n\t\t\t\"prettier\",\n\t\t\t\"remove-undefined-objects\",\n\t\t\t\"replace-in-file\",\n\t\t\t\"rimraf\",\n\t\t\t\"set-github-repository-labels\",\n\t\t\t\"sort-package-json\",\n\t\t\t\"title-case\",\n\t\t\t\"zod\",\n\t\t\t\"zod-validation-error\",\n\t\t],\n\t\tpackageData.dependencies,\n\t);\n\n\tawait removeDependencies(\n\t\t[\n\t\t\t\"@octokit/request-error\",\n\t\t\t\"@types/git-url-parse\",\n\t\t\t\"@types/js-yaml\",\n\t\t\t\"@types/parse-author\",\n\t\t\t\"all-contributors-cli\",\n\t\t\t\"c8\",\n\t\t\t\"create-testers\",\n\t\t\t\"eslint-config-prettier\",\n\t\t\t\"globby\",\n\t\t\t\"tsx\",\n\t\t],\n\t\tpackageData.devDependencies,\n\t\t\"-D\",\n\t);\n\n\tawait $`pnpm add prettier -D${offline ? \" --offline\" : \"\"}`;\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAElB,SAAS,iBAAiB,0BAA0B;AAEpD,eAAsB,kBAAkB,SAA8B;AACrE,QAAM,cAAc,MAAM,gBAAgB;AAE1C,QAAM;AAAA,IACL;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,YAAY;AAAA,EACb;AAEA,QAAM;AAAA,IACL;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,EACD;AAEA,QAAM,wBAAwB,UAAU,eAAe,EAAE;AAC1D;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/steps/uninstallPackages.ts"],"sourcesContent":["import { $ } from \"execa\";\n\nimport { readPackageData, removeDependencies } from \"../shared/packages.js\";\n\nexport async function uninstallPackages(offline: boolean | undefined) {\n\tconst packageData = await readPackageData();\n\n\tawait removeDependencies(\n\t\t[\n\t\t\t\"@clack/prompts\",\n\t\t\t\"@prettier/sync\",\n\t\t\t\"all-contributors-cli\",\n\t\t\t\"chalk\",\n\t\t\t\"create\",\n\t\t\t\"cspell-populate-words\",\n\t\t\t\"execa\",\n\t\t\t\"git-remote-origin-url\",\n\t\t\t\"git-url-parse\",\n\t\t\t\"html-to-text\",\n\t\t\t\"image-size\",\n\t\t\t\"input-from-file\",\n\t\t\t\"input-from-file-json\",\n\t\t\t\"input-from-script\",\n\t\t\t\"js-yaml\",\n\t\t\t\"lazy-value\",\n\t\t\t\"npm-user\",\n\t\t\t\"object-strings-deep\",\n\t\t\t\"octokit\",\n\t\t\t\"octokit-from-auth\",\n\t\t\t\"parse-author\",\n\t\t\t\"parse-package-name\",\n\t\t\t\"populate-all-contributors-for-repository\",\n\t\t\t\"prettier\",\n\t\t\t\"remove-undefined-objects\",\n\t\t\t\"replace-in-file\",\n\t\t\t\"rimraf\",\n\t\t\t\"set-github-repository-labels\",\n\t\t\t\"sort-package-json\",\n\t\t\t\"title-case\",\n\t\t\t\"zod\",\n\t\t\t\"zod-validation-error\",\n\t\t],\n\t\tpackageData.dependencies,\n\t);\n\n\tawait removeDependencies(\n\t\t[\n\t\t\t\"@octokit/request-error\",\n\t\t\t\"@types/git-url-parse\",\n\t\t\t\"@types/html-to-text\",\n\t\t\t\"@types/js-yaml\",\n\t\t\t\"@types/parse-author\",\n\t\t\t\"all-contributors-cli\",\n\t\t\t\"c8\",\n\t\t\t\"create-testers\",\n\t\t\t\"eslint-config-prettier\",\n\t\t\t\"globby\",\n\t\t\t\"tsx\",\n\t\t],\n\t\tpackageData.devDependencies,\n\t\t\"-D\",\n\t);\n\n\tawait $`pnpm add prettier -D${offline ? \" --offline\" : \"\"}`;\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAElB,SAAS,iBAAiB,0BAA0B;AAEpD,eAAsB,kBAAkB,SAA8B;AACrE,QAAM,cAAc,MAAM,gBAAgB;AAE1C,QAAM;AAAA,IACL;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,YAAY;AAAA,EACb;AAEA,QAAM;AAAA,IACL;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,EACD;AAEA,QAAM,wBAAwB,UAAU,eAAe,EAAE;AAC1D;","names":[]}
|
|
@@ -12,7 +12,7 @@ const endOfReadmeNotice = [
|
|
|
12
12
|
const endOfReadmeMatcher = /💙.+(?:based|built|templated).+(?:from|using|on|with).+create-typescript-app/;
|
|
13
13
|
async function updateReadme(options) {
|
|
14
14
|
let contents = await readFileSafe("./README.md", "");
|
|
15
|
-
contents = contents.replaceAll("JoshuaKGoldberg", options.owner);
|
|
15
|
+
contents = contents.replaceAll("JoshuaKGoldberg", options.owner).replace(/\n<img .+ alt="Project logo.+>\n/gs, "");
|
|
16
16
|
if (!options.excludeTemplatedBy && !endOfReadmeMatcher.test(contents)) {
|
|
17
17
|
contents += endOfReadmeNotice;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/steps/updateReadme.ts"],"sourcesContent":["import * as fs from \"node:fs/promises\";\nimport { EOL } from \"node:os\";\n\nimport { readFileSafe } from \"../shared/readFileSafe.js\";\nimport { Options } from \"../shared/types.js\";\n\nexport const endOfReadmeTemplateLine = `> 💙 This package was templated with [\\`create-typescript-app\\`](https://github.com/JoshuaKGoldberg/create-typescript-app).`;\n\nexport const endOfReadmeNotice = [\n\t``,\n\t`<!-- You can remove this notice if you don't want it 🙂 no worries! -->`,\n\t``,\n\tendOfReadmeTemplateLine,\n\t``,\n].join(EOL);\n\nexport const endOfReadmeMatcher =\n\t/💙.+(?:based|built|templated).+(?:from|using|on|with).+create-typescript-app/;\n\nexport async function updateReadme(\n\toptions: Pick<Options, \"excludeTemplatedBy\" | \"owner\">,\n) {\n\tlet contents = await readFileSafe(\"./README.md\", \"\");\n\n\tcontents = contents.replaceAll(\"JoshuaKGoldberg\", options.owner);\n\n\tif (!options.excludeTemplatedBy && !endOfReadmeMatcher.test(contents)) {\n\t\tcontents += endOfReadmeNotice;\n\t}\n\n\tawait fs.writeFile(\"./README.md\", contents);\n}\n"],"mappings":"AAAA,YAAY,QAAQ;AACpB,SAAS,WAAW;AAEpB,SAAS,oBAAoB;AAGtB,MAAM,0BAA0B;AAEhC,MAAM,oBAAoB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,EAAE,KAAK,GAAG;AAEH,MAAM,qBACZ;AAED,eAAsB,aACrB,SACC;AACD,MAAI,WAAW,MAAM,aAAa,eAAe,EAAE;AAEnD,aAAW,
|
|
1
|
+
{"version":3,"sources":["../../src/steps/updateReadme.ts"],"sourcesContent":["import * as fs from \"node:fs/promises\";\nimport { EOL } from \"node:os\";\n\nimport { readFileSafe } from \"../shared/readFileSafe.js\";\nimport { Options } from \"../shared/types.js\";\n\nexport const endOfReadmeTemplateLine = `> 💙 This package was templated with [\\`create-typescript-app\\`](https://github.com/JoshuaKGoldberg/create-typescript-app).`;\n\nexport const endOfReadmeNotice = [\n\t``,\n\t`<!-- You can remove this notice if you don't want it 🙂 no worries! -->`,\n\t``,\n\tendOfReadmeTemplateLine,\n\t``,\n].join(EOL);\n\nexport const endOfReadmeMatcher =\n\t/💙.+(?:based|built|templated).+(?:from|using|on|with).+create-typescript-app/;\n\nexport async function updateReadme(\n\toptions: Pick<Options, \"excludeTemplatedBy\" | \"owner\">,\n) {\n\tlet contents = await readFileSafe(\"./README.md\", \"\");\n\n\tcontents = contents\n\t\t.replaceAll(\"JoshuaKGoldberg\", options.owner)\n\t\t.replace(/\\n<img .+ alt=\"Project logo.+>\\n/gs, \"\");\n\n\tif (!options.excludeTemplatedBy && !endOfReadmeMatcher.test(contents)) {\n\t\tcontents += endOfReadmeNotice;\n\t}\n\n\tawait fs.writeFile(\"./README.md\", contents);\n}\n"],"mappings":"AAAA,YAAY,QAAQ;AACpB,SAAS,WAAW;AAEpB,SAAS,oBAAoB;AAGtB,MAAM,0BAA0B;AAEhC,MAAM,oBAAoB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,EAAE,KAAK,GAAG;AAEH,MAAM,qBACZ;AAED,eAAsB,aACrB,SACC;AACD,MAAI,WAAW,MAAM,aAAa,eAAe,EAAE;AAEnD,aAAW,SACT,WAAW,mBAAmB,QAAQ,KAAK,EAC3C,QAAQ,sCAAsC,EAAE;AAElD,MAAI,CAAC,QAAQ,sBAAsB,CAAC,mBAAmB,KAAK,QAAQ,GAAG;AACtE,gBAAY;AAAA,EACb;AAEA,QAAM,GAAG,UAAU,eAAe,QAAQ;AAC3C;","names":[]}
|
|
@@ -11,7 +11,7 @@ async function createESLintConfig(options) {
|
|
|
11
11
|
`import n from "eslint-plugin-n";`,
|
|
12
12
|
!options.excludeLintPackageJson && `import packageJson from "eslint-plugin-package-json/configs/recommended";`,
|
|
13
13
|
!options.excludeLintPerfectionist && `import perfectionist from "eslint-plugin-perfectionist";`,
|
|
14
|
-
!options.
|
|
14
|
+
!options.excludeLintRegexp && `import * as regexp from "eslint-plugin-regexp";`,
|
|
15
15
|
!options.excludeLintYml && `import yml from "eslint-plugin-yml";`,
|
|
16
16
|
`import tseslint from "typescript-eslint";`
|
|
17
17
|
].filter(Boolean);
|
|
@@ -26,7 +26,7 @@ async function createESLintConfig(options) {
|
|
|
26
26
|
` n.configs["flat/recommended"],`,
|
|
27
27
|
!options.excludeLintPackageJson && ` packageJson,`,
|
|
28
28
|
!options.excludeLintPerfectionist && ` perfectionist.configs["recommended-natural"],`,
|
|
29
|
-
!options.
|
|
29
|
+
!options.excludeLintRegexp && ` regexp.configs["flat/recommended"],`
|
|
30
30
|
].filter(Boolean);
|
|
31
31
|
const ignores = [
|
|
32
32
|
...options.excludeTests ? [] : ["**/*.snap", "coverage"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/steps/writing/creation/createESLintConfig.ts"],"sourcesContent":["import { Options } from \"../../../shared/types.js\";\nimport { formatTypeScript } from \"./formatters/formatTypeScript.js\";\n\nexport async function createESLintConfig(options: Options) {\n\tconst tseslintBase = options.excludeLintStrict ? \"recommended\" : \"strict\";\n\n\tconst imports = [\n\t\t!options.excludeLintESLint &&\n\t\t\t`import comments from \"@eslint-community/eslint-plugin-eslint-comments/configs\";`,\n\t\t`import eslint from \"@eslint/js\";`,\n\t\t!options.excludeTests && `import vitest from \"@vitest/eslint-plugin\";`,\n\t\t!options.excludeLintJSDoc && `import jsdoc from \"eslint-plugin-jsdoc\";`,\n\t\t!options.excludeLintJson && `import jsonc from \"eslint-plugin-jsonc\";`,\n\t\t!options.excludeLintMd && `import markdown from \"eslint-plugin-markdown\";`,\n\t\t`import n from \"eslint-plugin-n\";`,\n\t\t!options.excludeLintPackageJson &&\n\t\t\t`import packageJson from \"eslint-plugin-package-json/configs/recommended\";`,\n\t\t!options.excludeLintPerfectionist &&\n\t\t\t`import perfectionist from \"eslint-plugin-perfectionist\";`,\n\t\t!options.
|
|
1
|
+
{"version":3,"sources":["../../../../src/steps/writing/creation/createESLintConfig.ts"],"sourcesContent":["import { Options } from \"../../../shared/types.js\";\nimport { formatTypeScript } from \"./formatters/formatTypeScript.js\";\n\nexport async function createESLintConfig(options: Options) {\n\tconst tseslintBase = options.excludeLintStrict ? \"recommended\" : \"strict\";\n\n\tconst imports = [\n\t\t!options.excludeLintESLint &&\n\t\t\t`import comments from \"@eslint-community/eslint-plugin-eslint-comments/configs\";`,\n\t\t`import eslint from \"@eslint/js\";`,\n\t\t!options.excludeTests && `import vitest from \"@vitest/eslint-plugin\";`,\n\t\t!options.excludeLintJSDoc && `import jsdoc from \"eslint-plugin-jsdoc\";`,\n\t\t!options.excludeLintJson && `import jsonc from \"eslint-plugin-jsonc\";`,\n\t\t!options.excludeLintMd && `import markdown from \"eslint-plugin-markdown\";`,\n\t\t`import n from \"eslint-plugin-n\";`,\n\t\t!options.excludeLintPackageJson &&\n\t\t\t`import packageJson from \"eslint-plugin-package-json/configs/recommended\";`,\n\t\t!options.excludeLintPerfectionist &&\n\t\t\t`import perfectionist from \"eslint-plugin-perfectionist\";`,\n\t\t!options.excludeLintRegexp &&\n\t\t\t`import * as regexp from \"eslint-plugin-regexp\";`,\n\t\t!options.excludeLintYml && `import yml from \"eslint-plugin-yml\";`,\n\t\t`import tseslint from \"typescript-eslint\";`,\n\t].filter(Boolean);\n\n\tconst elements = [\n\t\t`eslint.configs.recommended,`,\n\t\t!options.excludeLintESLint && `\tcomments.recommended,`,\n\t\t!options.excludeLintJSDoc &&\n\t\t\t`\tjsdoc.configs[\"flat/contents-typescript-error\"],\n\t\tjsdoc.configs[\"flat/logical-typescript-error\"],\n\t\tjsdoc.configs[\"flat/stylistic-typescript-error\"],`,\n\t\t!options.excludeLintJson && `\tjsonc.configs[\"flat/recommended-with-json\"],`,\n\t\t!options.excludeLintMd && `\tmarkdown.configs.recommended,`,\n\t\t`\tn.configs[\"flat/recommended\"],`,\n\t\t!options.excludeLintPackageJson && `\tpackageJson,`,\n\t\t!options.excludeLintPerfectionist &&\n\t\t\t`\tperfectionist.configs[\"recommended-natural\"],`,\n\t\t!options.excludeLintRegexp && `\tregexp.configs[\"flat/recommended\"],`,\n\t].filter(Boolean);\n\n\tconst ignores = [\n\t\t...(options.excludeTests ? [] : [\"**/*.snap\", \"coverage\"]),\n\t\t\"lib\",\n\t\t\"node_modules\",\n\t\t\"pnpm-lock.yaml\",\n\t]\n\t\t.map((ignore) => JSON.stringify(ignore))\n\t\t.sort();\n\n\tconst rules =\n\t\t!options.excludeLintStylistic &&\n\t\t`{\n\t\t\t// Stylistic concerns that don't interfere with Prettier\n\t\t\t\"logical-assignment-operators\": [\n\t\t\t\t\"error\",\n\t\t\t\t\"always\",\n\t\t\t\t{ enforceForIfStatements: true },\n\t\t\t],\n\t\t\t\"no-useless-rename\": \"error\",\n\t\t\t\"object-shorthand\": \"error\",\n\t\t\t\"operator-assignment\": \"error\",\n\t\t}`;\n\n\treturn await formatTypeScript(`${imports.join(\"\\n\")}\n\nexport default tseslint.config(\n\t{ ignores: [${ignores.join(\", \")}], },\n\t{ linterOptions: { reportUnusedDisableDirectives: \"error\" } },\n\t${elements.join(\"\\n\")}\n\t{\n\t\textends: ${\n\t\t\toptions.excludeLintStylistic\n\t\t\t\t? `tseslint.configs.${tseslintBase}TypeChecked`\n\t\t\t\t: `[\n\t\t\ttseslint.configs.${tseslintBase}TypeChecked,\n\t\t\ttseslint.configs.stylisticTypeChecked,\n\t\t]`\n\t\t},\n\t\tfiles: [\"**/*.js\", \"**/*.ts\"],\n\t\tlanguageOptions: {\n\t\t\tparserOptions: {\n\t\t\t\tprojectService: { allowDefaultProject: [\"*.config.*s\"] },\n\t\t\t\ttsconfigRootDir: import.meta.dirname\n\t\t\t},\n\t\t},${\n\t\t\trules\n\t\t\t\t? `\n\t\trules: ${rules},`\n\t\t\t\t: \"\"\n\t\t}${\n\t\t\toptions.excludeLintPerfectionist\n\t\t\t\t? \"\"\n\t\t\t\t: `\n\t\tsettings: { perfectionist: { partitionByComment: true, type: \"natural\" } },`\n\t\t}\n\t},\n\t{\n\t\textends: [tseslint.configs.disableTypeChecked],\n\t\tfiles: [\"**/*.md/*.ts\"],\n\t\trules: {\n\t\t\t\"n/no-missing-import\": [\n\t\t\t\t\"error\",\n\t\t\t\t{ allowModules: [\"${options.repository}\"] },\n\t\t\t],\n\t\t},\n\t},${\n\t\toptions.excludeTests\n\t\t\t? \"\"\n\t\t\t: `\n\t{\n\t\textends: [vitest.configs.recommended],\n\t\tfiles: [\"**/*.test.*\"],\n\t\trules: { \"@typescript-eslint/no-unsafe-assignment\": \"off\" },\n\t},`\n\t}${\n\t\toptions.excludeLintYml\n\t\t\t? \"\"\n\t\t\t: `\n\t{\n\t\textends: [yml.configs[\"flat/recommended\"], yml.configs[\"flat/prettier\"]],\n\t\tfiles: [\"**/*.{yml,yaml}\"],\n\t\trules: {\n\t\t\t\"yml/file-extension\": [\"error\", { extension: \"yml\" }],\n\t\t\t\"yml/sort-keys\": [\n\t\t\t\t\"error\",\n\t\t\t\t{ order: { type: \"asc\" }, pathPattern: \"^.*$\" },\n\t\t\t],\n\t\t\t\"yml/sort-sequence-values\": [\n\t\t\t\t\"error\",\n\t\t\t\t{ order: { type: \"asc\" }, pathPattern: \"^.*$\" },\n\t\t\t],\n\t\t},\n\t},`\n\t}\n);\n`);\n}\n"],"mappings":"AACA,SAAS,wBAAwB;AAEjC,eAAsB,mBAAmB,SAAkB;AAC1D,QAAM,eAAe,QAAQ,oBAAoB,gBAAgB;AAEjE,QAAM,UAAU;AAAA,IACf,CAAC,QAAQ,qBACR;AAAA,IACD;AAAA,IACA,CAAC,QAAQ,gBAAgB;AAAA,IACzB,CAAC,QAAQ,oBAAoB;AAAA,IAC7B,CAAC,QAAQ,mBAAmB;AAAA,IAC5B,CAAC,QAAQ,iBAAiB;AAAA,IAC1B;AAAA,IACA,CAAC,QAAQ,0BACR;AAAA,IACD,CAAC,QAAQ,4BACR;AAAA,IACD,CAAC,QAAQ,qBACR;AAAA,IACD,CAAC,QAAQ,kBAAkB;AAAA,IAC3B;AAAA,EACD,EAAE,OAAO,OAAO;AAEhB,QAAM,WAAW;AAAA,IAChB;AAAA,IACA,CAAC,QAAQ,qBAAqB;AAAA,IAC9B,CAAC,QAAQ,oBACR;AAAA;AAAA;AAAA,IAGD,CAAC,QAAQ,mBAAmB;AAAA,IAC5B,CAAC,QAAQ,iBAAiB;AAAA,IAC1B;AAAA,IACA,CAAC,QAAQ,0BAA0B;AAAA,IACnC,CAAC,QAAQ,4BACR;AAAA,IACD,CAAC,QAAQ,qBAAqB;AAAA,EAC/B,EAAE,OAAO,OAAO;AAEhB,QAAM,UAAU;AAAA,IACf,GAAI,QAAQ,eAAe,CAAC,IAAI,CAAC,aAAa,UAAU;AAAA,IACxD;AAAA,IACA;AAAA,IACA;AAAA,EACD,EACE,IAAI,CAAC,WAAW,KAAK,UAAU,MAAM,CAAC,EACtC,KAAK;AAEP,QAAM,QACL,CAAC,QAAQ,wBACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYD,SAAO,MAAM,iBAAiB,GAAG,QAAQ,KAAK,IAAI,CAAC;AAAA;AAAA;AAAA,eAGrC,QAAQ,KAAK,IAAI,CAAC;AAAA;AAAA,GAE9B,SAAS,KAAK,IAAI,CAAC;AAAA;AAAA,aAGnB,QAAQ,uBACL,oBAAoB,YAAY,gBAChC;AAAA,sBACgB,YAAY;AAAA;AAAA,IAGhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQC,QACG;AAAA,WACK,KAAK,MACV,EACJ,GACC,QAAQ,2BACL,KACA;AAAA,8EAEJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAQsB,QAAQ,UAAU;AAAA;AAAA;AAAA,KAIxC,QAAQ,eACL,KACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMJ,GACC,QAAQ,iBACL,KACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBJ;AAAA;AAAA,CAEA;AACD;","names":[]}
|
|
@@ -3,9 +3,9 @@ import {
|
|
|
3
3
|
producePreset
|
|
4
4
|
} from "create";
|
|
5
5
|
import prettier from "prettier";
|
|
6
|
-
import { presetCommon } from "../../../next/presetCommon.js";
|
|
7
|
-
import { presetEverything } from "../../../next/presetEverything.js";
|
|
8
|
-
import { presetMinimal } from "../../../next/presetMinimal.js";
|
|
6
|
+
import { presetCommon } from "../../../next/presets/presetCommon.js";
|
|
7
|
+
import { presetEverything } from "../../../next/presets/presetEverything.js";
|
|
8
|
+
import { presetMinimal } from "../../../next/presets/presetMinimal.js";
|
|
9
9
|
import { createDotGitHub } from "./dotGitHub/index.js";
|
|
10
10
|
import { createDotHusky } from "./dotHusky.js";
|
|
11
11
|
import { createDotVSCode } from "./dotVSCode.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/steps/writing/creation/index.ts"],"sourcesContent":["import {\n\tCreatedFiles,\n\tproduceBase,\n\tproducePreset,\n\tSystemFetchers,\n} from \"create\";\nimport prettier from \"prettier\";\n\nimport { presetCommon } from \"../../../next/presetCommon.js\";\nimport { presetEverything } from \"../../../next/presetEverything.js\";\nimport { presetMinimal } from \"../../../next/presetMinimal.js\";\nimport { Options } from \"../../../shared/types.js\";\nimport { Structure } from \"../types.js\";\nimport { createDotGitHub } from \"./dotGitHub/index.js\";\nimport { createDotHusky } from \"./dotHusky.js\";\nimport { createDotVSCode } from \"./dotVSCode.js\";\nimport { createRootFiles } from \"./rootFiles.js\";\nimport { createSrc } from \"./src.js\";\n\nconst presets = {\n\tcommon: presetCommon,\n\teverything: presetEverything,\n\tminimal: presetMinimal,\n};\n\nexport async function createStructure(\n\tprovidedOptions: Options,\n\tuseNextEngine: boolean,\n\tfetchers?: SystemFetchers,\n): Promise<Structure> {\n\tconst preset =\n\t\tuseNextEngine &&\n\t\tprovidedOptions.base &&\n\t\tprovidedOptions.base !== \"prompt\" &&\n\t\tpresets[providedOptions.base];\n\n\tif (preset) {\n\t\tconst options = {\n\t\t\t...(await produceBase(preset.base, {\n\t\t\t\tfetchers,\n\t\t\t\toptions: providedOptions,\n\t\t\t})),\n\t\t\t...providedOptions,\n\t\t};\n\t\tconst creation = await producePreset(preset, {\n\t\t\tfetchers,\n\t\t\tmode: \"initialize\",\n\t\t\toptions,\n\t\t});\n\n\t\treturn await recursivelyFormat(creation.files);\n\t}\n\n\treturn {\n\t\t\".github\": await createDotGitHub(providedOptions),\n\t\t\".husky\": createDotHusky(),\n\t\t\".vscode\": await createDotVSCode(providedOptions),\n\t\t...(providedOptions.mode !== \"migrate\" && {\n\t\t\tsrc: await createSrc(providedOptions),\n\t\t}),\n\t\t...(await createRootFiles(providedOptions)),\n\t};\n}\n\nasync function recursivelyFormat(files: CreatedFiles): Promise<Structure> {\n\tconst result: Structure = {};\n\n\tfor (const [key, value] of Object.entries(files)) {\n\t\tif (Array.isArray(value)) {\n\t\t\tresult[key] = await formatCreatedFile(key, value[0]);\n\t\t} else if (typeof value === \"string\") {\n\t\t\tresult[key] = await formatCreatedFile(key, value);\n\t\t} else if (typeof value === \"object\") {\n\t\t\tresult[key] = await recursivelyFormat(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n\nconst asYaml = new Set([\n\t\".gitignore\",\n\t\".markdownlintignore\",\n\t\".nvmrc\",\n\t\".prettierignore\",\n\t\"pre-commit\",\n]);\n\nasync function formatCreatedFile(filepath: string, entry: string) {\n\t// For now, explicit yml files internally already have formatting applied\n\tif (filepath.endsWith(\".yml\")) {\n\t\treturn entry;\n\t}\n\n\treturn await prettier.format(entry, {\n\t\tuseTabs: true,\n\t\t...(asYaml.has(filepath) ? { parser: \"yaml\" } : { filepath }),\n\t});\n}\n"],"mappings":"AAAA;AAAA,EAEC;AAAA,EACA;AAAA,OAEM;AACP,OAAO,cAAc;AAErB,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAG9B,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAE1B,MAAM,UAAU;AAAA,EACf,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,SAAS;AACV;AAEA,eAAsB,gBACrB,iBACA,eACA,UACqB;AACrB,QAAM,SACL,iBACA,gBAAgB,QAChB,gBAAgB,SAAS,YACzB,QAAQ,gBAAgB,IAAI;AAE7B,MAAI,QAAQ;AACX,UAAM,UAAU;AAAA,MACf,GAAI,MAAM,YAAY,OAAO,MAAM;AAAA,QAClC;AAAA,QACA,SAAS;AAAA,MACV,CAAC;AAAA,MACD,GAAG;AAAA,IACJ;AACA,UAAM,WAAW,MAAM,cAAc,QAAQ;AAAA,MAC5C;AAAA,MACA,MAAM;AAAA,MACN;AAAA,IACD,CAAC;AAED,WAAO,MAAM,kBAAkB,SAAS,KAAK;AAAA,EAC9C;AAEA,SAAO;AAAA,IACN,WAAW,MAAM,gBAAgB,eAAe;AAAA,IAChD,UAAU,eAAe;AAAA,IACzB,WAAW,MAAM,gBAAgB,eAAe;AAAA,IAChD,GAAI,gBAAgB,SAAS,aAAa;AAAA,MACzC,KAAK,MAAM,UAAU,eAAe;AAAA,IACrC;AAAA,IACA,GAAI,MAAM,gBAAgB,eAAe;AAAA,EAC1C;AACD;AAEA,eAAe,kBAAkB,OAAyC;AACzE,QAAM,SAAoB,CAAC;AAE3B,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,GAAG;AACjD,QAAI,MAAM,QAAQ,KAAK,GAAG;AACzB,aAAO,GAAG,IAAI,MAAM,kBAAkB,KAAK,MAAM,CAAC,CAAC;AAAA,IACpD,WAAW,OAAO,UAAU,UAAU;AACrC,aAAO,GAAG,IAAI,MAAM,kBAAkB,KAAK,KAAK;AAAA,IACjD,WAAW,OAAO,UAAU,UAAU;AACrC,aAAO,GAAG,IAAI,MAAM,kBAAkB,KAAK;AAAA,IAC5C;AAAA,EACD;AAEA,SAAO;AACR;AAEA,MAAM,SAAS,oBAAI,IAAI;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAED,eAAe,kBAAkB,UAAkB,OAAe;AAEjE,MAAI,SAAS,SAAS,MAAM,GAAG;AAC9B,WAAO;AAAA,EACR;AAEA,SAAO,MAAM,SAAS,OAAO,OAAO;AAAA,IACnC,SAAS;AAAA,IACT,GAAI,OAAO,IAAI,QAAQ,IAAI,EAAE,QAAQ,OAAO,IAAI,EAAE,SAAS;AAAA,EAC5D,CAAC;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/steps/writing/creation/index.ts"],"sourcesContent":["import {\n\tCreatedFiles,\n\tproduceBase,\n\tproducePreset,\n\tSystemFetchers,\n} from \"create\";\nimport prettier from \"prettier\";\n\nimport { presetCommon } from \"../../../next/presets/presetCommon.js\";\nimport { presetEverything } from \"../../../next/presets/presetEverything.js\";\nimport { presetMinimal } from \"../../../next/presets/presetMinimal.js\";\nimport { Options } from \"../../../shared/types.js\";\nimport { Structure } from \"../types.js\";\nimport { createDotGitHub } from \"./dotGitHub/index.js\";\nimport { createDotHusky } from \"./dotHusky.js\";\nimport { createDotVSCode } from \"./dotVSCode.js\";\nimport { createRootFiles } from \"./rootFiles.js\";\nimport { createSrc } from \"./src.js\";\n\nconst presets = {\n\tcommon: presetCommon,\n\teverything: presetEverything,\n\tminimal: presetMinimal,\n};\n\nexport async function createStructure(\n\tprovidedOptions: Options,\n\tuseNextEngine: boolean,\n\tfetchers?: SystemFetchers,\n): Promise<Structure> {\n\tconst preset =\n\t\tuseNextEngine &&\n\t\tprovidedOptions.base &&\n\t\tprovidedOptions.base !== \"prompt\" &&\n\t\tpresets[providedOptions.base];\n\n\tif (preset) {\n\t\tconst options = {\n\t\t\t...(await produceBase(preset.base, {\n\t\t\t\tfetchers,\n\t\t\t\toptions: providedOptions,\n\t\t\t})),\n\t\t\t...providedOptions,\n\t\t};\n\t\tconst creation = await producePreset(preset, {\n\t\t\tfetchers,\n\t\t\tmode: \"initialize\",\n\t\t\toptions,\n\t\t});\n\n\t\treturn await recursivelyFormat(creation.files);\n\t}\n\n\treturn {\n\t\t\".github\": await createDotGitHub(providedOptions),\n\t\t\".husky\": createDotHusky(),\n\t\t\".vscode\": await createDotVSCode(providedOptions),\n\t\t...(providedOptions.mode !== \"migrate\" && {\n\t\t\tsrc: await createSrc(providedOptions),\n\t\t}),\n\t\t...(await createRootFiles(providedOptions)),\n\t};\n}\n\nasync function recursivelyFormat(files: CreatedFiles): Promise<Structure> {\n\tconst result: Structure = {};\n\n\tfor (const [key, value] of Object.entries(files)) {\n\t\tif (Array.isArray(value)) {\n\t\t\tresult[key] = await formatCreatedFile(key, value[0]);\n\t\t} else if (typeof value === \"string\") {\n\t\t\tresult[key] = await formatCreatedFile(key, value);\n\t\t} else if (typeof value === \"object\") {\n\t\t\tresult[key] = await recursivelyFormat(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n\nconst asYaml = new Set([\n\t\".gitignore\",\n\t\".markdownlintignore\",\n\t\".nvmrc\",\n\t\".prettierignore\",\n\t\"pre-commit\",\n]);\n\nasync function formatCreatedFile(filepath: string, entry: string) {\n\t// For now, explicit yml files internally already have formatting applied\n\tif (filepath.endsWith(\".yml\")) {\n\t\treturn entry;\n\t}\n\n\treturn await prettier.format(entry, {\n\t\tuseTabs: true,\n\t\t...(asYaml.has(filepath) ? { parser: \"yaml\" } : { filepath }),\n\t});\n}\n"],"mappings":"AAAA;AAAA,EAEC;AAAA,EACA;AAAA,OAEM;AACP,OAAO,cAAc;AAErB,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAG9B,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAE1B,MAAM,UAAU;AAAA,EACf,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,SAAS;AACV;AAEA,eAAsB,gBACrB,iBACA,eACA,UACqB;AACrB,QAAM,SACL,iBACA,gBAAgB,QAChB,gBAAgB,SAAS,YACzB,QAAQ,gBAAgB,IAAI;AAE7B,MAAI,QAAQ;AACX,UAAM,UAAU;AAAA,MACf,GAAI,MAAM,YAAY,OAAO,MAAM;AAAA,QAClC;AAAA,QACA,SAAS;AAAA,MACV,CAAC;AAAA,MACD,GAAG;AAAA,IACJ;AACA,UAAM,WAAW,MAAM,cAAc,QAAQ;AAAA,MAC5C;AAAA,MACA,MAAM;AAAA,MACN;AAAA,IACD,CAAC;AAED,WAAO,MAAM,kBAAkB,SAAS,KAAK;AAAA,EAC9C;AAEA,SAAO;AAAA,IACN,WAAW,MAAM,gBAAgB,eAAe;AAAA,IAChD,UAAU,eAAe;AAAA,IACzB,WAAW,MAAM,gBAAgB,eAAe;AAAA,IAChD,GAAI,gBAAgB,SAAS,aAAa;AAAA,MACzC,KAAK,MAAM,UAAU,eAAe;AAAA,IACrC;AAAA,IACA,GAAI,MAAM,gBAAgB,eAAe;AAAA,EAC1C;AACD;AAEA,eAAe,kBAAkB,OAAyC;AACzE,QAAM,SAAoB,CAAC;AAE3B,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,GAAG;AACjD,QAAI,MAAM,QAAQ,KAAK,GAAG;AACzB,aAAO,GAAG,IAAI,MAAM,kBAAkB,KAAK,MAAM,CAAC,CAAC;AAAA,IACpD,WAAW,OAAO,UAAU,UAAU;AACrC,aAAO,GAAG,IAAI,MAAM,kBAAkB,KAAK,KAAK;AAAA,IACjD,WAAW,OAAO,UAAU,UAAU;AACrC,aAAO,GAAG,IAAI,MAAM,kBAAkB,KAAK;AAAA,IAC5C;AAAA,EACD;AAEA,SAAO;AACR;AAEA,MAAM,SAAS,oBAAI,IAAI;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAED,eAAe,kBAAkB,UAAkB,OAAe;AAEjE,MAAI,SAAS,SAAS,MAAM,GAAG;AAC9B,WAAO;AAAA,EACR;AAEA,SAAO,MAAM,SAAS,OAAO,OAAO;AAAA,IACnC,SAAS;AAAA,IACT,GAAI,OAAO,IAAI,QAAQ,IAAI,EAAE,QAAQ,OAAO,IAAI,EAAE,SAAS;AAAA,EAC5D,CAAC;AACF;","names":[]}
|
|
@@ -28,7 +28,6 @@ async function createRootFiles(options) {
|
|
|
28
28
|
".nvmrc": `20.18.0
|
|
29
29
|
`,
|
|
30
30
|
".prettierignore": formatIgnoreFile([
|
|
31
|
-
...options.excludeAllContributors ? [] : ["/.all-contributorsrc"],
|
|
32
31
|
"/.husky",
|
|
33
32
|
...options.excludeTests ? [] : ["/coverage"],
|
|
34
33
|
"/lib",
|
|
@@ -66,7 +65,19 @@ async function createRootFiles(options) {
|
|
|
66
65
|
plugins: {
|
|
67
66
|
"@release-it/conventional-changelog": {
|
|
68
67
|
infile: "CHANGELOG.md",
|
|
69
|
-
preset: "angular"
|
|
68
|
+
preset: "angular",
|
|
69
|
+
types: [
|
|
70
|
+
{ section: "Features", type: "feat" },
|
|
71
|
+
{ section: "Bug Fixes", type: "fix" },
|
|
72
|
+
{ section: "Performance Improvements", type: "perf" },
|
|
73
|
+
{ hidden: true, type: "build" },
|
|
74
|
+
{ hidden: true, type: "chore" },
|
|
75
|
+
{ hidden: true, type: "ci" },
|
|
76
|
+
{ hidden: true, type: "docs" },
|
|
77
|
+
{ hidden: true, type: "refactor" },
|
|
78
|
+
{ hidden: true, type: "style" },
|
|
79
|
+
{ hidden: true, type: "test" }
|
|
80
|
+
]
|
|
70
81
|
}
|
|
71
82
|
}
|
|
72
83
|
})
|
|
@@ -124,7 +135,6 @@ export default defineConfig({
|
|
|
124
135
|
clearMocks: true,
|
|
125
136
|
coverage: {
|
|
126
137
|
all: true,
|
|
127
|
-
exclude: ["lib"],
|
|
128
138
|
include: ["src"],
|
|
129
139
|
reporter: ["html", "lcov"],
|
|
130
140
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/steps/writing/creation/rootFiles.ts"],"sourcesContent":["import { Options } from \"../../../shared/types.js\";\nimport { createCSpellConfig } from \"./createCSpellConfig.js\";\nimport { createDotGitignore } from \"./createDotGitignore.js\";\nimport { createESLintConfig } from \"./createESLintConfig.js\";\nimport { createKnipConfig } from \"./createKnipConfig.js\";\nimport { createTsupConfig } from \"./createTsupConfig.js\";\nimport { formatIgnoreFile } from \"./formatters/formatIgnoreFile.js\";\nimport { formatJson } from \"./formatters/formatJson.js\";\nimport { writeAllContributorsRC } from \"./writeAllContributorsRC.js\";\nimport { writePackageJson } from \"./writePackageJson.js\";\n\nexport async function createRootFiles(options: Options) {\n\treturn {\n\t\t\".all-contributorsrc\": await writeAllContributorsRC(options),\n\t\t\".gitignore\": createDotGitignore(options),\n\t\t\"eslint.config.js\": await createESLintConfig(options),\n\t\t...(!options.excludeLintMd && {\n\t\t\t\".markdownlint.json\": await formatJson({\n\t\t\t\textends: \"markdownlint/style/prettier\",\n\t\t\t\t\"first-line-h1\": false,\n\t\t\t\t\"no-inline-html\": false,\n\t\t\t}),\n\t\t\t\".markdownlintignore\": formatIgnoreFile([\n\t\t\t\t\".github/CODE_OF_CONDUCT.md\",\n\t\t\t\t\"CHANGELOG.md\",\n\t\t\t\t\"lib/\",\n\t\t\t\t\"node_modules/\",\n\t\t\t]),\n\t\t}),\n\t\t\".nvmrc\": `20.18.0\\n`,\n\t\t\".prettierignore\": formatIgnoreFile([\n\t\t\t
|
|
1
|
+
{"version":3,"sources":["../../../../src/steps/writing/creation/rootFiles.ts"],"sourcesContent":["import { Options } from \"../../../shared/types.js\";\nimport { createCSpellConfig } from \"./createCSpellConfig.js\";\nimport { createDotGitignore } from \"./createDotGitignore.js\";\nimport { createESLintConfig } from \"./createESLintConfig.js\";\nimport { createKnipConfig } from \"./createKnipConfig.js\";\nimport { createTsupConfig } from \"./createTsupConfig.js\";\nimport { formatIgnoreFile } from \"./formatters/formatIgnoreFile.js\";\nimport { formatJson } from \"./formatters/formatJson.js\";\nimport { writeAllContributorsRC } from \"./writeAllContributorsRC.js\";\nimport { writePackageJson } from \"./writePackageJson.js\";\n\nexport async function createRootFiles(options: Options) {\n\treturn {\n\t\t\".all-contributorsrc\": await writeAllContributorsRC(options),\n\t\t\".gitignore\": createDotGitignore(options),\n\t\t\"eslint.config.js\": await createESLintConfig(options),\n\t\t...(!options.excludeLintMd && {\n\t\t\t\".markdownlint.json\": await formatJson({\n\t\t\t\textends: \"markdownlint/style/prettier\",\n\t\t\t\t\"first-line-h1\": false,\n\t\t\t\t\"no-inline-html\": false,\n\t\t\t}),\n\t\t\t\".markdownlintignore\": formatIgnoreFile([\n\t\t\t\t\".github/CODE_OF_CONDUCT.md\",\n\t\t\t\t\"CHANGELOG.md\",\n\t\t\t\t\"lib/\",\n\t\t\t\t\"node_modules/\",\n\t\t\t]),\n\t\t}),\n\t\t\".nvmrc\": `20.18.0\\n`,\n\t\t\".prettierignore\": formatIgnoreFile([\n\t\t\t\"/.husky\",\n\t\t\t...(options.excludeTests ? [] : [\"/coverage\"]),\n\t\t\t\"/lib\",\n\t\t\t\"/pnpm-lock.yaml\",\n\t\t]),\n\t\t\".prettierrc.json\": await formatJson({\n\t\t\t$schema: \"http://json.schemastore.org/prettierrc\",\n\t\t\toverrides: [\n\t\t\t\t{\n\t\t\t\t\tfiles: \".nvmrc\",\n\t\t\t\t\toptions: { parser: \"yaml\" },\n\t\t\t\t},\n\t\t\t],\n\t\t\tplugins: [\n\t\t\t\t\"prettier-plugin-curly\",\n\t\t\t\t\"prettier-plugin-packagejson\",\n\t\t\t\t\"prettier-plugin-sh\",\n\t\t\t],\n\t\t\tuseTabs: true,\n\t\t}),\n\t\t...(!options.excludeReleases && {\n\t\t\t\".release-it.json\": await formatJson({\n\t\t\t\tgit: {\n\t\t\t\t\tcommitMessage: \"chore: release v${version}\",\n\t\t\t\t\trequireCommits: true,\n\t\t\t\t},\n\t\t\t\tgithub: {\n\t\t\t\t\tautoGenerate: true,\n\t\t\t\t\trelease: true,\n\t\t\t\t\treleaseName: \"v${version}\",\n\t\t\t\t},\n\t\t\t\tnpm: {\n\t\t\t\t\tpublishArgs: [`--access ${options.access}`, \"--provenance\"],\n\t\t\t\t},\n\t\t\t\tplugins: {\n\t\t\t\t\t\"@release-it/conventional-changelog\": {\n\t\t\t\t\t\tinfile: \"CHANGELOG.md\",\n\t\t\t\t\t\tpreset: \"angular\",\n\t\t\t\t\t\ttypes: [\n\t\t\t\t\t\t\t{ section: \"Features\", type: \"feat\" },\n\t\t\t\t\t\t\t{ section: \"Bug Fixes\", type: \"fix\" },\n\t\t\t\t\t\t\t{ section: \"Performance Improvements\", type: \"perf\" },\n\t\t\t\t\t\t\t{ hidden: true, type: \"build\" },\n\t\t\t\t\t\t\t{ hidden: true, type: \"chore\" },\n\t\t\t\t\t\t\t{ hidden: true, type: \"ci\" },\n\t\t\t\t\t\t\t{ hidden: true, type: \"docs\" },\n\t\t\t\t\t\t\t{ hidden: true, type: \"refactor\" },\n\t\t\t\t\t\t\t{ hidden: true, type: \"style\" },\n\t\t\t\t\t\t\t{ hidden: true, type: \"test\" },\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\t\"LICENSE.md\": `# MIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n`,\n\t\t...(!options.excludeLintSpelling && {\n\t\t\t\"cspell.json\": await createCSpellConfig(options),\n\t\t}),\n\t\t...(!options.excludeLintKnip && {\n\t\t\t\"knip.json\": await createKnipConfig(),\n\t\t}),\n\t\t\"package.json\": await writePackageJson(options),\n\t\t\"tsconfig.json\": await formatJson({\n\t\t\tcompilerOptions: {\n\t\t\t\tdeclaration: true,\n\t\t\t\tdeclarationMap: true,\n\t\t\t\tesModuleInterop: true,\n\t\t\t\tmodule: \"NodeNext\",\n\t\t\t\tmoduleResolution: \"NodeNext\",\n\t\t\t\tnoEmit: true,\n\t\t\t\tresolveJsonModule: true,\n\t\t\t\tskipLibCheck: true,\n\t\t\t\tsourceMap: true,\n\t\t\t\tstrict: true,\n\t\t\t\ttarget: \"ES2022\",\n\t\t\t},\n\t\t\tinclude: [\"src\"],\n\t\t}),\n\t\t\"tsup.config.ts\": await createTsupConfig(options),\n\t\t...(!options.excludeTests && {\n\t\t\t\"vitest.config.ts\": `import { defineConfig } from \"vitest/config\";\n\nexport default defineConfig({\n\ttest: {\n\t\tclearMocks: true,\n\t\tcoverage: {\n\t\t\tall: true,\n\t\t\tinclude: [\"src\"],\n\t\t\treporter: [\"html\", \"lcov\"],\n\t\t},\n\t\texclude: [\"lib\", \"node_modules\"],\n\t\tsetupFiles: [\"console-fail-test/setup\"],\n\t},\n});\n`,\n\t\t}),\n\t};\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-typescript-app",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.81.0",
|
|
4
4
|
"description": "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. ❤️🔥",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"scripts": {
|
|
25
25
|
"build": "tsup",
|
|
26
26
|
"format": "prettier .",
|
|
27
|
-
"initialize": "tsx ./bin/index.js --mode initialize",
|
|
27
|
+
"initialize": "pnpm build --no-dts && tsx ./bin/index.js --mode initialize",
|
|
28
28
|
"lint": "eslint . --max-warnings 0",
|
|
29
29
|
"lint:knip": "knip",
|
|
30
30
|
"lint:md": "markdownlint \"**/*.md\" \".github/**/*.md\" --rules sentences-per-line",
|
|
@@ -49,6 +49,8 @@
|
|
|
49
49
|
"execa": "^9.5.2",
|
|
50
50
|
"git-remote-origin-url": "^4.0.0",
|
|
51
51
|
"git-url-parse": "^16.0.0",
|
|
52
|
+
"html-to-text": "^9.0.5",
|
|
53
|
+
"image-size": "^1.2.0",
|
|
52
54
|
"input-from-file": "0.1.0-alpha.4",
|
|
53
55
|
"input-from-file-json": "0.1.0-alpha.4",
|
|
54
56
|
"input-from-script": "0.1.0-alpha.4",
|
|
@@ -78,6 +80,7 @@
|
|
|
78
80
|
"@release-it/conventional-changelog": "9.0.3",
|
|
79
81
|
"@types/eslint-plugin-markdown": "2.0.2",
|
|
80
82
|
"@types/git-url-parse": "9.0.3",
|
|
83
|
+
"@types/html-to-text": "^9.0.4",
|
|
81
84
|
"@types/js-yaml": "4.0.9",
|
|
82
85
|
"@types/node": "22.10.2",
|
|
83
86
|
"@types/parse-author": "2.0.3",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/next/presetCommon.ts"],"sourcesContent":["import { base } from \"./base.js\";\nimport { blockAllContributors } from \"./blocks/blockAllContributors.js\";\nimport { blockReleaseIt } from \"./blocks/blockReleaseIt.js\";\nimport { blockVitest } from \"./blocks/blockVitest.js\";\nimport { presetMinimal } from \"./presetMinimal.js\";\n\nexport const presetCommon = base.createPreset({\n\tabout: {\n\t\tdescription:\n\t\t\t\"Bare starters plus testing and automation for all-contributors and releases.\",\n\t\tname: \"Common\",\n\t},\n\tblocks: [\n\t\t...presetMinimal.blocks,\n\t\tblockAllContributors,\n\t\tblockReleaseIt,\n\t\tblockVitest,\n\t],\n});\n"],"mappings":"AAAA,SAAS,YAAY;AACrB,SAAS,4BAA4B;AACrC,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAEvB,MAAM,eAAe,KAAK,aAAa;AAAA,EAC7C,OAAO;AAAA,IACN,aACC;AAAA,IACD,MAAM;AAAA,EACP;AAAA,EACA,QAAQ;AAAA,IACP,GAAG,cAAc;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD,CAAC;","names":[]}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { base } from "./base.js";
|
|
2
|
-
import { blockCSpell } from "./blocks/blockCSpell.js";
|
|
3
|
-
import { blockESLintComments } from "./blocks/blockESLintComments.js";
|
|
4
|
-
import { blockESLintJSDoc } from "./blocks/blockESLintJSDoc.js";
|
|
5
|
-
import { blockESLintJSONC } from "./blocks/blockESLintJSONC.js";
|
|
6
|
-
import { blockESLintMarkdown } from "./blocks/blockESLintMarkdown.js";
|
|
7
|
-
import { blockESLintMoreStyling } from "./blocks/blockESLintMoreStyling.js";
|
|
8
|
-
import { blockESLintNode } from "./blocks/blockESLintNode.js";
|
|
9
|
-
import { blockESLintPackageJson } from "./blocks/blockESLintPackageJson.js";
|
|
10
|
-
import { blockESLintPerfectionist } from "./blocks/blockESLintPerfectionist.js";
|
|
11
|
-
import { blockESLintRegexp } from "./blocks/blockESLintRegexp.js";
|
|
12
|
-
import { blockESLintYML } from "./blocks/blockESLintYML.js";
|
|
13
|
-
import { blockKnip } from "./blocks/blockKnip.js";
|
|
14
|
-
import { blockMarkdownlint } from "./blocks/blockMarkdownlint.js";
|
|
15
|
-
import { blockNvmrc } from "./blocks/blockNvmrc.js";
|
|
16
|
-
import { blockPnpmDedupe } from "./blocks/blockPnpmDedupe.js";
|
|
17
|
-
import { blockPRCompliance } from "./blocks/blockPRCompliance.js";
|
|
18
|
-
import { blockPrettierPluginCurly } from "./blocks/blockPrettierPluginCurly.js";
|
|
19
|
-
import { blockPrettierPluginPackageJson } from "./blocks/blockPrettierPluginPackageJson.js";
|
|
20
|
-
import { blockPrettierPluginSh } from "./blocks/blockPrettierPluginSh.js";
|
|
21
|
-
import { blockRenovate } from "./blocks/blockRenovate.js";
|
|
22
|
-
import { blockSecurityDocs } from "./blocks/blockSecurityDocs.js";
|
|
23
|
-
import { blockVSCode } from "./blocks/blockVSCode.js";
|
|
24
|
-
import { presetCommon } from "./presetCommon.js";
|
|
25
|
-
const presetEverything = base.createPreset({
|
|
26
|
-
about: {
|
|
27
|
-
description: "The most comprehensive tooling imaginable: sorting, spellchecking, and more!",
|
|
28
|
-
name: "Everything"
|
|
29
|
-
},
|
|
30
|
-
blocks: [
|
|
31
|
-
...presetCommon.blocks,
|
|
32
|
-
blockCSpell,
|
|
33
|
-
blockESLintComments,
|
|
34
|
-
blockESLintJSDoc,
|
|
35
|
-
blockESLintJSONC,
|
|
36
|
-
blockESLintMarkdown,
|
|
37
|
-
blockESLintMoreStyling,
|
|
38
|
-
blockESLintNode,
|
|
39
|
-
blockESLintPackageJson,
|
|
40
|
-
blockESLintPerfectionist,
|
|
41
|
-
blockESLintRegexp,
|
|
42
|
-
blockESLintYML,
|
|
43
|
-
blockKnip,
|
|
44
|
-
blockMarkdownlint,
|
|
45
|
-
blockNvmrc,
|
|
46
|
-
blockPnpmDedupe,
|
|
47
|
-
blockPRCompliance,
|
|
48
|
-
blockPrettierPluginCurly,
|
|
49
|
-
blockPrettierPluginPackageJson,
|
|
50
|
-
blockPrettierPluginSh,
|
|
51
|
-
blockRenovate,
|
|
52
|
-
blockSecurityDocs,
|
|
53
|
-
blockVSCode
|
|
54
|
-
]
|
|
55
|
-
});
|
|
56
|
-
export {
|
|
57
|
-
presetEverything
|
|
58
|
-
};
|
|
59
|
-
//# sourceMappingURL=presetEverything.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/next/presetEverything.ts"],"sourcesContent":["import { base } from \"./base.js\";\nimport { blockCSpell } from \"./blocks/blockCSpell.js\";\nimport { blockESLintComments } from \"./blocks/blockESLintComments.js\";\nimport { blockESLintJSDoc } from \"./blocks/blockESLintJSDoc.js\";\nimport { blockESLintJSONC } from \"./blocks/blockESLintJSONC.js\";\nimport { blockESLintMarkdown } from \"./blocks/blockESLintMarkdown.js\";\nimport { blockESLintMoreStyling } from \"./blocks/blockESLintMoreStyling.js\";\nimport { blockESLintNode } from \"./blocks/blockESLintNode.js\";\nimport { blockESLintPackageJson } from \"./blocks/blockESLintPackageJson.js\";\nimport { blockESLintPerfectionist } from \"./blocks/blockESLintPerfectionist.js\";\nimport { blockESLintRegexp } from \"./blocks/blockESLintRegexp.js\";\nimport { blockESLintYML } from \"./blocks/blockESLintYML.js\";\nimport { blockKnip } from \"./blocks/blockKnip.js\";\nimport { blockMarkdownlint } from \"./blocks/blockMarkdownlint.js\";\nimport { blockNvmrc } from \"./blocks/blockNvmrc.js\";\nimport { blockPnpmDedupe } from \"./blocks/blockPnpmDedupe.js\";\nimport { blockPRCompliance } from \"./blocks/blockPRCompliance.js\";\nimport { blockPrettierPluginCurly } from \"./blocks/blockPrettierPluginCurly.js\";\nimport { blockPrettierPluginPackageJson } from \"./blocks/blockPrettierPluginPackageJson.js\";\nimport { blockPrettierPluginSh } from \"./blocks/blockPrettierPluginSh.js\";\nimport { blockRenovate } from \"./blocks/blockRenovate.js\";\nimport { blockSecurityDocs } from \"./blocks/blockSecurityDocs.js\";\nimport { blockVSCode } from \"./blocks/blockVSCode.js\";\nimport { presetCommon } from \"./presetCommon.js\";\n\nexport const presetEverything = base.createPreset({\n\tabout: {\n\t\tdescription:\n\t\t\t\"The most comprehensive tooling imaginable: sorting, spellchecking, and more!\",\n\t\tname: \"Everything\",\n\t},\n\tblocks: [\n\t\t...presetCommon.blocks,\n\t\tblockCSpell,\n\t\tblockESLintComments,\n\t\tblockESLintJSDoc,\n\t\tblockESLintJSONC,\n\t\tblockESLintMarkdown,\n\t\tblockESLintMoreStyling,\n\t\tblockESLintNode,\n\t\tblockESLintPackageJson,\n\t\tblockESLintPerfectionist,\n\t\tblockESLintRegexp,\n\t\tblockESLintYML,\n\t\tblockKnip,\n\t\tblockMarkdownlint,\n\t\tblockNvmrc,\n\t\tblockPnpmDedupe,\n\t\tblockPRCompliance,\n\t\tblockPrettierPluginCurly,\n\t\tblockPrettierPluginPackageJson,\n\t\tblockPrettierPluginSh,\n\t\tblockRenovate,\n\t\tblockSecurityDocs,\n\t\tblockVSCode,\n\t],\n});\n"],"mappings":"AAAA,SAAS,YAAY;AACrB,SAAS,mBAAmB;AAC5B,SAAS,2BAA2B;AACpC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAAS,8BAA8B;AACvC,SAAS,uBAAuB;AAChC,SAAS,8BAA8B;AACvC,SAAS,gCAAgC;AACzC,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,iBAAiB;AAC1B,SAAS,yBAAyB;AAClC,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AAChC,SAAS,yBAAyB;AAClC,SAAS,gCAAgC;AACzC,SAAS,sCAAsC;AAC/C,SAAS,6BAA6B;AACtC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAClC,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAEtB,MAAM,mBAAmB,KAAK,aAAa;AAAA,EACjD,OAAO;AAAA,IACN,aACC;AAAA,IACD,MAAM;AAAA,EACP;AAAA,EACA,QAAQ;AAAA,IACP,GAAG,aAAa;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD,CAAC;","names":[]}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { base } from "./base.js";
|
|
2
|
-
import { blockContributingDocs } from "./blocks/blockContributingDocs.js";
|
|
3
|
-
import { blockContributorCovenant } from "./blocks/blockContributorCovenant.js";
|
|
4
|
-
import { blockDevelopmentDocs } from "./blocks/blockDevelopmentDocs.js";
|
|
5
|
-
import { blockESLint } from "./blocks/blockESLint.js";
|
|
6
|
-
import { blockExampleFiles } from "./blocks/blockExampleFiles.js";
|
|
7
|
-
import { blockFunding } from "./blocks/blockFunding.js";
|
|
8
|
-
import { blockGitHubActionsCI } from "./blocks/blockGitHubActionsCI.js";
|
|
9
|
-
import { blockGitHubApps } from "./blocks/blockGitHubApps.js";
|
|
10
|
-
import { blockGitHubIssueTemplates } from "./blocks/blockGitHubIssueTemplates.js";
|
|
11
|
-
import { blockGitHubPRTemplate } from "./blocks/blockGitHubPRTemplate.js";
|
|
12
|
-
import { blockGitignore } from "./blocks/blockGitignore.js";
|
|
13
|
-
import { blockMITLicense } from "./blocks/blockMITLicense.js";
|
|
14
|
-
import { blockPackageJson } from "./blocks/blockPackageJson.js";
|
|
15
|
-
import { blockPrettier } from "./blocks/blockPrettier.js";
|
|
16
|
-
import { blockREADME } from "./blocks/blockREADME.js";
|
|
17
|
-
import { blockRepositoryBranchRuleset } from "./blocks/blockRepositoryBranchRuleset.js";
|
|
18
|
-
import { blockRepositoryLabels } from "./blocks/blockRepositoryLabels.js";
|
|
19
|
-
import { blockRepositorySecrets } from "./blocks/blockRepositorySecrets.js";
|
|
20
|
-
import { blockRepositorySettings } from "./blocks/blockRepositorySettings.js";
|
|
21
|
-
import { blockTemplatedBy } from "./blocks/blockTemplatedBy.js";
|
|
22
|
-
import { blockTSup } from "./blocks/blockTSup.js";
|
|
23
|
-
import { blockTypeScript } from "./blocks/blockTypeScript.js";
|
|
24
|
-
const presetMinimal = base.createPreset({
|
|
25
|
-
about: {
|
|
26
|
-
description: "Just bare starter tooling: building, formatting, linting, and type checking.",
|
|
27
|
-
name: "Minimal"
|
|
28
|
-
},
|
|
29
|
-
blocks: [
|
|
30
|
-
blockContributingDocs,
|
|
31
|
-
blockContributorCovenant,
|
|
32
|
-
blockDevelopmentDocs,
|
|
33
|
-
blockESLint,
|
|
34
|
-
blockExampleFiles,
|
|
35
|
-
blockFunding,
|
|
36
|
-
blockGitHubActionsCI,
|
|
37
|
-
blockGitHubApps,
|
|
38
|
-
blockGitHubIssueTemplates,
|
|
39
|
-
blockGitHubPRTemplate,
|
|
40
|
-
blockGitignore,
|
|
41
|
-
blockMITLicense,
|
|
42
|
-
blockPackageJson,
|
|
43
|
-
blockPrettier,
|
|
44
|
-
blockREADME,
|
|
45
|
-
blockRepositoryBranchRuleset,
|
|
46
|
-
blockRepositoryLabels,
|
|
47
|
-
blockRepositorySecrets,
|
|
48
|
-
blockRepositorySettings,
|
|
49
|
-
blockTemplatedBy,
|
|
50
|
-
blockTSup,
|
|
51
|
-
blockTypeScript
|
|
52
|
-
]
|
|
53
|
-
});
|
|
54
|
-
export {
|
|
55
|
-
presetMinimal
|
|
56
|
-
};
|
|
57
|
-
//# sourceMappingURL=presetMinimal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/next/presetMinimal.ts"],"sourcesContent":["import { base } from \"./base.js\";\nimport { blockContributingDocs } from \"./blocks/blockContributingDocs.js\";\nimport { blockContributorCovenant } from \"./blocks/blockContributorCovenant.js\";\nimport { blockDevelopmentDocs } from \"./blocks/blockDevelopmentDocs.js\";\nimport { blockESLint } from \"./blocks/blockESLint.js\";\nimport { blockExampleFiles } from \"./blocks/blockExampleFiles.js\";\nimport { blockFunding } from \"./blocks/blockFunding.js\";\nimport { blockGitHubActionsCI } from \"./blocks/blockGitHubActionsCI.js\";\nimport { blockGitHubApps } from \"./blocks/blockGitHubApps.js\";\nimport { blockGitHubIssueTemplates } from \"./blocks/blockGitHubIssueTemplates.js\";\nimport { blockGitHubPRTemplate } from \"./blocks/blockGitHubPRTemplate.js\";\nimport { blockGitignore } from \"./blocks/blockGitignore.js\";\nimport { blockMITLicense } from \"./blocks/blockMITLicense.js\";\nimport { blockPackageJson } from \"./blocks/blockPackageJson.js\";\nimport { blockPrettier } from \"./blocks/blockPrettier.js\";\nimport { blockREADME } from \"./blocks/blockREADME.js\";\nimport { blockRepositoryBranchRuleset } from \"./blocks/blockRepositoryBranchRuleset.js\";\nimport { blockRepositoryLabels } from \"./blocks/blockRepositoryLabels.js\";\nimport { blockRepositorySecrets } from \"./blocks/blockRepositorySecrets.js\";\nimport { blockRepositorySettings } from \"./blocks/blockRepositorySettings.js\";\nimport { blockTemplatedBy } from \"./blocks/blockTemplatedBy.js\";\nimport { blockTSup } from \"./blocks/blockTSup.js\";\nimport { blockTypeScript } from \"./blocks/blockTypeScript.js\";\n\nexport const presetMinimal = base.createPreset({\n\tabout: {\n\t\tdescription:\n\t\t\t\"Just bare starter tooling: building, formatting, linting, and type checking.\",\n\t\tname: \"Minimal\",\n\t},\n\tblocks: [\n\t\tblockContributingDocs,\n\t\tblockContributorCovenant,\n\t\tblockDevelopmentDocs,\n\t\tblockESLint,\n\t\tblockExampleFiles,\n\t\tblockFunding,\n\t\tblockGitHubActionsCI,\n\t\tblockGitHubApps,\n\t\tblockGitHubIssueTemplates,\n\t\tblockGitHubPRTemplate,\n\t\tblockGitignore,\n\t\tblockMITLicense,\n\t\tblockPackageJson,\n\t\tblockPrettier,\n\t\tblockREADME,\n\t\tblockRepositoryBranchRuleset,\n\t\tblockRepositoryLabels,\n\t\tblockRepositorySecrets,\n\t\tblockRepositorySettings,\n\t\tblockTemplatedBy,\n\t\tblockTSup,\n\t\tblockTypeScript,\n\t],\n});\n"],"mappings":"AAAA,SAAS,YAAY;AACrB,SAAS,6BAA6B;AACtC,SAAS,gCAAgC;AACzC,SAAS,4BAA4B;AACrC,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,oBAAoB;AAC7B,SAAS,4BAA4B;AACrC,SAAS,uBAAuB;AAChC,SAAS,iCAAiC;AAC1C,SAAS,6BAA6B;AACtC,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAC5B,SAAS,oCAAoC;AAC7C,SAAS,6BAA6B;AACtC,SAAS,8BAA8B;AACvC,SAAS,+BAA+B;AACxC,SAAS,wBAAwB;AACjC,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAEzB,MAAM,gBAAgB,KAAK,aAAa;AAAA,EAC9C,OAAO;AAAA,IACN,aACC;AAAA,IACD,MAAM;AAAA,EACP;AAAA,EACA,QAAQ;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD,CAAC;","names":[]}
|