create-typescript-app 2.27.0 → 2.29.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;
17
16
  avatar_url: string;
18
17
  contributions: string[];
19
18
  login: string;
19
+ name: string;
20
20
  profile: string;
21
21
  }, {
22
- name: string;
23
22
  avatar_url: string;
24
23
  contributions: string[];
25
24
  login: string;
25
+ name: string;
26
26
  profile: string;
27
27
  }>, "many">>;
28
28
  description: z.ZodDefault<z.ZodString>;
@@ -97,11 +97,11 @@ declare const base: bingo_stratum.Base<{
97
97
  href: z.ZodString;
98
98
  title: z.ZodString;
99
99
  }, "strip", z.ZodTypeAny, {
100
- title: string;
101
100
  href: string;
102
- }, {
103
101
  title: string;
102
+ }, {
104
103
  href: string;
104
+ title: string;
105
105
  }>>;
106
106
  keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
107
107
  logo: z.ZodOptional<z.ZodObject<{
@@ -140,15 +140,15 @@ declare const base: bingo_stratum.Base<{
140
140
  }, "strip", z.ZodTypeAny, {
141
141
  dependencies?: Record<string, string> | undefined;
142
142
  devDependencies?: Record<string, string> | undefined;
143
- scripts?: Record<string, string> | undefined;
144
143
  peerDependencies?: Record<string, string> | undefined;
145
144
  peerDependenciesMeta?: Record<string, unknown> | undefined;
145
+ scripts?: Record<string, string> | undefined;
146
146
  }, {
147
147
  dependencies?: Record<string, string> | undefined;
148
148
  devDependencies?: Record<string, string> | undefined;
149
- scripts?: Record<string, string> | undefined;
150
149
  peerDependencies?: Record<string, string> | undefined;
151
150
  peerDependenciesMeta?: Record<string, unknown> | undefined;
151
+ scripts?: Record<string, string> | undefined;
152
152
  }>>;
153
153
  pnpm: z.ZodOptional<z.ZodString>;
154
154
  repository: z.ZodString;
@@ -9,7 +9,6 @@ declare const blockESLint: bingo_stratum.BlockWithAddons<{
9
9
  specifier: string;
10
10
  types?: boolean | undefined;
11
11
  }[];
12
- ignores: string[];
13
12
  extensions: (string | {
14
13
  files?: string[] | undefined;
15
14
  rules?: Record<string, "off" | "error" | "warn" | ["error" | "warn", unknown] | ["error" | "warn", unknown, unknown]> | {
@@ -22,6 +21,7 @@ declare const blockESLint: bingo_stratum.BlockWithAddons<{
22
21
  linterOptions?: unknown;
23
22
  plugins?: Record<string, string> | undefined;
24
23
  })[];
24
+ ignores: string[];
25
25
  explanations: string[];
26
26
  rules?: Record<string, "off" | "error" | "warn" | ["error" | "warn", unknown] | ["error" | "warn", unknown, unknown]> | {
27
27
  entries: Record<string, "off" | "error" | "warn" | ["error" | "warn", unknown] | ["error" | "warn", unknown, unknown]>;
@@ -38,8 +38,8 @@ declare const blockGitHubActionsCI: bingo_stratum.BlockWithAddons<{
38
38
  } | {
39
39
  uses: string;
40
40
  }))[];
41
- checkoutWith?: Record<string, string> | undefined;
42
41
  if?: string | undefined;
42
+ checkoutWith?: Record<string, string> | undefined;
43
43
  }[] | undefined;
44
44
  }, {
45
45
  access: "public" | "restricted";
@@ -1,7 +1,9 @@
1
1
  import * as bingo_stratum from 'bingo-stratum';
2
2
 
3
3
  declare const blockKnip: bingo_stratum.BlockWithAddons<{
4
+ entry?: string[] | undefined;
4
5
  ignoreDependencies?: string[] | undefined;
6
+ project?: string[] | undefined;
5
7
  }, {
6
8
  access: "public" | "restricted";
7
9
  description: string;
@@ -1,3 +1,4 @@
1
+ import removeUndefinedObjects from "remove-undefined-objects";
1
2
  import { z } from "zod";
2
3
  import { base } from "../base.js";
3
4
  import {
@@ -10,27 +11,29 @@ import { blockPackageJson } from "./blockPackageJson.js";
10
11
  import { blockRemoveFiles } from "./blockRemoveFiles.js";
11
12
  import { blockRemoveWorkflows } from "./blockRemoveWorkflows.js";
12
13
  import { intakeFileAsJson } from "./intake/intakeFileAsJson.js";
13
- const zIgnoreDependencies = z.array(z.string());
14
+ const zStringArray = z.array(z.string());
14
15
  const blockKnip = base.createBlock({
15
16
  about: {
16
17
  name: "Knip"
17
18
  },
18
19
  addons: {
19
- ignoreDependencies: zIgnoreDependencies.optional()
20
+ entry: zStringArray.optional(),
21
+ ignoreDependencies: zStringArray.optional(),
22
+ project: zStringArray.optional()
20
23
  },
21
24
  intake({ files }) {
22
25
  const knipJson = intakeFileAsJson(files, ["knip.json"]);
23
- if (!knipJson?.ignoreDependencies) {
26
+ if (!knipJson) {
24
27
  return void 0;
25
28
  }
26
- return {
27
- ignoreDependencies: zIgnoreDependencies.safeParse(
28
- knipJson.ignoreDependencies
29
- ).data
30
- };
29
+ return removeUndefinedObjects({
30
+ entry: zStringArray.safeParse(knipJson.entry).data,
31
+ ignoreDependencies: zStringArray.safeParse(knipJson.ignoreDependencies).data,
32
+ project: zStringArray.safeParse(knipJson.project).data
33
+ });
31
34
  },
32
35
  produce({ addons }) {
33
- const { ignoreDependencies } = addons;
36
+ const { entry, ignoreDependencies, project } = addons;
34
37
  return {
35
38
  addons: [
36
39
  blockDevelopmentDocs({
@@ -64,13 +67,13 @@ const blockKnip = base.createBlock({
64
67
  files: {
65
68
  "knip.json": JSON.stringify({
66
69
  $schema: `https://unpkg.com/knip@${getPackageDependency("knip")}/schema.json`,
67
- entry: ["src/index.ts", "src/**/*.test.*"],
70
+ entry: entry?.sort(),
68
71
  ignoreDependencies,
69
72
  ignoreExportsUsedInFile: {
70
73
  interface: true,
71
74
  type: true
72
75
  },
73
- project: ["src/**/*.ts"]
76
+ project: project?.sort()
74
77
  })
75
78
  }
76
79
  };
@@ -50,6 +50,7 @@ declare const blockPackageJson: bingo_stratum.BlockWithAddons<{
50
50
  url?: string | undefined;
51
51
  email?: string | undefined;
52
52
  })[] | undefined;
53
+ publishConfig?: Record<string, unknown> | undefined;
53
54
  main?: string | undefined;
54
55
  types?: string | undefined;
55
56
  bugs?: string | {
@@ -65,7 +66,6 @@ declare const blockPackageJson: bingo_stratum.BlockWithAddons<{
65
66
  overrides?: Record<string, unknown> | undefined;
66
67
  os?: string[] | undefined;
67
68
  cpu?: string[] | undefined;
68
- publishConfig?: Record<string, unknown> | undefined;
69
69
  workspaces?: string[] | undefined;
70
70
  deprecated?: string | undefined;
71
71
  typings?: string | undefined;
@@ -2,8 +2,8 @@ import * as bingo_stratum from 'bingo-stratum';
2
2
 
3
3
  declare const blockReleaseIt: bingo_stratum.BlockWithAddons<{
4
4
  builders: {
5
- run: string;
6
5
  order: number;
6
+ run: string;
7
7
  }[];
8
8
  }, {
9
9
  access: "public" | "restricted";
@@ -7,6 +7,7 @@ import { blockDevelopmentDocs } from "./blockDevelopmentDocs.js";
7
7
  import { blockExampleFiles } from "./blockExampleFiles.js";
8
8
  import { blockGitHubActionsCI } from "./blockGitHubActionsCI.js";
9
9
  import { blockGitignore } from "./blockGitignore.js";
10
+ import { blockKnip } from "./blockKnip.js";
10
11
  import { blockMarkdownlint } from "./blockMarkdownlint.js";
11
12
  import { blockPackageJson } from "./blockPackageJson.js";
12
13
  import { blockRemoveWorkflows } from "./blockRemoveWorkflows.js";
@@ -78,6 +79,10 @@ export * from "./types.js";
78
79
  blockGitHubActionsCI({
79
80
  jobs: [{ name: "Type Check", steps: [{ run: "pnpm tsc" }] }]
80
81
  }),
82
+ blockKnip({
83
+ entry: ["src/index.ts"],
84
+ project: ["src/**/*.ts"]
85
+ }),
81
86
  blockMarkdownlint({
82
87
  ignores: ["lib/"]
83
88
  }),
@@ -2,6 +2,10 @@ import * as bingo_stratum from 'bingo-stratum';
2
2
 
3
3
  declare const blockVitest: bingo_stratum.BlockWithAddons<{
4
4
  exclude: string[];
5
+ coverage: {
6
+ exclude?: string[] | undefined;
7
+ include?: string[] | undefined;
8
+ };
5
9
  actionSteps: ({
6
10
  with?: Record<string, string> | undefined;
7
11
  env?: Record<string, string> | undefined;
@@ -11,10 +15,6 @@ declare const blockVitest: bingo_stratum.BlockWithAddons<{
11
15
  } | {
12
16
  uses: string;
13
17
  }))[];
14
- coverage: {
15
- exclude?: string[] | undefined;
16
- include?: string[] | undefined;
17
- };
18
18
  flags: string[];
19
19
  environment?: string | undefined;
20
20
  }, {
@@ -8,6 +8,7 @@ import { blockESLint } from "./blockESLint.js";
8
8
  import { blockExampleFiles } from "./blockExampleFiles.js";
9
9
  import { blockGitHubActionsCI, zActionStep } from "./blockGitHubActionsCI.js";
10
10
  import { blockGitignore } from "./blockGitignore.js";
11
+ import { blockKnip } from "./blockKnip.js";
11
12
  import { blockPackageJson } from "./blockPackageJson.js";
12
13
  import { blockPrettier } from "./blockPrettier.js";
13
14
  import { blockRemoveDependencies } from "./blockRemoveDependencies.js";
@@ -181,6 +182,9 @@ describe(greet, () => {
181
182
  }
182
183
  ]
183
184
  }),
185
+ blockKnip({
186
+ entry: ["src/**/*.test.*"]
187
+ }),
184
188
  blockPackageJson({
185
189
  properties: {
186
190
  devDependencies: getPackageDependencies(
@@ -0,0 +1,72 @@
1
+ import * as bingo_stratum from 'bingo-stratum';
2
+
3
+ declare const blockWebExt: bingo_stratum.BlockWithoutAddons<{
4
+ access: "public" | "restricted";
5
+ description: string;
6
+ directory: string;
7
+ documentation: {
8
+ readme: {
9
+ usage: string;
10
+ additional?: string | undefined;
11
+ explainer?: string | undefined;
12
+ footnotes?: string | undefined;
13
+ };
14
+ development?: string | undefined;
15
+ };
16
+ email: {
17
+ github: string;
18
+ npm: string;
19
+ };
20
+ title: string;
21
+ node: {
22
+ minimum: string;
23
+ pinned?: string | undefined;
24
+ };
25
+ owner: string;
26
+ repository: string;
27
+ type?: "commonjs" | "module" | undefined;
28
+ author?: string | undefined;
29
+ bin?: string | Record<string, string> | undefined;
30
+ contributors?: {
31
+ avatar_url: string;
32
+ contributions: string[];
33
+ login: string;
34
+ name: string;
35
+ profile: string;
36
+ }[] | undefined;
37
+ emoji?: string | undefined;
38
+ existingLabels?: {
39
+ name: string;
40
+ description: string;
41
+ color: string;
42
+ }[] | undefined;
43
+ funding?: string | undefined;
44
+ guide?: {
45
+ href: string;
46
+ title: string;
47
+ } | undefined;
48
+ keywords?: string[] | undefined;
49
+ logo?: {
50
+ alt: string;
51
+ src: string;
52
+ height?: number | undefined;
53
+ width?: number | undefined;
54
+ } | undefined;
55
+ packageData?: {
56
+ dependencies?: Record<string, string> | undefined;
57
+ devDependencies?: Record<string, string> | undefined;
58
+ peerDependencies?: Record<string, string> | undefined;
59
+ peerDependenciesMeta?: Record<string, unknown> | undefined;
60
+ scripts?: Record<string, string> | undefined;
61
+ } | undefined;
62
+ pnpm?: string | undefined;
63
+ rulesetId?: string | undefined;
64
+ version?: string | undefined;
65
+ words?: string[] | undefined;
66
+ workflowsVersions?: Record<string, Record<string, {
67
+ pinned?: boolean | undefined;
68
+ hash?: string | undefined;
69
+ }>> | undefined;
70
+ }>;
71
+
72
+ export { blockWebExt };
@@ -0,0 +1,124 @@
1
+ import { base } from "../base.js";
2
+ import { blockCSpell } from "./blockCSpell.js";
3
+ import { blockDevelopmentDocs } from "./blockDevelopmentDocs.js";
4
+ import { blockGitHubActionsCI } from "./blockGitHubActionsCI.js";
5
+ import { blockGitignore } from "./blockGitignore.js";
6
+ import { blockMarkdownlint } from "./blockMarkdownlint.js";
7
+ import { blockPackageJson } from "./blockPackageJson.js";
8
+ import { blockPrettier } from "./blockPrettier.js";
9
+ const blockWebExt = base.createBlock({
10
+ about: {
11
+ name: "Web-ext"
12
+ },
13
+ produce() {
14
+ return {
15
+ addons: [
16
+ blockCSpell({
17
+ ignores: ["assets"]
18
+ }),
19
+ blockDevelopmentDocs({
20
+ sections: {
21
+ Building: {
22
+ contents: `
23
+ Run [ESBuild](https://esbuild.github.io) locally to build source files:
24
+
25
+ \`\`\`shell
26
+ pnpm dev
27
+ \`\`\`
28
+
29
+ Add \`--watch\` to run the builder in a watch mode that continuously re-builds as you save files:
30
+
31
+ \`\`\`shell
32
+ pnpm dev --watch
33
+ \`\`\`
34
+ `,
35
+ innerSections: [
36
+ {
37
+ contents: `
38
+ Follow Google Chrome's _[Load an unpacked extension](https://developer.chrome.com/docs/extensions/mv3/getstarted/#unpacked)_ guide to load this repository's directory as an extension locally.
39
+
40
+ > \u267B\uFE0F Remember to reload the extension in \`chrome://extensions\` whenever you make changes locally!
41
+ `,
42
+ heading: "Local Development with Chrome"
43
+ },
44
+ {
45
+ contents: `
46
+ Follow Firefox's _[Temporary installation in Firefox](https://extensionworkshop.com/documentation/develop/temporary-installation-in-firefox/)_ guide to load this repository's directory as an extension locally.
47
+
48
+ You'll then need to authorize the extension to run on <https://github.com>:
49
+
50
+ 1. Find and select the _Extensions_ icon in the top right of Firefox
51
+ 2. Select the _"Manage Extension"_ gear icon next to _Refined Saved Replies_
52
+ 3. Select the _"Always Allow on github.com"_ option
53
+
54
+ > \u267B\uFE0F Remember to reload the extension in \`about:debugging#/runtime/this-firefox\` whenever you make changes locally!
55
+ `,
56
+ heading: "Local Development with Firefox"
57
+ },
58
+ {
59
+ contents: `
60
+ Run [\`web-ext\`](https://extensionworkshop.com) to build a production-ready \`.zip\` under \`./web-ext-artifacts/\`:
61
+
62
+ \`\`\`shell
63
+ pnpm build
64
+ \`\`\`
65
+
66
+ Then upload that \`./web-ext-artifacts/refined_saved_replies-*.zip\` file to:
67
+
68
+ - [Chrome Web Store Developer Dashboard](https://chrome.google.com/webstore/devconsole)
69
+ - [Firefox Add-ons Developer Hub](https://addons.mozilla.org/en-US/developers/addon/submit/distribution)
70
+ `,
71
+ heading: "Production Builds"
72
+ }
73
+ ]
74
+ },
75
+ Linting: {
76
+ contents: {
77
+ items: [
78
+ `- \`pnpm lint:web-ext\` ([web-ext](https://extensionworkshop.com)): Lints browser extension metadata after \`pnpm dev\` creates local files`
79
+ ]
80
+ }
81
+ }
82
+ }
83
+ }),
84
+ blockGitHubActionsCI({
85
+ jobs: [
86
+ {
87
+ name: "Build",
88
+ steps: [{ run: "pnpm build" }]
89
+ },
90
+ {
91
+ name: "Lint Web-ext",
92
+ steps: [{ run: "pnpm dev" }, { run: "pnpm lint:web-ext" }]
93
+ }
94
+ ]
95
+ }),
96
+ blockGitignore({
97
+ ignores: ["*.zip", "web-ext-artifacts"]
98
+ }),
99
+ blockMarkdownlint({
100
+ ignores: ["assets/"]
101
+ }),
102
+ blockPackageJson({
103
+ properties: {
104
+ devDependencies: {
105
+ esbuild: "^0.25.0",
106
+ "web-ext": "^8.3.0"
107
+ },
108
+ scripts: {
109
+ build: "web-ext build --overwrite-dest",
110
+ dev: "esbuild src/content-script.ts --bundle --minify --outfile=lib/content-script.js --sourcemap",
111
+ "lint:web-ext": "web-ext lint"
112
+ }
113
+ }
114
+ }),
115
+ blockPrettier({
116
+ ignores: ["assets/"]
117
+ })
118
+ ]
119
+ };
120
+ }
121
+ });
122
+ export {
123
+ blockWebExt
124
+ };
@@ -46,6 +46,7 @@ export { blockTSup } from './blockTSup.js';
46
46
  export { blockTypeScript } from './blockTypeScript.js';
47
47
  export { blockVitest } from './blockVitest.js';
48
48
  export { blockVSCode } from './blockVSCode.js';
49
+ export { blockWebExt } from './blockWebExt.js';
49
50
  import 'zod';
50
51
 
51
52
  declare const blocks: {
@@ -553,7 +554,6 @@ declare const blocks: {
553
554
  specifier: string;
554
555
  types?: boolean | undefined;
555
556
  }[];
556
- ignores: string[];
557
557
  extensions: (string | {
558
558
  files?: string[] | undefined;
559
559
  rules?: Record<string, "off" | "error" | "warn" | ["error" | "warn", unknown] | ["error" | "warn", unknown, unknown]> | {
@@ -566,6 +566,7 @@ declare const blocks: {
566
566
  linterOptions?: unknown;
567
567
  plugins?: Record<string, string> | undefined;
568
568
  })[];
569
+ ignores: string[];
569
570
  explanations: string[];
570
571
  rules?: Record<string, "off" | "error" | "warn" | ["error" | "warn", unknown] | ["error" | "warn", unknown, unknown]> | {
571
572
  entries: Record<string, "off" | "error" | "warn" | ["error" | "warn", unknown] | ["error" | "warn", unknown, unknown]>;
@@ -1469,8 +1470,8 @@ declare const blocks: {
1469
1470
  } | {
1470
1471
  uses: string;
1471
1472
  }))[];
1472
- checkoutWith?: Record<string, string> | undefined;
1473
1473
  if?: string | undefined;
1474
+ checkoutWith?: Record<string, string> | undefined;
1474
1475
  }[] | undefined;
1475
1476
  }, {
1476
1477
  access: "public" | "restricted";
@@ -1747,7 +1748,9 @@ declare const blocks: {
1747
1748
  }>> | undefined;
1748
1749
  }>;
1749
1750
  blockKnip: bingo_stratum.BlockWithAddons<{
1751
+ entry?: string[] | undefined;
1750
1752
  ignoreDependencies?: string[] | undefined;
1753
+ project?: string[] | undefined;
1751
1754
  }, {
1752
1755
  access: "public" | "restricted";
1753
1756
  description: string;
@@ -2211,6 +2214,7 @@ declare const blocks: {
2211
2214
  url?: string | undefined;
2212
2215
  email?: string | undefined;
2213
2216
  })[] | undefined;
2217
+ publishConfig?: Record<string, unknown> | undefined;
2214
2218
  main?: string | undefined;
2215
2219
  types?: string | undefined;
2216
2220
  bugs?: string | {
@@ -2226,7 +2230,6 @@ declare const blocks: {
2226
2230
  overrides?: Record<string, unknown> | undefined;
2227
2231
  os?: string[] | undefined;
2228
2232
  cpu?: string[] | undefined;
2229
- publishConfig?: Record<string, unknown> | undefined;
2230
2233
  workspaces?: string[] | undefined;
2231
2234
  deprecated?: string | undefined;
2232
2235
  typings?: string | undefined;
@@ -2806,8 +2809,8 @@ declare const blocks: {
2806
2809
  }>;
2807
2810
  blockReleaseIt: bingo_stratum.BlockWithAddons<{
2808
2811
  builders: {
2809
- run: string;
2810
2812
  order: number;
2813
+ run: string;
2811
2814
  }[];
2812
2815
  }, {
2813
2816
  access: "public" | "restricted";
@@ -3335,6 +3338,10 @@ declare const blocks: {
3335
3338
  }>;
3336
3339
  blockVitest: bingo_stratum.BlockWithAddons<{
3337
3340
  exclude: string[];
3341
+ coverage: {
3342
+ exclude?: string[] | undefined;
3343
+ include?: string[] | undefined;
3344
+ };
3338
3345
  actionSteps: ({
3339
3346
  with?: Record<string, string> | undefined;
3340
3347
  env?: Record<string, string> | undefined;
@@ -3344,10 +3351,6 @@ declare const blocks: {
3344
3351
  } | {
3345
3352
  uses: string;
3346
3353
  }))[];
3347
- coverage: {
3348
- exclude?: string[] | undefined;
3349
- include?: string[] | undefined;
3350
- };
3351
3354
  flags: string[];
3352
3355
  environment?: string | undefined;
3353
3356
  }, {
@@ -3495,6 +3498,74 @@ declare const blocks: {
3495
3498
  hash?: string | undefined;
3496
3499
  }>> | undefined;
3497
3500
  }>;
3501
+ blockWebExt: bingo_stratum.BlockWithoutAddons<{
3502
+ access: "public" | "restricted";
3503
+ description: string;
3504
+ directory: string;
3505
+ documentation: {
3506
+ readme: {
3507
+ usage: string;
3508
+ additional?: string | undefined;
3509
+ explainer?: string | undefined;
3510
+ footnotes?: string | undefined;
3511
+ };
3512
+ development?: string | undefined;
3513
+ };
3514
+ email: {
3515
+ github: string;
3516
+ npm: string;
3517
+ };
3518
+ title: string;
3519
+ node: {
3520
+ minimum: string;
3521
+ pinned?: string | undefined;
3522
+ };
3523
+ owner: string;
3524
+ repository: string;
3525
+ type?: "commonjs" | "module" | undefined;
3526
+ author?: string | undefined;
3527
+ bin?: string | Record<string, string> | undefined;
3528
+ contributors?: {
3529
+ avatar_url: string;
3530
+ contributions: string[];
3531
+ login: string;
3532
+ name: string;
3533
+ profile: string;
3534
+ }[] | undefined;
3535
+ emoji?: string | undefined;
3536
+ existingLabels?: {
3537
+ name: string;
3538
+ description: string;
3539
+ color: string;
3540
+ }[] | undefined;
3541
+ funding?: string | undefined;
3542
+ guide?: {
3543
+ href: string;
3544
+ title: string;
3545
+ } | undefined;
3546
+ keywords?: string[] | undefined;
3547
+ logo?: {
3548
+ alt: string;
3549
+ src: string;
3550
+ height?: number | undefined;
3551
+ width?: number | undefined;
3552
+ } | undefined;
3553
+ packageData?: {
3554
+ dependencies?: Record<string, string> | undefined;
3555
+ devDependencies?: Record<string, string> | undefined;
3556
+ peerDependencies?: Record<string, string> | undefined;
3557
+ peerDependenciesMeta?: Record<string, unknown> | undefined;
3558
+ scripts?: Record<string, string> | undefined;
3559
+ } | undefined;
3560
+ pnpm?: string | undefined;
3561
+ rulesetId?: string | undefined;
3562
+ version?: string | undefined;
3563
+ words?: string[] | undefined;
3564
+ workflowsVersions?: Record<string, Record<string, {
3565
+ pinned?: boolean | undefined;
3566
+ hash?: string | undefined;
3567
+ }>> | undefined;
3568
+ }>;
3498
3569
  };
3499
3570
 
3500
3571
  export { blocks };
@@ -44,6 +44,7 @@ import { blockTSup } from "./blockTSup.js";
44
44
  import { blockTypeScript } from "./blockTypeScript.js";
45
45
  import { blockVitest } from "./blockVitest.js";
46
46
  import { blockVSCode } from "./blockVSCode.js";
47
+ import { blockWebExt } from "./blockWebExt.js";
47
48
  const blocks = {
48
49
  blockAllContributors,
49
50
  blockAreTheTypesWrong,
@@ -90,7 +91,8 @@ const blocks = {
90
91
  blockTSup,
91
92
  blockTypeScript,
92
93
  blockVitest,
93
- blockVSCode
94
+ blockVSCode,
95
+ blockWebExt
94
96
  };
95
97
  import { blockAllContributors as blockAllContributors2 } from "./blockAllContributors.js";
96
98
  import { blockAreTheTypesWrong as blockAreTheTypesWrong2 } from "./blockAreTheTypesWrong.js";
@@ -139,6 +141,7 @@ import { blockTSup as blockTSup2 } from "./blockTSup.js";
139
141
  import { blockTypeScript as blockTypeScript2 } from "./blockTypeScript.js";
140
142
  import { blockVitest as blockVitest2 } from "./blockVitest.js";
141
143
  import { blockVSCode as blockVSCode2 } from "./blockVSCode.js";
144
+ import { blockWebExt as blockWebExt2 } from "./blockWebExt.js";
142
145
  export {
143
146
  blockAllContributors2 as blockAllContributors,
144
147
  blockAreTheTypesWrong2 as blockAreTheTypesWrong,
@@ -187,5 +190,6 @@ export {
187
190
  blockTypeScript2 as blockTypeScript,
188
191
  blockVSCode2 as blockVSCode,
189
192
  blockVitest2 as blockVitest,
193
+ blockWebExt2 as blockWebExt,
190
194
  blocks
191
195
  };
@@ -1,5 +1,5 @@
1
1
  var name = "create-typescript-app";
2
- var version = "2.26.7";
2
+ var version = "2.28.0";
3
3
  var description = "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁";
4
4
  var repository = {
5
5
  type: "git",
package/lib/index.d.ts CHANGED
@@ -53,6 +53,7 @@ export { blockTSup } from './blocks/blockTSup.js';
53
53
  export { blockTypeScript } from './blocks/blockTypeScript.js';
54
54
  export { blockVitest } from './blocks/blockVitest.js';
55
55
  export { blockVSCode } from './blocks/blockVSCode.js';
56
+ export { blockWebExt } from './blocks/blockWebExt.js';
56
57
  export { presetCommon } from './presets/common.js';
57
58
  export { presetEverything } from './presets/everything.js';
58
59
  export { presetMinimal } from './presets/minimal.js';
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;
11
10
  avatar_url: string;
12
11
  contributions: string[];
13
12
  login: string;
13
+ name: string;
14
14
  profile: string;
15
15
  }, {
16
- name: string;
17
16
  avatar_url: string;
18
17
  contributions: string[];
19
18
  login: string;
19
+ name: string;
20
20
  profile: string;
21
21
  }>;
22
22
  type Contributor = z.infer<typeof zContributor>;
package/lib/template.js CHANGED
@@ -5,6 +5,7 @@ import { blockESLintPlugin } from "./blocks/blockESLintPlugin.js";
5
5
  import { blockNcc } from "./blocks/blockNcc.js";
6
6
  import { blockRemoveDependencies } from "./blocks/blockRemoveDependencies.js";
7
7
  import { blockRemoveFiles } from "./blocks/blockRemoveFiles.js";
8
+ import { blockWebExt } from "./blocks/blockWebExt.js";
8
9
  import { presetCommon } from "./presets/common.js";
9
10
  import { presetEverything } from "./presets/everything.js";
10
11
  import { presetMinimal } from "./presets/minimal.js";
@@ -22,7 +23,8 @@ const template = base.createStratumTemplate({
22
23
  blockESLintPlugin,
23
24
  blockNcc,
24
25
  blockRemoveDependencies,
25
- blockRemoveFiles
26
+ blockRemoveFiles,
27
+ blockWebExt
26
28
  ],
27
29
  presets: [presetMinimal, presetCommon, presetEverything],
28
30
  suggested: presetCommon
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-typescript-app",
3
- "version": "2.27.0",
3
+ "version": "2.29.0",
4
4
  "description": "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁",
5
5
  "repository": {
6
6
  "type": "git",