create-typescript-app 2.17.1 → 2.18.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 (69) hide show
  1. package/lib/base.d.ts +6 -0
  2. package/lib/base.js +2 -0
  3. package/lib/blocks/blockAllContributors.d.ts +2 -0
  4. package/lib/blocks/blockAreTheTypesWrong.d.ts +2 -0
  5. package/lib/blocks/blockCSpell.d.ts +2 -0
  6. package/lib/blocks/blockCTATransitions.d.ts +2 -0
  7. package/lib/blocks/blockCodecov.d.ts +2 -0
  8. package/lib/blocks/blockContributingDocs.d.ts +2 -0
  9. package/lib/blocks/blockContributorCovenant.d.ts +2 -0
  10. package/lib/blocks/blockDevelopmentDocs.d.ts +2 -0
  11. package/lib/blocks/blockESLint.d.ts +2 -0
  12. package/lib/blocks/blockESLintComments.d.ts +2 -0
  13. package/lib/blocks/blockESLintJSDoc.d.ts +2 -0
  14. package/lib/blocks/blockESLintJSONC.d.ts +2 -0
  15. package/lib/blocks/blockESLintMarkdown.d.ts +2 -0
  16. package/lib/blocks/blockESLintMoreStyling.d.ts +2 -0
  17. package/lib/blocks/blockESLintNode.d.ts +2 -0
  18. package/lib/blocks/blockESLintPackageJson.d.ts +2 -0
  19. package/lib/blocks/blockESLintPerfectionist.d.ts +2 -0
  20. package/lib/blocks/blockESLintRegexp.d.ts +2 -0
  21. package/lib/blocks/blockESLintYML.d.ts +2 -0
  22. package/lib/blocks/blockExampleFiles.d.ts +2 -0
  23. package/lib/blocks/blockFunding.d.ts +2 -0
  24. package/lib/blocks/blockGitHubActionsCI.d.ts +2 -0
  25. package/lib/blocks/blockGitHubApps.d.ts +2 -0
  26. package/lib/blocks/blockGitHubIssueTemplates.d.ts +2 -0
  27. package/lib/blocks/blockGitHubPRTemplate.d.ts +2 -0
  28. package/lib/blocks/blockGitignore.d.ts +2 -0
  29. package/lib/blocks/blockKnip.d.ts +2 -0
  30. package/lib/blocks/blockMITLicense.d.ts +2 -0
  31. package/lib/blocks/blockMain.d.ts +2 -0
  32. package/lib/blocks/blockMarkdownlint.d.ts +2 -0
  33. package/lib/blocks/blockNcc.d.ts +2 -0
  34. package/lib/blocks/blockNvmrc.d.ts +2 -0
  35. package/lib/blocks/blockPRCompliance.d.ts +2 -0
  36. package/lib/blocks/blockPackageJson.d.ts +6 -4
  37. package/lib/blocks/blockPackageJson.js +1 -0
  38. package/lib/blocks/blockPnpmDedupe.d.ts +2 -0
  39. package/lib/blocks/blockPrettier.d.ts +2 -0
  40. package/lib/blocks/blockPrettierPluginCurly.d.ts +2 -0
  41. package/lib/blocks/blockPrettierPluginPackageJson.d.ts +2 -0
  42. package/lib/blocks/blockPrettierPluginSh.d.ts +2 -0
  43. package/lib/blocks/blockREADME.d.ts +2 -0
  44. package/lib/blocks/blockReleaseIt.d.ts +2 -0
  45. package/lib/blocks/blockRemoveDependencies.d.ts +2 -0
  46. package/lib/blocks/blockRemoveFiles.d.ts +2 -0
  47. package/lib/blocks/blockRemoveWorkflows.d.ts +2 -0
  48. package/lib/blocks/blockRenovate.d.ts +2 -0
  49. package/lib/blocks/blockRepositoryBranchRuleset.d.ts +2 -0
  50. package/lib/blocks/blockRepositoryLabels.d.ts +2 -0
  51. package/lib/blocks/blockRepositorySecrets.d.ts +2 -0
  52. package/lib/blocks/blockRepositorySettings.d.ts +2 -0
  53. package/lib/blocks/blockSecurityDocs.d.ts +2 -0
  54. package/lib/blocks/blockTSup.d.ts +3 -0
  55. package/lib/blocks/blockTSup.js +12 -10
  56. package/lib/blocks/blockTemplatedWith.d.ts +2 -0
  57. package/lib/blocks/blockTypeScript.d.ts +115 -1
  58. package/lib/blocks/blockTypeScript.js +8 -2
  59. package/lib/blocks/blockVSCode.d.ts +2 -0
  60. package/lib/blocks/blockVitest.d.ts +2 -0
  61. package/lib/blocks/index.d.ts +208 -5
  62. package/lib/data/packageData.d.ts +3 -2
  63. package/lib/index.d.ts +8 -0
  64. package/lib/presets/common.d.ts +6 -0
  65. package/lib/presets/everything.d.ts +6 -0
  66. package/lib/presets/index.d.ts +18 -0
  67. package/lib/presets/minimal.d.ts +6 -0
  68. package/lib/template.d.ts +6 -0
  69. package/package.json +3 -2
@@ -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 ? [
@@ -47,6 +47,8 @@ declare const blockTemplatedWith: bingo_stratum.BlockWithoutAddons<{
47
47
  packageData?: {
48
48
  dependencies?: Record<string, string> | undefined;
49
49
  devDependencies?: Record<string, string> | undefined;
50
+ peerDependencies?: Record<string, string> | undefined;
51
+ peerDependenciesMeta?: Record<string, unknown> | undefined;
50
52
  scripts?: Record<string, string> | undefined;
51
53
  } | undefined;
52
54
  pnpm?: string | undefined;
@@ -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;
@@ -47,6 +159,8 @@ declare const blockTypeScript: bingo_stratum.BlockWithoutAddons<{
47
159
  packageData?: {
48
160
  dependencies?: Record<string, string> | undefined;
49
161
  devDependencies?: Record<string, string> | undefined;
162
+ peerDependencies?: Record<string, string> | undefined;
163
+ peerDependenciesMeta?: Record<string, unknown> | undefined;
50
164
  scripts?: Record<string, string> | undefined;
51
165
  } | undefined;
52
166
  pnpm?: string | undefined;
@@ -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
  })
@@ -56,6 +56,8 @@ declare const blockVSCode: bingo_stratum.BlockWithAddons<{
56
56
  packageData?: {
57
57
  dependencies?: Record<string, string> | undefined;
58
58
  devDependencies?: Record<string, string> | undefined;
59
+ peerDependencies?: Record<string, string> | undefined;
60
+ peerDependenciesMeta?: Record<string, unknown> | undefined;
59
61
  scripts?: Record<string, string> | undefined;
60
62
  } | undefined;
61
63
  pnpm?: string | undefined;
@@ -62,6 +62,8 @@ declare const blockVitest: bingo_stratum.BlockWithAddons<{
62
62
  packageData?: {
63
63
  dependencies?: Record<string, string> | undefined;
64
64
  devDependencies?: Record<string, string> | undefined;
65
+ peerDependencies?: Record<string, string> | undefined;
66
+ peerDependenciesMeta?: Record<string, unknown> | undefined;
65
67
  scripts?: Record<string, string> | undefined;
66
68
  } | undefined;
67
69
  pnpm?: string | undefined;