create-typescript-app 2.17.0 → 2.18.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/lib/base.d.ts CHANGED
@@ -13,16 +13,16 @@ declare const base: bingo_stratum.Base<{
13
13
  name: z.ZodString;
14
14
  profile: z.ZodString;
15
15
  }, "strip", z.ZodTypeAny, {
16
+ name: string;
16
17
  avatar_url: string;
17
18
  contributions: string[];
18
19
  login: string;
19
- name: string;
20
20
  profile: string;
21
21
  }, {
22
+ name: string;
22
23
  avatar_url: string;
23
24
  contributions: string[];
24
25
  login: string;
25
- name: string;
26
26
  profile: string;
27
27
  }>, "many">>;
28
28
  description: z.ZodDefault<z.ZodString>;
@@ -64,11 +64,11 @@ declare const base: bingo_stratum.Base<{
64
64
  href: z.ZodString;
65
65
  title: z.ZodString;
66
66
  }, "strip", z.ZodTypeAny, {
67
- href: string;
68
67
  title: string;
69
- }, {
70
68
  href: string;
69
+ }, {
71
70
  title: string;
71
+ href: string;
72
72
  }>>;
73
73
  keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
74
74
  logo: z.ZodOptional<z.ZodObject<{
@@ -39,7 +39,11 @@ const blockCTATransitions = base.createBlock({
39
39
  },
40
40
  {
41
41
  id: "auto-commit-action",
42
- uses: "stefanzweifel/git-auto-commit-action@v5",
42
+ uses: resolveUses(
43
+ "stefanzweifel/git-auto-commit-action",
44
+ "v5",
45
+ options.workflowsVersions
46
+ ),
43
47
  with: {
44
48
  commit_author: "The Friendly Bingo Bot <bot@create.bingo>",
45
49
  commit_message: "Check in changes from re-running npx create-typescript-app",
@@ -49,7 +53,11 @@ const blockCTATransitions = base.createBlock({
49
53
  },
50
54
  {
51
55
  if: "steps.auto-commit-action.outputs.changes_detected == 'true'",
52
- uses: "mshick/add-pr-comment@v2",
56
+ uses: resolveUses(
57
+ "mshick/add-pr-comment",
58
+ "v2",
59
+ options.workflowsVersions
60
+ ),
53
61
  with: {
54
62
  issue: "${{ github.event.pull_request.number }}",
55
63
  message: [
@@ -1,6 +1,7 @@
1
1
  import * as bingo_stratum from 'bingo-stratum';
2
2
 
3
3
  declare const blockTSup: bingo_stratum.BlockWithAddons<{
4
+ properties: Record<string, unknown>;
4
5
  entry: string[];
5
6
  runInCI: string[];
6
7
  }, {
@@ -16,10 +16,11 @@ const blockTSup = base.createBlock({
16
16
  },
17
17
  addons: {
18
18
  entry: z.array(z.string()).default([]),
19
+ properties: z.record(z.unknown()).default({}),
19
20
  runInCI: z.array(z.string()).default([])
20
21
  },
21
22
  produce({ addons, options }) {
22
- const { entry } = addons;
23
+ const { entry, properties, runInCI } = addons;
23
24
  return {
24
25
  addons: [
25
26
  blockDevelopmentDocs({
@@ -50,7 +51,7 @@ pnpm build --watch
50
51
  name: "Build",
51
52
  steps: [
52
53
  { run: "pnpm build" },
53
- ...addons.runInCI.map((run) => ({ run }))
54
+ ...runInCI.map((run) => ({ run }))
54
55
  ]
55
56
  }
56
57
  ]
@@ -75,14 +76,15 @@ pnpm build --watch
75
76
  files: {
76
77
  "tsup.config.ts": `import { defineConfig } from "tsup";
77
78
 
78
- export default defineConfig({
79
- bundle: false,
80
- clean: true,
81
- dts: true,
82
- entry: ${JSON.stringify(["src/**/*.ts", ...entry])},
83
- format: "esm",
84
- outDir: "lib",
85
- });
79
+ export default defineConfig(${JSON.stringify({
80
+ bundle: false,
81
+ clean: true,
82
+ dts: true,
83
+ entry: ["src/**/*.ts", ...entry],
84
+ format: "esm",
85
+ outDir: "lib",
86
+ ...properties
87
+ })});
86
88
  `
87
89
  },
88
90
  scripts: options.bin ? [
@@ -1,6 +1,118 @@
1
1
  import * as bingo_stratum from 'bingo-stratum';
2
2
 
3
- declare const blockTypeScript: bingo_stratum.BlockWithoutAddons<{
3
+ declare const blockTypeScript: bingo_stratum.BlockWithAddons<{
4
+ compilerOptions?: {
5
+ allowArbitraryExtensions?: boolean | undefined;
6
+ allowImportingTsExtensions?: boolean | undefined;
7
+ allowJs?: boolean | undefined;
8
+ allowSyntheticDefaultImports?: boolean | undefined;
9
+ allowUmdGlobalAccess?: boolean | undefined;
10
+ allowUnreachableCode?: boolean | undefined;
11
+ allowUnusedLabels?: boolean | undefined;
12
+ alwaysStrict?: boolean | undefined;
13
+ baseUrl?: string | undefined;
14
+ charset?: string | undefined;
15
+ checkJs?: boolean | undefined;
16
+ customConditions?: string[] | undefined;
17
+ declaration?: boolean | undefined;
18
+ declarationDir?: string | undefined;
19
+ declarationMap?: boolean | undefined;
20
+ disableReferencedProjectLoad?: boolean | undefined;
21
+ disableSizeLimit?: boolean | undefined;
22
+ disableSolutionSearching?: boolean | undefined;
23
+ disableSourceOfProjectReferenceRedirect?: boolean | undefined;
24
+ downlevelIteration?: boolean | undefined;
25
+ emitBOM?: boolean | undefined;
26
+ emitDeclarationOnly?: boolean | undefined;
27
+ emitDecoratorMetadata?: boolean | undefined;
28
+ erasableSyntaxOnly?: boolean | undefined;
29
+ esModuleInterop?: boolean | undefined;
30
+ exactOptionalPropertyTypes?: boolean | undefined;
31
+ experimentalDecorators?: boolean | undefined;
32
+ forceConsistentCasingInFileNames?: boolean | undefined;
33
+ ignoreDeprecations?: string | undefined;
34
+ importHelpers?: boolean | undefined;
35
+ importsNotUsedAsValues?: 0 | 1 | 2 | undefined;
36
+ inlineSourceMap?: boolean | undefined;
37
+ inlineSources?: boolean | undefined;
38
+ isolatedDeclarations?: boolean | undefined;
39
+ isolatedModules?: boolean | undefined;
40
+ jsx?: "none" | "preserve" | "react" | "react-jsx" | "react-jsxdev" | "react-native" | undefined;
41
+ keyofStringsOnly?: boolean | undefined;
42
+ lib?: string[] | undefined;
43
+ libReplacement?: boolean | undefined;
44
+ locale?: string | undefined;
45
+ mapRoot?: string | undefined;
46
+ maxNodeModuleJsDepth?: number | undefined;
47
+ module?: "none" | "preserve" | "amd" | "commonjs" | "es6" | "es2015" | "es2020" | "es2022" | "esnext" | "node16" | "node18" | "nodenext" | "system" | "umd" | undefined;
48
+ moduleDetection?: 1 | 2 | 3 | undefined;
49
+ moduleResolution?: "node16" | "nodenext" | "classic" | "node" | "bundler" | "node10" | undefined;
50
+ moduleSuffixes?: string[] | undefined;
51
+ newLine?: 0 | 1 | undefined;
52
+ noCheck?: boolean | undefined;
53
+ noEmit?: boolean | undefined;
54
+ noEmitHelpers?: boolean | undefined;
55
+ noEmitOnError?: boolean | undefined;
56
+ noErrorTruncation?: boolean | undefined;
57
+ noFallthroughCasesInSwitch?: boolean | undefined;
58
+ noImplicitAny?: boolean | undefined;
59
+ noImplicitReturns?: boolean | undefined;
60
+ noImplicitThis?: boolean | undefined;
61
+ noStrictGenericChecks?: boolean | undefined;
62
+ noUnusedLocals?: boolean | undefined;
63
+ noUnusedParameters?: boolean | undefined;
64
+ assumeChangesOnlyAffectDirectDependencies?: boolean | undefined;
65
+ noImplicitUseStrict?: boolean | undefined;
66
+ noLib?: boolean | undefined;
67
+ noPropertyAccessFromIndexSignature?: boolean | undefined;
68
+ noResolve?: boolean | undefined;
69
+ noUncheckedIndexedAccess?: boolean | undefined;
70
+ noImplicitOverride?: boolean | undefined;
71
+ out?: string | undefined;
72
+ outDir?: string | undefined;
73
+ outFile?: string | undefined;
74
+ paths?: Record<string, string> | undefined;
75
+ preserveConstEnums?: boolean | undefined;
76
+ preserveSymlinks?: boolean | undefined;
77
+ composite?: boolean | undefined;
78
+ incremental?: boolean | undefined;
79
+ jsxFactory?: string | undefined;
80
+ jsxFragmentFactory?: string | undefined;
81
+ jsxImportSource?: string | undefined;
82
+ preserveValueImports?: boolean | undefined;
83
+ project?: string | undefined;
84
+ reactNamespace?: string | undefined;
85
+ removeComments?: boolean | undefined;
86
+ resolvePackageJsonExports?: boolean | undefined;
87
+ resolvePackageJsonImports?: boolean | undefined;
88
+ rewriteRelativeImportExtensions?: boolean | undefined;
89
+ rootDir?: string | undefined;
90
+ rootDirs?: string[] | undefined;
91
+ skipDefaultLibCheck?: boolean | undefined;
92
+ skipLibCheck?: boolean | undefined;
93
+ sourceMap?: boolean | undefined;
94
+ sourceRoot?: string | undefined;
95
+ strict?: boolean | undefined;
96
+ strictBindCallApply?: boolean | undefined;
97
+ strictBuiltinIteratorReturn?: boolean | undefined;
98
+ strictFunctionTypes?: boolean | undefined;
99
+ strictNullChecks?: boolean | undefined;
100
+ strictPropertyInitialization?: boolean | undefined;
101
+ stripInternal?: boolean | undefined;
102
+ tsBuildInfoFile?: string | undefined;
103
+ suppressExcessPropertyErrors?: boolean | undefined;
104
+ noUncheckedSideEffectImports?: boolean | undefined;
105
+ resolveJsonModule?: boolean | undefined;
106
+ suppressImplicitAnyIndexErrors?: boolean | undefined;
107
+ target?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 99 | 100 | undefined;
108
+ traceResolution?: boolean | undefined;
109
+ typeRoots?: string[] | undefined;
110
+ types?: string[] | undefined;
111
+ useDefineForClassFields?: boolean | undefined;
112
+ useUnknownInCatchVariables?: boolean | undefined;
113
+ verbatimModuleSyntax?: boolean | undefined;
114
+ } | undefined;
115
+ }, {
4
116
  access: "public" | "restricted";
5
117
  description: string;
6
118
  directory: string;
@@ -1,3 +1,4 @@
1
+ import { CompilerOptionsSchema } from "zod-tsconfig";
1
2
  import { base } from "../base.js";
2
3
  import { getPackageDependencies } from "../data/packageData.js";
3
4
  import { getPrimaryBin } from "./bin/getPrimaryBin.js";
@@ -14,7 +15,11 @@ const blockTypeScript = base.createBlock({
14
15
  about: {
15
16
  name: "TypeScript"
16
17
  },
17
- produce({ options }) {
18
+ addons: {
19
+ compilerOptions: CompilerOptionsSchema.optional()
20
+ },
21
+ produce({ addons, options }) {
22
+ const { compilerOptions } = addons;
18
23
  const primaryBin = getPrimaryBin(options.bin, options.repository);
19
24
  return {
20
25
  addons: [
@@ -121,7 +126,8 @@ export * from "./types.js";
121
126
  resolveJsonModule: true,
122
127
  skipLibCheck: true,
123
128
  strict: true,
124
- target: "ES2022"
129
+ target: "ES2022",
130
+ ...compilerOptions
125
131
  },
126
132
  include: ["src"]
127
133
  })
@@ -2640,6 +2640,7 @@ declare const blocks: {
2640
2640
  }>> | undefined;
2641
2641
  }>;
2642
2642
  blockTSup: bingo_stratum.BlockWithAddons<{
2643
+ properties: Record<string, unknown>;
2643
2644
  entry: string[];
2644
2645
  runInCI: string[];
2645
2646
  }, {
@@ -2701,7 +2702,119 @@ declare const blocks: {
2701
2702
  hash?: string | undefined;
2702
2703
  }>> | undefined;
2703
2704
  }>;
2704
- blockTypeScript: bingo_stratum.BlockWithoutAddons<{
2705
+ blockTypeScript: bingo_stratum.BlockWithAddons<{
2706
+ compilerOptions?: {
2707
+ allowArbitraryExtensions?: boolean | undefined;
2708
+ allowImportingTsExtensions?: boolean | undefined;
2709
+ allowJs?: boolean | undefined;
2710
+ allowSyntheticDefaultImports?: boolean | undefined;
2711
+ allowUmdGlobalAccess?: boolean | undefined;
2712
+ allowUnreachableCode?: boolean | undefined;
2713
+ allowUnusedLabels?: boolean | undefined;
2714
+ alwaysStrict?: boolean | undefined;
2715
+ baseUrl?: string | undefined;
2716
+ charset?: string | undefined;
2717
+ checkJs?: boolean | undefined;
2718
+ customConditions?: string[] | undefined;
2719
+ declaration?: boolean | undefined;
2720
+ declarationDir?: string | undefined;
2721
+ declarationMap?: boolean | undefined;
2722
+ disableReferencedProjectLoad?: boolean | undefined;
2723
+ disableSizeLimit?: boolean | undefined;
2724
+ disableSolutionSearching?: boolean | undefined;
2725
+ disableSourceOfProjectReferenceRedirect?: boolean | undefined;
2726
+ downlevelIteration?: boolean | undefined;
2727
+ emitBOM?: boolean | undefined;
2728
+ emitDeclarationOnly?: boolean | undefined;
2729
+ emitDecoratorMetadata?: boolean | undefined;
2730
+ erasableSyntaxOnly?: boolean | undefined;
2731
+ esModuleInterop?: boolean | undefined;
2732
+ exactOptionalPropertyTypes?: boolean | undefined;
2733
+ experimentalDecorators?: boolean | undefined;
2734
+ forceConsistentCasingInFileNames?: boolean | undefined;
2735
+ ignoreDeprecations?: string | undefined;
2736
+ importHelpers?: boolean | undefined;
2737
+ importsNotUsedAsValues?: 0 | 1 | 2 | undefined;
2738
+ inlineSourceMap?: boolean | undefined;
2739
+ inlineSources?: boolean | undefined;
2740
+ isolatedDeclarations?: boolean | undefined;
2741
+ isolatedModules?: boolean | undefined;
2742
+ jsx?: "none" | "preserve" | "react" | "react-jsx" | "react-jsxdev" | "react-native" | undefined;
2743
+ keyofStringsOnly?: boolean | undefined;
2744
+ lib?: string[] | undefined;
2745
+ libReplacement?: boolean | undefined;
2746
+ locale?: string | undefined;
2747
+ mapRoot?: string | undefined;
2748
+ maxNodeModuleJsDepth?: number | undefined;
2749
+ module?: "none" | "preserve" | "amd" | "commonjs" | "es6" | "es2015" | "es2020" | "es2022" | "esnext" | "node16" | "node18" | "nodenext" | "system" | "umd" | undefined;
2750
+ moduleDetection?: 1 | 2 | 3 | undefined;
2751
+ moduleResolution?: "node16" | "nodenext" | "classic" | "node" | "bundler" | "node10" | undefined;
2752
+ moduleSuffixes?: string[] | undefined;
2753
+ newLine?: 0 | 1 | undefined;
2754
+ noCheck?: boolean | undefined;
2755
+ noEmit?: boolean | undefined;
2756
+ noEmitHelpers?: boolean | undefined;
2757
+ noEmitOnError?: boolean | undefined;
2758
+ noErrorTruncation?: boolean | undefined;
2759
+ noFallthroughCasesInSwitch?: boolean | undefined;
2760
+ noImplicitAny?: boolean | undefined;
2761
+ noImplicitReturns?: boolean | undefined;
2762
+ noImplicitThis?: boolean | undefined;
2763
+ noStrictGenericChecks?: boolean | undefined;
2764
+ noUnusedLocals?: boolean | undefined;
2765
+ noUnusedParameters?: boolean | undefined;
2766
+ assumeChangesOnlyAffectDirectDependencies?: boolean | undefined;
2767
+ noImplicitUseStrict?: boolean | undefined;
2768
+ noLib?: boolean | undefined;
2769
+ noPropertyAccessFromIndexSignature?: boolean | undefined;
2770
+ noResolve?: boolean | undefined;
2771
+ noUncheckedIndexedAccess?: boolean | undefined;
2772
+ noImplicitOverride?: boolean | undefined;
2773
+ out?: string | undefined;
2774
+ outDir?: string | undefined;
2775
+ outFile?: string | undefined;
2776
+ paths?: Record<string, string> | undefined;
2777
+ preserveConstEnums?: boolean | undefined;
2778
+ preserveSymlinks?: boolean | undefined;
2779
+ composite?: boolean | undefined;
2780
+ incremental?: boolean | undefined;
2781
+ jsxFactory?: string | undefined;
2782
+ jsxFragmentFactory?: string | undefined;
2783
+ jsxImportSource?: string | undefined;
2784
+ preserveValueImports?: boolean | undefined;
2785
+ project?: string | undefined;
2786
+ reactNamespace?: string | undefined;
2787
+ removeComments?: boolean | undefined;
2788
+ resolvePackageJsonExports?: boolean | undefined;
2789
+ resolvePackageJsonImports?: boolean | undefined;
2790
+ rewriteRelativeImportExtensions?: boolean | undefined;
2791
+ rootDir?: string | undefined;
2792
+ rootDirs?: string[] | undefined;
2793
+ skipDefaultLibCheck?: boolean | undefined;
2794
+ skipLibCheck?: boolean | undefined;
2795
+ sourceMap?: boolean | undefined;
2796
+ sourceRoot?: string | undefined;
2797
+ strict?: boolean | undefined;
2798
+ strictBindCallApply?: boolean | undefined;
2799
+ strictBuiltinIteratorReturn?: boolean | undefined;
2800
+ strictFunctionTypes?: boolean | undefined;
2801
+ strictNullChecks?: boolean | undefined;
2802
+ strictPropertyInitialization?: boolean | undefined;
2803
+ stripInternal?: boolean | undefined;
2804
+ tsBuildInfoFile?: string | undefined;
2805
+ suppressExcessPropertyErrors?: boolean | undefined;
2806
+ noUncheckedSideEffectImports?: boolean | undefined;
2807
+ resolveJsonModule?: boolean | undefined;
2808
+ suppressImplicitAnyIndexErrors?: boolean | undefined;
2809
+ target?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 99 | 100 | undefined;
2810
+ traceResolution?: boolean | undefined;
2811
+ typeRoots?: string[] | undefined;
2812
+ types?: string[] | undefined;
2813
+ useDefineForClassFields?: boolean | undefined;
2814
+ useUnknownInCatchVariables?: boolean | undefined;
2815
+ verbatimModuleSyntax?: boolean | undefined;
2816
+ } | undefined;
2817
+ }, {
2705
2818
  access: "public" | "restricted";
2706
2819
  description: string;
2707
2820
  directory: string;
@@ -1,5 +1,5 @@
1
1
  var name = "create-typescript-app";
2
- var version = "2.16.2";
2
+ var version = "2.17.1";
3
3
  var description = "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁";
4
4
  var repository = {
5
5
  type: "git",
@@ -62,7 +62,8 @@ var dependencies = {
62
62
  "title-case": "^4.3.2",
63
63
  "trash-cli": "^6.0.0",
64
64
  zod: "^3.24.2",
65
- "zod-package-json": "^1.1.0"
65
+ "zod-package-json": "^1.1.0",
66
+ "zod-tsconfig": "^0.1.1"
66
67
  };
67
68
  var devDependencies = {
68
69
  "@eslint-community/eslint-plugin-eslint-comments": "4.4.1",
package/lib/schemas.d.ts CHANGED
@@ -7,16 +7,16 @@ declare const zContributor: z.ZodObject<{
7
7
  name: z.ZodString;
8
8
  profile: z.ZodString;
9
9
  }, "strip", z.ZodTypeAny, {
10
+ name: string;
10
11
  avatar_url: string;
11
12
  contributions: string[];
12
13
  login: string;
13
- name: string;
14
14
  profile: string;
15
15
  }, {
16
+ name: string;
16
17
  avatar_url: string;
17
18
  contributions: string[];
18
19
  login: string;
19
- name: string;
20
20
  profile: string;
21
21
  }>;
22
22
  type Contributor = z.infer<typeof zContributor>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-typescript-app",
3
- "version": "2.17.0",
3
+ "version": "2.18.0",
4
4
  "description": "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁",
5
5
  "repository": {
6
6
  "type": "git",
@@ -66,7 +66,8 @@
66
66
  "title-case": "^4.3.2",
67
67
  "trash-cli": "^6.0.0",
68
68
  "zod": "^3.24.2",
69
- "zod-package-json": "^1.1.0"
69
+ "zod-package-json": "^1.1.0",
70
+ "zod-tsconfig": "^0.1.1"
70
71
  },
71
72
  "devDependencies": {
72
73
  "@eslint-community/eslint-plugin-eslint-comments": "4.4.1",