create-typescript-app 2.21.4 → 2.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/lib/base.d.ts +25 -2
  2. package/lib/base.js +21 -9
  3. package/lib/blocks/blockAllContributors.d.ts +7 -2
  4. package/lib/blocks/blockAreTheTypesWrong.d.ts +7 -2
  5. package/lib/blocks/blockCSpell.d.ts +7 -2
  6. package/lib/blocks/blockCTATransitions.d.ts +7 -2
  7. package/lib/blocks/blockCodecov.d.ts +7 -2
  8. package/lib/blocks/blockContributingDocs.d.ts +7 -2
  9. package/lib/blocks/blockContributorCovenant.d.ts +7 -2
  10. package/lib/blocks/blockDevelopmentDocs.d.ts +7 -2
  11. package/lib/blocks/blockDevelopmentDocs.js +1 -1
  12. package/lib/blocks/blockESLint.d.ts +7 -2
  13. package/lib/blocks/blockESLintComments.d.ts +7 -2
  14. package/lib/blocks/blockESLintJSDoc.d.ts +7 -2
  15. package/lib/blocks/blockESLintJSONC.d.ts +7 -2
  16. package/lib/blocks/blockESLintMarkdown.d.ts +7 -2
  17. package/lib/blocks/blockESLintMoreStyling.d.ts +7 -2
  18. package/lib/blocks/blockESLintNode.d.ts +7 -2
  19. package/lib/blocks/blockESLintPackageJson.d.ts +7 -2
  20. package/lib/blocks/blockESLintPerfectionist.d.ts +7 -2
  21. package/lib/blocks/blockESLintRegexp.d.ts +7 -2
  22. package/lib/blocks/blockESLintYML.d.ts +7 -2
  23. package/lib/blocks/blockExampleFiles.d.ts +7 -2
  24. package/lib/blocks/blockFunding.d.ts +7 -2
  25. package/lib/blocks/blockGitHubActionsCI.d.ts +7 -2
  26. package/lib/blocks/blockGitHubApps.d.ts +7 -2
  27. package/lib/blocks/blockGitHubIssueTemplates.d.ts +7 -2
  28. package/lib/blocks/blockGitHubPRTemplate.d.ts +7 -2
  29. package/lib/blocks/blockGitignore.d.ts +7 -2
  30. package/lib/blocks/blockKnip.d.ts +7 -2
  31. package/lib/blocks/blockKnip.js +14 -1
  32. package/lib/blocks/blockMITLicense.d.ts +7 -2
  33. package/lib/blocks/blockMain.d.ts +7 -2
  34. package/lib/blocks/blockMarkdownlint.d.ts +7 -2
  35. package/lib/blocks/blockNcc.d.ts +7 -2
  36. package/lib/blocks/blockNvmrc.d.ts +7 -2
  37. package/lib/blocks/blockPRCompliance.d.ts +7 -2
  38. package/lib/blocks/blockPackageJson.d.ts +7 -2
  39. package/lib/blocks/blockPnpmDedupe.d.ts +7 -2
  40. package/lib/blocks/blockPrettier.d.ts +7 -2
  41. package/lib/blocks/blockPrettierPluginCurly.d.ts +7 -2
  42. package/lib/blocks/blockPrettierPluginPackageJson.d.ts +7 -2
  43. package/lib/blocks/blockPrettierPluginSh.d.ts +7 -2
  44. package/lib/blocks/blockREADME.d.ts +7 -2
  45. package/lib/blocks/blockREADME.js +2 -2
  46. package/lib/blocks/blockReleaseIt.d.ts +7 -2
  47. package/lib/blocks/blockRemoveDependencies.d.ts +7 -2
  48. package/lib/blocks/blockRemoveFiles.d.ts +7 -2
  49. package/lib/blocks/blockRemoveWorkflows.d.ts +7 -2
  50. package/lib/blocks/blockRenovate.d.ts +7 -2
  51. package/lib/blocks/blockRepositoryBranchRuleset.d.ts +7 -2
  52. package/lib/blocks/blockRepositoryLabels.d.ts +7 -2
  53. package/lib/blocks/blockRepositorySecrets.d.ts +7 -2
  54. package/lib/blocks/blockRepositorySettings.d.ts +7 -2
  55. package/lib/blocks/blockSecurityDocs.d.ts +7 -2
  56. package/lib/blocks/blockTSup.d.ts +7 -2
  57. package/lib/blocks/blockTemplatedWith.d.ts +7 -2
  58. package/lib/blocks/blockTypeScript.d.ts +7 -2
  59. package/lib/blocks/blockVSCode.d.ts +7 -2
  60. package/lib/blocks/blockVitest.d.ts +7 -2
  61. package/lib/blocks/index.d.ts +315 -90
  62. package/lib/blocks/intake/intakeFileAsJson.d.ts +5 -0
  63. package/lib/blocks/intake/intakeFileAsJson.js +13 -0
  64. package/lib/blocks/options.fakes.d.ts +5 -0
  65. package/lib/blocks/options.fakes.js +5 -0
  66. package/lib/data/packageData.d.ts +2 -2
  67. package/lib/index.d.ts +32 -4
  68. package/lib/options/readDevelopmentDocumentation.d.ts +5 -0
  69. package/lib/options/readDevelopmentDocumentation.js +27 -0
  70. package/lib/options/readDocumentation.d.ts +3 -2
  71. package/lib/options/readDocumentation.js +13 -23
  72. package/lib/options/readReadmeAdditional.d.ts +3 -0
  73. package/lib/options/readReadmeAdditional.js +20 -0
  74. package/lib/options/readReadmeUsage.d.ts +3 -0
  75. package/lib/options/{readUsage.js → readReadmeUsage.js} +2 -2
  76. package/lib/presets/common.d.ts +25 -2
  77. package/lib/presets/everything.d.ts +25 -2
  78. package/lib/presets/index.d.ts +75 -6
  79. package/lib/presets/minimal.d.ts +25 -2
  80. package/lib/schemas.d.ts +38 -1
  81. package/lib/schemas.js +10 -0
  82. package/lib/template.d.ts +25 -2
  83. package/package.json +2 -2
  84. package/lib/options/readUsage.d.ts +0 -3
@@ -0,0 +1,5 @@
1
+ import { IntakeDirectory } from 'bingo-fs';
2
+
3
+ declare function intakeFileAsJson(files: IntakeDirectory, filePath: string[]): Record<string, unknown> | undefined;
4
+
5
+ export { intakeFileAsJson };
@@ -0,0 +1,13 @@
1
+ import JSON5 from "json5";
2
+ import { intakeFile } from "./intakeFile.js";
3
+ function intakeFileAsJson(files, filePath) {
4
+ const file = intakeFile(files, filePath);
5
+ try {
6
+ return file && JSON5.parse(file[0]);
7
+ } catch {
8
+ return void 0;
9
+ }
10
+ }
11
+ export {
12
+ intakeFileAsJson
13
+ };
@@ -2,6 +2,11 @@ declare const optionsBase: {
2
2
  access: "public";
3
3
  description: string;
4
4
  directory: string;
5
+ documentation: {
6
+ readme: {
7
+ usage: string;
8
+ };
9
+ };
5
10
  email: {
6
11
  github: string;
7
12
  npm: string;
@@ -2,6 +2,11 @@ const optionsBase = {
2
2
  access: "public",
3
3
  description: "Test description",
4
4
  directory: ".",
5
+ documentation: {
6
+ readme: {
7
+ usage: "Test usage."
8
+ }
9
+ },
5
10
  email: {
6
11
  github: "github@email.com",
7
12
  npm: "npm@email.com"
@@ -1,5 +1,5 @@
1
1
  var name = "create-typescript-app";
2
- var version = "2.21.3";
2
+ var version = "2.22.0";
3
3
  var description = "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁";
4
4
  var repository = {
5
5
  type: "git",
@@ -113,7 +113,7 @@ var devDependencies = {
113
113
  "typescript-eslint": "8.26.1",
114
114
  vitest: "3.0.9"
115
115
  };
116
- var packageManager = "pnpm@10.6.4";
116
+ var packageManager = "pnpm@10.7.0";
117
117
  var engines = {
118
118
  node: ">=18.3.0"
119
119
  };
package/lib/index.d.ts CHANGED
@@ -81,7 +81,31 @@ declare const createConfig: bingo.CreateTemplateConfig<{
81
81
  }>, "many">>;
82
82
  description: zod.ZodDefault<zod.ZodString>;
83
83
  directory: zod.ZodString;
84
- documentation: zod.ZodOptional<zod.ZodString>;
84
+ documentation: zod.ZodObject<{
85
+ development: zod.ZodOptional<zod.ZodString>;
86
+ readme: zod.ZodObject<{
87
+ additional: zod.ZodOptional<zod.ZodString>;
88
+ usage: zod.ZodString;
89
+ }, "strip", zod.ZodTypeAny, {
90
+ usage: string;
91
+ additional?: string | undefined;
92
+ }, {
93
+ usage: string;
94
+ additional?: string | undefined;
95
+ }>;
96
+ }, "strip", zod.ZodTypeAny, {
97
+ readme: {
98
+ usage: string;
99
+ additional?: string | undefined;
100
+ };
101
+ development?: string | undefined;
102
+ }, {
103
+ readme: {
104
+ usage: string;
105
+ additional?: string | undefined;
106
+ };
107
+ development?: string | undefined;
108
+ }>;
85
109
  email: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
86
110
  github: zod.ZodString;
87
111
  npm: zod.ZodString;
@@ -175,7 +199,6 @@ declare const createConfig: bingo.CreateTemplateConfig<{
175
199
  repository: zod.ZodString;
176
200
  rulesetId: zod.ZodOptional<zod.ZodString>;
177
201
  title: zod.ZodString;
178
- usage: zod.ZodOptional<zod.ZodString>;
179
202
  version: zod.ZodOptional<zod.ZodString>;
180
203
  words: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
181
204
  workflowsVersions: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodObject<{
@@ -192,6 +215,13 @@ declare const createConfig: bingo.CreateTemplateConfig<{
192
215
  access: "public" | "restricted";
193
216
  description: string;
194
217
  directory: string;
218
+ documentation: {
219
+ readme: {
220
+ usage: string;
221
+ additional?: string | undefined;
222
+ };
223
+ development?: string | undefined;
224
+ };
195
225
  email: {
196
226
  github: string;
197
227
  npm: string;
@@ -208,7 +238,6 @@ declare const createConfig: bingo.CreateTemplateConfig<{
208
238
  name: string;
209
239
  profile: string;
210
240
  }[] | undefined;
211
- documentation?: string | undefined;
212
241
  emoji?: string | undefined;
213
242
  existingLabels?: {
214
243
  name: string;
@@ -241,7 +270,6 @@ declare const createConfig: bingo.CreateTemplateConfig<{
241
270
  } | undefined;
242
271
  pnpm?: string | undefined;
243
272
  rulesetId?: string | undefined;
244
- usage?: string | undefined;
245
273
  version?: string | undefined;
246
274
  words?: string[] | undefined;
247
275
  workflowsVersions?: Record<string, Record<string, {
@@ -0,0 +1,5 @@
1
+ import { TakeInput } from 'bingo';
2
+
3
+ declare function readDevelopmentDocumentation(take: TakeInput): Promise<string | undefined>;
4
+
5
+ export { readDevelopmentDocumentation };
@@ -0,0 +1,27 @@
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 readDevelopmentDocumentation(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
+ readDevelopmentDocumentation
27
+ };
@@ -1,5 +1,6 @@
1
- import { TakeInput } from 'bingo';
1
+ import { Documentation } from '../schemas.js';
2
+ import 'zod';
2
3
 
3
- declare function readDocumentation(take: TakeInput): Promise<string | undefined>;
4
+ declare function readDocumentation(getDevelopmentDocumentation: () => Promise<string | undefined>, getReadmeAdditional: () => Promise<string | undefined>, getReadmeUsage: () => Promise<string>): Promise<Documentation>;
4
5
 
5
6
  export { readDocumentation };
@@ -1,26 +1,16 @@
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();
1
+ async function readDocumentation(getDevelopmentDocumentation, getReadmeAdditional, getReadmeUsage) {
2
+ const [additional, development, usage] = await Promise.all([
3
+ getReadmeAdditional(),
4
+ getDevelopmentDocumentation(),
5
+ getReadmeUsage()
6
+ ]);
7
+ return {
8
+ development,
9
+ readme: {
10
+ additional,
11
+ usage
12
+ }
13
+ };
24
14
  }
25
15
  export {
26
16
  readDocumentation
@@ -0,0 +1,3 @@
1
+ declare function readReadmeAdditional(getReadme: () => Promise<string>): Promise<string | undefined>;
2
+
3
+ export { readReadmeAdditional };
@@ -0,0 +1,20 @@
1
+ const indicatorAfterContributors = /<!--\s*spellchecker:\s*enable\s*-->/;
2
+ const indicatorBeforeTemplatedBy = /> .* This package was templated with |<!-- You can remove this notice/;
3
+ async function readReadmeAdditional(getReadme) {
4
+ const readme = await getReadme();
5
+ if (!readme) {
6
+ return void 0;
7
+ }
8
+ const indexAfterContributors = indicatorAfterContributors.exec(readme);
9
+ if (!indexAfterContributors) {
10
+ return void 0;
11
+ }
12
+ const templatedByMatch = indicatorBeforeTemplatedBy.exec(readme);
13
+ return readme.slice(
14
+ indexAfterContributors.index + indexAfterContributors[0].length,
15
+ templatedByMatch?.index
16
+ ).trim();
17
+ }
18
+ export {
19
+ readReadmeAdditional
20
+ };
@@ -0,0 +1,3 @@
1
+ declare function readReadmeUsage(getEmoji: () => Promise<string>, getReadme: () => Promise<string>, getRepository: () => Promise<string | undefined>): Promise<string>;
2
+
3
+ export { readReadmeUsage };
@@ -1,5 +1,5 @@
1
1
  import { readUsageFromReadme } from "./readUsageFromReadme.js";
2
- async function readUsage(getEmoji, getReadme, getRepository) {
2
+ async function readReadmeUsage(getEmoji, getReadme, getRepository) {
3
3
  return readUsageFromReadme(await getReadme()) ?? `\`\`\`shell
4
4
  npm i ${await getRepository()}
5
5
  \`\`\`
@@ -10,5 +10,5 @@ greet("Hello, world! ${await getEmoji()}");
10
10
  \`\`\``;
11
11
  }
12
12
  export {
13
- readUsage
13
+ readReadmeUsage
14
14
  };
@@ -26,7 +26,31 @@ declare const presetCommon: bingo_stratum.Preset<{
26
26
  }>, "many">>;
27
27
  description: zod.ZodDefault<zod.ZodString>;
28
28
  directory: zod.ZodString;
29
- documentation: zod.ZodOptional<zod.ZodString>;
29
+ documentation: zod.ZodObject<{
30
+ development: zod.ZodOptional<zod.ZodString>;
31
+ readme: zod.ZodObject<{
32
+ additional: zod.ZodOptional<zod.ZodString>;
33
+ usage: zod.ZodString;
34
+ }, "strip", zod.ZodTypeAny, {
35
+ usage: string;
36
+ additional?: string | undefined;
37
+ }, {
38
+ usage: string;
39
+ additional?: string | undefined;
40
+ }>;
41
+ }, "strip", zod.ZodTypeAny, {
42
+ readme: {
43
+ usage: string;
44
+ additional?: string | undefined;
45
+ };
46
+ development?: string | undefined;
47
+ }, {
48
+ readme: {
49
+ usage: string;
50
+ additional?: string | undefined;
51
+ };
52
+ development?: string | undefined;
53
+ }>;
30
54
  email: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
31
55
  github: zod.ZodString;
32
56
  npm: zod.ZodString;
@@ -120,7 +144,6 @@ declare const presetCommon: bingo_stratum.Preset<{
120
144
  repository: zod.ZodString;
121
145
  rulesetId: zod.ZodOptional<zod.ZodString>;
122
146
  title: zod.ZodString;
123
- usage: zod.ZodOptional<zod.ZodString>;
124
147
  version: zod.ZodOptional<zod.ZodString>;
125
148
  words: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
126
149
  workflowsVersions: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodObject<{
@@ -26,7 +26,31 @@ declare const presetEverything: bingo_stratum.Preset<{
26
26
  }>, "many">>;
27
27
  description: zod.ZodDefault<zod.ZodString>;
28
28
  directory: zod.ZodString;
29
- documentation: zod.ZodOptional<zod.ZodString>;
29
+ documentation: zod.ZodObject<{
30
+ development: zod.ZodOptional<zod.ZodString>;
31
+ readme: zod.ZodObject<{
32
+ additional: zod.ZodOptional<zod.ZodString>;
33
+ usage: zod.ZodString;
34
+ }, "strip", zod.ZodTypeAny, {
35
+ usage: string;
36
+ additional?: string | undefined;
37
+ }, {
38
+ usage: string;
39
+ additional?: string | undefined;
40
+ }>;
41
+ }, "strip", zod.ZodTypeAny, {
42
+ readme: {
43
+ usage: string;
44
+ additional?: string | undefined;
45
+ };
46
+ development?: string | undefined;
47
+ }, {
48
+ readme: {
49
+ usage: string;
50
+ additional?: string | undefined;
51
+ };
52
+ development?: string | undefined;
53
+ }>;
30
54
  email: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
31
55
  github: zod.ZodString;
32
56
  npm: zod.ZodString;
@@ -120,7 +144,6 @@ declare const presetEverything: bingo_stratum.Preset<{
120
144
  repository: zod.ZodString;
121
145
  rulesetId: zod.ZodOptional<zod.ZodString>;
122
146
  title: zod.ZodString;
123
- usage: zod.ZodOptional<zod.ZodString>;
124
147
  version: zod.ZodOptional<zod.ZodString>;
125
148
  words: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
126
149
  workflowsVersions: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodObject<{
@@ -30,7 +30,31 @@ declare const presets: {
30
30
  }>, "many">>;
31
31
  description: zod.ZodDefault<zod.ZodString>;
32
32
  directory: zod.ZodString;
33
- documentation: zod.ZodOptional<zod.ZodString>;
33
+ documentation: zod.ZodObject<{
34
+ development: zod.ZodOptional<zod.ZodString>;
35
+ readme: zod.ZodObject<{
36
+ additional: zod.ZodOptional<zod.ZodString>;
37
+ usage: zod.ZodString;
38
+ }, "strip", zod.ZodTypeAny, {
39
+ usage: string;
40
+ additional?: string | undefined;
41
+ }, {
42
+ usage: string;
43
+ additional?: string | undefined;
44
+ }>;
45
+ }, "strip", zod.ZodTypeAny, {
46
+ readme: {
47
+ usage: string;
48
+ additional?: string | undefined;
49
+ };
50
+ development?: string | undefined;
51
+ }, {
52
+ readme: {
53
+ usage: string;
54
+ additional?: string | undefined;
55
+ };
56
+ development?: string | undefined;
57
+ }>;
34
58
  email: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
35
59
  github: zod.ZodString;
36
60
  npm: zod.ZodString;
@@ -124,7 +148,6 @@ declare const presets: {
124
148
  repository: zod.ZodString;
125
149
  rulesetId: zod.ZodOptional<zod.ZodString>;
126
150
  title: zod.ZodString;
127
- usage: zod.ZodOptional<zod.ZodString>;
128
151
  version: zod.ZodOptional<zod.ZodString>;
129
152
  words: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
130
153
  workflowsVersions: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodObject<{
@@ -163,7 +186,31 @@ declare const presets: {
163
186
  }>, "many">>;
164
187
  description: zod.ZodDefault<zod.ZodString>;
165
188
  directory: zod.ZodString;
166
- documentation: zod.ZodOptional<zod.ZodString>;
189
+ documentation: zod.ZodObject<{
190
+ development: zod.ZodOptional<zod.ZodString>;
191
+ readme: zod.ZodObject<{
192
+ additional: zod.ZodOptional<zod.ZodString>;
193
+ usage: zod.ZodString;
194
+ }, "strip", zod.ZodTypeAny, {
195
+ usage: string;
196
+ additional?: string | undefined;
197
+ }, {
198
+ usage: string;
199
+ additional?: string | undefined;
200
+ }>;
201
+ }, "strip", zod.ZodTypeAny, {
202
+ readme: {
203
+ usage: string;
204
+ additional?: string | undefined;
205
+ };
206
+ development?: string | undefined;
207
+ }, {
208
+ readme: {
209
+ usage: string;
210
+ additional?: string | undefined;
211
+ };
212
+ development?: string | undefined;
213
+ }>;
167
214
  email: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
168
215
  github: zod.ZodString;
169
216
  npm: zod.ZodString;
@@ -257,7 +304,6 @@ declare const presets: {
257
304
  repository: zod.ZodString;
258
305
  rulesetId: zod.ZodOptional<zod.ZodString>;
259
306
  title: zod.ZodString;
260
- usage: zod.ZodOptional<zod.ZodString>;
261
307
  version: zod.ZodOptional<zod.ZodString>;
262
308
  words: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
263
309
  workflowsVersions: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodObject<{
@@ -296,7 +342,31 @@ declare const presets: {
296
342
  }>, "many">>;
297
343
  description: zod.ZodDefault<zod.ZodString>;
298
344
  directory: zod.ZodString;
299
- documentation: zod.ZodOptional<zod.ZodString>;
345
+ documentation: zod.ZodObject<{
346
+ development: zod.ZodOptional<zod.ZodString>;
347
+ readme: zod.ZodObject<{
348
+ additional: zod.ZodOptional<zod.ZodString>;
349
+ usage: zod.ZodString;
350
+ }, "strip", zod.ZodTypeAny, {
351
+ usage: string;
352
+ additional?: string | undefined;
353
+ }, {
354
+ usage: string;
355
+ additional?: string | undefined;
356
+ }>;
357
+ }, "strip", zod.ZodTypeAny, {
358
+ readme: {
359
+ usage: string;
360
+ additional?: string | undefined;
361
+ };
362
+ development?: string | undefined;
363
+ }, {
364
+ readme: {
365
+ usage: string;
366
+ additional?: string | undefined;
367
+ };
368
+ development?: string | undefined;
369
+ }>;
300
370
  email: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
301
371
  github: zod.ZodString;
302
372
  npm: zod.ZodString;
@@ -390,7 +460,6 @@ declare const presets: {
390
460
  repository: zod.ZodString;
391
461
  rulesetId: zod.ZodOptional<zod.ZodString>;
392
462
  title: zod.ZodString;
393
- usage: zod.ZodOptional<zod.ZodString>;
394
463
  version: zod.ZodOptional<zod.ZodString>;
395
464
  words: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
396
465
  workflowsVersions: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodObject<{
@@ -26,7 +26,31 @@ declare const presetMinimal: bingo_stratum.Preset<{
26
26
  }>, "many">>;
27
27
  description: zod.ZodDefault<zod.ZodString>;
28
28
  directory: zod.ZodString;
29
- documentation: zod.ZodOptional<zod.ZodString>;
29
+ documentation: zod.ZodObject<{
30
+ development: zod.ZodOptional<zod.ZodString>;
31
+ readme: zod.ZodObject<{
32
+ additional: zod.ZodOptional<zod.ZodString>;
33
+ usage: zod.ZodString;
34
+ }, "strip", zod.ZodTypeAny, {
35
+ usage: string;
36
+ additional?: string | undefined;
37
+ }, {
38
+ usage: string;
39
+ additional?: string | undefined;
40
+ }>;
41
+ }, "strip", zod.ZodTypeAny, {
42
+ readme: {
43
+ usage: string;
44
+ additional?: string | undefined;
45
+ };
46
+ development?: string | undefined;
47
+ }, {
48
+ readme: {
49
+ usage: string;
50
+ additional?: string | undefined;
51
+ };
52
+ development?: string | undefined;
53
+ }>;
30
54
  email: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
31
55
  github: zod.ZodString;
32
56
  npm: zod.ZodString;
@@ -120,7 +144,6 @@ declare const presetMinimal: bingo_stratum.Preset<{
120
144
  repository: zod.ZodString;
121
145
  rulesetId: zod.ZodOptional<zod.ZodString>;
122
146
  title: zod.ZodString;
123
- usage: zod.ZodOptional<zod.ZodString>;
124
147
  version: zod.ZodOptional<zod.ZodString>;
125
148
  words: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
126
149
  workflowsVersions: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodObject<{
package/lib/schemas.d.ts CHANGED
@@ -20,6 +20,43 @@ declare const zContributor: z.ZodObject<{
20
20
  profile: string;
21
21
  }>;
22
22
  type Contributor = z.infer<typeof zContributor>;
23
+ declare const zReadme: z.ZodObject<{
24
+ additional: z.ZodOptional<z.ZodString>;
25
+ usage: z.ZodString;
26
+ }, "strip", z.ZodTypeAny, {
27
+ usage: string;
28
+ additional?: string | undefined;
29
+ }, {
30
+ usage: string;
31
+ additional?: string | undefined;
32
+ }>;
33
+ type Readme = z.infer<typeof zReadme>;
34
+ declare const zDocumentation: z.ZodObject<{
35
+ development: z.ZodOptional<z.ZodString>;
36
+ readme: z.ZodObject<{
37
+ additional: z.ZodOptional<z.ZodString>;
38
+ usage: z.ZodString;
39
+ }, "strip", z.ZodTypeAny, {
40
+ usage: string;
41
+ additional?: string | undefined;
42
+ }, {
43
+ usage: string;
44
+ additional?: string | undefined;
45
+ }>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ readme: {
48
+ usage: string;
49
+ additional?: string | undefined;
50
+ };
51
+ development?: string | undefined;
52
+ }, {
53
+ readme: {
54
+ usage: string;
55
+ additional?: string | undefined;
56
+ };
57
+ development?: string | undefined;
58
+ }>;
59
+ type Documentation = z.infer<typeof zDocumentation>;
23
60
  declare const zWorkflowVersion: z.ZodObject<{
24
61
  hash: z.ZodOptional<z.ZodString>;
25
62
  pinned: z.ZodOptional<z.ZodBoolean>;
@@ -54,4 +91,4 @@ declare const zWorkflowsVersions: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodStri
54
91
  }>>>;
55
92
  type WorkflowsVersions = z.infer<typeof zWorkflowsVersions>;
56
93
 
57
- export { type Contributor, type WorkflowVersion, type WorkflowVersions, type WorkflowsVersions, zContributor, zWorkflowVersion, zWorkflowVersions, zWorkflowsVersions };
94
+ export { type Contributor, type Documentation, type Readme, type WorkflowVersion, type WorkflowVersions, type WorkflowsVersions, zContributor, zDocumentation, zReadme, zWorkflowVersion, zWorkflowVersions, zWorkflowsVersions };
package/lib/schemas.js CHANGED
@@ -6,6 +6,14 @@ const zContributor = z.object({
6
6
  name: z.string(),
7
7
  profile: z.string()
8
8
  });
9
+ const zReadme = z.object({
10
+ additional: z.string().optional(),
11
+ usage: z.string()
12
+ });
13
+ const zDocumentation = z.object({
14
+ development: z.string().optional(),
15
+ readme: zReadme
16
+ });
9
17
  const zWorkflowVersion = z.object({
10
18
  hash: z.string().optional(),
11
19
  pinned: z.boolean().optional()
@@ -14,6 +22,8 @@ const zWorkflowVersions = z.record(zWorkflowVersion);
14
22
  const zWorkflowsVersions = z.record(zWorkflowVersions);
15
23
  export {
16
24
  zContributor,
25
+ zDocumentation,
26
+ zReadme,
17
27
  zWorkflowVersion,
18
28
  zWorkflowVersions,
19
29
  zWorkflowsVersions
package/lib/template.d.ts CHANGED
@@ -26,7 +26,31 @@ declare const template: bingo_stratum_lib_types_templates_js.StratumTemplate<{
26
26
  }>, "many">>;
27
27
  description: zod.ZodDefault<zod.ZodString>;
28
28
  directory: zod.ZodString;
29
- documentation: zod.ZodOptional<zod.ZodString>;
29
+ documentation: zod.ZodObject<{
30
+ development: zod.ZodOptional<zod.ZodString>;
31
+ readme: zod.ZodObject<{
32
+ additional: zod.ZodOptional<zod.ZodString>;
33
+ usage: zod.ZodString;
34
+ }, "strip", zod.ZodTypeAny, {
35
+ usage: string;
36
+ additional?: string | undefined;
37
+ }, {
38
+ usage: string;
39
+ additional?: string | undefined;
40
+ }>;
41
+ }, "strip", zod.ZodTypeAny, {
42
+ readme: {
43
+ usage: string;
44
+ additional?: string | undefined;
45
+ };
46
+ development?: string | undefined;
47
+ }, {
48
+ readme: {
49
+ usage: string;
50
+ additional?: string | undefined;
51
+ };
52
+ development?: string | undefined;
53
+ }>;
30
54
  email: zod.ZodEffects<zod.ZodUnion<[zod.ZodString, zod.ZodObject<{
31
55
  github: zod.ZodString;
32
56
  npm: zod.ZodString;
@@ -120,7 +144,6 @@ declare const template: bingo_stratum_lib_types_templates_js.StratumTemplate<{
120
144
  repository: zod.ZodString;
121
145
  rulesetId: zod.ZodOptional<zod.ZodString>;
122
146
  title: zod.ZodString;
123
- usage: zod.ZodOptional<zod.ZodString>;
124
147
  version: zod.ZodOptional<zod.ZodString>;
125
148
  words: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
126
149
  workflowsVersions: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodRecord<zod.ZodString, zod.ZodObject<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-typescript-app",
3
- "version": "2.21.4",
3
+ "version": "2.22.1",
4
4
  "description": "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁",
5
5
  "repository": {
6
6
  "type": "git",
@@ -117,7 +117,7 @@
117
117
  "typescript-eslint": "8.26.1",
118
118
  "vitest": "3.0.9"
119
119
  },
120
- "packageManager": "pnpm@10.6.4",
120
+ "packageManager": "pnpm@10.7.0",
121
121
  "engines": {
122
122
  "node": ">=18.3.0"
123
123
  },
@@ -1,3 +0,0 @@
1
- declare function readUsage(getEmoji: () => Promise<string>, getReadme: () => Promise<string>, getRepository: () => Promise<string | undefined>): Promise<string>;
2
-
3
- export { readUsage };