create-typescript-app 1.75.1 → 1.77.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 +1 -1
- package/lib/bin/help.js +35 -35
- package/lib/bin/help.js.map +1 -1
- package/lib/bin/promptForMode.js +6 -6
- package/lib/bin/promptForMode.js.map +1 -1
- package/lib/create/createWithOptions.js +12 -13
- package/lib/create/createWithOptions.js.map +1 -1
- package/lib/index.d.ts +45 -0
- package/lib/index.js +5 -0
- package/lib/index.js.map +1 -1
- package/lib/next/base.d.ts +101 -0
- package/lib/next/base.js +140 -0
- package/lib/next/base.js.map +1 -0
- package/lib/next/blocks/blockAllContributors.d.ts +48 -0
- package/lib/next/blocks/blockAllContributors.js +59 -0
- package/lib/next/blocks/blockAllContributors.js.map +1 -0
- package/lib/next/blocks/blockAreTheTypesWrong.d.ts +48 -0
- package/lib/next/blocks/blockAreTheTypesWrong.js +29 -0
- package/lib/next/blocks/blockAreTheTypesWrong.js.map +1 -0
- package/lib/next/blocks/blockCSpell.d.ts +51 -0
- package/lib/next/blocks/blockCSpell.js +77 -0
- package/lib/next/blocks/blockCSpell.js.map +1 -0
- package/lib/next/blocks/blockContributingDocs.d.ts +48 -0
- package/lib/next/blocks/blockContributingDocs.js +116 -0
- package/lib/next/blocks/blockContributingDocs.js.map +1 -0
- package/lib/next/blocks/blockContributorCovenant.d.ts +48 -0
- package/lib/next/blocks/blockContributorCovenant.js +151 -0
- package/lib/next/blocks/blockContributorCovenant.js.map +1 -0
- package/lib/next/blocks/blockDevelopmentDocs.d.ts +62 -0
- package/lib/next/blocks/blockDevelopmentDocs.js +86 -0
- package/lib/next/blocks/blockDevelopmentDocs.js.map +1 -0
- package/lib/next/blocks/blockESLint.d.ts +73 -0
- package/lib/next/blocks/blockESLint.js +225 -0
- package/lib/next/blocks/blockESLint.js.map +1 -0
- package/lib/next/blocks/blockESLintComments.d.ts +48 -0
- package/lib/next/blocks/blockESLintComments.js +26 -0
- package/lib/next/blocks/blockESLintComments.js.map +1 -0
- package/lib/next/blocks/blockESLintJSDoc.d.ts +48 -0
- package/lib/next/blocks/blockESLintJSDoc.js +25 -0
- package/lib/next/blocks/blockESLintJSDoc.js.map +1 -0
- package/lib/next/blocks/blockESLintJSONC.d.ts +48 -0
- package/lib/next/blocks/blockESLintJSONC.js +21 -0
- package/lib/next/blocks/blockESLintJSONC.js.map +1 -0
- package/lib/next/blocks/blockESLintMarkdown.d.ts +48 -0
- package/lib/next/blocks/blockESLintMarkdown.js +27 -0
- package/lib/next/blocks/blockESLintMarkdown.js.map +1 -0
- package/lib/next/blocks/blockESLintMoreStyling.d.ts +48 -0
- package/lib/next/blocks/blockESLintMoreStyling.js +34 -0
- package/lib/next/blocks/blockESLintMoreStyling.js.map +1 -0
- package/lib/next/blocks/blockESLintNode.d.ts +48 -0
- package/lib/next/blocks/blockESLintNode.js +33 -0
- package/lib/next/blocks/blockESLintNode.js.map +1 -0
- package/lib/next/blocks/blockESLintPackageJson.d.ts +48 -0
- package/lib/next/blocks/blockESLintPackageJson.js +26 -0
- package/lib/next/blocks/blockESLintPackageJson.js.map +1 -0
- package/lib/next/blocks/blockESLintPerfectionist.d.ts +48 -0
- package/lib/next/blocks/blockESLintPerfectionist.js +32 -0
- package/lib/next/blocks/blockESLintPerfectionist.js.map +1 -0
- package/lib/next/blocks/blockESLintRegexp.d.ts +48 -0
- package/lib/next/blocks/blockESLintRegexp.js +23 -0
- package/lib/next/blocks/blockESLintRegexp.js.map +1 -0
- package/lib/next/blocks/blockESLintYML.d.ts +48 -0
- package/lib/next/blocks/blockESLintYML.js +46 -0
- package/lib/next/blocks/blockESLintYML.js.map +1 -0
- package/lib/next/blocks/blockFunding.d.ts +48 -0
- package/lib/next/blocks/blockFunding.js +20 -0
- package/lib/next/blocks/blockFunding.js.map +1 -0
- package/lib/next/blocks/blockGitHubActionsCI.d.ts +60 -0
- package/lib/next/blocks/blockGitHubActionsCI.js +122 -0
- package/lib/next/blocks/blockGitHubActionsCI.js.map +1 -0
- package/lib/next/blocks/blockGitHubIssueTemplates.d.ts +48 -0
- package/lib/next/blocks/blockGitHubIssueTemplates.js +217 -0
- package/lib/next/blocks/blockGitHubIssueTemplates.js.map +1 -0
- package/lib/next/blocks/blockGitHubPRTemplate.d.ts +48 -0
- package/lib/next/blocks/blockGitHubPRTemplate.js +32 -0
- package/lib/next/blocks/blockGitHubPRTemplate.js.map +1 -0
- package/lib/next/blocks/blockGitignore.d.ts +50 -0
- package/lib/next/blocks/blockGitignore.js +23 -0
- package/lib/next/blocks/blockGitignore.js.map +1 -0
- package/lib/next/blocks/blockKnip.d.ts +48 -0
- package/lib/next/blocks/blockKnip.js +58 -0
- package/lib/next/blocks/blockKnip.js.map +1 -0
- package/lib/next/blocks/blockMITLicense.d.ts +48 -0
- package/lib/next/blocks/blockMITLicense.js +46 -0
- package/lib/next/blocks/blockMITLicense.js.map +1 -0
- package/lib/next/blocks/blockMarkdownlint.d.ts +50 -0
- package/lib/next/blocks/blockMarkdownlint.js +77 -0
- package/lib/next/blocks/blockMarkdownlint.js.map +1 -0
- package/lib/next/blocks/blockNvmrc.d.ts +48 -0
- package/lib/next/blocks/blockNvmrc.js +26 -0
- package/lib/next/blocks/blockNvmrc.js.map +1 -0
- package/lib/next/blocks/blockPRCompliance.d.ts +48 -0
- package/lib/next/blocks/blockPRCompliance.js +48 -0
- package/lib/next/blocks/blockPRCompliance.js.map +1 -0
- package/lib/next/blocks/blockPackageJson.d.ts +56 -0
- package/lib/next/blocks/blockPackageJson.js +81 -0
- package/lib/next/blocks/blockPackageJson.js.map +1 -0
- package/lib/next/blocks/blockPnpmDedupe.d.ts +48 -0
- package/lib/next/blocks/blockPnpmDedupe.js +51 -0
- package/lib/next/blocks/blockPnpmDedupe.js.map +1 -0
- package/lib/next/blocks/blockPrettier.d.ts +57 -0
- package/lib/next/blocks/blockPrettier.js +104 -0
- package/lib/next/blocks/blockPrettier.js.map +1 -0
- package/lib/next/blocks/blockPrettierPluginCurly.d.ts +48 -0
- package/lib/next/blocks/blockPrettierPluginCurly.js +20 -0
- package/lib/next/blocks/blockPrettierPluginCurly.js.map +1 -0
- package/lib/next/blocks/blockPrettierPluginPackageJson.d.ts +48 -0
- package/lib/next/blocks/blockPrettierPluginPackageJson.js +20 -0
- package/lib/next/blocks/blockPrettierPluginPackageJson.js.map +1 -0
- package/lib/next/blocks/blockPrettierPluginSh.d.ts +48 -0
- package/lib/next/blocks/blockPrettierPluginSh.js +20 -0
- package/lib/next/blocks/blockPrettierPluginSh.js.map +1 -0
- package/lib/next/blocks/blockREADME.d.ts +50 -0
- package/lib/next/blocks/blockREADME.js +63 -0
- package/lib/next/blocks/blockREADME.js.map +1 -0
- package/lib/next/blocks/blockReleaseIt.d.ts +48 -0
- package/lib/next/blocks/blockReleaseIt.js +126 -0
- package/lib/next/blocks/blockReleaseIt.js.map +1 -0
- package/lib/next/blocks/blockRenovate.d.ts +48 -0
- package/lib/next/blocks/blockRenovate.js +34 -0
- package/lib/next/blocks/blockRenovate.js.map +1 -0
- package/lib/next/blocks/blockSecurityDocs.d.ts +48 -0
- package/lib/next/blocks/blockSecurityDocs.js +28 -0
- package/lib/next/blocks/blockSecurityDocs.js.map +1 -0
- package/lib/next/blocks/blockTSup.d.ts +50 -0
- package/lib/next/blocks/blockTSup.js +78 -0
- package/lib/next/blocks/blockTSup.js.map +1 -0
- package/lib/next/blocks/blockTemplatedBy.d.ts +50 -0
- package/lib/next/blocks/blockTemplatedBy.js +34 -0
- package/lib/next/blocks/blockTemplatedBy.js.map +1 -0
- package/lib/next/blocks/blockTypeScript.d.ts +48 -0
- package/lib/next/blocks/blockTypeScript.js +109 -0
- package/lib/next/blocks/blockTypeScript.js.map +1 -0
- package/lib/next/blocks/blockVSCode.d.ts +57 -0
- package/lib/next/blocks/blockVSCode.js +87 -0
- package/lib/next/blocks/blockVSCode.js.map +1 -0
- package/lib/next/blocks/blockVitest.d.ts +55 -0
- package/lib/next/blocks/blockVitest.js +154 -0
- package/lib/next/blocks/blockVitest.js.map +1 -0
- package/lib/next/blocks/index.d.ts +43 -0
- package/lib/next/blocks/index.js +43 -0
- package/lib/next/blocks/index.js.map +1 -0
- package/lib/next/blocks/options.fakes.d.ts +13 -0
- package/lib/next/blocks/options.fakes.js +15 -0
- package/lib/next/blocks/options.fakes.js.map +1 -0
- package/lib/next/blocks/packageData.d.ts +5 -0
- package/lib/next/blocks/packageData.js +25 -0
- package/lib/next/blocks/packageData.js.map +1 -0
- package/lib/next/presetCommon.d.ts +99 -0
- package/lib/next/presetCommon.js +21 -0
- package/lib/next/presetCommon.js.map +1 -0
- package/lib/next/presetEverything.d.ts +99 -0
- package/lib/next/presetEverything.js +59 -0
- package/lib/next/presetEverything.js.map +1 -0
- package/lib/next/presetMinimal.d.ts +99 -0
- package/lib/next/presetMinimal.js +45 -0
- package/lib/next/presetMinimal.js.map +1 -0
- package/lib/next/template.d.ts +99 -0
- package/lib/next/template.js +21 -0
- package/lib/next/template.js.map +1 -0
- package/lib/next/utils/removeTrailingSlash.d.ts +3 -0
- package/lib/next/utils/removeTrailingSlash.js +7 -0
- package/lib/next/utils/removeTrailingSlash.js.map +1 -0
- package/lib/next/utils/sortObject.d.ts +5 -0
- package/lib/next/utils/sortObject.js +9 -0
- package/lib/next/utils/sortObject.js.map +1 -0
- package/lib/next/utils/swallowError.d.ts +3 -0
- package/lib/next/utils/swallowError.js +7 -0
- package/lib/next/utils/swallowError.js.map +1 -0
- package/lib/shared/cli/spinners.d.ts +1 -1
- package/lib/shared/cli/spinners.js.map +1 -1
- package/lib/shared/isUsingCreateEngine.d.ts +3 -0
- package/lib/shared/isUsingCreateEngine.js +7 -0
- package/lib/shared/isUsingCreateEngine.js.map +1 -0
- package/lib/shared/options/args.d.ts +39 -13
- package/lib/shared/options/args.js +5 -0
- package/lib/shared/options/args.js.map +1 -1
- package/lib/shared/options/augmentOptionsWithExcludes.js +2 -2
- package/lib/shared/options/augmentOptionsWithExcludes.js.map +1 -1
- package/lib/shared/options/createOptionDefaults/index.d.ts +2 -4
- package/lib/shared/options/createOptionDefaults/index.js +4 -13
- package/lib/shared/options/createOptionDefaults/index.js.map +1 -1
- package/lib/shared/options/createOptionDefaults/readDefaultsFromReadme.js +4 -1
- package/lib/shared/options/createOptionDefaults/readDefaultsFromReadme.js.map +1 -1
- package/lib/shared/options/createOptionDefaults/readEmails.d.ts +11 -0
- package/lib/shared/options/createOptionDefaults/readEmails.js +14 -0
- package/lib/shared/options/createOptionDefaults/readEmails.js.map +1 -0
- package/lib/shared/options/createOptionDefaults/readFunding.d.ts +3 -0
- package/lib/shared/options/createOptionDefaults/readFunding.js +11 -0
- package/lib/shared/options/createOptionDefaults/readFunding.js.map +1 -0
- package/lib/shared/options/createOptionDefaults/readGuide.d.ts +6 -0
- package/lib/shared/options/createOptionDefaults/readGuide.js +18 -0
- package/lib/shared/options/createOptionDefaults/readGuide.js.map +1 -0
- package/lib/shared/options/ensureRepositoryExists.js +1 -1
- package/lib/shared/options/ensureRepositoryExists.js.map +1 -1
- package/lib/shared/options/exclusionKeys.d.ts +1 -1
- package/lib/shared/options/exclusionKeys.js +6 -0
- package/lib/shared/options/exclusionKeys.js.map +1 -1
- package/lib/shared/options/optionsSchema.d.ts +6 -2
- package/lib/shared/options/optionsSchema.js +1 -0
- package/lib/shared/options/optionsSchema.js.map +1 -1
- package/lib/shared/options/readOptions.d.ts +1 -1
- package/lib/shared/options/readOptions.js +1 -0
- package/lib/shared/options/readOptions.js.map +1 -1
- package/lib/shared/types.d.ts +32 -24
- package/lib/steps/addOwnerAsAllContributor.js +2 -2
- package/lib/steps/addOwnerAsAllContributor.js.map +1 -1
- package/lib/steps/clearUnnecessaryFiles.js +3 -4
- package/lib/steps/clearUnnecessaryFiles.js.map +1 -1
- package/lib/steps/finalizeDependencies.js +47 -44
- package/lib/steps/finalizeDependencies.js.map +1 -1
- package/lib/steps/populateCSpellDictionary.js +7 -7
- package/lib/steps/populateCSpellDictionary.js.map +1 -1
- package/lib/steps/removeSetupScripts.js +9 -3
- package/lib/steps/removeSetupScripts.js.map +1 -1
- package/lib/steps/uninstallPackages.js +10 -3
- package/lib/steps/uninstallPackages.js.map +1 -1
- package/lib/steps/updateReadme.d.ts +1 -1
- package/lib/steps/updateReadme.js +1 -1
- package/lib/steps/updateReadme.js.map +1 -1
- package/lib/steps/writeReadme/index.js +19 -19
- package/lib/steps/writeReadme/index.js.map +1 -1
- package/lib/steps/writing/creation/createCSpellConfig.d.ts +7 -0
- package/lib/steps/writing/creation/createCSpellConfig.js +27 -0
- package/lib/steps/writing/creation/createCSpellConfig.js.map +1 -0
- package/lib/steps/writing/creation/createDotGitignore.js +7 -5
- package/lib/steps/writing/creation/createDotGitignore.js.map +1 -1
- package/lib/steps/writing/creation/createESLintConfig.js +22 -46
- package/lib/steps/writing/creation/createESLintConfig.js.map +1 -1
- package/lib/steps/writing/creation/createTsupConfig.js +10 -10
- package/lib/steps/writing/creation/createTsupConfig.js.map +1 -1
- package/lib/steps/writing/creation/dotGitHub/createDevelopment/index.js +57 -41
- package/lib/steps/writing/creation/dotGitHub/createDevelopment/index.js.map +1 -1
- package/lib/steps/writing/creation/dotGitHub/createDevelopment/splitIntoSections.js +1 -1
- package/lib/steps/writing/creation/dotGitHub/createDevelopment/splitIntoSections.js.map +1 -1
- package/lib/steps/writing/creation/dotGitHub/createDotGitHubFiles.js +5 -5
- package/lib/steps/writing/creation/dotGitHub/createDotGitHubFiles.js.map +1 -1
- package/lib/steps/writing/creation/dotGitHub/createMultiWorkflowFile.d.ts +11 -9
- package/lib/steps/writing/creation/dotGitHub/createMultiWorkflowFile.js.map +1 -1
- package/lib/steps/writing/creation/dotGitHub/createSoloWorkflowFile.d.ts +16 -16
- package/lib/steps/writing/creation/dotGitHub/createSoloWorkflowFile.js.map +1 -1
- package/lib/steps/writing/creation/dotGitHub/createWorkflows.js +5 -1
- package/lib/steps/writing/creation/dotGitHub/createWorkflows.js.map +1 -1
- package/lib/steps/writing/creation/formatters/formatIgnoreFile.d.ts +1 -1
- package/lib/steps/writing/creation/formatters/formatIgnoreFile.js +1 -1
- package/lib/steps/writing/creation/formatters/formatIgnoreFile.js.map +1 -1
- package/lib/steps/writing/creation/formatters/formatTypeScript.js +1 -1
- package/lib/steps/writing/creation/formatters/formatTypeScript.js.map +1 -1
- package/lib/steps/writing/creation/formatters/formatYaml.js +3 -1
- package/lib/steps/writing/creation/formatters/formatYaml.js.map +1 -1
- package/lib/steps/writing/creation/index.d.ts +1 -1
- package/lib/steps/writing/creation/index.js +49 -1
- package/lib/steps/writing/creation/index.js.map +1 -1
- package/lib/steps/writing/creation/rootFiles.js +5 -15
- package/lib/steps/writing/creation/rootFiles.js.map +1 -1
- package/lib/steps/writing/creation/writePackageJson.js +69 -62
- package/lib/steps/writing/creation/writePackageJson.js.map +1 -1
- package/lib/steps/writing/types.d.ts +1 -1
- package/lib/steps/writing/writeStructure.js +9 -1
- package/lib/steps/writing/writeStructure.js.map +1 -1
- package/lib/steps/writing/writeStructureWorker.js +1 -1
- package/lib/steps/writing/writeStructureWorker.js.map +1 -1
- package/package.json +57 -52
- package/lib/shared/options/createOptionDefaults/readDefaultsFromDevelopment.d.ts +0 -8
- package/lib/shared/options/createOptionDefaults/readDefaultsFromDevelopment.js +0 -22
- package/lib/shared/options/createOptionDefaults/readDefaultsFromDevelopment.js.map +0 -1
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
declare const allArgOptions: {
|
|
2
2
|
readonly access: {
|
|
3
|
-
readonly description: `(${string}): Which ${string} to
|
|
3
|
+
readonly description: `(${string}): Which ${string} to
|
|
4
|
+
release npm packages with (by default, "public")`;
|
|
4
5
|
readonly docsSection: "optional";
|
|
5
6
|
readonly type: "string";
|
|
6
7
|
};
|
|
7
8
|
readonly author: {
|
|
8
|
-
readonly description: `Username on npm to publish packages under (by
|
|
9
|
+
readonly description: `Username on npm to publish packages under (by
|
|
10
|
+
default, an existing npm author, or the currently logged in npm user, or
|
|
11
|
+
${string})`;
|
|
9
12
|
readonly docsSection: "optional";
|
|
10
13
|
readonly type: "string";
|
|
11
14
|
};
|
|
@@ -15,7 +18,11 @@ declare const allArgOptions: {
|
|
|
15
18
|
readonly type: "boolean";
|
|
16
19
|
};
|
|
17
20
|
readonly base: {
|
|
18
|
-
readonly description: `Whether to scaffold the repository with
|
|
21
|
+
readonly description: `Whether to scaffold the repository with:
|
|
22
|
+
\u2022 everything: that comes with the template (${string})
|
|
23
|
+
\u2022 common: additions to the minimal starters such as releases and tests
|
|
24
|
+
\u2022 minimal: amounts of tooling, essentially opting out of everything
|
|
25
|
+
\u2022 prompt: for which portions to exclude`;
|
|
19
26
|
readonly docsSection: "core";
|
|
20
27
|
readonly type: "string";
|
|
21
28
|
};
|
|
@@ -45,12 +52,14 @@ declare const allArgOptions: {
|
|
|
45
52
|
readonly type: "string";
|
|
46
53
|
};
|
|
47
54
|
readonly "email-github": {
|
|
48
|
-
readonly description: `Optionally, may be provided to use different emails in ${string}
|
|
55
|
+
readonly description: `Optionally, may be provided to use different emails in ${string}
|
|
56
|
+
files`;
|
|
49
57
|
readonly docsSection: "optional";
|
|
50
58
|
readonly type: "string";
|
|
51
59
|
};
|
|
52
60
|
readonly "email-npm": {
|
|
53
|
-
readonly description: `Optionally, may be provided to use different emails in
|
|
61
|
+
readonly description: `Optionally, may be provided to use different emails in
|
|
62
|
+
${string}`;
|
|
54
63
|
readonly docsSection: "optional";
|
|
55
64
|
readonly type: "string";
|
|
56
65
|
};
|
|
@@ -70,7 +79,8 @@ declare const allArgOptions: {
|
|
|
70
79
|
readonly type: "boolean";
|
|
71
80
|
};
|
|
72
81
|
readonly "exclude-lint-json": {
|
|
73
|
-
readonly description: `Don't apply linting and sorting to ${string}, and
|
|
82
|
+
readonly description: `Don't apply linting and sorting to ${string}, and
|
|
83
|
+
${string} files.`;
|
|
74
84
|
readonly docsSection: "opt-out";
|
|
75
85
|
readonly type: "boolean";
|
|
76
86
|
};
|
|
@@ -134,13 +144,19 @@ declare const allArgOptions: {
|
|
|
134
144
|
readonly docsSection: "opt-out";
|
|
135
145
|
readonly type: "boolean";
|
|
136
146
|
};
|
|
147
|
+
readonly "exclude-templated-by": {
|
|
148
|
+
readonly description: "Don't add a _\"This package was templated with create-typescript-app\"_ notice at the end of the README.md.";
|
|
149
|
+
readonly docsSection: "opt-out";
|
|
150
|
+
readonly type: "boolean";
|
|
151
|
+
};
|
|
137
152
|
readonly "exclude-tests": {
|
|
138
153
|
readonly description: "Don't add Vitest tooling for fast unit tests, configured \n with coverage tracking.";
|
|
139
154
|
readonly docsSection: "opt-out";
|
|
140
155
|
readonly type: "boolean";
|
|
141
156
|
};
|
|
142
157
|
readonly funding: {
|
|
143
|
-
readonly description: `GitHub organization or username to mention in ${string}
|
|
158
|
+
readonly description: `GitHub organization or username to mention in ${string}
|
|
159
|
+
(by default, owner)`;
|
|
144
160
|
readonly docsSection: "optional";
|
|
145
161
|
readonly type: "string";
|
|
146
162
|
};
|
|
@@ -150,12 +166,15 @@ declare const allArgOptions: {
|
|
|
150
166
|
readonly type: "string";
|
|
151
167
|
};
|
|
152
168
|
readonly "guide-title": {
|
|
153
|
-
readonly description: `If ${string} is provided or detected from an existing
|
|
169
|
+
readonly description: `If ${string} is provided or detected from an existing
|
|
170
|
+
DEVELOPMENT.md, the text title to place in the guide link`;
|
|
154
171
|
readonly docsSection: "optional";
|
|
155
172
|
readonly type: "string";
|
|
156
173
|
};
|
|
157
174
|
readonly keywords: {
|
|
158
|
-
readonly description: `Any number of keywords to include in ${string} (by default,
|
|
175
|
+
readonly description: `Any number of keywords to include in ${string} (by default,
|
|
176
|
+
none). This can be specified any number of times, like
|
|
177
|
+
${string}`;
|
|
159
178
|
readonly docsSection: "optional";
|
|
160
179
|
readonly multiple: true;
|
|
161
180
|
readonly type: "string";
|
|
@@ -166,7 +185,8 @@ declare const allArgOptions: {
|
|
|
166
185
|
readonly type: "string";
|
|
167
186
|
};
|
|
168
187
|
readonly "logo-alt": {
|
|
169
|
-
readonly description: `If ${string} is provided or detected from an existing README.md,
|
|
188
|
+
readonly description: `If ${string} is provided or detected from an existing README.md,
|
|
189
|
+
alt text that describes the image will be prompted for if not provided`;
|
|
170
190
|
readonly docsSection: "optional";
|
|
171
191
|
readonly type: "string";
|
|
172
192
|
};
|
|
@@ -176,7 +196,11 @@ declare const allArgOptions: {
|
|
|
176
196
|
readonly type: "string";
|
|
177
197
|
};
|
|
178
198
|
readonly offline: {
|
|
179
|
-
readonly description: `You can run ${string} in an "offline" mode.
|
|
199
|
+
readonly description: `You can run ${string} in an "offline" mode.
|
|
200
|
+
Doing so will:
|
|
201
|
+
\u2022 Enable ${string} and ${string}
|
|
202
|
+
\u2022 Skip network calls when setting up contributors
|
|
203
|
+
\u2022 Run pnpm commands with pnpm's ${string} mode`;
|
|
180
204
|
readonly docsSection: "offline";
|
|
181
205
|
readonly type: "boolean";
|
|
182
206
|
};
|
|
@@ -196,7 +220,8 @@ declare const allArgOptions: {
|
|
|
196
220
|
readonly type: "string";
|
|
197
221
|
};
|
|
198
222
|
readonly "skip-all-contributors-api": {
|
|
199
|
-
readonly description: `Skips network calls that fetch all-contributors data from
|
|
223
|
+
readonly description: `Skips network calls that fetch all-contributors data from
|
|
224
|
+
GitHub. This flag does nothing if ${string} was specified.`;
|
|
200
225
|
readonly docsSection: "skip-net";
|
|
201
226
|
readonly type: "boolean";
|
|
202
227
|
};
|
|
@@ -211,7 +236,8 @@ declare const allArgOptions: {
|
|
|
211
236
|
readonly type: "boolean";
|
|
212
237
|
};
|
|
213
238
|
readonly "skip-removal": {
|
|
214
|
-
readonly description: `Skips removing setup docs and scripts, including this ${string}
|
|
239
|
+
readonly description: `Skips removing setup docs and scripts, including this ${string}
|
|
240
|
+
directory`;
|
|
215
241
|
readonly docsSection: "skip-disk";
|
|
216
242
|
readonly type: "boolean";
|
|
217
243
|
};
|
|
@@ -173,6 +173,11 @@ const allArgOptions = {
|
|
|
173
173
|
docsSection: "opt-out",
|
|
174
174
|
type: "boolean"
|
|
175
175
|
},
|
|
176
|
+
"exclude-templated-by": {
|
|
177
|
+
description: `Don't add a _"This package was templated with create-typescript-app"_ notice at the end of the README.md.`,
|
|
178
|
+
docsSection: "opt-out",
|
|
179
|
+
type: "boolean"
|
|
180
|
+
},
|
|
176
181
|
"exclude-tests": {
|
|
177
182
|
description: `Don't add Vitest tooling for fast unit tests, configured
|
|
178
183
|
with coverage tracking.`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/shared/options/args.ts"],"sourcesContent":["import chalk from \"chalk\";\n\nexport const allArgOptions = {\n\taccess: {\n\t\tdescription: `(${chalk.cyanBright(\n\t\t\t'\"public\" | \"restricted\"',\n\t\t)}): Which ${chalk.cyanBright(\"npm publish --access\")} to \n release npm packages with (by default, \"public\")`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\tauthor: {\n\t\tdescription: `Username on npm to publish packages under (by \n default, an existing npm author, or the currently logged in npm user, or \n ${chalk.cyanBright(\"owner.toLowerCase()\")})`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\tauto: {\n\t\tdescription: `Whether to infer all options from files on disk.`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"boolean\",\n\t},\n\tbase: {\n\t\tdescription: `Whether to scaffold the repository with:\n • everything: that comes with the template (${chalk.cyanBright.bold(\n\t\t\"recommended\",\n\t)})\n • common: additions to the minimal starters such as releases and tests\n • minimal: amounts of tooling, essentially opting out of everything\n • prompt: for which portions to exclude`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"string\",\n\t},\n\tbin: {\n\t\tdescription: `package.json bin value to include for npx-style running.`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\t\"create-repository\": {\n\t\tdescription: `Whether to create a corresponding repository on github.com \n (if it doesn't yet exist)`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"boolean\",\n\t},\n\tdescription: {\n\t\tdescription: `Sentence case description of the repository \n (e.g. A quickstart-friendly TypeScript package with lots of great \n repository tooling. ✨)`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"string\",\n\t},\n\tdirectory: {\n\t\tdescription: `Directory to create the repository in (by default, the same \n name as the repository)`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\temail: {\n\t\tdescription: `Email address to be listed as the point of contact in docs \n and packages (e.g. example@joshuakgoldberg.com)`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\t\"email-github\": {\n\t\tdescription: `Optionally, may be provided to use different emails in ${chalk.cyanBright(\n\t\t\t\".md\",\n\t\t)} \n files`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\t\"email-npm\": {\n\t\tdescription: `Optionally, may be provided to use different emails in \n ${chalk.cyanBright(\"package.json\")}`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\t\"exclude-all-contributors\": {\n\t\tdescription: `Don't add all-contributors to track contributions \n and display them in a README.md table.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-compliance\": {\n\t\tdescription: `Don't add a GitHub Actions workflow to verify that PRs match \n an expected format.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-jsdoc\": {\n\t\tdescription: `Don't use eslint-plugin-jsdoc to enforce good practices around \n JSDoc comments.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-json\": {\n\t\tdescription: `Don't apply linting and sorting to ${chalk.cyanBright(\n\t\t\t\"*.json\",\n\t\t)}, and \n ${chalk.cyanBright(\"*.jsonc\")} files.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-knip\": {\n\t\tdescription: `Don't add Knip to detect unused files, dependencies, and code \n exports.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-md\": {\n\t\tdescription: `Don't apply linting to ${chalk.cyanBright(\"*.md\")} files.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-package-json\": {\n\t\tdescription: `Don't add eslint-plugin-package-json to lint for \n package.json correctness.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-packages\": {\n\t\tdescription: `Don't add a pnpm dedupe workflow to ensure packages \n aren't duplicated unnecessarily.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-perfectionist\": {\n\t\tdescription: `Don't apply eslint-plugin-perfectionist to ensure \n imports, keys, and so on are in sorted order.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-regex\": {\n\t\tdescription: `Don't add eslint-plugin-regex to enforce good practices around \n regular expressions.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-spelling\": {\n\t\tdescription: `Don't add cspell to spell check against dictionaries \n of known words.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-strict\": {\n\t\tdescription: `Don't augment the recommended logical lint rules with \n typescript-eslint's strict config.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-stylistic\": {\n\t\tdescription: `Don't add stylistic rules such as typescript-eslint's \n stylistic config.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-yml\": {\n\t\tdescription: `Don't apply linting and sorting to ${chalk.cyanBright(\n\t\t\t\"*.yaml\",\n\t\t)} and ${chalk.cyanBright(\"*.yml\")} files.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-releases\": {\n\t\tdescription: `Don't add release-it to generate changelogs, package bumps, \n and publishes based on conventional commits.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-renovate\": {\n\t\tdescription: `Don't add a Renovate config to dependencies up-to-date with \n PRs.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-tests\": {\n\t\tdescription: `Don't add Vitest tooling for fast unit tests, configured \n with coverage tracking.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\tfunding: {\n\t\tdescription: `GitHub organization or username to mention in ${chalk.cyanBright(\n\t\t\t\"funding.yml\",\n\t\t)} \n (by default, owner)`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\tguide: {\n\t\tdescription: `Link to a contribution guide to place at the top of the \n development docs`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\t\"guide-title\": {\n\t\tdescription: `If ${chalk.cyanBright(\n\t\t\t\"--guide\",\n\t\t)} is provided or detected from an existing \n DEVELOPMENT.md, the text title to place in the guide link`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\tkeywords: {\n\t\tdescription: `Any number of keywords to include in ${chalk.cyanBright(\n\t\t\t\"package.json\",\n\t\t)} (by default, \n none). This can be specified any number of times, like \n ${chalk.cyanBright('--keywords apple --keywords \"banana cherry\"')}`,\n\t\tdocsSection: \"optional\",\n\t\tmultiple: true,\n\t\ttype: \"string\",\n\t},\n\tlogo: {\n\t\tdescription: `Local image file in the repository to display near the top of \n the README.md as a logo`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\t\"logo-alt\": {\n\t\tdescription: `If ${chalk.cyanBright(\n\t\t\t\"--logo\",\n\t\t)} is provided or detected from an existing README.md, \n alt text that describes the image will be prompted for if not provided`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\tmode: {\n\t\tdescription: `Whether to:\n • create: a new repository in a child directory\n • initialize: a freshly repository in the current directory\n • migrate: an existing repository in the current directory`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"string\",\n\t},\n\toffline: {\n\t\tdescription: `You can run ${chalk.cyanBright(\n\t\t\t\"create-typescript-app\",\n\t\t)} in an \"offline\" mode. \n Doing so will:\n • Enable ${chalk.cyanBright(\n\t\t\"--exclude-all-contributors-api\",\n\t)} and ${chalk.cyanBright(\"--skip-github-api\")}\n • Skip network calls when setting up contributors\n • Run pnpm commands with pnpm's ${chalk.cyanBright(\"--offline\")} mode`,\n\t\tdocsSection: \"offline\",\n\t\ttype: \"boolean\",\n\t},\n\towner: {\n\t\tdescription: `GitHub organization or user the repository is underneath \n (e.g. JoshuaKGoldberg)`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"string\",\n\t},\n\t\"preserve-generated-from\": {\n\t\tdescription: `Whether to keep the GitHub repository generated from \n notice (by default, false)`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"boolean\",\n\t},\n\trepository: {\n\t\tdescription: `The kebab-case name of the repository \n (e.g. create-typescript-app)`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"string\",\n\t},\n\t\"skip-all-contributors-api\": {\n\t\tdescription: `Skips network calls that fetch all-contributors data from\n GitHub. This flag does nothing if ${chalk.cyanBright(\n\t\t\"--exclude-all-contributors\",\n\t)} was specified.`,\n\t\tdocsSection: \"skip-net\",\n\t\ttype: \"boolean\",\n\t},\n\t\"skip-github-api\": {\n\t\tdescription: `Skips calling to GitHub APIs.`,\n\t\tdocsSection: \"skip-net\",\n\t\ttype: \"boolean\",\n\t},\n\t\"skip-install\": {\n\t\tdescription: `Skips installing all the new template packages with pnpm.`,\n\t\tdocsSection: \"skip-net\",\n\t\ttype: \"boolean\",\n\t},\n\t\"skip-removal\": {\n\t\tdescription: `Skips removing setup docs and scripts, including this ${chalk.cyanBright(\n\t\t\t\"docs/\",\n\t\t)} \n directory`,\n\t\tdocsSection: \"skip-disk\",\n\t\ttype: \"boolean\",\n\t},\n\t\"skip-restore\": {\n\t\tdescription: `Skips the prompt offering to restore the repository if an \n error occurs during setup`,\n\t\tdocsSection: \"skip-disk\",\n\t\ttype: \"boolean\",\n\t},\n\t\"skip-uninstall\": {\n\t\tdescription: `Skips uninstalling packages only used for setup scripts`,\n\t\tdocsSection: \"skip-disk\",\n\t\ttype: \"boolean\",\n\t},\n\ttitle: {\n\t\tdescription: `Title Case title for the repository to be used in \n documentation (e.g. Create TypeScript App)`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"string\",\n\t},\n} as const;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/shared/options/args.ts"],"sourcesContent":["import chalk from \"chalk\";\n\nexport const allArgOptions = {\n\taccess: {\n\t\tdescription: `(${chalk.cyanBright(\n\t\t\t'\"public\" | \"restricted\"',\n\t\t)}): Which ${chalk.cyanBright(\"npm publish --access\")} to \n release npm packages with (by default, \"public\")`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\tauthor: {\n\t\tdescription: `Username on npm to publish packages under (by \n default, an existing npm author, or the currently logged in npm user, or \n ${chalk.cyanBright(\"owner.toLowerCase()\")})`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\tauto: {\n\t\tdescription: `Whether to infer all options from files on disk.`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"boolean\",\n\t},\n\tbase: {\n\t\tdescription: `Whether to scaffold the repository with:\n • everything: that comes with the template (${chalk.cyanBright.bold(\n\t\t\"recommended\",\n\t)})\n • common: additions to the minimal starters such as releases and tests\n • minimal: amounts of tooling, essentially opting out of everything\n • prompt: for which portions to exclude`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"string\",\n\t},\n\tbin: {\n\t\tdescription: `package.json bin value to include for npx-style running.`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\t\"create-repository\": {\n\t\tdescription: `Whether to create a corresponding repository on github.com \n (if it doesn't yet exist)`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"boolean\",\n\t},\n\tdescription: {\n\t\tdescription: `Sentence case description of the repository \n (e.g. A quickstart-friendly TypeScript package with lots of great \n repository tooling. ✨)`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"string\",\n\t},\n\tdirectory: {\n\t\tdescription: `Directory to create the repository in (by default, the same \n name as the repository)`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\temail: {\n\t\tdescription: `Email address to be listed as the point of contact in docs \n and packages (e.g. example@joshuakgoldberg.com)`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\t\"email-github\": {\n\t\tdescription: `Optionally, may be provided to use different emails in ${chalk.cyanBright(\n\t\t\t\".md\",\n\t\t)} \n files`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\t\"email-npm\": {\n\t\tdescription: `Optionally, may be provided to use different emails in \n ${chalk.cyanBright(\"package.json\")}`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\t\"exclude-all-contributors\": {\n\t\tdescription: `Don't add all-contributors to track contributions \n and display them in a README.md table.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-compliance\": {\n\t\tdescription: `Don't add a GitHub Actions workflow to verify that PRs match \n an expected format.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-jsdoc\": {\n\t\tdescription: `Don't use eslint-plugin-jsdoc to enforce good practices around \n JSDoc comments.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-json\": {\n\t\tdescription: `Don't apply linting and sorting to ${chalk.cyanBright(\n\t\t\t\"*.json\",\n\t\t)}, and \n ${chalk.cyanBright(\"*.jsonc\")} files.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-knip\": {\n\t\tdescription: `Don't add Knip to detect unused files, dependencies, and code \n exports.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-md\": {\n\t\tdescription: `Don't apply linting to ${chalk.cyanBright(\"*.md\")} files.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-package-json\": {\n\t\tdescription: `Don't add eslint-plugin-package-json to lint for \n package.json correctness.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-packages\": {\n\t\tdescription: `Don't add a pnpm dedupe workflow to ensure packages \n aren't duplicated unnecessarily.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-perfectionist\": {\n\t\tdescription: `Don't apply eslint-plugin-perfectionist to ensure \n imports, keys, and so on are in sorted order.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-regex\": {\n\t\tdescription: `Don't add eslint-plugin-regex to enforce good practices around \n regular expressions.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-spelling\": {\n\t\tdescription: `Don't add cspell to spell check against dictionaries \n of known words.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-strict\": {\n\t\tdescription: `Don't augment the recommended logical lint rules with \n typescript-eslint's strict config.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-stylistic\": {\n\t\tdescription: `Don't add stylistic rules such as typescript-eslint's \n stylistic config.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-lint-yml\": {\n\t\tdescription: `Don't apply linting and sorting to ${chalk.cyanBright(\n\t\t\t\"*.yaml\",\n\t\t)} and ${chalk.cyanBright(\"*.yml\")} files.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-releases\": {\n\t\tdescription: `Don't add release-it to generate changelogs, package bumps, \n and publishes based on conventional commits.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-renovate\": {\n\t\tdescription: `Don't add a Renovate config to dependencies up-to-date with \n PRs.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-templated-by\": {\n\t\tdescription: `Don't add a _\"This package was templated with create-typescript-app\"_ notice at the end of the README.md.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\t\"exclude-tests\": {\n\t\tdescription: `Don't add Vitest tooling for fast unit tests, configured \n with coverage tracking.`,\n\t\tdocsSection: \"opt-out\",\n\t\ttype: \"boolean\",\n\t},\n\tfunding: {\n\t\tdescription: `GitHub organization or username to mention in ${chalk.cyanBright(\n\t\t\t\"funding.yml\",\n\t\t)} \n (by default, owner)`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\tguide: {\n\t\tdescription: `Link to a contribution guide to place at the top of the \n development docs`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\t\"guide-title\": {\n\t\tdescription: `If ${chalk.cyanBright(\n\t\t\t\"--guide\",\n\t\t)} is provided or detected from an existing \n DEVELOPMENT.md, the text title to place in the guide link`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\tkeywords: {\n\t\tdescription: `Any number of keywords to include in ${chalk.cyanBright(\n\t\t\t\"package.json\",\n\t\t)} (by default, \n none). This can be specified any number of times, like \n ${chalk.cyanBright('--keywords apple --keywords \"banana cherry\"')}`,\n\t\tdocsSection: \"optional\",\n\t\tmultiple: true,\n\t\ttype: \"string\",\n\t},\n\tlogo: {\n\t\tdescription: `Local image file in the repository to display near the top of \n the README.md as a logo`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\t\"logo-alt\": {\n\t\tdescription: `If ${chalk.cyanBright(\n\t\t\t\"--logo\",\n\t\t)} is provided or detected from an existing README.md, \n alt text that describes the image will be prompted for if not provided`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"string\",\n\t},\n\tmode: {\n\t\tdescription: `Whether to:\n • create: a new repository in a child directory\n • initialize: a freshly repository in the current directory\n • migrate: an existing repository in the current directory`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"string\",\n\t},\n\toffline: {\n\t\tdescription: `You can run ${chalk.cyanBright(\n\t\t\t\"create-typescript-app\",\n\t\t)} in an \"offline\" mode. \n Doing so will:\n • Enable ${chalk.cyanBright(\n\t\t\"--exclude-all-contributors-api\",\n\t)} and ${chalk.cyanBright(\"--skip-github-api\")}\n • Skip network calls when setting up contributors\n • Run pnpm commands with pnpm's ${chalk.cyanBright(\"--offline\")} mode`,\n\t\tdocsSection: \"offline\",\n\t\ttype: \"boolean\",\n\t},\n\towner: {\n\t\tdescription: `GitHub organization or user the repository is underneath \n (e.g. JoshuaKGoldberg)`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"string\",\n\t},\n\t\"preserve-generated-from\": {\n\t\tdescription: `Whether to keep the GitHub repository generated from \n notice (by default, false)`,\n\t\tdocsSection: \"optional\",\n\t\ttype: \"boolean\",\n\t},\n\trepository: {\n\t\tdescription: `The kebab-case name of the repository \n (e.g. create-typescript-app)`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"string\",\n\t},\n\t\"skip-all-contributors-api\": {\n\t\tdescription: `Skips network calls that fetch all-contributors data from\n GitHub. This flag does nothing if ${chalk.cyanBright(\n\t\t\"--exclude-all-contributors\",\n\t)} was specified.`,\n\t\tdocsSection: \"skip-net\",\n\t\ttype: \"boolean\",\n\t},\n\t\"skip-github-api\": {\n\t\tdescription: `Skips calling to GitHub APIs.`,\n\t\tdocsSection: \"skip-net\",\n\t\ttype: \"boolean\",\n\t},\n\t\"skip-install\": {\n\t\tdescription: `Skips installing all the new template packages with pnpm.`,\n\t\tdocsSection: \"skip-net\",\n\t\ttype: \"boolean\",\n\t},\n\t\"skip-removal\": {\n\t\tdescription: `Skips removing setup docs and scripts, including this ${chalk.cyanBright(\n\t\t\t\"docs/\",\n\t\t)} \n directory`,\n\t\tdocsSection: \"skip-disk\",\n\t\ttype: \"boolean\",\n\t},\n\t\"skip-restore\": {\n\t\tdescription: `Skips the prompt offering to restore the repository if an \n error occurs during setup`,\n\t\tdocsSection: \"skip-disk\",\n\t\ttype: \"boolean\",\n\t},\n\t\"skip-uninstall\": {\n\t\tdescription: `Skips uninstalling packages only used for setup scripts`,\n\t\tdocsSection: \"skip-disk\",\n\t\ttype: \"boolean\",\n\t},\n\ttitle: {\n\t\tdescription: `Title Case title for the repository to be used in \n documentation (e.g. Create TypeScript App)`,\n\t\tdocsSection: \"core\",\n\t\ttype: \"string\",\n\t},\n} as const;\n"],"mappings":"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","names":[]}
|
|
@@ -47,8 +47,6 @@ async function augmentOptionsWithExcludes(options) {
|
|
|
47
47
|
})
|
|
48
48
|
);
|
|
49
49
|
switch (base) {
|
|
50
|
-
case void 0:
|
|
51
|
-
return void 0;
|
|
52
50
|
case "common":
|
|
53
51
|
case "everything":
|
|
54
52
|
case "minimal":
|
|
@@ -83,6 +81,8 @@ async function augmentOptionsWithExcludes(options) {
|
|
|
83
81
|
)
|
|
84
82
|
};
|
|
85
83
|
}
|
|
84
|
+
case void 0:
|
|
85
|
+
return void 0;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
function makeLabel(label, message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/shared/options/augmentOptionsWithExcludes.ts"],"sourcesContent":["import * as prompts from \"@clack/prompts\";\nimport chalk from \"chalk\";\n\nimport { filterPromptCancel } from \"../prompts.js\";\nimport { Options, OptionsBase } from \"../types.js\";\nimport {\n\texclusionDescriptions,\n\tExclusionKey,\n\texclusionKeys,\n\tgetExclusions,\n} from \"./exclusionKeys.js\";\n\nexport async function augmentOptionsWithExcludes(\n\toptions: Options,\n): Promise<Options | undefined> {\n\tif (\n\t\tObject.keys(options).some(\n\t\t\t(key) =>\n\t\t\t\tkey in exclusionDescriptions &&\n\t\t\t\toptions[key as keyof typeof options] !== undefined,\n\t\t)\n\t) {\n\t\treturn options;\n\t}\n\n\tconst base =\n\t\toptions.base ??\n\t\tfilterPromptCancel<OptionsBase | symbol>(\n\t\t\tawait prompts.select({\n\t\t\t\tinitialValue: \"common\" as OptionsBase,\n\t\t\t\tmessage: `How much tooling would you like the template to set up for you?`,\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: makeLabel(\n\t\t\t\t\t\t\t\"everything\",\n\t\t\t\t\t\t\t\"The most comprehensive tooling imaginable: sorting, spellchecking, and more!\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\tvalue: \"everything\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\thint: \"recommended\",\n\t\t\t\t\t\tlabel: makeLabel(\n\t\t\t\t\t\t\t\"common\",\n\t\t\t\t\t\t\t\"Bare starters plus testing and automation for all-contributors and releases.\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\tvalue: \"common\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: makeLabel(\n\t\t\t\t\t\t\t\"minimal\",\n\t\t\t\t\t\t\t\"Just bare starter tooling: building, formatting, linting, and type checking.\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\tvalue: \"minimal\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: makeLabel(\"prompt\", \"(allow me to customize)\"),\n\t\t\t\t\t\tvalue: \"prompt\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}),\n\t\t);\n\n\tswitch (base) {\n\t\tcase
|
|
1
|
+
{"version":3,"sources":["../../../src/shared/options/augmentOptionsWithExcludes.ts"],"sourcesContent":["import * as prompts from \"@clack/prompts\";\nimport chalk from \"chalk\";\n\nimport { filterPromptCancel } from \"../prompts.js\";\nimport { Options, OptionsBase } from \"../types.js\";\nimport {\n\texclusionDescriptions,\n\tExclusionKey,\n\texclusionKeys,\n\tgetExclusions,\n} from \"./exclusionKeys.js\";\n\nexport async function augmentOptionsWithExcludes(\n\toptions: Options,\n): Promise<Options | undefined> {\n\tif (\n\t\tObject.keys(options).some(\n\t\t\t(key) =>\n\t\t\t\tkey in exclusionDescriptions &&\n\t\t\t\toptions[key as keyof typeof options] !== undefined,\n\t\t)\n\t) {\n\t\treturn options;\n\t}\n\n\tconst base =\n\t\toptions.base ??\n\t\tfilterPromptCancel<OptionsBase | symbol>(\n\t\t\tawait prompts.select({\n\t\t\t\tinitialValue: \"common\" as OptionsBase,\n\t\t\t\tmessage: `How much tooling would you like the template to set up for you?`,\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: makeLabel(\n\t\t\t\t\t\t\t\"everything\",\n\t\t\t\t\t\t\t\"The most comprehensive tooling imaginable: sorting, spellchecking, and more!\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\tvalue: \"everything\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\thint: \"recommended\",\n\t\t\t\t\t\tlabel: makeLabel(\n\t\t\t\t\t\t\t\"common\",\n\t\t\t\t\t\t\t\"Bare starters plus testing and automation for all-contributors and releases.\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\tvalue: \"common\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: makeLabel(\n\t\t\t\t\t\t\t\"minimal\",\n\t\t\t\t\t\t\t\"Just bare starter tooling: building, formatting, linting, and type checking.\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\tvalue: \"minimal\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: makeLabel(\"prompt\", \"(allow me to customize)\"),\n\t\t\t\t\t\tvalue: \"prompt\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}),\n\t\t);\n\n\tswitch (base) {\n\t\tcase \"common\":\n\t\tcase \"everything\":\n\t\tcase \"minimal\":\n\t\t\treturn {\n\t\t\t\t...options,\n\t\t\t\tbase,\n\t\t\t\t...getExclusions(options, base),\n\t\t\t};\n\t\tcase \"prompt\": {\n\t\t\tconst exclusionsNotEnabled = new Set(\n\t\t\t\tfilterPromptCancel(\n\t\t\t\t\tawait prompts.multiselect({\n\t\t\t\t\t\tinitialValues: exclusionKeys,\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\"Select the tooling portions you'd like to remove. All are enabled by default. Press ↑ or ↓ to change the selected item, then space to select.\",\n\t\t\t\t\t\toptions: Object.entries(exclusionDescriptions).map(\n\t\t\t\t\t\t\t([value, { hint, label }]) => ({\n\t\t\t\t\t\t\t\thint,\n\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\tvalue: value as ExclusionKey,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t...options,\n\t\t\t\tbase,\n\t\t\t\t...Object.fromEntries(\n\t\t\t\t\texclusionKeys.map(\n\t\t\t\t\t\t(exclusionKey) =>\n\t\t\t\t\t\t\t[exclusionKey, !exclusionsNotEnabled.has(exclusionKey)] as const,\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t\tcase undefined:\n\t\t\treturn undefined;\n\t}\n}\n\nfunction makeLabel(label: string, message: string) {\n\treturn [chalk.bold(label), message].join(\"\\t \");\n}\n"],"mappings":"AAAA,YAAY,aAAa;AACzB,OAAO,WAAW;AAElB,SAAS,0BAA0B;AAEnC;AAAA,EACC;AAAA,EAEA;AAAA,EACA;AAAA,OACM;AAEP,eAAsB,2BACrB,SAC+B;AAC/B,MACC,OAAO,KAAK,OAAO,EAAE;AAAA,IACpB,CAAC,QACA,OAAO,yBACP,QAAQ,GAA2B,MAAM;AAAA,EAC3C,GACC;AACD,WAAO;AAAA,EACR;AAEA,QAAM,OACL,QAAQ,QACR;AAAA,IACC,MAAM,QAAQ,OAAO;AAAA,MACpB,cAAc;AAAA,MACd,SAAS;AAAA,MACT,SAAS;AAAA,QACR;AAAA,UACC,OAAO;AAAA,YACN;AAAA,YACA;AAAA,UACD;AAAA,UACA,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,MAAM;AAAA,UACN,OAAO;AAAA,YACN;AAAA,YACA;AAAA,UACD;AAAA,UACA,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,OAAO;AAAA,YACN;AAAA,YACA;AAAA,UACD;AAAA,UACA,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,OAAO,UAAU,UAAU,yBAAyB;AAAA,UACpD,OAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD,CAAC;AAAA,EACF;AAED,UAAQ,MAAM;AAAA,IACb,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACJ,aAAO;AAAA,QACN,GAAG;AAAA,QACH;AAAA,QACA,GAAG,cAAc,SAAS,IAAI;AAAA,MAC/B;AAAA,IACD,KAAK,UAAU;AACd,YAAM,uBAAuB,IAAI;AAAA,QAChC;AAAA,UACC,MAAM,QAAQ,YAAY;AAAA,YACzB,eAAe;AAAA,YACf,SACC;AAAA,YACD,SAAS,OAAO,QAAQ,qBAAqB,EAAE;AAAA,cAC9C,CAAC,CAAC,OAAO,EAAE,MAAM,MAAM,CAAC,OAAO;AAAA,gBAC9B;AAAA,gBACA;AAAA,gBACA;AAAA,cACD;AAAA,YACD;AAAA,UACD,CAAC;AAAA,QACF;AAAA,MACD;AAEA,aAAO;AAAA,QACN,GAAG;AAAA,QACH;AAAA,QACA,GAAG,OAAO;AAAA,UACT,cAAc;AAAA,YACb,CAAC,iBACA,CAAC,cAAc,CAAC,qBAAqB,IAAI,YAAY,CAAC;AAAA,UACxD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,KAAK;AACJ,aAAO;AAAA,EACT;AACD;AAEA,SAAS,UAAU,OAAe,SAAiB;AAClD,SAAO,CAAC,MAAM,KAAK,KAAK,GAAG,OAAO,EAAE,KAAK,IAAK;AAC/C;","names":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PromptedOptions } from '../../types.js';
|
|
2
|
+
import { readGuide } from './readGuide.js';
|
|
2
3
|
import 'zod';
|
|
3
4
|
import '../../codes.js';
|
|
4
5
|
|
|
@@ -8,10 +9,6 @@ declare function createOptionDefaults(promptedOptions?: PromptedOptions): {
|
|
|
8
9
|
src: string;
|
|
9
10
|
} | undefined>;
|
|
10
11
|
title: () => Promise<string | undefined>;
|
|
11
|
-
guide: () => Promise<{
|
|
12
|
-
href: string;
|
|
13
|
-
title: string;
|
|
14
|
-
} | undefined>;
|
|
15
12
|
author: () => Promise<string | undefined>;
|
|
16
13
|
bin: () => Promise<string | undefined>;
|
|
17
14
|
description: () => Promise<string | undefined>;
|
|
@@ -20,6 +17,7 @@ declare function createOptionDefaults(promptedOptions?: PromptedOptions): {
|
|
|
20
17
|
npm: string;
|
|
21
18
|
} | undefined>;
|
|
22
19
|
funding: () => Promise<string | undefined>;
|
|
20
|
+
guide: typeof readGuide;
|
|
23
21
|
owner: () => Promise<string | undefined>;
|
|
24
22
|
repository: () => Promise<string | undefined>;
|
|
25
23
|
};
|
|
@@ -8,9 +8,9 @@ import { readPackageData } from "../../packages.js";
|
|
|
8
8
|
import { tryCatchAsync } from "../../tryCatchAsync.js";
|
|
9
9
|
import { tryCatchLazyValueAsync } from "../../tryCatchLazyValueAsync.js";
|
|
10
10
|
import { parsePackageAuthor } from "./parsePackageAuthor.js";
|
|
11
|
-
import { readDefaultsFromDevelopment } from "./readDefaultsFromDevelopment.js";
|
|
12
11
|
import { readDefaultsFromReadme } from "./readDefaultsFromReadme.js";
|
|
13
|
-
import {
|
|
12
|
+
import { readEmails } from "./readEmails.js";
|
|
13
|
+
import { readGuide } from "./readGuide.js";
|
|
14
14
|
function createOptionDefaults(promptedOptions) {
|
|
15
15
|
const gitDefaults = tryCatchLazyValueAsync(
|
|
16
16
|
async () => gitUrlParse(await gitRemoteOriginUrl())
|
|
@@ -27,22 +27,13 @@ function createOptionDefaults(promptedOptions) {
|
|
|
27
27
|
author: async () => (await packageAuthor()).author ?? (await npmDefaults())?.name,
|
|
28
28
|
bin: async () => (await packageData()).bin,
|
|
29
29
|
description: async () => (await packageData()).description,
|
|
30
|
-
email: async () =>
|
|
31
|
-
const githubEmail = await readGitHubEmail() ?? await tryCatchAsync(
|
|
32
|
-
async () => (await $`git config --get user.email`).stdout
|
|
33
|
-
);
|
|
34
|
-
const npmEmail = (await npmDefaults())?.email ?? (await packageAuthor()).email;
|
|
35
|
-
return githubEmail || npmEmail ? {
|
|
36
|
-
github: githubEmail || npmEmail,
|
|
37
|
-
npm: npmEmail || githubEmail
|
|
38
|
-
} : void 0;
|
|
39
|
-
},
|
|
30
|
+
email: async () => readEmails(npmDefaults, packageAuthor),
|
|
40
31
|
funding: async () => await tryCatchAsync(
|
|
41
32
|
async () => (await fs.readFile(".github/FUNDING.yml")).toString().split(":")[1]?.trim()
|
|
42
33
|
),
|
|
34
|
+
guide: readGuide,
|
|
43
35
|
owner: async () => (await gitDefaults())?.organization ?? (await packageAuthor()).author,
|
|
44
36
|
repository: async () => promptedOptions?.repository ?? (await gitDefaults())?.name ?? (await packageData()).name,
|
|
45
|
-
...readDefaultsFromDevelopment(),
|
|
46
37
|
...readDefaultsFromReadme()
|
|
47
38
|
};
|
|
48
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/shared/options/createOptionDefaults/index.ts"],"sourcesContent":["import { $ } from \"execa\";\nimport gitRemoteOriginUrl from \"git-remote-origin-url\";\nimport gitUrlParse from \"git-url-parse\";\nimport lazyValue from \"lazy-value\";\nimport * as fs from \"node:fs/promises\";\nimport npmUser from \"npm-user\";\n\nimport { readPackageData } from \"../../packages.js\";\nimport { tryCatchAsync } from \"../../tryCatchAsync.js\";\nimport { tryCatchLazyValueAsync } from \"../../tryCatchLazyValueAsync.js\";\nimport { PromptedOptions } from \"../../types.js\";\nimport { parsePackageAuthor } from \"./parsePackageAuthor.js\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/shared/options/createOptionDefaults/index.ts"],"sourcesContent":["import { $ } from \"execa\";\nimport gitRemoteOriginUrl from \"git-remote-origin-url\";\nimport gitUrlParse from \"git-url-parse\";\nimport lazyValue from \"lazy-value\";\nimport * as fs from \"node:fs/promises\";\nimport npmUser from \"npm-user\";\n\nimport { readPackageData } from \"../../packages.js\";\nimport { tryCatchAsync } from \"../../tryCatchAsync.js\";\nimport { tryCatchLazyValueAsync } from \"../../tryCatchLazyValueAsync.js\";\nimport { PromptedOptions } from \"../../types.js\";\nimport { parsePackageAuthor } from \"./parsePackageAuthor.js\";\nimport { readDefaultsFromReadme } from \"./readDefaultsFromReadme.js\";\nimport { readEmails } from \"./readEmails.js\";\nimport { readGuide } from \"./readGuide.js\";\n\nexport function createOptionDefaults(promptedOptions?: PromptedOptions) {\n\tconst gitDefaults = tryCatchLazyValueAsync(async () =>\n\t\tgitUrlParse(await gitRemoteOriginUrl()),\n\t);\n\n\tconst npmDefaults = tryCatchLazyValueAsync(async () => {\n\t\tconst whoami = (await $`npm whoami`).stdout;\n\t\treturn whoami ? await npmUser(whoami) : undefined;\n\t});\n\n\tconst packageData = lazyValue(readPackageData);\n\tconst packageAuthor = lazyValue(async () =>\n\t\tparsePackageAuthor(await packageData()),\n\t);\n\n\treturn {\n\t\tauthor: async () =>\n\t\t\t(await packageAuthor()).author ?? (await npmDefaults())?.name,\n\t\tbin: async () => (await packageData()).bin,\n\t\tdescription: async () => (await packageData()).description,\n\t\temail: async () => readEmails(npmDefaults, packageAuthor),\n\t\tfunding: async () =>\n\t\t\tawait tryCatchAsync(async () =>\n\t\t\t\t(await fs.readFile(\".github/FUNDING.yml\"))\n\t\t\t\t\t.toString()\n\t\t\t\t\t.split(\":\")[1]\n\t\t\t\t\t?.trim(),\n\t\t\t),\n\t\tguide: readGuide,\n\t\towner: async () =>\n\t\t\t(await gitDefaults())?.organization ?? (await packageAuthor()).author,\n\t\trepository: async () =>\n\t\t\tpromptedOptions?.repository ??\n\t\t\t(await gitDefaults())?.name ??\n\t\t\t(await packageData()).name,\n\t\t...readDefaultsFromReadme(),\n\t};\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB,OAAO,wBAAwB;AAC/B,OAAO,iBAAiB;AACxB,OAAO,eAAe;AACtB,YAAY,QAAQ;AACpB,OAAO,aAAa;AAEpB,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAC9B,SAAS,8BAA8B;AAEvC,SAAS,0BAA0B;AACnC,SAAS,8BAA8B;AACvC,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAEnB,SAAS,qBAAqB,iBAAmC;AACvE,QAAM,cAAc;AAAA,IAAuB,YAC1C,YAAY,MAAM,mBAAmB,CAAC;AAAA,EACvC;AAEA,QAAM,cAAc,uBAAuB,YAAY;AACtD,UAAM,UAAU,MAAM,eAAe;AACrC,WAAO,SAAS,MAAM,QAAQ,MAAM,IAAI;AAAA,EACzC,CAAC;AAED,QAAM,cAAc,UAAU,eAAe;AAC7C,QAAM,gBAAgB;AAAA,IAAU,YAC/B,mBAAmB,MAAM,YAAY,CAAC;AAAA,EACvC;AAEA,SAAO;AAAA,IACN,QAAQ,aACN,MAAM,cAAc,GAAG,WAAW,MAAM,YAAY,IAAI;AAAA,IAC1D,KAAK,aAAa,MAAM,YAAY,GAAG;AAAA,IACvC,aAAa,aAAa,MAAM,YAAY,GAAG;AAAA,IAC/C,OAAO,YAAY,WAAW,aAAa,aAAa;AAAA,IACxD,SAAS,YACR,MAAM;AAAA,MAAc,aAClB,MAAM,GAAG,SAAS,qBAAqB,GACtC,SAAS,EACT,MAAM,GAAG,EAAE,CAAC,GACX,KAAK;AAAA,IACT;AAAA,IACD,OAAO;AAAA,IACP,OAAO,aACL,MAAM,YAAY,IAAI,iBAAiB,MAAM,cAAc,GAAG;AAAA,IAChE,YAAY,YACX,iBAAiB,eAChB,MAAM,YAAY,IAAI,SACtB,MAAM,YAAY,GAAG;AAAA,IACvB,GAAG,uBAAuB;AAAA,EAC3B;AACD;","names":[]}
|
|
@@ -20,7 +20,10 @@ function readDefaultsFromReadme() {
|
|
|
20
20
|
src
|
|
21
21
|
};
|
|
22
22
|
},
|
|
23
|
-
title: async () =>
|
|
23
|
+
title: async () => {
|
|
24
|
+
const text = await readme();
|
|
25
|
+
return (/^<h1\s+align="center">(.+)<\/h1>/.exec(text) ?? /^# (.+)/.exec(text))?.[1];
|
|
26
|
+
}
|
|
24
27
|
};
|
|
25
28
|
}
|
|
26
29
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/shared/options/createOptionDefaults/readDefaultsFromReadme.ts"],"sourcesContent":["import lazyValue from \"lazy-value\";\n\nimport { readFileSafe } from \"../../readFileSafe.js\";\n\nexport function readDefaultsFromReadme() {\n\tconst readme = lazyValue(async () => await readFileSafe(\"README.md\", \"\"));\n\n\tconst imageTag = lazyValue(\n\t\tasync () => /\\n<img.+src=.+>/.exec(await readme())?.[0],\n\t);\n\n\treturn {\n\t\tlogo: async () => {\n\t\t\tconst tag = await imageTag();\n\n\t\t\tif (!tag) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst src = /src\\s*=(.+)['\"/]>/\n\t\t\t\t.exec(tag)?.[1]\n\t\t\t\t?.replaceAll(/^['\"]|['\"]$/g, \"\");\n\n\t\t\tif (!src) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\talt: /alt=['\"](.+)['\"]\\s*src=/.exec(tag)?.[1] ?? \"Project logo\",\n\t\t\t\tsrc,\n\t\t\t};\n\t\t},\n\t\ttitle: async ()
|
|
1
|
+
{"version":3,"sources":["../../../../src/shared/options/createOptionDefaults/readDefaultsFromReadme.ts"],"sourcesContent":["import lazyValue from \"lazy-value\";\n\nimport { readFileSafe } from \"../../readFileSafe.js\";\n\nexport function readDefaultsFromReadme() {\n\tconst readme = lazyValue(async () => await readFileSafe(\"README.md\", \"\"));\n\n\tconst imageTag = lazyValue(\n\t\tasync () => /\\n<img.+src=.+>/.exec(await readme())?.[0],\n\t);\n\n\treturn {\n\t\tlogo: async () => {\n\t\t\tconst tag = await imageTag();\n\n\t\t\tif (!tag) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst src = /src\\s*=(.+)['\"/]>/\n\t\t\t\t.exec(tag)?.[1]\n\t\t\t\t?.replaceAll(/^['\"]|['\"]$/g, \"\");\n\n\t\t\tif (!src) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\talt: /alt=['\"](.+)['\"]\\s*src=/.exec(tag)?.[1] ?? \"Project logo\",\n\t\t\t\tsrc,\n\t\t\t};\n\t\t},\n\t\ttitle: async () => {\n\t\t\tconst text = await readme();\n\t\t\treturn (/^<h1\\s+align=\"center\">(.+)<\\/h1>/.exec(text) ??\n\t\t\t\t/^# (.+)/.exec(text))?.[1];\n\t\t},\n\t};\n}\n"],"mappings":"AAAA,OAAO,eAAe;AAEtB,SAAS,oBAAoB;AAEtB,SAAS,yBAAyB;AACxC,QAAM,SAAS,UAAU,YAAY,MAAM,aAAa,aAAa,EAAE,CAAC;AAExE,QAAM,WAAW;AAAA,IAChB,YAAY,kBAAkB,KAAK,MAAM,OAAO,CAAC,IAAI,CAAC;AAAA,EACvD;AAEA,SAAO;AAAA,IACN,MAAM,YAAY;AACjB,YAAM,MAAM,MAAM,SAAS;AAE3B,UAAI,CAAC,KAAK;AACT,eAAO;AAAA,MACR;AAEA,YAAM,MAAM,oBACV,KAAK,GAAG,IAAI,CAAC,GACZ,WAAW,gBAAgB,EAAE;AAEhC,UAAI,CAAC,KAAK;AACT,eAAO;AAAA,MACR;AAEA,aAAO;AAAA,QACN,KAAK,0BAA0B,KAAK,GAAG,IAAI,CAAC,KAAK;AAAA,QACjD;AAAA,MACD;AAAA,IACD;AAAA,IACA,OAAO,YAAY;AAClB,YAAM,OAAO,MAAM,OAAO;AAC1B,cAAQ,mCAAmC,KAAK,IAAI,KACnD,UAAU,KAAK,IAAI,KAAK,CAAC;AAAA,IAC3B;AAAA,EACD;AACD;","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { UserInfo } from 'npm-user';
|
|
2
|
+
|
|
3
|
+
declare function readEmails(npmDefaults: () => Promise<undefined | UserInfo>, packageAuthor: () => Promise<{
|
|
4
|
+
author: string | undefined;
|
|
5
|
+
email: string | undefined;
|
|
6
|
+
}>): Promise<{
|
|
7
|
+
github: string;
|
|
8
|
+
npm: string;
|
|
9
|
+
} | undefined>;
|
|
10
|
+
|
|
11
|
+
export { readEmails };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { $ } from "execa";
|
|
2
|
+
import { tryCatchAsync } from "../../tryCatchAsync.js";
|
|
3
|
+
import { readGitHubEmail } from "./readGitHubEmail.js";
|
|
4
|
+
async function readEmails(npmDefaults, packageAuthor) {
|
|
5
|
+
const github = await readGitHubEmail() ?? await tryCatchAsync(
|
|
6
|
+
async () => (await $`git config --get user.email`).stdout
|
|
7
|
+
);
|
|
8
|
+
const npm = ((await npmDefaults())?.email ?? (await packageAuthor()).email) || github;
|
|
9
|
+
return npm ? { github: github || npm, npm } : void 0;
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
readEmails
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=readEmails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/shared/options/createOptionDefaults/readEmails.ts"],"sourcesContent":["import { $ } from \"execa\";\nimport { UserInfo } from \"npm-user\";\n\nimport { tryCatchAsync } from \"../../tryCatchAsync.js\";\nimport { readGitHubEmail } from \"./readGitHubEmail.js\";\n\nexport async function readEmails(\n\tnpmDefaults: () => Promise<undefined | UserInfo>,\n\tpackageAuthor: () => Promise<{\n\t\tauthor: string | undefined;\n\t\temail: string | undefined;\n\t}>,\n) {\n\tconst github =\n\t\t(await readGitHubEmail()) ??\n\t\t(await tryCatchAsync(\n\t\t\tasync () => (await $`git config --get user.email`).stdout,\n\t\t));\n\n\tconst npm =\n\t\t((await npmDefaults())?.email ?? (await packageAuthor()).email) || github;\n\n\treturn npm ? { github: github || npm, npm } : undefined;\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAGlB,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAEhC,eAAsB,WACrB,aACA,eAIC;AACD,QAAM,SACJ,MAAM,gBAAgB,KACtB,MAAM;AAAA,IACN,aAAa,MAAM,gCAAgC;AAAA,EACpD;AAED,QAAM,QACH,MAAM,YAAY,IAAI,UAAU,MAAM,cAAc,GAAG,UAAU;AAEpE,SAAO,MAAM,EAAE,QAAQ,UAAU,KAAK,IAAI,IAAI;AAC/C;","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import { tryCatchAsync } from "../../tryCatchAsync.js";
|
|
3
|
+
async function readFunding() {
|
|
4
|
+
return await tryCatchAsync(
|
|
5
|
+
async () => (await fs.readFile(".github/FUNDING.yml")).toString().split(":")[1]?.trim()
|
|
6
|
+
);
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
readFunding
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=readFunding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/shared/options/createOptionDefaults/readFunding.ts"],"sourcesContent":["import fs from \"node:fs/promises\";\n\nimport { tryCatchAsync } from \"../../tryCatchAsync.js\";\n\nexport async function readFunding() {\n\treturn await tryCatchAsync(async () =>\n\t\t(await fs.readFile(\".github/FUNDING.yml\")).toString().split(\":\")[1]?.trim(),\n\t);\n}\n"],"mappings":"AAAA,OAAO,QAAQ;AAEf,SAAS,qBAAqB;AAE9B,eAAsB,cAAc;AACnC,SAAO,MAAM;AAAA,IAAc,aACzB,MAAM,GAAG,SAAS,qBAAqB,GAAG,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK;AAAA,EAC3E;AACD;","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { readFileSafe } from "../../readFileSafe.js";
|
|
2
|
+
async function readGuide() {
|
|
3
|
+
const development = await readFileSafe(".github/DEVELOPMENT.md", "");
|
|
4
|
+
const tag = /> .*guided walkthrough, see \[((?!\[).+)\]\((.+)\)/i.exec(
|
|
5
|
+
development
|
|
6
|
+
);
|
|
7
|
+
if (!tag) {
|
|
8
|
+
return void 0;
|
|
9
|
+
}
|
|
10
|
+
return {
|
|
11
|
+
href: tag[2],
|
|
12
|
+
title: tag[1]
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
readGuide
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=readGuide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/shared/options/createOptionDefaults/readGuide.ts"],"sourcesContent":["import { readFileSafe } from \"../../readFileSafe.js\";\n\nexport async function readGuide() {\n\tconst development = await readFileSafe(\".github/DEVELOPMENT.md\", \"\");\n\tconst tag = /> .*guided walkthrough, see \\[((?!\\[).+)\\]\\((.+)\\)/i.exec(\n\t\tdevelopment,\n\t);\n\n\tif (!tag) {\n\t\treturn undefined;\n\t}\n\n\treturn {\n\t\thref: tag[2],\n\t\ttitle: tag[1],\n\t};\n}\n"],"mappings":"AAAA,SAAS,oBAAoB;AAE7B,eAAsB,YAAY;AACjC,QAAM,cAAc,MAAM,aAAa,0BAA0B,EAAE;AACnE,QAAM,MAAM,sDAAsD;AAAA,IACjE;AAAA,EACD;AAEA,MAAI,CAAC,KAAK;AACT,WAAO;AAAA,EACR;AAEA,SAAO;AAAA,IACN,MAAM,IAAI,CAAC;AAAA,IACX,OAAO,IAAI,CAAC;AAAA,EACb;AACD;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/shared/options/ensureRepositoryExists.ts"],"sourcesContent":["import * as prompts from \"@clack/prompts\";\n\nimport { doesRepositoryExist } from \"../doesRepositoryExist.js\";\nimport { filterPromptCancel } from \"../prompts.js\";\nimport { Options } from \"../types.js\";\nimport { createRepositoryWithApi } from \"./createRepositoryWithApi.js\";\nimport { GitHub } from \"./getGitHub.js\";\n\nexport type EnsureRepositoryExistsOptions = Pick<\n\tOptions,\n\t\"mode\" | \"owner\" | \"preserveGeneratedFrom\" | \"repository\"\n>;\n\nexport interface RepositoryExistsResult {\n\tgithub: GitHub | undefined;\n\trepository: string;\n}\n\nexport async function ensureRepositoryExists(\n\tgithub: GitHub | undefined,\n\toptions: EnsureRepositoryExistsOptions,\n): Promise<Partial<RepositoryExistsResult>> {\n\t// We'll only respect input options once before prompting for them\n\tlet { repository } = options;\n\tlet createRepository = options.mode === \"create\";\n\n\t// We'll continuously pester the user for a repository\n\t// until they bail, create a new one, or it exists.\n\twhile (github) {\n\t\tif (await doesRepositoryExist(github.octokit, options)) {\n\t\t\treturn { github, repository };\n\t\t}\n\n\t\tconst selection = createRepository\n\t\t\t? \"create\"\n\t\t\t: filterPromptCancel(\n\t\t\t\t\t(await prompts.select({\n\t\t\t\t\t\tmessage: `Repository ${options.repository} doesn't seem to exist under ${options.owner}. What would you like to do?`,\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{ label: \"Create a new repository\", value: \"create\" },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: \"Switch to a different repository name\",\n\t\t\t\t\t\t\t\tvalue: \"different\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: \"Keep changes local\",\n\t\t\t\t\t\t\t\tvalue: \"local\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ label: \"Bail out and maybe try again later\", value: \"bail\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t})) as \"bail\" | \"create\" | \"different\" | \"local\",\n\t\t\t\t);\n\n\t\tcreateRepository = false;\n\n\t\tswitch (selection) {\n\t\t\tcase
|
|
1
|
+
{"version":3,"sources":["../../../src/shared/options/ensureRepositoryExists.ts"],"sourcesContent":["import * as prompts from \"@clack/prompts\";\n\nimport { doesRepositoryExist } from \"../doesRepositoryExist.js\";\nimport { filterPromptCancel } from \"../prompts.js\";\nimport { Options } from \"../types.js\";\nimport { createRepositoryWithApi } from \"./createRepositoryWithApi.js\";\nimport { GitHub } from \"./getGitHub.js\";\n\nexport type EnsureRepositoryExistsOptions = Pick<\n\tOptions,\n\t\"mode\" | \"owner\" | \"preserveGeneratedFrom\" | \"repository\"\n>;\n\nexport interface RepositoryExistsResult {\n\tgithub: GitHub | undefined;\n\trepository: string;\n}\n\nexport async function ensureRepositoryExists(\n\tgithub: GitHub | undefined,\n\toptions: EnsureRepositoryExistsOptions,\n): Promise<Partial<RepositoryExistsResult>> {\n\t// We'll only respect input options once before prompting for them\n\tlet { repository } = options;\n\tlet createRepository = options.mode === \"create\";\n\n\t// We'll continuously pester the user for a repository\n\t// until they bail, create a new one, or it exists.\n\twhile (github) {\n\t\tif (await doesRepositoryExist(github.octokit, options)) {\n\t\t\treturn { github, repository };\n\t\t}\n\n\t\tconst selection = createRepository\n\t\t\t? \"create\"\n\t\t\t: filterPromptCancel(\n\t\t\t\t\t(await prompts.select({\n\t\t\t\t\t\tmessage: `Repository ${options.repository} doesn't seem to exist under ${options.owner}. What would you like to do?`,\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{ label: \"Create a new repository\", value: \"create\" },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: \"Switch to a different repository name\",\n\t\t\t\t\t\t\t\tvalue: \"different\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: \"Keep changes local\",\n\t\t\t\t\t\t\t\tvalue: \"local\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ label: \"Bail out and maybe try again later\", value: \"bail\" },\n\t\t\t\t\t\t],\n\t\t\t\t\t})) as \"bail\" | \"create\" | \"different\" | \"local\",\n\t\t\t\t);\n\n\t\tcreateRepository = false;\n\n\t\tswitch (selection) {\n\t\t\tcase \"bail\":\n\t\t\tcase undefined:\n\t\t\t\treturn {};\n\n\t\t\tcase \"create\":\n\t\t\t\tawait createRepositoryWithApi(github.octokit, {\n\t\t\t\t\towner: options.owner,\n\t\t\t\t\tpreserveGeneratedFrom: options.preserveGeneratedFrom,\n\t\t\t\t\trepository,\n\t\t\t\t});\n\t\t\t\treturn { github, repository };\n\n\t\t\tcase \"different\": {\n\t\t\t\tconst newRepository = filterPromptCancel(\n\t\t\t\t\tawait prompts.text({\n\t\t\t\t\t\tmessage: `What would you like to call the repository?`,\n\t\t\t\t\t}),\n\t\t\t\t);\n\n\t\t\t\tif (!newRepository) {\n\t\t\t\t\treturn {};\n\t\t\t\t}\n\n\t\t\t\trepository = newRepository;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase \"local\":\n\t\t\t\tgithub = undefined;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn { github, repository };\n}\n"],"mappings":"AAAA,YAAY,aAAa;AAEzB,SAAS,2BAA2B;AACpC,SAAS,0BAA0B;AAEnC,SAAS,+BAA+B;AAaxC,eAAsB,uBACrB,QACA,SAC2C;AAE3C,MAAI,EAAE,WAAW,IAAI;AACrB,MAAI,mBAAmB,QAAQ,SAAS;AAIxC,SAAO,QAAQ;AACd,QAAI,MAAM,oBAAoB,OAAO,SAAS,OAAO,GAAG;AACvD,aAAO,EAAE,QAAQ,WAAW;AAAA,IAC7B;AAEA,UAAM,YAAY,mBACf,WACA;AAAA,MACC,MAAM,QAAQ,OAAO;AAAA,QACrB,SAAS,cAAc,QAAQ,UAAU,gCAAgC,QAAQ,KAAK;AAAA,QACtF,SAAS;AAAA,UACR,EAAE,OAAO,2BAA2B,OAAO,SAAS;AAAA,UACpD;AAAA,YACC,OAAO;AAAA,YACP,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,OAAO;AAAA,YACP,OAAO;AAAA,UACR;AAAA,UACA,EAAE,OAAO,sCAAsC,OAAO,OAAO;AAAA,QAC9D;AAAA,MACD,CAAC;AAAA,IACF;AAEF,uBAAmB;AAEnB,YAAQ,WAAW;AAAA,MAClB,KAAK;AAAA,MACL,KAAK;AACJ,eAAO,CAAC;AAAA,MAET,KAAK;AACJ,cAAM,wBAAwB,OAAO,SAAS;AAAA,UAC7C,OAAO,QAAQ;AAAA,UACf,uBAAuB,QAAQ;AAAA,UAC/B;AAAA,QACD,CAAC;AACD,eAAO,EAAE,QAAQ,WAAW;AAAA,MAE7B,KAAK,aAAa;AACjB,cAAM,gBAAgB;AAAA,UACrB,MAAM,QAAQ,KAAK;AAAA,YAClB,SAAS;AAAA,UACV,CAAC;AAAA,QACF;AAEA,YAAI,CAAC,eAAe;AACnB,iBAAO,CAAC;AAAA,QACT;AAEA,qBAAa;AACb;AAAA,MACD;AAAA,MAEA,KAAK;AACJ,iBAAS;AACT;AAAA,IACF;AAAA,EACD;AAEA,SAAO,EAAE,QAAQ,WAAW;AAC7B;","names":[]}
|
|
@@ -2,12 +2,12 @@ import { Options, OptionsBase } from '../types.js';
|
|
|
2
2
|
import 'zod';
|
|
3
3
|
import '../codes.js';
|
|
4
4
|
|
|
5
|
-
type ExclusionKey = `exclude${string}` & keyof Options;
|
|
6
5
|
interface ExclusionDescription {
|
|
7
6
|
hint: string;
|
|
8
7
|
label: string;
|
|
9
8
|
level?: "common" | "minimal";
|
|
10
9
|
}
|
|
10
|
+
type ExclusionKey = `exclude${string}` & keyof Options;
|
|
11
11
|
declare const exclusionDescriptions: Record<ExclusionKey, ExclusionDescription>;
|
|
12
12
|
declare const exclusionKeys: ExclusionKey[];
|
|
13
13
|
declare function getExclusions(options: Partial<Options>, base?: OptionsBase): Partial<Options>;
|
|
@@ -85,6 +85,11 @@ const exclusionDescriptions = {
|
|
|
85
85
|
hint: "--exclude-renovate",
|
|
86
86
|
label: "Add a Renovate config to keep dependencies up-to-date with PRs."
|
|
87
87
|
},
|
|
88
|
+
excludeTemplatedBy: {
|
|
89
|
+
hint: "--exclude-templated-by",
|
|
90
|
+
label: 'Add a _"This package was templated with create-typescript-app"_ notice at the end of the README.md.',
|
|
91
|
+
level: "minimal"
|
|
92
|
+
},
|
|
88
93
|
excludeTests: {
|
|
89
94
|
hint: "--exclude-tests",
|
|
90
95
|
label: "Add Vitest tooling for fast unit tests, configured with coverage tracking."
|
|
@@ -111,6 +116,7 @@ function getExclusions(options, base) {
|
|
|
111
116
|
).map((exclusion) => [exclusion, options[exclusion] ?? true])
|
|
112
117
|
)
|
|
113
118
|
};
|
|
119
|
+
// We only really care about exclusions on the common and minimal bases
|
|
114
120
|
default:
|
|
115
121
|
return {};
|
|
116
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/shared/options/exclusionKeys.ts"],"sourcesContent":["import { Options, OptionsBase } from \"../types.js\";\n\nexport
|
|
1
|
+
{"version":3,"sources":["../../../src/shared/options/exclusionKeys.ts"],"sourcesContent":["import { Options, OptionsBase } from \"../types.js\";\n\nexport interface ExclusionDescription {\n\thint: string;\n\tlabel: string;\n\tlevel?: \"common\" | \"minimal\";\n}\n\nexport type ExclusionKey = `exclude${string}` & keyof Options;\n\nexport const exclusionDescriptions: Record<ExclusionKey, ExclusionDescription> =\n\t{\n\t\texcludeAllContributors: {\n\t\t\thint: \"--exclude-all-contributors\",\n\t\t\tlabel:\n\t\t\t\t\"Add all-contributors to track contributions and display them in a README.md table.\",\n\t\t},\n\t\texcludeBuild: {\n\t\t\thint: \"--exclude-build\",\n\t\t\tlabel: \"Add a tsup build step to generate built output files.\",\n\t\t\tlevel: \"minimal\",\n\t\t},\n\t\texcludeCompliance: {\n\t\t\thint: \"--exclude-compliance\",\n\t\t\tlabel:\n\t\t\t\t\"Add a GitHub Actions workflow to verify that PRs match an expected format.\",\n\t\t\tlevel: \"common\",\n\t\t},\n\t\texcludeLintESLint: {\n\t\t\thint: \"--exclude-lint-eslint\",\n\t\t\tlabel:\n\t\t\t\t\"Include eslint-plugin-eslint-comment to enforce good practices around ESLint comment directives.\",\n\t\t\tlevel: \"common\",\n\t\t},\n\t\texcludeLintJSDoc: {\n\t\t\thint: \"--exclude-lint-jsdoc\",\n\t\t\tlabel:\n\t\t\t\t\"Include eslint-plugin-jsdoc to enforce good practices around JSDoc comments.\",\n\t\t\tlevel: \"common\",\n\t\t},\n\t\texcludeLintJson: {\n\t\t\thint: \"--exclude-lint-json\",\n\t\t\tlabel: \"Apply linting and sorting to *.json and *.jsonc files.\",\n\t\t\tlevel: \"common\",\n\t\t},\n\t\texcludeLintKnip: {\n\t\t\thint: \"--exclude-lint-knip\",\n\t\t\tlabel: \"Add Knip to detect unused files, dependencies, and code exports.\",\n\t\t},\n\t\texcludeLintMd: {\n\t\t\thint: \"--exclude-lint-md\",\n\t\t\tlabel: \"Apply linting to *.md files.\",\n\t\t\tlevel: \"common\",\n\t\t},\n\t\texcludeLintPackageJson: {\n\t\t\thint: \"--exclude-lint-package-json\",\n\t\t\tlabel:\n\t\t\t\t\"Add eslint-plugin-package-json to lint for package.json correctness.\",\n\t\t\tlevel: \"common\",\n\t\t},\n\t\texcludeLintPackages: {\n\t\t\thint: \"--exclude-lint-packages\",\n\t\t\tlabel:\n\t\t\t\t\"Add a pnpm dedupe workflow to ensure packages aren't duplicated unnecessarily.\",\n\t\t\tlevel: \"common\",\n\t\t},\n\t\texcludeLintPerfectionist: {\n\t\t\thint: \"--exclude-lint-perfectionist\",\n\t\t\tlabel:\n\t\t\t\t\"Apply eslint-plugin-perfectionist to ensure imports, keys, and so on are in sorted order.\",\n\t\t\tlevel: \"common\",\n\t\t},\n\t\texcludeLintRegex: {\n\t\t\thint: \"--exclude-lint-regex\",\n\t\t\tlabel:\n\t\t\t\t\"Include eslint-plugin-regex to enforce good practices around regular expressions.\",\n\t\t\tlevel: \"common\",\n\t\t},\n\t\texcludeLintSpelling: {\n\t\t\thint: \"--exclude-lint-spelling\",\n\t\t\tlabel: \"Add cspell to spell check against dictionaries of known words.\",\n\t\t\tlevel: \"common\",\n\t\t},\n\t\texcludeLintStrict: {\n\t\t\thint: \"--exclude-lint-strict\",\n\t\t\tlabel:\n\t\t\t\t\"Include strict logical lint rules such as typescript-eslint's strict config. \",\n\t\t\tlevel: \"common\",\n\t\t},\n\t\texcludeLintStylistic: {\n\t\t\thint: \"--exclude-lint-stylistic\",\n\t\t\tlabel:\n\t\t\t\t\"Include stylistic lint rules such as typescript-eslint's stylistic config.\",\n\t\t\tlevel: \"common\",\n\t\t},\n\t\texcludeLintYml: {\n\t\t\thint: \"--exclude-lint-yml\",\n\t\t\tlabel: \"Apply linting and sorting to *.yaml and *.yml files.\",\n\t\t\tlevel: \"common\",\n\t\t},\n\t\texcludeReleases: {\n\t\t\thint: \"--exclude-releases\",\n\t\t\tlabel:\n\t\t\t\t\"Add release-it to generate changelogs, package bumps, and publishes based on conventional commits.\",\n\t\t},\n\t\texcludeRenovate: {\n\t\t\thint: \"--exclude-renovate\",\n\t\t\tlabel: \"Add a Renovate config to keep dependencies up-to-date with PRs.\",\n\t\t},\n\t\texcludeTemplatedBy: {\n\t\t\thint: \"--exclude-templated-by\",\n\t\t\tlabel:\n\t\t\t\t'Add a _\"This package was templated with create-typescript-app\"_ notice at the end of the README.md.',\n\t\t\tlevel: \"minimal\",\n\t\t},\n\t\texcludeTests: {\n\t\t\thint: \"--exclude-tests\",\n\t\t\tlabel:\n\t\t\t\t\"Add Vitest tooling for fast unit tests, configured with coverage tracking.\",\n\t\t},\n\t};\n\nexport const exclusionKeys = Object.keys(\n\texclusionDescriptions,\n) as ExclusionKey[];\n\nexport function getExclusions(\n\toptions: Partial<Options>,\n\tbase?: OptionsBase,\n): Partial<Options> {\n\tswitch (base) {\n\t\tcase \"common\":\n\t\t\treturn {\n\t\t\t\t...Object.fromEntries(\n\t\t\t\t\texclusionKeys\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t(exclusion) =>\n\t\t\t\t\t\t\t\texclusionDescriptions[exclusion].level === \"common\",\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.map((exclusion) => [exclusion, options[exclusion] ?? true]),\n\t\t\t\t),\n\t\t\t};\n\t\tcase \"minimal\":\n\t\t\treturn {\n\t\t\t\t...Object.fromEntries(\n\t\t\t\t\texclusionKeys\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t(exclusion) =>\n\t\t\t\t\t\t\t\texclusionDescriptions[exclusion].level !== \"minimal\",\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.map((exclusion) => [exclusion, options[exclusion] ?? true]),\n\t\t\t\t),\n\t\t\t};\n\t\t// We only really care about exclusions on the common and minimal bases\n\t\tdefault:\n\t\t\treturn {};\n\t}\n}\n"],"mappings":"AAUO,MAAM,wBACZ;AAAA,EACC,wBAAwB;AAAA,IACvB,MAAM;AAAA,IACN,OACC;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACb,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,EACR;AAAA,EACA,mBAAmB;AAAA,IAClB,MAAM;AAAA,IACN,OACC;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EACA,mBAAmB;AAAA,IAClB,MAAM;AAAA,IACN,OACC;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EACA,kBAAkB;AAAA,IACjB,MAAM;AAAA,IACN,OACC;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,EACR;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA,EACR;AAAA,EACA,eAAe;AAAA,IACd,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,EACR;AAAA,EACA,wBAAwB;AAAA,IACvB,MAAM;AAAA,IACN,OACC;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EACA,qBAAqB;AAAA,IACpB,MAAM;AAAA,IACN,OACC;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EACA,0BAA0B;AAAA,IACzB,MAAM;AAAA,IACN,OACC;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EACA,kBAAkB;AAAA,IACjB,MAAM;AAAA,IACN,OACC;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EACA,qBAAqB;AAAA,IACpB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,EACR;AAAA,EACA,mBAAmB;AAAA,IAClB,MAAM;AAAA,IACN,OACC;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EACA,sBAAsB;AAAA,IACrB,MAAM;AAAA,IACN,OACC;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EACA,gBAAgB;AAAA,IACf,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,EACR;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,IACN,OACC;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA,EACR;AAAA,EACA,oBAAoB;AAAA,IACnB,MAAM;AAAA,IACN,OACC;AAAA,IACD,OAAO;AAAA,EACR;AAAA,EACA,cAAc;AAAA,IACb,MAAM;AAAA,IACN,OACC;AAAA,EACF;AACD;AAEM,MAAM,gBAAgB,OAAO;AAAA,EACnC;AACD;AAEO,SAAS,cACf,SACA,MACmB;AACnB,UAAQ,MAAM;AAAA,IACb,KAAK;AACJ,aAAO;AAAA,QACN,GAAG,OAAO;AAAA,UACT,cACE;AAAA,YACA,CAAC,cACA,sBAAsB,SAAS,EAAE,UAAU;AAAA,UAC7C,EACC,IAAI,CAAC,cAAc,CAAC,WAAW,QAAQ,SAAS,KAAK,IAAI,CAAC;AAAA,QAC7D;AAAA,MACD;AAAA,IACD,KAAK;AACJ,aAAO;AAAA,QACN,GAAG,OAAO;AAAA,UACT,cACE;AAAA,YACA,CAAC,cACA,sBAAsB,SAAS,EAAE,UAAU;AAAA,UAC7C,EACC,IAAI,CAAC,cAAc,CAAC,WAAW,QAAQ,SAAS,KAAK,IAAI,CAAC;AAAA,QAC7D;AAAA,MACD;AAAA;AAAA,IAED;AACC,aAAO,CAAC;AAAA,EACV;AACD;","names":[]}
|