create-typescript-app 2.4.6 → 2.6.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.
Files changed (76) hide show
  1. package/README.md +1 -1
  2. package/lib/base.d.ts +14 -0
  3. package/lib/base.js +20 -3
  4. package/lib/blocks/blockAllContributors.d.ts +6 -0
  5. package/lib/blocks/blockAreTheTypesWrong.d.ts +6 -0
  6. package/lib/blocks/blockCSpell.d.ts +6 -0
  7. package/lib/blocks/blockCodecov.d.ts +6 -0
  8. package/lib/blocks/blockContributingDocs.d.ts +6 -0
  9. package/lib/blocks/blockContributingDocs.js +2 -2
  10. package/lib/blocks/blockContributorCovenant.d.ts +6 -0
  11. package/lib/blocks/blockDevelopmentDocs.d.ts +6 -0
  12. package/lib/blocks/blockESLint.d.ts +6 -0
  13. package/lib/blocks/blockESLintComments.d.ts +6 -0
  14. package/lib/blocks/blockESLintJSDoc.d.ts +6 -0
  15. package/lib/blocks/blockESLintJSONC.d.ts +6 -0
  16. package/lib/blocks/blockESLintMarkdown.d.ts +6 -0
  17. package/lib/blocks/blockESLintMoreStyling.d.ts +6 -0
  18. package/lib/blocks/blockESLintNode.d.ts +6 -0
  19. package/lib/blocks/blockESLintPackageJson.d.ts +6 -0
  20. package/lib/blocks/blockESLintPerfectionist.d.ts +6 -0
  21. package/lib/blocks/blockESLintRegexp.d.ts +6 -0
  22. package/lib/blocks/blockESLintYML.d.ts +6 -0
  23. package/lib/blocks/blockExampleFiles.d.ts +6 -0
  24. package/lib/blocks/blockFunding.d.ts +6 -0
  25. package/lib/blocks/blockGitHubActionsCI.d.ts +6 -0
  26. package/lib/blocks/blockGitHubApps.d.ts +6 -0
  27. package/lib/blocks/blockGitHubIssueTemplates.d.ts +6 -0
  28. package/lib/blocks/blockGitHubPRTemplate.d.ts +6 -0
  29. package/lib/blocks/blockGitHubPRTemplate.js +1 -1
  30. package/lib/blocks/blockGitignore.d.ts +6 -0
  31. package/lib/blocks/blockKnip.d.ts +6 -0
  32. package/lib/blocks/blockMITLicense.d.ts +6 -0
  33. package/lib/blocks/blockMarkdownlint.d.ts +6 -0
  34. package/lib/blocks/blockNvmrc.d.ts +6 -0
  35. package/lib/blocks/blockPRCompliance.d.ts +6 -0
  36. package/lib/blocks/blockPackageJson.d.ts +6 -0
  37. package/lib/blocks/blockPnpmDedupe.d.ts +6 -0
  38. package/lib/blocks/blockPrettier.d.ts +6 -0
  39. package/lib/blocks/blockPrettierPluginCurly.d.ts +6 -0
  40. package/lib/blocks/blockPrettierPluginPackageJson.d.ts +6 -0
  41. package/lib/blocks/blockPrettierPluginSh.d.ts +6 -0
  42. package/lib/blocks/blockREADME.d.ts +6 -0
  43. package/lib/blocks/blockREADME.js +1 -1
  44. package/lib/blocks/blockReleaseIt.d.ts +6 -0
  45. package/lib/blocks/blockRenovate.d.ts +6 -0
  46. package/lib/blocks/blockRepositoryBranchRuleset.d.ts +7 -1
  47. package/lib/blocks/blockRepositoryBranchRuleset.js +25 -32
  48. package/lib/blocks/blockRepositoryLabels.d.ts +6 -0
  49. package/lib/blocks/blockRepositoryLabels.js +47 -12
  50. package/lib/blocks/blockRepositorySecrets.d.ts +6 -0
  51. package/lib/blocks/blockRepositorySettings.d.ts +6 -0
  52. package/lib/blocks/blockRepositorySettings.js +22 -23
  53. package/lib/blocks/blockSecurityDocs.d.ts +6 -0
  54. package/lib/blocks/blockTSup.d.ts +6 -0
  55. package/lib/blocks/blockTemplatedWith.d.ts +6 -0
  56. package/lib/blocks/blockTypeScript.d.ts +6 -0
  57. package/lib/blocks/blockVSCode.d.ts +6 -0
  58. package/lib/blocks/blockVitest.d.ts +6 -0
  59. package/lib/blocks/index.d.ts +258 -0
  60. package/lib/blocks/options.fakes.d.ts +1 -0
  61. package/lib/blocks/options.fakes.js +1 -0
  62. package/lib/blocks/outcomeLabels.js +2 -2
  63. package/lib/data/packageData.d.ts +9 -7
  64. package/lib/index.d.ts +20 -0
  65. package/lib/options/getExistingLabels.d.ts +9 -0
  66. package/lib/options/getExistingLabels.js +22 -0
  67. package/lib/options/parseEmojiFromDescription.d.ts +3 -0
  68. package/lib/options/parseEmojiFromDescription.js +6 -0
  69. package/lib/options/readDefaultsFromReadme.d.ts +1 -1
  70. package/lib/options/readDefaultsFromReadme.js +2 -2
  71. package/lib/presets/common.d.ts +14 -0
  72. package/lib/presets/everything.d.ts +14 -0
  73. package/lib/presets/index.d.ts +42 -0
  74. package/lib/presets/minimal.d.ts +14 -0
  75. package/lib/template.d.ts +14 -0
  76. package/package.json +9 -7
@@ -0,0 +1,3 @@
1
+ declare function parseEmojiFromDescription(getDescription: () => Promise<string | undefined>): Promise<string>;
2
+
3
+ export { parseEmojiFromDescription };
@@ -0,0 +1,6 @@
1
+ async function parseEmojiFromDescription(getDescription) {
2
+ return (await getDescription())?.match(/\p{Extended_Pictographic}/gu)?.at(-1) ?? "\u{1F496}";
3
+ }
4
+ export {
5
+ parseEmojiFromDescription
6
+ };
@@ -1,4 +1,4 @@
1
- declare function readDefaultsFromReadme(readme: () => Promise<string>, repository: () => Promise<string | undefined>): {
1
+ declare function readDefaultsFromReadme(emoji: () => Promise<string>, readme: () => Promise<string>, repository: () => Promise<string | undefined>): {
2
2
  explainer: () => Promise<string[] | undefined>;
3
3
  logo: () => Promise<{
4
4
  height?: number;
@@ -2,7 +2,7 @@ import lazyValue from "lazy-value";
2
2
  import { titleCase } from "title-case";
3
3
  import { getUsageFromReadme } from "./getUsageFromReadme.js";
4
4
  import { readLogoSizing } from "./readLogoSizing.js";
5
- function readDefaultsFromReadme(readme, repository) {
5
+ function readDefaultsFromReadme(emoji, readme, repository) {
6
6
  const imageTag = lazyValue(
7
7
  async () => /\n<img.+src=.+>/.exec(await readme())?.[0]
8
8
  );
@@ -47,7 +47,7 @@ npm i ${await repository()}
47
47
  \`\`\`ts
48
48
  import { greet } from "${await repository()}";
49
49
 
50
- greet("Hello, world! \u{1F496}");
50
+ greet("Hello, world! ${await emoji()}");
51
51
  \`\`\``;
52
52
  }
53
53
  };
@@ -43,6 +43,20 @@ declare const presetCommon: bingo_stratum.Preset<{
43
43
  github: string;
44
44
  npm: string;
45
45
  }>;
46
+ emoji: zod.ZodOptional<zod.ZodString>;
47
+ existingLabels: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
48
+ color: zod.ZodString;
49
+ description: zod.ZodString;
50
+ name: zod.ZodString;
51
+ }, "strip", zod.ZodTypeAny, {
52
+ name: string;
53
+ description: string;
54
+ color: string;
55
+ }, {
56
+ name: string;
57
+ description: string;
58
+ color: string;
59
+ }>, "many">>;
46
60
  explainer: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
47
61
  funding: zod.ZodOptional<zod.ZodString>;
48
62
  guide: zod.ZodOptional<zod.ZodObject<{
@@ -43,6 +43,20 @@ declare const presetEverything: bingo_stratum.Preset<{
43
43
  github: string;
44
44
  npm: string;
45
45
  }>;
46
+ emoji: zod.ZodOptional<zod.ZodString>;
47
+ existingLabels: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
48
+ color: zod.ZodString;
49
+ description: zod.ZodString;
50
+ name: zod.ZodString;
51
+ }, "strip", zod.ZodTypeAny, {
52
+ name: string;
53
+ description: string;
54
+ color: string;
55
+ }, {
56
+ name: string;
57
+ description: string;
58
+ color: string;
59
+ }>, "many">>;
46
60
  explainer: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
47
61
  funding: zod.ZodOptional<zod.ZodString>;
48
62
  guide: zod.ZodOptional<zod.ZodObject<{
@@ -47,6 +47,20 @@ declare const presets: {
47
47
  github: string;
48
48
  npm: string;
49
49
  }>;
50
+ emoji: zod.ZodOptional<zod.ZodString>;
51
+ existingLabels: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
52
+ color: zod.ZodString;
53
+ description: zod.ZodString;
54
+ name: zod.ZodString;
55
+ }, "strip", zod.ZodTypeAny, {
56
+ name: string;
57
+ description: string;
58
+ color: string;
59
+ }, {
60
+ name: string;
61
+ description: string;
62
+ color: string;
63
+ }>, "many">>;
50
64
  explainer: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
51
65
  funding: zod.ZodOptional<zod.ZodString>;
52
66
  guide: zod.ZodOptional<zod.ZodObject<{
@@ -149,6 +163,20 @@ declare const presets: {
149
163
  github: string;
150
164
  npm: string;
151
165
  }>;
166
+ emoji: zod.ZodOptional<zod.ZodString>;
167
+ existingLabels: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
168
+ color: zod.ZodString;
169
+ description: zod.ZodString;
170
+ name: zod.ZodString;
171
+ }, "strip", zod.ZodTypeAny, {
172
+ name: string;
173
+ description: string;
174
+ color: string;
175
+ }, {
176
+ name: string;
177
+ description: string;
178
+ color: string;
179
+ }>, "many">>;
152
180
  explainer: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
153
181
  funding: zod.ZodOptional<zod.ZodString>;
154
182
  guide: zod.ZodOptional<zod.ZodObject<{
@@ -251,6 +279,20 @@ declare const presets: {
251
279
  github: string;
252
280
  npm: string;
253
281
  }>;
282
+ emoji: zod.ZodOptional<zod.ZodString>;
283
+ existingLabels: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
284
+ color: zod.ZodString;
285
+ description: zod.ZodString;
286
+ name: zod.ZodString;
287
+ }, "strip", zod.ZodTypeAny, {
288
+ name: string;
289
+ description: string;
290
+ color: string;
291
+ }, {
292
+ name: string;
293
+ description: string;
294
+ color: string;
295
+ }>, "many">>;
254
296
  explainer: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
255
297
  funding: zod.ZodOptional<zod.ZodString>;
256
298
  guide: zod.ZodOptional<zod.ZodObject<{
@@ -43,6 +43,20 @@ declare const presetMinimal: bingo_stratum.Preset<{
43
43
  github: string;
44
44
  npm: string;
45
45
  }>;
46
+ emoji: zod.ZodOptional<zod.ZodString>;
47
+ existingLabels: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
48
+ color: zod.ZodString;
49
+ description: zod.ZodString;
50
+ name: zod.ZodString;
51
+ }, "strip", zod.ZodTypeAny, {
52
+ name: string;
53
+ description: string;
54
+ color: string;
55
+ }, {
56
+ name: string;
57
+ description: string;
58
+ color: string;
59
+ }>, "many">>;
46
60
  explainer: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
47
61
  funding: zod.ZodOptional<zod.ZodString>;
48
62
  guide: zod.ZodOptional<zod.ZodObject<{
package/lib/template.d.ts CHANGED
@@ -43,6 +43,20 @@ declare const template: bingo_stratum_lib_types_templates_js.StratumTemplate<{
43
43
  github: string;
44
44
  npm: string;
45
45
  }>;
46
+ emoji: zod.ZodOptional<zod.ZodString>;
47
+ existingLabels: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
48
+ color: zod.ZodString;
49
+ description: zod.ZodString;
50
+ name: zod.ZodString;
51
+ }, "strip", zod.ZodTypeAny, {
52
+ name: string;
53
+ description: string;
54
+ color: string;
55
+ }, {
56
+ name: string;
57
+ description: string;
58
+ color: string;
59
+ }>, "many">>;
46
60
  explainer: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
47
61
  funding: zod.ZodOptional<zod.ZodString>;
48
62
  guide: zod.ZodOptional<zod.ZodObject<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-typescript-app",
3
- "version": "2.4.6",
3
+ "version": "2.6.0",
4
4
  "description": "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁",
5
5
  "repository": {
6
6
  "type": "git",
@@ -37,13 +37,14 @@
37
37
  "*": "prettier --ignore-unknown --write"
38
38
  },
39
39
  "dependencies": {
40
- "bingo": "^0.5.7",
40
+ "bingo": "^0.5.8",
41
41
  "bingo-fs": "^0.5.4",
42
- "bingo-stratum": "^0.5.4",
42
+ "bingo-stratum": "^0.5.5",
43
43
  "cspell-populate-words": "^0.3.0",
44
44
  "execa": "^9.5.2",
45
45
  "git-remote-origin-url": "^4.0.0",
46
46
  "git-url-parse": "^16.0.1",
47
+ "github-default-labels": "^0.1.0",
47
48
  "html-to-text": "^9.0.5",
48
49
  "image-size": "^1.2.0",
49
50
  "input-from-file": "^0.5.4",
@@ -58,7 +59,7 @@
58
59
  "parse-package-name": "^1.0.0",
59
60
  "remove-dependencies": "^0.1.0",
60
61
  "remove-undefined-objects": "^6.0.0",
61
- "set-github-repository-labels": "^0.1.0",
62
+ "set-github-repository-labels": "^0.2.0",
62
63
  "sort-package-json": "^3.0.0",
63
64
  "title-case": "^4.3.2",
64
65
  "zod": "^3.24.2"
@@ -78,8 +79,9 @@
78
79
  "@vitest/coverage-v8": "3.0.7",
79
80
  "@vitest/eslint-plugin": "1.1.36",
80
81
  "all-contributors-cli": "6.26.1",
82
+ "bingo-requests": "^0.5.4",
81
83
  "bingo-stratum-testers": "0.5.6",
82
- "bingo-testers": "0.5.4",
84
+ "bingo-testers": "^0.5.6",
83
85
  "console-fail-test": "0.5.0",
84
86
  "cspell": "8.17.5",
85
87
  "eslint": "9.21.0",
@@ -88,7 +90,7 @@
88
90
  "eslint-plugin-markdown": "5.1.0",
89
91
  "eslint-plugin-n": "17.16.2",
90
92
  "eslint-plugin-package-json": "0.26.2",
91
- "eslint-plugin-perfectionist": "4.9.0",
93
+ "eslint-plugin-perfectionist": "4.10.0",
92
94
  "eslint-plugin-regexp": "2.7.0",
93
95
  "eslint-plugin-yml": "1.17.0",
94
96
  "husky": "9.1.7",
@@ -108,7 +110,7 @@
108
110
  "typescript-eslint": "8.26.0",
109
111
  "vitest": "3.0.7"
110
112
  },
111
- "packageManager": "pnpm@10.5.2",
113
+ "packageManager": "pnpm@10.6.0",
112
114
  "engines": {
113
115
  "node": ">=18.3.0"
114
116
  },