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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/next/blocks/blockVitest.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { base } from \"../base.js\";\nimport { blockCSpell } from \"./blockCSpell.js\";\nimport { blockDevelopmentDocs } from \"./blockDevelopmentDocs.js\";\nimport { blockESLint } from \"./blockESLint.js\";\nimport { blockExampleFiles } from \"./blockExampleFiles.js\";\nimport { blockGitHubActionsCI } from \"./blockGitHubActionsCI.js\";\nimport { blockGitHubApps } from \"./blockGitHubApps.js\";\nimport { blockGitignore } from \"./blockGitignore.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\nimport { blockPrettier } from \"./blockPrettier.js\";\nimport { blockTSup } from \"./blockTSup.js\";\nimport { blockVSCode } from \"./blockVSCode.js\";\nimport { getPackageDependencies } from \"./packageData.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockVitest = base.createBlock({\n\tabout: {\n\t\tname: \"Vitest\",\n\t},\n\taddons: {\n\t\tcoverage: z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t\tflags: z.string().optional(),\n\t\t\t})\n\t\t\t.default({ directory: \"coverage\" }),\n\t\texclude: z.array(z.string()).default([]),\n\t\tinclude: z.array(z.string()).default([]),\n\t},\n\tmigrate() {\n\t\treturn {\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\n\t\t\t\t\t\t\"rm .github/codecov.yml .mocha* codecov.yml jest.config.*\",\n\t\t\t\t\t],\n\t\t\t\t\tphase: CommandPhase.Migrations,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\tproduce({ addons }) {\n\t\tconst { coverage, exclude = [], include = [] } = addons;\n\t\tconst excludeText = JSON.stringify(exclude);\n\t\tconst includeText = JSON.stringify(include);\n\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockCSpell({\n\t\t\t\t\tignores: [coverage.directory],\n\t\t\t\t}),\n\t\t\t\tblockDevelopmentDocs({\n\t\t\t\t\tsections: {\n\t\t\t\t\t\tTesting: {\n\t\t\t\t\t\t\tcontents: `\n[Vitest](https://vitest.dev) is used for tests.\nYou can run it locally on the command-line:\n\n\\`\\`\\`shell\npnpm run test\n\\`\\`\\`\n\nAdd the \\`--coverage\\` flag to compute test coverage and place reports in the \\`coverage/\\` directory:\n\n\\`\\`\\`shell\npnpm run test --coverage\n\\`\\`\\`\n\nNote that [console-fail-test](https://github.com/JoshuaKGoldberg/console-fail-test) is enabled for all test runs.\nCalls to \\`console.log\\`, \\`console.warn\\`, and other console methods will cause a test to fail.\n\n\n\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: [\"vitest.configs.recommended\"],\n\t\t\t\t\t\t\tfiles: [\"**/*.test.*\"],\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\tentries: {\n\t\t\t\t\t\t\t\t\t\t\"@typescript-eslint/no-unsafe-assignment\": \"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],\n\t\t\t\t\tignores: [coverage.directory, \"**/*.snap\"],\n\t\t\t\t\timports: [{ source: \"@vitest/eslint-plugin\", specifier: \"vitest\" }],\n\t\t\t\t}),\n\t\t\t\tblockExampleFiles({\n\t\t\t\t\tfiles: {\n\t\t\t\t\t\t\"greet.test.ts\": `import { describe, expect, it, vi } from \"vitest\";\n\nimport { greet } from \"./greet.js\";\n\nconst message = \"Yay, testing!\";\n\ndescribe(\"greet\", () => {\n\tit(\"logs to the console once when message is provided as a string\", () => {\n\t\tconst logger = vi.spyOn(console, \"log\").mockImplementation(() => undefined);\n\n\t\tgreet(message);\n\n\t\texpect(logger).toHaveBeenCalledWith(message);\n\t\texpect(logger).toHaveBeenCalledTimes(1);\n\t});\n\n\tit(\"logs to the console once when message is provided as an object\", () => {\n\t\tconst logger = vi.spyOn(console, \"log\").mockImplementation(() => undefined);\n\n\t\tgreet({ message });\n\n\t\texpect(logger).toHaveBeenCalledWith(message);\n\t\texpect(logger).toHaveBeenCalledTimes(1);\n\t});\n\n\tit(\"logs once when times is not provided in an object\", () => {\n\t\tconst logger = vi.fn();\n\n\t\tgreet({ logger, message });\n\n\t\texpect(logger).toHaveBeenCalledWith(message);\n\t\texpect(logger).toHaveBeenCalledTimes(1);\n\t});\n\n\tit(\"logs a specified number of times when times is provided\", () => {\n\t\tconst logger = vi.fn();\n\t\tconst times = 7;\n\n\t\tgreet({ logger, message, times });\n\n\t\texpect(logger).toHaveBeenCalledWith(message);\n\t\texpect(logger).toHaveBeenCalledTimes(7);\n\t});\n});\n`,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockGitignore({\n\t\t\t\t\tignores: [`/${coverage.directory}`],\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: \"Test\",\n\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t{ run: \"pnpm run test --coverage\" },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif: \"always()\",\n\t\t\t\t\t\t\t\t\tuses: \"codecov/codecov-action@v3\",\n\t\t\t\t\t\t\t\t\t...(coverage.flags && { with: { flags: coverage.flags } }),\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\tblockGitHubApps({\n\t\t\t\t\tapps: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Codecov\",\n\t\t\t\t\t\t\turl: \"https://github.com/apps/codecov\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t\tblockPackageJson({\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tdevDependencies: getPackageDependencies(\n\t\t\t\t\t\t\t\"@vitest/coverage-v8\",\n\t\t\t\t\t\t\t\"@vitest/eslint-plugin\",\n\t\t\t\t\t\t\t\"console-fail-test\",\n\t\t\t\t\t\t\t\"vitest\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\ttest: \"vitest\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockPrettier({\n\t\t\t\t\tignores: [`/${coverage.directory}`],\n\t\t\t\t}),\n\t\t\t\tblockTSup({\n\t\t\t\t\tentry: [\"!src/**/*.test.*\"],\n\t\t\t\t}),\n\t\t\t\tblockVSCode({\n\t\t\t\t\tdebuggers: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\targs: [\"run\", \"${relativeFile}\"],\n\t\t\t\t\t\t\tautoAttachChildProcesses: true,\n\t\t\t\t\t\t\tconsole: \"integratedTerminal\",\n\t\t\t\t\t\t\tname: \"Debug Current Test File\",\n\t\t\t\t\t\t\tprogram: \"${workspaceRoot}/node_modules/vitest/vitest.mjs\",\n\t\t\t\t\t\t\trequest: \"launch\",\n\t\t\t\t\t\t\tskipFiles: [\"<node_internals>/**\", \"**/node_modules/**\"],\n\t\t\t\t\t\t\tsmartStep: true,\n\t\t\t\t\t\t\ttype: \"node\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\textensions: [\"vitest.explorer\"],\n\t\t\t\t}),\n\t\t\t],\n\t\t\tfiles: {\n\t\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\texclude: ${excludeText},\n\t\t\tinclude: ${includeText},\n\t\t\treporter: [\"html\", \"lcov\"],\n\t\t},\n\t\texclude: [${excludeText.slice(1, excludeText.length - 1)}, \"node_modules\"],\n\t\tsetupFiles: [\"console-fail-test/setup\"],\n\t},\n});\n\t`,\n\t\t\t},\n\t\t};\n\t},\n});\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/next/blocks/blockVitest.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { base } from \"../base.js\";\nimport { blockCSpell } from \"./blockCSpell.js\";\nimport { blockDevelopmentDocs } from \"./blockDevelopmentDocs.js\";\nimport { blockESLint } from \"./blockESLint.js\";\nimport { blockExampleFiles } from \"./blockExampleFiles.js\";\nimport { blockGitHubActionsCI } from \"./blockGitHubActionsCI.js\";\nimport { blockGitHubApps } from \"./blockGitHubApps.js\";\nimport { blockGitignore } from \"./blockGitignore.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\nimport { blockPrettier } from \"./blockPrettier.js\";\nimport { blockTSup } from \"./blockTSup.js\";\nimport { blockVSCode } from \"./blockVSCode.js\";\nimport { getPackageDependencies } from \"./packageData.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockVitest = base.createBlock({\n\tabout: {\n\t\tname: \"Vitest\",\n\t},\n\taddons: {\n\t\tcoverage: z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string().optional(),\n\t\t\t\texclude: z.array(z.string()).optional(),\n\t\t\t\tflags: z.string().optional(),\n\t\t\t\tinclude: z.array(z.string()).optional(),\n\t\t\t})\n\t\t\t.default({}),\n\t\tenv: z.record(z.string(), z.string()).default({}),\n\t\texclude: z.array(z.string()).default([]),\n\t\tflags: z.array(z.string()).default([]),\n\t},\n\tmigrate() {\n\t\treturn {\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\n\t\t\t\t\t\t\"rm .github/codecov.yml .mocha* codecov.yml jest.config.* vitest.config.*\",\n\t\t\t\t\t],\n\t\t\t\t\tphase: CommandPhase.Migrations,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\tproduce({ addons }) {\n\t\tconst { coverage, env, exclude = [], flags } = addons;\n\t\tconst coverageDirectory = coverage.directory ?? \"coverage\";\n\t\tconst excludeText = JSON.stringify(exclude);\n\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockCSpell({\n\t\t\t\t\tignores: [coverageDirectory],\n\t\t\t\t}),\n\t\t\t\tblockDevelopmentDocs({\n\t\t\t\t\tsections: {\n\t\t\t\t\t\tTesting: {\n\t\t\t\t\t\t\tcontents: `\n[Vitest](https://vitest.dev) is used for tests.\nYou can run it locally on the command-line:\n\n\\`\\`\\`shell\npnpm run test\n\\`\\`\\`\n\nAdd the \\`--coverage\\` flag to compute test coverage and place reports in the \\`coverage/\\` directory:\n\n\\`\\`\\`shell\npnpm run test --coverage\n\\`\\`\\`\n\nNote that [console-fail-test](https://github.com/JoshuaKGoldberg/console-fail-test) is enabled for all test runs.\nCalls to \\`console.log\\`, \\`console.warn\\`, and other console methods will cause a test to fail.\n\n\n\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: [\"vitest.configs.recommended\"],\n\t\t\t\t\t\t\tfiles: [\"**/*.test.*\"],\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\tentries: {\n\t\t\t\t\t\t\t\t\t\t\"@typescript-eslint/no-unsafe-assignment\": \"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],\n\t\t\t\t\tignores: [coverageDirectory, \"**/*.snap\"],\n\t\t\t\t\timports: [{ source: \"@vitest/eslint-plugin\", specifier: \"vitest\" }],\n\t\t\t\t}),\n\t\t\t\tblockExampleFiles({\n\t\t\t\t\tfiles: {\n\t\t\t\t\t\t\"greet.test.ts\": `import { describe, expect, it, vi } from \"vitest\";\n\nimport { greet } from \"./greet.js\";\n\nconst message = \"Yay, testing!\";\n\ndescribe(\"greet\", () => {\n\tit(\"logs to the console once when message is provided as a string\", () => {\n\t\tconst logger = vi.spyOn(console, \"log\").mockImplementation(() => undefined);\n\n\t\tgreet(message);\n\n\t\texpect(logger).toHaveBeenCalledWith(message);\n\t\texpect(logger).toHaveBeenCalledTimes(1);\n\t});\n\n\tit(\"logs to the console once when message is provided as an object\", () => {\n\t\tconst logger = vi.spyOn(console, \"log\").mockImplementation(() => undefined);\n\n\t\tgreet({ message });\n\n\t\texpect(logger).toHaveBeenCalledWith(message);\n\t\texpect(logger).toHaveBeenCalledTimes(1);\n\t});\n\n\tit(\"logs once when times is not provided in an object\", () => {\n\t\tconst logger = vi.fn();\n\n\t\tgreet({ logger, message });\n\n\t\texpect(logger).toHaveBeenCalledWith(message);\n\t\texpect(logger).toHaveBeenCalledTimes(1);\n\t});\n\n\tit(\"logs a specified number of times when times is provided\", () => {\n\t\tconst logger = vi.fn();\n\t\tconst times = 7;\n\n\t\tgreet({ logger, message, times });\n\n\t\texpect(logger).toHaveBeenCalledWith(message);\n\t\texpect(logger).toHaveBeenCalledTimes(7);\n\t});\n});\n`,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockGitignore({\n\t\t\t\t\tignores: [`/${coverageDirectory}`],\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: \"Test\",\n\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t{ run: \"pnpm run test --coverage\" },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t...(Object.keys(env).length && { env }),\n\t\t\t\t\t\t\t\t\tif: \"always()\",\n\t\t\t\t\t\t\t\t\tuses: \"codecov/codecov-action@v3\",\n\t\t\t\t\t\t\t\t\t...(coverage.flags && { with: { flags: coverage.flags } }),\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\tblockGitHubApps({\n\t\t\t\t\tapps: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Codecov\",\n\t\t\t\t\t\t\turl: \"https://github.com/apps/codecov\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t\tblockPackageJson({\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tdevDependencies: getPackageDependencies(\n\t\t\t\t\t\t\t\"@vitest/coverage-v8\",\n\t\t\t\t\t\t\t\"@vitest/eslint-plugin\",\n\t\t\t\t\t\t\t\"console-fail-test\",\n\t\t\t\t\t\t\t\"vitest\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\ttest: `vitest ${flags.join(\" \")}`.trim(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockPrettier({\n\t\t\t\t\tignores: [`/${coverageDirectory}`],\n\t\t\t\t}),\n\t\t\t\tblockTSup({\n\t\t\t\t\tentry: [\"!src/**/*.test.*\"],\n\t\t\t\t}),\n\t\t\t\tblockVSCode({\n\t\t\t\t\tdebuggers: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\targs: [\"run\", \"${relativeFile}\"],\n\t\t\t\t\t\t\tautoAttachChildProcesses: true,\n\t\t\t\t\t\t\tconsole: \"integratedTerminal\",\n\t\t\t\t\t\t\tname: \"Debug Current Test File\",\n\t\t\t\t\t\t\tprogram: \"${workspaceRoot}/node_modules/vitest/vitest.mjs\",\n\t\t\t\t\t\t\trequest: \"launch\",\n\t\t\t\t\t\t\tskipFiles: [\"<node_internals>/**\", \"**/node_modules/**\"],\n\t\t\t\t\t\t\tsmartStep: true,\n\t\t\t\t\t\t\ttype: \"node\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\textensions: [\"vitest.explorer\"],\n\t\t\t\t}),\n\t\t\t],\n\t\t\tfiles: {\n\t\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\t${\n\t\t\t\tcoverage.exclude?.length\n\t\t\t\t\t? `exclude: ${JSON.stringify(coverage.exclude)},\n\t\t\t`\n\t\t\t\t\t: \"\"\n\t\t\t}include: ${JSON.stringify(coverage.include)},\n\t\t\treporter: [\"html\", \"lcov\"],\n\t\t},\n\t\texclude: [${excludeText.slice(1, excludeText.length - 1)}, \"node_modules\"],\n\t\tsetupFiles: [\"console-fail-test/setup\"],\n\t},\n});\n\t`,\n\t\t\t},\n\t\t};\n\t},\n});\n"],"mappings":"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","names":[]}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
const require2 = createRequire(import.meta.url);
|
|
3
|
-
const packageData = (
|
|
4
|
-
// Importing from above src/ would expand the TS build rootDir
|
|
5
|
-
require2("../../../package.json")
|
|
6
|
-
);
|
|
1
|
+
import { sourcePackageJson } from "./sourcePackageJson.js";
|
|
7
2
|
function getPackageDependencies(...names) {
|
|
8
3
|
return Object.fromEntries(
|
|
9
4
|
names.map((name) => {
|
|
@@ -21,7 +16,7 @@ function getPackageDependency(name) {
|
|
|
21
16
|
return version;
|
|
22
17
|
}
|
|
23
18
|
function getPackageInner(key, name) {
|
|
24
|
-
const inner =
|
|
19
|
+
const inner = sourcePackageJson[key];
|
|
25
20
|
return inner[name];
|
|
26
21
|
}
|
|
27
22
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/next/blocks/packageData.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/next/blocks/packageData.ts"],"sourcesContent":["import { sourcePackageJson } from \"./sourcePackageJson.js\";\n\nexport function getPackageDependencies(...names: string[]) {\n\treturn Object.fromEntries(\n\t\tnames.map((name) => {\n\t\t\treturn [name, getPackageDependency(name)];\n\t\t}),\n\t);\n}\n\nexport function getPackageDependency(name: string) {\n\tconst version =\n\t\tgetPackageInner(\"devDependencies\", name) ??\n\t\tgetPackageInner(\"dependencies\", name);\n\n\tif (!version) {\n\t\tthrow new Error(\n\t\t\t`'${name} is neither in package.json's dependencies nor its devDependencies.`,\n\t\t);\n\t}\n\n\treturn version;\n}\n\nfunction getPackageInner(\n\tkey: \"dependencies\" | \"devDependencies\",\n\tname: string,\n) {\n\tconst inner = sourcePackageJson[key];\n\n\treturn inner[name as keyof typeof inner] as string | undefined;\n}\n"],"mappings":"AAAA,SAAS,yBAAyB;AAE3B,SAAS,0BAA0B,OAAiB;AAC1D,SAAO,OAAO;AAAA,IACb,MAAM,IAAI,CAAC,SAAS;AACnB,aAAO,CAAC,MAAM,qBAAqB,IAAI,CAAC;AAAA,IACzC,CAAC;AAAA,EACF;AACD;AAEO,SAAS,qBAAqB,MAAc;AAClD,QAAM,UACL,gBAAgB,mBAAmB,IAAI,KACvC,gBAAgB,gBAAgB,IAAI;AAErC,MAAI,CAAC,SAAS;AACb,UAAM,IAAI;AAAA,MACT,IAAI,IAAI;AAAA,IACT;AAAA,EACD;AAEA,SAAO;AACR;AAEA,SAAS,gBACR,KACA,MACC;AACD,QAAM,QAAQ,kBAAkB,GAAG;AAEnC,SAAO,MAAM,IAA0B;AACxC;","names":[]}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
var name = "create-typescript-app";
|
|
2
|
+
var version = "1.80.0";
|
|
3
|
+
var description = "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. ❤️🔥";
|
|
4
|
+
var repository = {
|
|
5
|
+
type: "git",
|
|
6
|
+
url: "https://github.com/JoshuaKGoldberg/create-typescript-app"
|
|
7
|
+
};
|
|
8
|
+
var license = "MIT";
|
|
9
|
+
var author = {
|
|
10
|
+
name: "Josh Goldberg ✨",
|
|
11
|
+
email: "npm@joshuakgoldberg.com"
|
|
12
|
+
};
|
|
13
|
+
var type = "module";
|
|
14
|
+
var main = "./lib/index.js";
|
|
15
|
+
var bin = "./bin/index.js";
|
|
16
|
+
var files = [
|
|
17
|
+
"LICENSE.md",
|
|
18
|
+
"README.md",
|
|
19
|
+
"bin/index.js",
|
|
20
|
+
"lib/",
|
|
21
|
+
"package.json"
|
|
22
|
+
];
|
|
23
|
+
var scripts = {
|
|
24
|
+
build: "tsup",
|
|
25
|
+
format: "prettier .",
|
|
26
|
+
initialize: "pnpm build --no-dts && tsx ./bin/index.js --mode initialize",
|
|
27
|
+
lint: "eslint . --max-warnings 0",
|
|
28
|
+
"lint:knip": "knip",
|
|
29
|
+
"lint:md": "markdownlint \"**/*.md\" \".github/**/*.md\" --rules sentences-per-line",
|
|
30
|
+
"lint:packages": "pnpm dedupe --check",
|
|
31
|
+
"lint:spelling": "cspell \"**\" \".github/**/*\"",
|
|
32
|
+
prepare: "husky",
|
|
33
|
+
test: "vitest",
|
|
34
|
+
"test:create": "npx tsx script/create-test-e2e.ts",
|
|
35
|
+
"test:initialize": "npx tsx script/initialize-test-e2e.ts",
|
|
36
|
+
"test:migrate": "vitest run -r script/",
|
|
37
|
+
tsc: "tsc"
|
|
38
|
+
};
|
|
39
|
+
var dependencies = {
|
|
40
|
+
"@clack/prompts": "^0.9.0",
|
|
41
|
+
"@prettier/sync": "^0.5.2",
|
|
42
|
+
chalk: "^5.4.1",
|
|
43
|
+
create: "0.1.0-alpha.8",
|
|
44
|
+
"cspell-populate-words": "^0.3.0",
|
|
45
|
+
execa: "^9.5.2",
|
|
46
|
+
"git-remote-origin-url": "^4.0.0",
|
|
47
|
+
"git-url-parse": "^16.0.0",
|
|
48
|
+
"html-to-text": "^9.0.5",
|
|
49
|
+
"image-size": "^1.2.0",
|
|
50
|
+
"input-from-file": "0.1.0-alpha.4",
|
|
51
|
+
"input-from-file-json": "0.1.0-alpha.4",
|
|
52
|
+
"input-from-script": "0.1.0-alpha.4",
|
|
53
|
+
"js-yaml": "^4.1.0",
|
|
54
|
+
"lazy-value": "^3.0.0",
|
|
55
|
+
"npm-user": "^6.1.1",
|
|
56
|
+
"object-strings-deep": "^0.1.1",
|
|
57
|
+
octokit: "^4.0.2",
|
|
58
|
+
"octokit-from-auth": "^0.3.0",
|
|
59
|
+
"parse-author": "^2.0.0",
|
|
60
|
+
"parse-package-name": "^1.0.0",
|
|
61
|
+
"populate-all-contributors-for-repository": "^0.1.2",
|
|
62
|
+
prettier: "^3.4.2",
|
|
63
|
+
"remove-undefined-objects": "^5.0.0",
|
|
64
|
+
"replace-in-file": "^8.3.0",
|
|
65
|
+
rimraf: "^6.0.1",
|
|
66
|
+
"set-github-repository-labels": "^0.1.0",
|
|
67
|
+
"sort-package-json": "^2.12.0",
|
|
68
|
+
"title-case": "^4.3.2",
|
|
69
|
+
zod: "^3.24.1",
|
|
70
|
+
"zod-validation-error": "^3.4.0"
|
|
71
|
+
};
|
|
72
|
+
var devDependencies = {
|
|
73
|
+
"@eslint-community/eslint-plugin-eslint-comments": "4.4.1",
|
|
74
|
+
"@eslint/js": "9.17.0",
|
|
75
|
+
"@octokit/request-error": "6.1.5",
|
|
76
|
+
"@release-it/conventional-changelog": "9.0.3",
|
|
77
|
+
"@types/eslint-plugin-markdown": "2.0.2",
|
|
78
|
+
"@types/git-url-parse": "9.0.3",
|
|
79
|
+
"@types/html-to-text": "^9.0.4",
|
|
80
|
+
"@types/js-yaml": "4.0.9",
|
|
81
|
+
"@types/node": "22.10.2",
|
|
82
|
+
"@types/parse-author": "2.0.3",
|
|
83
|
+
"@vitest/coverage-v8": "2.1.8",
|
|
84
|
+
"@vitest/eslint-plugin": "1.1.20",
|
|
85
|
+
"all-contributors-cli": "6.26.1",
|
|
86
|
+
c8: "10.1.3",
|
|
87
|
+
"console-fail-test": "0.5.0",
|
|
88
|
+
"create-testers": "0.1.0-alpha.8",
|
|
89
|
+
cspell: "8.17.1",
|
|
90
|
+
eslint: "9.17.0",
|
|
91
|
+
"eslint-plugin-jsdoc": "50.6.1",
|
|
92
|
+
"eslint-plugin-jsonc": "2.18.2",
|
|
93
|
+
"eslint-plugin-markdown": "5.1.0",
|
|
94
|
+
"eslint-plugin-n": "17.15.1",
|
|
95
|
+
"eslint-plugin-package-json": "0.18.0",
|
|
96
|
+
"eslint-plugin-perfectionist": "4.4.0",
|
|
97
|
+
"eslint-plugin-regexp": "2.7.0",
|
|
98
|
+
"eslint-plugin-yml": "1.16.0",
|
|
99
|
+
globby: "14.0.2",
|
|
100
|
+
husky: "9.1.7",
|
|
101
|
+
knip: "5.41.1",
|
|
102
|
+
"lint-staged": "15.2.11",
|
|
103
|
+
markdownlint: "0.37.2",
|
|
104
|
+
"markdownlint-cli": "0.43.0",
|
|
105
|
+
"prettier-plugin-curly": "0.3.1",
|
|
106
|
+
"prettier-plugin-packagejson": "2.5.6",
|
|
107
|
+
"prettier-plugin-sh": "0.14.0",
|
|
108
|
+
"release-it": "17.10.0",
|
|
109
|
+
"sentences-per-line": "0.3.0",
|
|
110
|
+
tsup: "8.3.5",
|
|
111
|
+
tsx: "4.19.2",
|
|
112
|
+
typescript: "5.7.2",
|
|
113
|
+
"typescript-eslint": "8.18.1",
|
|
114
|
+
vitest: "2.1.8"
|
|
115
|
+
};
|
|
116
|
+
var engines = {
|
|
117
|
+
node: ">=18.3.0"
|
|
118
|
+
};
|
|
119
|
+
var publishConfig = {
|
|
120
|
+
provenance: true
|
|
121
|
+
};
|
|
122
|
+
var _package = {
|
|
123
|
+
name: name,
|
|
124
|
+
version: version,
|
|
125
|
+
description: description,
|
|
126
|
+
repository: repository,
|
|
127
|
+
license: license,
|
|
128
|
+
author: author,
|
|
129
|
+
type: type,
|
|
130
|
+
main: main,
|
|
131
|
+
bin: bin,
|
|
132
|
+
files: files,
|
|
133
|
+
scripts: scripts,
|
|
134
|
+
"lint-staged": {
|
|
135
|
+
"*": "prettier --ignore-unknown --write"
|
|
136
|
+
},
|
|
137
|
+
dependencies: dependencies,
|
|
138
|
+
devDependencies: devDependencies,
|
|
139
|
+
engines: engines,
|
|
140
|
+
publishConfig: publishConfig
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
declare const _________package_json_author: typeof author;
|
|
144
|
+
declare const _________package_json_bin: typeof bin;
|
|
145
|
+
declare const _________package_json_dependencies: typeof dependencies;
|
|
146
|
+
declare const _________package_json_description: typeof description;
|
|
147
|
+
declare const _________package_json_devDependencies: typeof devDependencies;
|
|
148
|
+
declare const _________package_json_engines: typeof engines;
|
|
149
|
+
declare const _________package_json_files: typeof files;
|
|
150
|
+
declare const _________package_json_license: typeof license;
|
|
151
|
+
declare const _________package_json_main: typeof main;
|
|
152
|
+
declare const _________package_json_name: typeof name;
|
|
153
|
+
declare const _________package_json_publishConfig: typeof publishConfig;
|
|
154
|
+
declare const _________package_json_repository: typeof repository;
|
|
155
|
+
declare const _________package_json_scripts: typeof scripts;
|
|
156
|
+
declare const _________package_json_type: typeof type;
|
|
157
|
+
declare const _________package_json_version: typeof version;
|
|
158
|
+
declare namespace _________package_json {
|
|
159
|
+
export { _________package_json_author as author, _________package_json_bin as bin, _package as default, _________package_json_dependencies as dependencies, _________package_json_description as description, _________package_json_devDependencies as devDependencies, _________package_json_engines as engines, _________package_json_files as files, _________package_json_license as license, _________package_json_main as main, _________package_json_name as name, _________package_json_publishConfig as publishConfig, _________package_json_repository as repository, _________package_json_scripts as scripts, _________package_json_type as type, _________package_json_version as version };
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
declare const sourcePackageJson: typeof _________package_json;
|
|
163
|
+
|
|
164
|
+
export { sourcePackageJson };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
const require2 = createRequire(import.meta.url);
|
|
3
|
+
const sourcePackageJson = (
|
|
4
|
+
// Importing from above src/ would expand the TS build rootDir
|
|
5
|
+
require2("../../../package.json")
|
|
6
|
+
);
|
|
7
|
+
export {
|
|
8
|
+
sourcePackageJson
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=sourcePackageJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/next/blocks/sourcePackageJson.ts"],"sourcesContent":["import { createRequire } from \"node:module\";\n\nconst require = createRequire(import.meta.url);\n\nexport const sourcePackageJson =\n\t// Importing from above src/ would expand the TS build rootDir\n\trequire(\"../../../package.json\") as typeof import(\"../../../package.json\");\n"],"mappings":"AAAA,SAAS,qBAAqB;AAE9B,MAAMA,WAAU,cAAc,YAAY,GAAG;AAEtC,MAAM;AAAA;AAAA,EAEZA,SAAQ,uBAAuB;AAAA;","names":["require"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/next/presets/index.ts"],"sourcesContent":["export * from \"./presetCommon.js\";\nexport * from \"./presetEverything.js\";\nexport * from \"./presetMinimal.js\";\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -2,7 +2,7 @@ import * as create from 'create';
|
|
|
2
2
|
import * as zod from 'zod';
|
|
3
3
|
|
|
4
4
|
declare const presetCommon: create.Preset<{
|
|
5
|
-
access: zod.
|
|
5
|
+
access: zod.ZodUnion<[zod.ZodLiteral<"public">, zod.ZodLiteral<"restricted">]>;
|
|
6
6
|
author: zod.ZodOptional<zod.ZodString>;
|
|
7
7
|
bin: zod.ZodOptional<zod.ZodString>;
|
|
8
8
|
contributors: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
@@ -58,13 +58,19 @@ declare const presetCommon: create.Preset<{
|
|
|
58
58
|
keywords: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
|
|
59
59
|
logo: zod.ZodOptional<zod.ZodObject<{
|
|
60
60
|
alt: zod.ZodString;
|
|
61
|
+
height: zod.ZodOptional<zod.ZodNumber>;
|
|
61
62
|
src: zod.ZodString;
|
|
63
|
+
width: zod.ZodOptional<zod.ZodNumber>;
|
|
62
64
|
}, "strip", zod.ZodTypeAny, {
|
|
63
65
|
alt: string;
|
|
64
66
|
src: string;
|
|
67
|
+
height?: number | undefined;
|
|
68
|
+
width?: number | undefined;
|
|
65
69
|
}, {
|
|
66
70
|
alt: string;
|
|
67
71
|
src: string;
|
|
72
|
+
height?: number | undefined;
|
|
73
|
+
width?: number | undefined;
|
|
68
74
|
}>>;
|
|
69
75
|
node: zod.ZodOptional<zod.ZodObject<{
|
|
70
76
|
minimum: zod.ZodString;
|
|
@@ -92,6 +98,7 @@ declare const presetCommon: create.Preset<{
|
|
|
92
98
|
}>>;
|
|
93
99
|
repository: zod.ZodString;
|
|
94
100
|
title: zod.ZodString;
|
|
101
|
+
usage: zod.ZodOptional<zod.ZodString>;
|
|
95
102
|
version: zod.ZodOptional<zod.ZodString>;
|
|
96
103
|
}>;
|
|
97
104
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { base } from "
|
|
2
|
-
import { blockAllContributors } from "
|
|
3
|
-
import { blockReleaseIt } from "
|
|
4
|
-
import { blockVitest } from "
|
|
1
|
+
import { base } from "../base.js";
|
|
2
|
+
import { blockAllContributors } from "../blocks/blockAllContributors.js";
|
|
3
|
+
import { blockReleaseIt } from "../blocks/blockReleaseIt.js";
|
|
4
|
+
import { blockVitest } from "../blocks/blockVitest.js";
|
|
5
5
|
import { presetMinimal } from "./presetMinimal.js";
|
|
6
6
|
const presetCommon = base.createPreset({
|
|
7
7
|
about: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/next/presets/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":[]}
|
|
@@ -2,7 +2,7 @@ import * as create from 'create';
|
|
|
2
2
|
import * as zod from 'zod';
|
|
3
3
|
|
|
4
4
|
declare const presetEverything: create.Preset<{
|
|
5
|
-
access: zod.
|
|
5
|
+
access: zod.ZodUnion<[zod.ZodLiteral<"public">, zod.ZodLiteral<"restricted">]>;
|
|
6
6
|
author: zod.ZodOptional<zod.ZodString>;
|
|
7
7
|
bin: zod.ZodOptional<zod.ZodString>;
|
|
8
8
|
contributors: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
@@ -58,13 +58,19 @@ declare const presetEverything: create.Preset<{
|
|
|
58
58
|
keywords: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
|
|
59
59
|
logo: zod.ZodOptional<zod.ZodObject<{
|
|
60
60
|
alt: zod.ZodString;
|
|
61
|
+
height: zod.ZodOptional<zod.ZodNumber>;
|
|
61
62
|
src: zod.ZodString;
|
|
63
|
+
width: zod.ZodOptional<zod.ZodNumber>;
|
|
62
64
|
}, "strip", zod.ZodTypeAny, {
|
|
63
65
|
alt: string;
|
|
64
66
|
src: string;
|
|
67
|
+
height?: number | undefined;
|
|
68
|
+
width?: number | undefined;
|
|
65
69
|
}, {
|
|
66
70
|
alt: string;
|
|
67
71
|
src: string;
|
|
72
|
+
height?: number | undefined;
|
|
73
|
+
width?: number | undefined;
|
|
68
74
|
}>>;
|
|
69
75
|
node: zod.ZodOptional<zod.ZodObject<{
|
|
70
76
|
minimum: zod.ZodString;
|
|
@@ -92,6 +98,7 @@ declare const presetEverything: create.Preset<{
|
|
|
92
98
|
}>>;
|
|
93
99
|
repository: zod.ZodString;
|
|
94
100
|
title: zod.ZodString;
|
|
101
|
+
usage: zod.ZodOptional<zod.ZodString>;
|
|
95
102
|
version: zod.ZodOptional<zod.ZodString>;
|
|
96
103
|
}>;
|
|
97
104
|
|
|
@@ -0,0 +1,59 @@
|
|
|
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 "../presets/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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/next/presets/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 \"../presets/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":[]}
|
|
@@ -2,7 +2,7 @@ import * as create from 'create';
|
|
|
2
2
|
import * as zod from 'zod';
|
|
3
3
|
|
|
4
4
|
declare const presetMinimal: create.Preset<{
|
|
5
|
-
access: zod.
|
|
5
|
+
access: zod.ZodUnion<[zod.ZodLiteral<"public">, zod.ZodLiteral<"restricted">]>;
|
|
6
6
|
author: zod.ZodOptional<zod.ZodString>;
|
|
7
7
|
bin: zod.ZodOptional<zod.ZodString>;
|
|
8
8
|
contributors: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
@@ -58,13 +58,19 @@ declare const presetMinimal: create.Preset<{
|
|
|
58
58
|
keywords: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
|
|
59
59
|
logo: zod.ZodOptional<zod.ZodObject<{
|
|
60
60
|
alt: zod.ZodString;
|
|
61
|
+
height: zod.ZodOptional<zod.ZodNumber>;
|
|
61
62
|
src: zod.ZodString;
|
|
63
|
+
width: zod.ZodOptional<zod.ZodNumber>;
|
|
62
64
|
}, "strip", zod.ZodTypeAny, {
|
|
63
65
|
alt: string;
|
|
64
66
|
src: string;
|
|
67
|
+
height?: number | undefined;
|
|
68
|
+
width?: number | undefined;
|
|
65
69
|
}, {
|
|
66
70
|
alt: string;
|
|
67
71
|
src: string;
|
|
72
|
+
height?: number | undefined;
|
|
73
|
+
width?: number | undefined;
|
|
68
74
|
}>>;
|
|
69
75
|
node: zod.ZodOptional<zod.ZodObject<{
|
|
70
76
|
minimum: zod.ZodString;
|
|
@@ -92,6 +98,7 @@ declare const presetMinimal: create.Preset<{
|
|
|
92
98
|
}>>;
|
|
93
99
|
repository: zod.ZodString;
|
|
94
100
|
title: zod.ZodString;
|
|
101
|
+
usage: zod.ZodOptional<zod.ZodString>;
|
|
95
102
|
version: zod.ZodOptional<zod.ZodString>;
|
|
96
103
|
}>;
|
|
97
104
|
|
|
@@ -0,0 +1,57 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/next/presets/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":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PartialPackageData } from '../shared/types.js';
|
|
2
|
+
import 'zod';
|
|
3
|
+
import '../shared/codes.js';
|
|
4
|
+
|
|
5
|
+
declare function readDescription(getPackageData: () => Promise<PartialPackageData>, getReadme: () => Promise<string>): Promise<string | undefined>;
|
|
6
|
+
|
|
7
|
+
export { readDescription };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { sourcePackageJson } from "./blocks/sourcePackageJson.js";
|
|
2
|
+
import { readDescriptionFromReadme } from "./readDescriptionFromReadme.js";
|
|
3
|
+
async function readDescription(getPackageData, getReadme) {
|
|
4
|
+
const { description: inferred } = await getPackageData();
|
|
5
|
+
if (!inferred) {
|
|
6
|
+
return void 0;
|
|
7
|
+
}
|
|
8
|
+
const { description: existing } = sourcePackageJson;
|
|
9
|
+
const fromReadme = await readDescriptionFromReadme(getReadme);
|
|
10
|
+
if (fromReadme?.replaceAll(/<\s*(?:\/\s*)?\w+\s*>/gu, "") === inferred) {
|
|
11
|
+
return fromReadme;
|
|
12
|
+
}
|
|
13
|
+
return existing === inferred ? void 0 : inferred;
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
readDescription
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=readDescription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/next/readDescription.ts"],"sourcesContent":["import { PartialPackageData } from \"../shared/types.js\";\nimport { sourcePackageJson } from \"./blocks/sourcePackageJson.js\";\nimport { readDescriptionFromReadme } from \"./readDescriptionFromReadme.js\";\n\nexport async function readDescription(\n\tgetPackageData: () => Promise<PartialPackageData>,\n\tgetReadme: () => Promise<string>,\n) {\n\tconst { description: inferred } = await getPackageData();\n\tif (!inferred) {\n\t\treturn undefined;\n\t}\n\n\tconst { description: existing } = sourcePackageJson;\n\tconst fromReadme = await readDescriptionFromReadme(getReadme);\n\n\tif (fromReadme?.replaceAll(/<\\s*(?:\\/\\s*)?\\w+\\s*>/gu, \"\") === inferred) {\n\t\treturn fromReadme;\n\t}\n\n\treturn existing === inferred ? undefined : inferred;\n}\n"],"mappings":"AACA,SAAS,yBAAyB;AAClC,SAAS,iCAAiC;AAE1C,eAAsB,gBACrB,gBACA,WACC;AACD,QAAM,EAAE,aAAa,SAAS,IAAI,MAAM,eAAe;AACvD,MAAI,CAAC,UAAU;AACd,WAAO;AAAA,EACR;AAEA,QAAM,EAAE,aAAa,SAAS,IAAI;AAClC,QAAM,aAAa,MAAM,0BAA0B,SAAS;AAE5D,MAAI,YAAY,WAAW,2BAA2B,EAAE,MAAM,UAAU;AACvE,WAAO;AAAA,EACR;AAEA,SAAO,aAAa,WAAW,SAAY;AAC5C;","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const paragraphCloser = "</p>";
|
|
2
|
+
const paragraphStarter = `<p align="center">`;
|
|
3
|
+
async function readDescriptionFromReadme(getReadme) {
|
|
4
|
+
const readme = await getReadme();
|
|
5
|
+
const paragraphStart = readme.indexOf(paragraphStarter);
|
|
6
|
+
if (paragraphStart === -1) {
|
|
7
|
+
return void 0;
|
|
8
|
+
}
|
|
9
|
+
const paragraphEnd = readme.indexOf(paragraphCloser);
|
|
10
|
+
if (paragraphEnd < paragraphStart + paragraphStarter.length + 2) {
|
|
11
|
+
return void 0;
|
|
12
|
+
}
|
|
13
|
+
return readme.slice(paragraphStart + paragraphStarter.length, paragraphEnd).replaceAll(/\s+/gu, " ").trim();
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
readDescriptionFromReadme
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=readDescriptionFromReadme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/next/readDescriptionFromReadme.ts"],"sourcesContent":["const paragraphCloser = \"</p>\";\nconst paragraphStarter = `<p align=\"center\">`;\n\nexport async function readDescriptionFromReadme(\n\tgetReadme: () => Promise<string>,\n) {\n\tconst readme = await getReadme();\n\n\tconst paragraphStart = readme.indexOf(paragraphStarter);\n\tif (paragraphStart === -1) {\n\t\treturn undefined;\n\t}\n\n\tconst paragraphEnd = readme.indexOf(paragraphCloser);\n\tif (paragraphEnd < paragraphStart + paragraphStarter.length + 2) {\n\t\treturn undefined;\n\t}\n\n\treturn readme\n\t\t.slice(paragraphStart + paragraphStarter.length, paragraphEnd)\n\t\t.replaceAll(/\\s+/gu, \" \")\n\t\t.trim();\n}\n"],"mappings":"AAAA,MAAM,kBAAkB;AACxB,MAAM,mBAAmB;AAEzB,eAAsB,0BACrB,WACC;AACD,QAAM,SAAS,MAAM,UAAU;AAE/B,QAAM,iBAAiB,OAAO,QAAQ,gBAAgB;AACtD,MAAI,mBAAmB,IAAI;AAC1B,WAAO;AAAA,EACR;AAEA,QAAM,eAAe,OAAO,QAAQ,eAAe;AACnD,MAAI,eAAe,iBAAiB,iBAAiB,SAAS,GAAG;AAChE,WAAO;AAAA,EACR;AAEA,SAAO,OACL,MAAM,iBAAiB,iBAAiB,QAAQ,YAAY,EAC5D,WAAW,SAAS,GAAG,EACvB,KAAK;AACR;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { runPreset } from "create";
|
|
2
|
-
import { presetCommon } from "./presetCommon.js";
|
|
3
|
-
import { presetEverything } from "./presetEverything.js";
|
|
4
|
-
import { presetMinimal } from "./presetMinimal.js";
|
|
2
|
+
import { presetCommon } from "./presets/presetCommon.js";
|
|
3
|
+
import { presetEverything } from "./presets/presetEverything.js";
|
|
4
|
+
import { presetMinimal } from "./presets/presetMinimal.js";
|
|
5
5
|
const presets = {
|
|
6
6
|
common: presetCommon,
|
|
7
7
|
everything: presetEverything,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/next/runCreateEnginePreset.ts"],"sourcesContent":["import { runPreset } from \"create\";\n\nimport { Options } from \"../shared/types.js\";\nimport { presetCommon } from \"./presetCommon.js\";\nimport { presetEverything } from \"./presetEverything.js\";\nimport { presetMinimal } from \"./presetMinimal.js\";\n\nconst presets = {\n\tcommon: presetCommon,\n\teverything: presetEverything,\n\tminimal: presetMinimal,\n};\n\nexport async function runCreateEnginePreset(options: Options) {\n\tconst preset =\n\t\toptions.base && options.base !== \"prompt\" && presets[options.base];\n\n\tif (!preset) {\n\t\tthrow new Error(`Cannot yet use create engine with base ${options.base}.`);\n\t}\n\n\tawait runPreset(preset, { mode: \"initialize\", options });\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAG1B,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAE9B,MAAM,UAAU;AAAA,EACf,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,SAAS;AACV;AAEA,eAAsB,sBAAsB,SAAkB;AAC7D,QAAM,SACL,QAAQ,QAAQ,QAAQ,SAAS,YAAY,QAAQ,QAAQ,IAAI;AAElE,MAAI,CAAC,QAAQ;AACZ,UAAM,IAAI,MAAM,0CAA0C,QAAQ,IAAI,GAAG;AAAA,EAC1E;AAEA,QAAM,UAAU,QAAQ,EAAE,MAAM,cAAc,QAAQ,CAAC;AACxD;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/next/runCreateEnginePreset.ts"],"sourcesContent":["import { runPreset } from \"create\";\n\nimport { Options } from \"../shared/types.js\";\nimport { presetCommon } from \"./presets/presetCommon.js\";\nimport { presetEverything } from \"./presets/presetEverything.js\";\nimport { presetMinimal } from \"./presets/presetMinimal.js\";\n\nconst presets = {\n\tcommon: presetCommon,\n\teverything: presetEverything,\n\tminimal: presetMinimal,\n};\n\nexport async function runCreateEnginePreset(options: Options) {\n\tconst preset =\n\t\toptions.base && options.base !== \"prompt\" && presets[options.base];\n\n\tif (!preset) {\n\t\tthrow new Error(`Cannot yet use create engine with base ${options.base}.`);\n\t}\n\n\tawait runPreset(preset, { mode: \"initialize\", options });\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAG1B,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAE9B,MAAM,UAAU;AAAA,EACf,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,SAAS;AACV;AAEA,eAAsB,sBAAsB,SAAkB;AAC7D,QAAM,SACL,QAAQ,QAAQ,QAAQ,SAAS,YAAY,QAAQ,QAAQ,IAAI;AAElE,MAAI,CAAC,QAAQ;AACZ,UAAM,IAAI,MAAM,0CAA0C,QAAQ,IAAI,GAAG;AAAA,EAC1E;AAEA,QAAM,UAAU,QAAQ,EAAE,MAAM,cAAc,QAAQ,CAAC;AACxD;","names":[]}
|