create-typescript-app 1.77.1 → 1.79.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 +50 -49
- package/lib/create/createAndEnterGitDirectory.d.ts +1 -1
- package/lib/create/createAndEnterGitDirectory.js +4 -3
- package/lib/create/createAndEnterGitDirectory.js.map +1 -1
- package/lib/create/createWithOptions.d.ts +1 -1
- package/lib/create/createWithOptions.js +7 -8
- package/lib/create/createWithOptions.js.map +1 -1
- package/lib/create/index.js +8 -2
- package/lib/create/index.js.map +1 -1
- package/lib/next/base.d.ts +1 -2
- package/lib/next/base.js +37 -27
- package/lib/next/base.js.map +1 -1
- package/lib/next/blocks/blockAllContributors.d.ts +1 -2
- package/lib/next/blocks/blockAllContributors.js +11 -2
- package/lib/next/blocks/blockAllContributors.js.map +1 -1
- package/lib/next/blocks/blockAreTheTypesWrong.d.ts +1 -2
- package/lib/next/blocks/blockCSpell.d.ts +1 -2
- package/lib/next/blocks/blockCSpell.js +16 -0
- package/lib/next/blocks/blockCSpell.js.map +1 -1
- package/lib/next/blocks/blockContributingDocs.d.ts +1 -2
- package/lib/next/blocks/blockContributorCovenant.d.ts +1 -2
- package/lib/next/blocks/blockDevelopmentDocs.d.ts +1 -2
- package/lib/next/blocks/blockESLint.d.ts +1 -2
- package/lib/next/blocks/blockESLintComments.d.ts +1 -2
- package/lib/next/blocks/blockESLintJSDoc.d.ts +1 -2
- package/lib/next/blocks/blockESLintJSONC.d.ts +1 -2
- package/lib/next/blocks/blockESLintMarkdown.d.ts +1 -2
- package/lib/next/blocks/blockESLintMoreStyling.d.ts +1 -2
- package/lib/next/blocks/blockESLintNode.d.ts +1 -2
- package/lib/next/blocks/blockESLintPackageJson.d.ts +1 -2
- package/lib/next/blocks/blockESLintPerfectionist.d.ts +1 -2
- package/lib/next/blocks/blockESLintRegexp.d.ts +1 -2
- package/lib/next/blocks/blockESLintYML.d.ts +1 -2
- package/lib/next/blocks/blockExampleFiles.d.ts +1 -2
- package/lib/next/blocks/blockFunding.d.ts +1 -2
- package/lib/next/blocks/blockGitHubActionsCI.d.ts +1 -2
- package/lib/next/blocks/blockGitHubApps.d.ts +52 -0
- package/lib/next/blocks/blockGitHubApps.js +34 -0
- package/lib/next/blocks/blockGitHubApps.js.map +1 -0
- package/lib/next/blocks/blockGitHubIssueTemplates.d.ts +1 -2
- package/lib/next/blocks/blockGitHubPRTemplate.d.ts +1 -2
- package/lib/next/blocks/blockGitignore.d.ts +1 -2
- package/lib/next/blocks/blockKnip.d.ts +1 -2
- package/lib/next/blocks/blockKnip.js +2 -2
- package/lib/next/blocks/blockKnip.js.map +1 -1
- package/lib/next/blocks/blockMITLicense.d.ts +1 -2
- package/lib/next/blocks/blockMarkdownlint.d.ts +1 -2
- package/lib/next/blocks/blockNvmrc.d.ts +1 -2
- package/lib/next/blocks/blockPRCompliance.d.ts +1 -2
- package/lib/next/blocks/blockPackageJson.d.ts +1 -2
- package/lib/next/blocks/blockPackageJson.js +46 -41
- package/lib/next/blocks/blockPackageJson.js.map +1 -1
- package/lib/next/blocks/blockPnpmDedupe.d.ts +1 -2
- package/lib/next/blocks/blockPrettier.d.ts +1 -2
- package/lib/next/blocks/blockPrettierPluginCurly.d.ts +1 -2
- package/lib/next/blocks/blockPrettierPluginPackageJson.d.ts +1 -2
- package/lib/next/blocks/blockPrettierPluginSh.d.ts +1 -2
- package/lib/next/blocks/blockREADME.d.ts +1 -2
- package/lib/next/blocks/blockReleaseIt.d.ts +1 -2
- package/lib/next/blocks/blockReleaseIt.js +13 -0
- package/lib/next/blocks/blockReleaseIt.js.map +1 -1
- package/lib/next/blocks/blockRenovate.d.ts +1 -2
- package/lib/next/blocks/blockRenovate.js +9 -0
- package/lib/next/blocks/blockRenovate.js.map +1 -1
- package/lib/next/blocks/{blockRepositoryBranchProtection.d.ts → blockRepositoryBranchRuleset.d.ts} +3 -4
- package/lib/next/blocks/blockRepositoryBranchRuleset.js +71 -0
- package/lib/next/blocks/blockRepositoryBranchRuleset.js.map +1 -0
- package/lib/next/blocks/blockRepositoryLabels.d.ts +1 -2
- package/lib/next/blocks/blockRepositoryLabels.js +12 -2
- package/lib/next/blocks/blockRepositoryLabels.js.map +1 -1
- package/lib/next/blocks/blockRepositorySecrets.d.ts +52 -0
- package/lib/next/blocks/blockRepositorySecrets.js +34 -0
- package/lib/next/blocks/blockRepositorySecrets.js.map +1 -0
- package/lib/next/blocks/blockRepositorySettings.d.ts +1 -2
- package/lib/next/blocks/blockRepositorySettings.js +1 -1
- package/lib/next/blocks/blockRepositorySettings.js.map +1 -1
- package/lib/next/blocks/blockSecurityDocs.d.ts +1 -2
- package/lib/next/blocks/blockTSup.d.ts +1 -2
- package/lib/next/blocks/blockTemplatedBy.d.ts +1 -2
- package/lib/next/blocks/blockTypeScript.d.ts +1 -2
- package/lib/next/blocks/blockVSCode.d.ts +1 -2
- package/lib/next/blocks/blockVitest.d.ts +1 -2
- package/lib/next/blocks/blockVitest.js +26 -17
- package/lib/next/blocks/blockVitest.js.map +1 -1
- package/lib/next/blocks/options.fakes.d.ts +1 -0
- package/lib/next/blocks/options.fakes.js +1 -0
- package/lib/next/blocks/options.fakes.js.map +1 -1
- package/lib/next/blocks/packageData.d.ts +3 -2
- package/lib/next/blocks/packageData.js +20 -14
- package/lib/next/blocks/packageData.js.map +1 -1
- package/lib/next/presetCommon.d.ts +1 -2
- package/lib/next/presetEverything.d.ts +1 -2
- package/lib/next/presetMinimal.d.ts +1 -2
- package/lib/next/presetMinimal.js +6 -2
- package/lib/next/presetMinimal.js.map +1 -1
- package/lib/next/readDocumentation.d.ts +5 -0
- package/lib/next/readDocumentation.js +28 -0
- package/lib/next/readDocumentation.js.map +1 -0
- package/lib/next/template.d.ts +2 -3
- package/lib/next/template.js +2 -6
- package/lib/next/template.js.map +1 -1
- package/lib/next/utils/resolveBin.d.ts +3 -0
- package/lib/next/utils/resolveBin.js +7 -0
- package/lib/next/utils/resolveBin.js.map +1 -0
- package/lib/shared/getGitHubUserAsAllContributor.js +1 -1
- package/lib/shared/getGitHubUserAsAllContributor.js.map +1 -1
- package/lib/shared/options/optionsSchema.d.ts +4 -4
- package/lib/shared/options/readOptions.js +1 -1
- package/lib/shared/options/readOptions.js.map +1 -1
- package/lib/shared/packages.js +1 -3
- package/lib/shared/packages.js.map +1 -1
- package/lib/steps/addToolAllContributors.js +1 -1
- package/lib/steps/addToolAllContributors.js.map +1 -1
- package/lib/steps/initializeGitHubRepository/initializeBranchProtectionSettings.js +53 -31
- package/lib/steps/initializeGitHubRepository/initializeBranchProtectionSettings.js.map +1 -1
- package/lib/steps/uninstallPackages.js +4 -0
- package/lib/steps/uninstallPackages.js.map +1 -1
- package/lib/steps/updateAllContributorsTable.js +1 -1
- package/lib/steps/updateAllContributorsTable.js.map +1 -1
- package/lib/steps/writing/creation/createKnipConfig.d.ts +3 -0
- package/lib/steps/writing/creation/createKnipConfig.js +20 -0
- package/lib/steps/writing/creation/createKnipConfig.js.map +1 -0
- package/lib/steps/writing/creation/index.d.ts +2 -1
- package/lib/steps/writing/creation/index.js +21 -8
- package/lib/steps/writing/creation/index.js.map +1 -1
- package/lib/steps/writing/creation/rootFiles.js +2 -9
- package/lib/steps/writing/creation/rootFiles.js.map +1 -1
- package/package.json +16 -12
- package/lib/next/blocks/blockRepositoryBranchProtection.js +0 -49
- package/lib/next/blocks/blockRepositoryBranchProtection.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 { 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\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\
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/next/blocks/options.fakes.ts"],"sourcesContent":["import { BaseOptions } from \"../base.js\";\n\nexport const optionsBase = {\n\taccess: \"public\",\n\tdescription: \"Test description\",\n\temail: {\n\t\tgithub: \"github@email.com\",\n\t\tnpm: \"npm@email.com\",\n\t},\n\towner: \"test-owner\",\n\trepository: \"test-repository\",\n\ttitle: \"Test Title\",\n} satisfies BaseOptions;\n"],"mappings":"AAEO,MAAM,cAAc;AAAA,EAC1B,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,OAAO;AAAA,IACN,QAAQ;AAAA,IACR,KAAK;AAAA,EACN;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,OAAO;AACR;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/next/blocks/options.fakes.ts"],"sourcesContent":["import { BaseOptions } from \"../base.js\";\n\nexport const optionsBase = {\n\taccess: \"public\",\n\tdescription: \"Test description\",\n\tdirectory: \".\",\n\temail: {\n\t\tgithub: \"github@email.com\",\n\t\tnpm: \"npm@email.com\",\n\t},\n\towner: \"test-owner\",\n\trepository: \"test-repository\",\n\ttitle: \"Test Title\",\n} satisfies BaseOptions;\n"],"mappings":"AAEO,MAAM,cAAc;AAAA,EAC1B,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,WAAW;AAAA,EACX,OAAO;AAAA,IACN,QAAQ;AAAA,IACR,KAAK;AAAA,EACN;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,OAAO;AACR;","names":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
declare
|
|
1
|
+
declare function getPackageDependencies(...names: string[]): {
|
|
2
2
|
[k: string]: string;
|
|
3
3
|
};
|
|
4
|
+
declare function getPackageDependency(name: string): string;
|
|
4
5
|
|
|
5
|
-
export { getPackageDependencies };
|
|
6
|
+
export { getPackageDependencies, getPackageDependency };
|
|
@@ -4,22 +4,28 @@ const packageData = (
|
|
|
4
4
|
// Importing from above src/ would expand the TS build rootDir
|
|
5
5
|
require2("../../../package.json")
|
|
6
6
|
);
|
|
7
|
-
|
|
7
|
+
function getPackageDependencies(...names) {
|
|
8
|
+
return Object.fromEntries(
|
|
9
|
+
names.map((name) => {
|
|
10
|
+
return [name, getPackageDependency(name)];
|
|
11
|
+
})
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
function getPackageDependency(name) {
|
|
15
|
+
const version = getPackageInner("devDependencies", name) ?? getPackageInner("dependencies", name);
|
|
16
|
+
if (!version) {
|
|
17
|
+
throw new Error(
|
|
18
|
+
`'${name} is neither in package.json's dependencies nor its devDependencies.`
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
return version;
|
|
22
|
+
}
|
|
23
|
+
function getPackageInner(key, name) {
|
|
8
24
|
const inner = packageData[key];
|
|
9
25
|
return inner[name];
|
|
10
|
-
}
|
|
11
|
-
const getPackageDependencies = (...names) => Object.fromEntries(
|
|
12
|
-
names.map((name) => {
|
|
13
|
-
const version = getPackageInner("devDependencies", name) ?? getPackageInner("dependencies", name);
|
|
14
|
-
if (!version) {
|
|
15
|
-
throw new Error(
|
|
16
|
-
`'${name} is neither in package.json's dependencies nor its devDependencies.`
|
|
17
|
-
);
|
|
18
|
-
}
|
|
19
|
-
return [name, version];
|
|
20
|
-
})
|
|
21
|
-
);
|
|
26
|
+
}
|
|
22
27
|
export {
|
|
23
|
-
getPackageDependencies
|
|
28
|
+
getPackageDependencies,
|
|
29
|
+
getPackageDependency
|
|
24
30
|
};
|
|
25
31
|
//# sourceMappingURL=packageData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/next/blocks/packageData.ts"],"sourcesContent":["import { createRequire } from \"node:module\";\n\nconst require = createRequire(import.meta.url);\n\nconst packageData =\n\t// Importing from above src/ would expand the TS build rootDir\n\trequire(\"../../../package.json\") as typeof import(\"../../../package.json\");\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/next/blocks/packageData.ts"],"sourcesContent":["import { createRequire } from \"node:module\";\n\nconst require = createRequire(import.meta.url);\n\nconst packageData =\n\t// Importing from above src/ would expand the TS build rootDir\n\trequire(\"../../../package.json\") as typeof import(\"../../../package.json\");\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 = packageData[key];\n\n\treturn inner[name as keyof typeof inner] as string | undefined;\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;AAE9B,MAAMA,WAAU,cAAc,YAAY,GAAG;AAE7C,MAAM;AAAA;AAAA,EAELA,SAAQ,uBAAuB;AAAA;AAEzB,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,YAAY,GAAG;AAE7B,SAAO,MAAM,IAA0B;AACxC;","names":["require"]}
|
|
@@ -25,6 +25,7 @@ declare const presetCommon: create.Preset<{
|
|
|
25
25
|
profile: string;
|
|
26
26
|
}>, "many">>;
|
|
27
27
|
description: zod.ZodString;
|
|
28
|
+
directory: zod.ZodString;
|
|
28
29
|
documentation: zod.ZodOptional<zod.ZodString>;
|
|
29
30
|
email: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
|
|
30
31
|
github: zod.ZodString;
|
|
@@ -55,7 +56,6 @@ declare const presetCommon: create.Preset<{
|
|
|
55
56
|
}>>;
|
|
56
57
|
hideTemplatedBy: zod.ZodOptional<zod.ZodBoolean>;
|
|
57
58
|
keywords: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
|
|
58
|
-
login: zod.ZodOptional<zod.ZodString>;
|
|
59
59
|
logo: zod.ZodOptional<zod.ZodObject<{
|
|
60
60
|
alt: zod.ZodString;
|
|
61
61
|
src: zod.ZodString;
|
|
@@ -90,7 +90,6 @@ declare const presetCommon: create.Preset<{
|
|
|
90
90
|
devDependencies?: Record<string, string> | undefined;
|
|
91
91
|
scripts?: Record<string, string> | undefined;
|
|
92
92
|
}>>;
|
|
93
|
-
preserveGeneratedFrom: zod.ZodOptional<zod.ZodBoolean>;
|
|
94
93
|
repository: zod.ZodString;
|
|
95
94
|
title: zod.ZodString;
|
|
96
95
|
version: zod.ZodOptional<zod.ZodString>;
|
|
@@ -25,6 +25,7 @@ declare const presetEverything: create.Preset<{
|
|
|
25
25
|
profile: string;
|
|
26
26
|
}>, "many">>;
|
|
27
27
|
description: zod.ZodString;
|
|
28
|
+
directory: zod.ZodString;
|
|
28
29
|
documentation: zod.ZodOptional<zod.ZodString>;
|
|
29
30
|
email: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
|
|
30
31
|
github: zod.ZodString;
|
|
@@ -55,7 +56,6 @@ declare const presetEverything: create.Preset<{
|
|
|
55
56
|
}>>;
|
|
56
57
|
hideTemplatedBy: zod.ZodOptional<zod.ZodBoolean>;
|
|
57
58
|
keywords: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
|
|
58
|
-
login: zod.ZodOptional<zod.ZodString>;
|
|
59
59
|
logo: zod.ZodOptional<zod.ZodObject<{
|
|
60
60
|
alt: zod.ZodString;
|
|
61
61
|
src: zod.ZodString;
|
|
@@ -90,7 +90,6 @@ declare const presetEverything: create.Preset<{
|
|
|
90
90
|
devDependencies?: Record<string, string> | undefined;
|
|
91
91
|
scripts?: Record<string, string> | undefined;
|
|
92
92
|
}>>;
|
|
93
|
-
preserveGeneratedFrom: zod.ZodOptional<zod.ZodBoolean>;
|
|
94
93
|
repository: zod.ZodString;
|
|
95
94
|
title: zod.ZodString;
|
|
96
95
|
version: zod.ZodOptional<zod.ZodString>;
|
|
@@ -25,6 +25,7 @@ declare const presetMinimal: create.Preset<{
|
|
|
25
25
|
profile: string;
|
|
26
26
|
}>, "many">>;
|
|
27
27
|
description: zod.ZodString;
|
|
28
|
+
directory: zod.ZodString;
|
|
28
29
|
documentation: zod.ZodOptional<zod.ZodString>;
|
|
29
30
|
email: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
|
|
30
31
|
github: zod.ZodString;
|
|
@@ -55,7 +56,6 @@ declare const presetMinimal: create.Preset<{
|
|
|
55
56
|
}>>;
|
|
56
57
|
hideTemplatedBy: zod.ZodOptional<zod.ZodBoolean>;
|
|
57
58
|
keywords: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
|
|
58
|
-
login: zod.ZodOptional<zod.ZodString>;
|
|
59
59
|
logo: zod.ZodOptional<zod.ZodObject<{
|
|
60
60
|
alt: zod.ZodString;
|
|
61
61
|
src: zod.ZodString;
|
|
@@ -90,7 +90,6 @@ declare const presetMinimal: create.Preset<{
|
|
|
90
90
|
devDependencies?: Record<string, string> | undefined;
|
|
91
91
|
scripts?: Record<string, string> | undefined;
|
|
92
92
|
}>>;
|
|
93
|
-
preserveGeneratedFrom: zod.ZodOptional<zod.ZodBoolean>;
|
|
94
93
|
repository: zod.ZodString;
|
|
95
94
|
title: zod.ZodString;
|
|
96
95
|
version: zod.ZodOptional<zod.ZodString>;
|
|
@@ -6,6 +6,7 @@ import { blockESLint } from "./blocks/blockESLint.js";
|
|
|
6
6
|
import { blockExampleFiles } from "./blocks/blockExampleFiles.js";
|
|
7
7
|
import { blockFunding } from "./blocks/blockFunding.js";
|
|
8
8
|
import { blockGitHubActionsCI } from "./blocks/blockGitHubActionsCI.js";
|
|
9
|
+
import { blockGitHubApps } from "./blocks/blockGitHubApps.js";
|
|
9
10
|
import { blockGitHubIssueTemplates } from "./blocks/blockGitHubIssueTemplates.js";
|
|
10
11
|
import { blockGitHubPRTemplate } from "./blocks/blockGitHubPRTemplate.js";
|
|
11
12
|
import { blockGitignore } from "./blocks/blockGitignore.js";
|
|
@@ -13,8 +14,9 @@ import { blockMITLicense } from "./blocks/blockMITLicense.js";
|
|
|
13
14
|
import { blockPackageJson } from "./blocks/blockPackageJson.js";
|
|
14
15
|
import { blockPrettier } from "./blocks/blockPrettier.js";
|
|
15
16
|
import { blockREADME } from "./blocks/blockREADME.js";
|
|
16
|
-
import {
|
|
17
|
+
import { blockRepositoryBranchRuleset } from "./blocks/blockRepositoryBranchRuleset.js";
|
|
17
18
|
import { blockRepositoryLabels } from "./blocks/blockRepositoryLabels.js";
|
|
19
|
+
import { blockRepositorySecrets } from "./blocks/blockRepositorySecrets.js";
|
|
18
20
|
import { blockRepositorySettings } from "./blocks/blockRepositorySettings.js";
|
|
19
21
|
import { blockTemplatedBy } from "./blocks/blockTemplatedBy.js";
|
|
20
22
|
import { blockTSup } from "./blocks/blockTSup.js";
|
|
@@ -32,6 +34,7 @@ const presetMinimal = base.createPreset({
|
|
|
32
34
|
blockExampleFiles,
|
|
33
35
|
blockFunding,
|
|
34
36
|
blockGitHubActionsCI,
|
|
37
|
+
blockGitHubApps,
|
|
35
38
|
blockGitHubIssueTemplates,
|
|
36
39
|
blockGitHubPRTemplate,
|
|
37
40
|
blockGitignore,
|
|
@@ -39,8 +42,9 @@ const presetMinimal = base.createPreset({
|
|
|
39
42
|
blockPackageJson,
|
|
40
43
|
blockPrettier,
|
|
41
44
|
blockREADME,
|
|
42
|
-
|
|
45
|
+
blockRepositoryBranchRuleset,
|
|
43
46
|
blockRepositoryLabels,
|
|
47
|
+
blockRepositorySecrets,
|
|
44
48
|
blockRepositorySettings,
|
|
45
49
|
blockTemplatedBy,
|
|
46
50
|
blockTSup,
|
|
@@ -1 +1 @@
|
|
|
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 { 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 {
|
|
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":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { inputFromFile } from "input-from-file";
|
|
2
|
+
import { swallowError } from "./utils/swallowError.js";
|
|
3
|
+
const knownHeadings = /* @__PURE__ */ new Set([
|
|
4
|
+
"building",
|
|
5
|
+
"development",
|
|
6
|
+
"formatting",
|
|
7
|
+
"linting",
|
|
8
|
+
"testing",
|
|
9
|
+
"type checking"
|
|
10
|
+
]);
|
|
11
|
+
async function readDocumentation(take) {
|
|
12
|
+
const existing = swallowError(
|
|
13
|
+
await take(inputFromFile, {
|
|
14
|
+
filePath: ".github/DEVELOPMENT.md"
|
|
15
|
+
})
|
|
16
|
+
);
|
|
17
|
+
if (!existing) {
|
|
18
|
+
return void 0;
|
|
19
|
+
}
|
|
20
|
+
return existing.split(/\n\n(?=##\s)/).filter((section) => !knownHeadings.has(parseHeading(section))).join("\n\n");
|
|
21
|
+
}
|
|
22
|
+
function parseHeading(section) {
|
|
23
|
+
return section.split("\n")[0].replace(/^#+\s+/, "").trim().toLowerCase();
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
readDocumentation
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=readDocumentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/next/readDocumentation.ts"],"sourcesContent":["import { TakeInput } from \"create\";\nimport { inputFromFile } from \"input-from-file\";\n\nimport { swallowError } from \"./utils/swallowError.js\";\n\nconst knownHeadings = new Set([\n\t\"building\",\n\t\"development\",\n\t\"formatting\",\n\t\"linting\",\n\t\"testing\",\n\t\"type checking\",\n]);\n\nexport async function readDocumentation(take: TakeInput) {\n\tconst existing = swallowError(\n\t\tawait take(inputFromFile, {\n\t\t\tfilePath: \".github/DEVELOPMENT.md\",\n\t\t}),\n\t);\n\tif (!existing) {\n\t\treturn undefined;\n\t}\n\n\treturn existing\n\t\t.split(/\\n\\n(?=##\\s)/)\n\t\t.filter((section) => !knownHeadings.has(parseHeading(section)))\n\t\t.join(\"\\n\\n\");\n}\n\nfunction parseHeading(section: string) {\n\treturn section\n\t\t.split(\"\\n\")[0]\n\t\t.replace(/^#+\\s+/, \"\")\n\t\t.trim()\n\t\t.toLowerCase();\n}\n"],"mappings":"AACA,SAAS,qBAAqB;AAE9B,SAAS,oBAAoB;AAE7B,MAAM,gBAAgB,oBAAI,IAAI;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAED,eAAsB,kBAAkB,MAAiB;AACxD,QAAM,WAAW;AAAA,IAChB,MAAM,KAAK,eAAe;AAAA,MACzB,UAAU;AAAA,IACX,CAAC;AAAA,EACF;AACA,MAAI,CAAC,UAAU;AACd,WAAO;AAAA,EACR;AAEA,SAAO,SACL,MAAM,cAAc,EACpB,OAAO,CAAC,YAAY,CAAC,cAAc,IAAI,aAAa,OAAO,CAAC,CAAC,EAC7D,KAAK,MAAM;AACd;AAEA,SAAS,aAAa,SAAiB;AACtC,SAAO,QACL,MAAM,IAAI,EAAE,CAAC,EACb,QAAQ,UAAU,EAAE,EACpB,KAAK,EACL,YAAY;AACf;","names":[]}
|
package/lib/next/template.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as create from 'create';
|
|
2
2
|
import * as zod from 'zod';
|
|
3
3
|
|
|
4
|
-
declare const template: create.Template<
|
|
4
|
+
declare const template: create.Template<{
|
|
5
5
|
access: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"public">, zod.ZodLiteral<"restricted">]>>;
|
|
6
6
|
author: zod.ZodOptional<zod.ZodString>;
|
|
7
7
|
bin: zod.ZodOptional<zod.ZodString>;
|
|
@@ -25,6 +25,7 @@ declare const template: create.Template<"common" | "everything" | "minimal", {
|
|
|
25
25
|
profile: string;
|
|
26
26
|
}>, "many">>;
|
|
27
27
|
description: zod.ZodString;
|
|
28
|
+
directory: zod.ZodString;
|
|
28
29
|
documentation: zod.ZodOptional<zod.ZodString>;
|
|
29
30
|
email: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
|
|
30
31
|
github: zod.ZodString;
|
|
@@ -55,7 +56,6 @@ declare const template: create.Template<"common" | "everything" | "minimal", {
|
|
|
55
56
|
}>>;
|
|
56
57
|
hideTemplatedBy: zod.ZodOptional<zod.ZodBoolean>;
|
|
57
58
|
keywords: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
|
|
58
|
-
login: zod.ZodOptional<zod.ZodString>;
|
|
59
59
|
logo: zod.ZodOptional<zod.ZodObject<{
|
|
60
60
|
alt: zod.ZodString;
|
|
61
61
|
src: zod.ZodString;
|
|
@@ -90,7 +90,6 @@ declare const template: create.Template<"common" | "everything" | "minimal", {
|
|
|
90
90
|
devDependencies?: Record<string, string> | undefined;
|
|
91
91
|
scripts?: Record<string, string> | undefined;
|
|
92
92
|
}>>;
|
|
93
|
-
preserveGeneratedFrom: zod.ZodOptional<zod.ZodBoolean>;
|
|
94
93
|
repository: zod.ZodString;
|
|
95
94
|
title: zod.ZodString;
|
|
96
95
|
version: zod.ZodOptional<zod.ZodString>;
|
package/lib/next/template.js
CHANGED
|
@@ -6,12 +6,8 @@ const template = createTemplate({
|
|
|
6
6
|
about: {
|
|
7
7
|
name: "TypeScript App"
|
|
8
8
|
},
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
{ label: "common", preset: presetCommon },
|
|
12
|
-
{ label: "everything", preset: presetEverything },
|
|
13
|
-
{ label: "minimal", preset: presetMinimal }
|
|
14
|
-
]
|
|
9
|
+
presets: [presetMinimal, presetCommon, presetEverything],
|
|
10
|
+
suggested: presetCommon
|
|
15
11
|
});
|
|
16
12
|
var template_default = template;
|
|
17
13
|
export {
|
package/lib/next/template.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/next/template.ts"],"sourcesContent":["import { createTemplate } from \"create\";\n\nimport { presetCommon } from \"./presetCommon.js\";\nimport { presetEverything } from \"./presetEverything.js\";\nimport { presetMinimal } from \"./presetMinimal.js\";\n\nexport const template = createTemplate({\n\tabout: {\n\t\tname: \"TypeScript App\",\n\t},\n\
|
|
1
|
+
{"version":3,"sources":["../../src/next/template.ts"],"sourcesContent":["import { createTemplate } from \"create\";\n\nimport { presetCommon } from \"./presetCommon.js\";\nimport { presetEverything } from \"./presetEverything.js\";\nimport { presetMinimal } from \"./presetMinimal.js\";\n\nexport const template = createTemplate({\n\tabout: {\n\t\tname: \"TypeScript App\",\n\t},\n\tpresets: [presetMinimal, presetCommon, presetEverything],\n\tsuggested: presetCommon,\n});\n\nexport default template;\n"],"mappings":"AAAA,SAAS,sBAAsB;AAE/B,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAEvB,MAAM,WAAW,eAAe;AAAA,EACtC,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,SAAS,CAAC,eAAe,cAAc,gBAAgB;AAAA,EACvD,WAAW;AACZ,CAAC;AAED,IAAO,mBAAQ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/next/utils/resolveBin.ts"],"sourcesContent":["export function resolveBin(bin: string) {\n\treturn import.meta.resolve(bin).replace(/^file:\\/\\//gu, \"\");\n}\n"],"mappings":"AAAO,SAAS,WAAW,KAAa;AACvC,SAAO,YAAY,QAAQ,GAAG,EAAE,QAAQ,gBAAgB,EAAE;AAC3D;","names":[]}
|
|
@@ -34,7 +34,7 @@ async function getGitHubUserAsAllContributor(octokit, options) {
|
|
|
34
34
|
"projectManagement",
|
|
35
35
|
"tool"
|
|
36
36
|
].join(",");
|
|
37
|
-
await $`
|
|
37
|
+
await $`pnpx all-contributors-cli@6.25 add ${user} ${contributions}`;
|
|
38
38
|
return user;
|
|
39
39
|
}
|
|
40
40
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/getGitHubUserAsAllContributor.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport { $ } from \"execa\";\nimport { Octokit } from \"octokit\";\n\nimport { Options } from \"./types.js\";\n\nexport async function getGitHubUserAsAllContributor(\n\toctokit: Octokit | undefined,\n\toptions: Pick<Options, \"offline\" | \"owner\">,\n) {\n\tif (options.offline) {\n\t\tconsole.warn(\n\t\t\tchalk.gray(\n\t\t\t\t`Skipping populating all-contributors contributions for ${options.owner} because in --offline mode.`,\n\t\t\t),\n\t\t);\n\t\treturn options.owner;\n\t}\n\n\tlet user: string;\n\n\tif (octokit) {\n\t\ttry {\n\t\t\tuser = (await octokit.rest.users.getAuthenticated()).data.login;\n\t\t} catch {\n\t\t\tconsole.warn(\n\t\t\t\tchalk.gray(\n\t\t\t\t\t`Couldn't authenticate GitHub user, falling back to the provided owner name '${options.owner}'.`,\n\t\t\t\t),\n\t\t\t);\n\t\t\tuser = options.owner;\n\t\t}\n\t} else {\n\t\tuser = options.owner;\n\t}\n\n\tconst contributions = [\n\t\t\"code\",\n\t\t\"content\",\n\t\t\"doc\",\n\t\t\"ideas\",\n\t\t\"infra\",\n\t\t\"maintenance\",\n\t\t\"projectManagement\",\n\t\t\"tool\",\n\t].join(\",\");\n\tawait $`
|
|
1
|
+
{"version":3,"sources":["../../src/shared/getGitHubUserAsAllContributor.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport { $ } from \"execa\";\nimport { Octokit } from \"octokit\";\n\nimport { Options } from \"./types.js\";\n\nexport async function getGitHubUserAsAllContributor(\n\toctokit: Octokit | undefined,\n\toptions: Pick<Options, \"offline\" | \"owner\">,\n) {\n\tif (options.offline) {\n\t\tconsole.warn(\n\t\t\tchalk.gray(\n\t\t\t\t`Skipping populating all-contributors contributions for ${options.owner} because in --offline mode.`,\n\t\t\t),\n\t\t);\n\t\treturn options.owner;\n\t}\n\n\tlet user: string;\n\n\tif (octokit) {\n\t\ttry {\n\t\t\tuser = (await octokit.rest.users.getAuthenticated()).data.login;\n\t\t} catch {\n\t\t\tconsole.warn(\n\t\t\t\tchalk.gray(\n\t\t\t\t\t`Couldn't authenticate GitHub user, falling back to the provided owner name '${options.owner}'.`,\n\t\t\t\t),\n\t\t\t);\n\t\t\tuser = options.owner;\n\t\t}\n\t} else {\n\t\tuser = options.owner;\n\t}\n\n\tconst contributions = [\n\t\t\"code\",\n\t\t\"content\",\n\t\t\"doc\",\n\t\t\"ideas\",\n\t\t\"infra\",\n\t\t\"maintenance\",\n\t\t\"projectManagement\",\n\t\t\"tool\",\n\t].join(\",\");\n\tawait $`pnpx all-contributors-cli@6.25 add ${user} ${contributions}`;\n\n\treturn user;\n}\n"],"mappings":"AAAA,OAAO,WAAW;AAClB,SAAS,SAAS;AAKlB,eAAsB,8BACrB,SACA,SACC;AACD,MAAI,QAAQ,SAAS;AACpB,YAAQ;AAAA,MACP,MAAM;AAAA,QACL,0DAA0D,QAAQ,KAAK;AAAA,MACxE;AAAA,IACD;AACA,WAAO,QAAQ;AAAA,EAChB;AAEA,MAAI;AAEJ,MAAI,SAAS;AACZ,QAAI;AACH,cAAQ,MAAM,QAAQ,KAAK,MAAM,iBAAiB,GAAG,KAAK;AAAA,IAC3D,QAAQ;AACP,cAAQ;AAAA,QACP,MAAM;AAAA,UACL,+EAA+E,QAAQ,KAAK;AAAA,QAC7F;AAAA,MACD;AACA,aAAO,QAAQ;AAAA,IAChB;AAAA,EACD,OAAO;AACN,WAAO,QAAQ;AAAA,EAChB;AAEA,QAAM,gBAAgB;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,EAAE,KAAK,GAAG;AACV,QAAM,uCAAuC,IAAI,IAAI,aAAa;AAElE,SAAO;AACR;","names":[]}
|
|
@@ -114,10 +114,11 @@ declare const optionsSchema: z.ZodObject<{
|
|
|
114
114
|
skipUninstall: z.ZodOptional<z.ZodBoolean>;
|
|
115
115
|
title: z.ZodOptional<z.ZodString>;
|
|
116
116
|
}, "strip", z.ZodTypeAny, {
|
|
117
|
+
mode?: "create" | "initialize" | "migrate" | undefined;
|
|
118
|
+
auto?: boolean | undefined;
|
|
117
119
|
offline?: boolean | undefined;
|
|
118
120
|
access?: "public" | "restricted" | undefined;
|
|
119
121
|
author?: string | undefined;
|
|
120
|
-
auto?: boolean | undefined;
|
|
121
122
|
base?: "common" | "everything" | "minimal" | "prompt" | undefined;
|
|
122
123
|
bin?: string | undefined;
|
|
123
124
|
description?: string | undefined;
|
|
@@ -130,7 +131,6 @@ declare const optionsSchema: z.ZodObject<{
|
|
|
130
131
|
guide?: string | undefined;
|
|
131
132
|
keywords?: string[] | undefined;
|
|
132
133
|
logo?: string | undefined;
|
|
133
|
-
mode?: "create" | "initialize" | "migrate" | undefined;
|
|
134
134
|
owner?: string | undefined;
|
|
135
135
|
repository?: string | undefined;
|
|
136
136
|
title?: string | undefined;
|
|
@@ -164,10 +164,11 @@ declare const optionsSchema: z.ZodObject<{
|
|
|
164
164
|
guideTitle?: string | undefined;
|
|
165
165
|
logoAlt?: string | undefined;
|
|
166
166
|
}, {
|
|
167
|
+
mode?: "create" | "initialize" | "migrate" | undefined;
|
|
168
|
+
auto?: boolean | undefined;
|
|
167
169
|
offline?: boolean | undefined;
|
|
168
170
|
access?: "public" | "restricted" | undefined;
|
|
169
171
|
author?: string | undefined;
|
|
170
|
-
auto?: boolean | undefined;
|
|
171
172
|
base?: "common" | "everything" | "minimal" | "prompt" | undefined;
|
|
172
173
|
bin?: string | undefined;
|
|
173
174
|
description?: string | undefined;
|
|
@@ -180,7 +181,6 @@ declare const optionsSchema: z.ZodObject<{
|
|
|
180
181
|
guide?: string | undefined;
|
|
181
182
|
keywords?: string[] | undefined;
|
|
182
183
|
logo?: string | undefined;
|
|
183
|
-
mode?: "create" | "initialize" | "migrate" | undefined;
|
|
184
184
|
owner?: string | undefined;
|
|
185
185
|
repository?: string | undefined;
|
|
186
186
|
title?: string | undefined;
|
|
@@ -65,7 +65,7 @@ async function readOptions(args, mode, promptedOptions = {}) {
|
|
|
65
65
|
skipGitHubApi: values["skip-github-api"] ?? values.offline,
|
|
66
66
|
skipInstall: values["skip-install"],
|
|
67
67
|
skipRemoval: values["skip-removal"],
|
|
68
|
-
skipRestore: values["skip-restore"],
|
|
68
|
+
skipRestore: values["skip-restore"] ?? mode === "create",
|
|
69
69
|
skipUninstall: values["skip-uninstall"],
|
|
70
70
|
title: values.title
|
|
71
71
|
};
|
|
@@ -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\"],\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\";\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"]}
|
package/lib/shared/packages.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { execaCommand } from "execa";
|
|
2
2
|
import { readFileSafe } from "./readFileSafe.js";
|
|
3
3
|
async function readPackageData() {
|
|
4
|
-
return JSON.parse(
|
|
5
|
-
await readFileSafe("./package.json", "{}")
|
|
6
|
-
);
|
|
4
|
+
return JSON.parse(await readFileSafe("./package.json", "{}")) ?? {};
|
|
7
5
|
}
|
|
8
6
|
async function removeDependencies(packageNames, existing = {}, flags = "") {
|
|
9
7
|
const present = packageNames.filter((packageName) => packageName in existing);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/shared/packages.ts"],"sourcesContent":["import { execaCommand } from \"execa\";\n\nimport { readFileSafe } from \"./readFileSafe.js\";\nimport { PartialPackageData } from \"./types.js\";\n\nexport async function readPackageData() {\n\treturn
|
|
1
|
+
{"version":3,"sources":["../../src/shared/packages.ts"],"sourcesContent":["import { execaCommand } from \"execa\";\n\nimport { readFileSafe } from \"./readFileSafe.js\";\nimport { PartialPackageData } from \"./types.js\";\n\nexport async function readPackageData() {\n\treturn (\n\t\t(JSON.parse(await readFileSafe(\"./package.json\", \"{}\")) as\n\t\t\t| PartialPackageData\n\t\t\t| undefined) ?? {}\n\t);\n}\n\nexport async function removeDependencies(\n\tpackageNames: string[],\n\texisting: Record<string, string> = {},\n\tflags = \"\",\n) {\n\tconst present = packageNames.filter((packageName) => packageName in existing);\n\n\tif (present.length) {\n\t\tawait execaCommand(\n\t\t\t`pnpm remove ${present.join(\" \")}${flags ? ` ${flags}` : \"\"}`,\n\t\t);\n\t}\n}\n"],"mappings":"AAAA,SAAS,oBAAoB;AAE7B,SAAS,oBAAoB;AAG7B,eAAsB,kBAAkB;AACvC,SACE,KAAK,MAAM,MAAM,aAAa,kBAAkB,IAAI,CAAC,KAErC,CAAC;AAEpB;AAEA,eAAsB,mBACrB,cACA,WAAmC,CAAC,GACpC,QAAQ,IACP;AACD,QAAM,UAAU,aAAa,OAAO,CAAC,gBAAgB,eAAe,QAAQ;AAE5E,MAAI,QAAQ,QAAQ;AACnB,UAAM;AAAA,MACL,eAAe,QAAQ,KAAK,GAAG,CAAC,GAAG,QAAQ,IAAI,KAAK,KAAK,EAAE;AAAA,IAC5D;AAAA,EACD;AACD;","names":[]}
|
|
@@ -3,7 +3,7 @@ import { getGitHubUserAsAllContributor } from "../shared/getGitHubUserAsAllContr
|
|
|
3
3
|
async function addToolAllContributors(octokit, options) {
|
|
4
4
|
const login = await getGitHubUserAsAllContributor(octokit, options);
|
|
5
5
|
if (login !== "JoshuaKGoldberg") {
|
|
6
|
-
await $`
|
|
6
|
+
await $`pnpx all-contributors-cli add JoshuaKGoldberg tool`;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/steps/addToolAllContributors.ts"],"sourcesContent":["import { $ } from \"execa\";\nimport { Octokit } from \"octokit\";\n\nimport { getGitHubUserAsAllContributor } from \"../shared/getGitHubUserAsAllContributor.js\";\nimport { Options } from \"../shared/types.js\";\n\nexport async function addToolAllContributors(\n\toctokit: Octokit | undefined,\n\toptions: Pick<Options, \"offline\" | \"owner\">,\n) {\n\tconst login = await getGitHubUserAsAllContributor(octokit, options);\n\n\tif (login !== \"JoshuaKGoldberg\") {\n\t\tawait $`
|
|
1
|
+
{"version":3,"sources":["../../src/steps/addToolAllContributors.ts"],"sourcesContent":["import { $ } from \"execa\";\nimport { Octokit } from \"octokit\";\n\nimport { getGitHubUserAsAllContributor } from \"../shared/getGitHubUserAsAllContributor.js\";\nimport { Options } from \"../shared/types.js\";\n\nexport async function addToolAllContributors(\n\toctokit: Octokit | undefined,\n\toptions: Pick<Options, \"offline\" | \"owner\">,\n) {\n\tconst login = await getGitHubUserAsAllContributor(octokit, options);\n\n\tif (login !== \"JoshuaKGoldberg\") {\n\t\tawait $`pnpx all-contributors-cli add JoshuaKGoldberg tool`;\n\t}\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAGlB,SAAS,qCAAqC;AAG9C,eAAsB,uBACrB,SACA,SACC;AACD,QAAM,QAAQ,MAAM,8BAA8B,SAAS,OAAO;AAElE,MAAI,UAAU,mBAAmB;AAChC,UAAM;AAAA,EACP;AACD;","names":[]}
|