create-typescript-app 2.13.0 → 2.15.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
@@ -129,6 +129,8 @@ declare const base: bingo_stratum.Base<{
129
129
  hash?: string | undefined;
130
130
  }>>>>;
131
131
  }>;
132
- type BaseOptions = BaseOptionsFor<typeof base>;
132
+ type BaseOptions = BaseOptionsFor<typeof base> & {
133
+ preset?: string;
134
+ };
133
135
 
134
136
  export { type BaseOptions, base };
@@ -13,10 +13,10 @@ declare const blockESLint: bingo_stratum.BlockWithAddons<{
13
13
  comment?: string | undefined;
14
14
  }[] | undefined;
15
15
  settings?: Record<string, unknown> | undefined;
16
- plugins?: Record<string, string> | undefined;
17
16
  extends?: string[] | undefined;
18
17
  languageOptions?: unknown;
19
18
  linterOptions?: unknown;
19
+ plugins?: Record<string, string> | undefined;
20
20
  })[];
21
21
  ignores: string[];
22
22
  explanations: string[];
@@ -0,0 +1,63 @@
1
+ import * as bingo_stratum from 'bingo-stratum';
2
+
3
+ declare const blockNcc: bingo_stratum.BlockWithoutAddons<{
4
+ access: "public" | "restricted";
5
+ description: string;
6
+ directory: string;
7
+ email: {
8
+ github: string;
9
+ npm: string;
10
+ };
11
+ title: string;
12
+ owner: string;
13
+ repository: string;
14
+ author?: string | undefined;
15
+ bin?: string | undefined;
16
+ contributors?: {
17
+ avatar_url: string;
18
+ contributions: string[];
19
+ login: string;
20
+ name: string;
21
+ profile: string;
22
+ }[] | undefined;
23
+ documentation?: string | undefined;
24
+ emoji?: string | undefined;
25
+ existingLabels?: {
26
+ name: string;
27
+ description: string;
28
+ color: string;
29
+ }[] | undefined;
30
+ explainer?: string[] | undefined;
31
+ funding?: string | undefined;
32
+ guide?: {
33
+ href: string;
34
+ title: string;
35
+ } | undefined;
36
+ keywords?: string[] | undefined;
37
+ logo?: {
38
+ alt: string;
39
+ src: string;
40
+ height?: number | undefined;
41
+ width?: number | undefined;
42
+ } | undefined;
43
+ node?: {
44
+ minimum: string;
45
+ pinned?: string | undefined;
46
+ } | undefined;
47
+ packageData?: {
48
+ dependencies?: Record<string, string> | undefined;
49
+ devDependencies?: Record<string, string> | undefined;
50
+ scripts?: Record<string, string> | undefined;
51
+ } | undefined;
52
+ pnpm?: string | undefined;
53
+ rulesetId?: string | undefined;
54
+ usage?: string | undefined;
55
+ version?: string | undefined;
56
+ words?: string[] | undefined;
57
+ workflowsVersions?: Record<string, Record<string, {
58
+ pinned?: boolean | undefined;
59
+ hash?: string | undefined;
60
+ }>> | undefined;
61
+ }>;
62
+
63
+ export { blockNcc };
@@ -0,0 +1,80 @@
1
+ import { base } from "../base.js";
2
+ import { blockCSpell } from "./blockCSpell.js";
3
+ import { blockDevelopmentDocs } from "./blockDevelopmentDocs.js";
4
+ import { blockESLint } from "./blockESLint.js";
5
+ import { blockGitHubActionsCI } from "./blockGitHubActionsCI.js";
6
+ import { blockPackageJson } from "./blockPackageJson.js";
7
+ const blockNcc = base.createBlock({
8
+ about: {
9
+ name: "ncc"
10
+ },
11
+ produce() {
12
+ return {
13
+ addons: [
14
+ blockCSpell({
15
+ ignores: ["dist"]
16
+ }),
17
+ blockDevelopmentDocs({
18
+ sections: {
19
+ Building: {
20
+ contents: `
21
+ Run [TypeScript](https://typescriptlang.org) locally to type check and build source files from \`src/\` into output files in \`lib/\`:
22
+
23
+ \`\`\`shell
24
+ pnpm build
25
+ \`\`\`
26
+
27
+ Add \`--watch\` to run the builder in a watch mode that continuously cleans and recreates \`lib/\` as you save files:
28
+
29
+ \`\`\`shell
30
+ pnpm build --watch
31
+ \`\`\`
32
+ `,
33
+ innerSections: [
34
+ {
35
+ contents: `
36
+ Run [\`@vercel/ncc\`](https://github.com/vercel/ncc) to create an output \`dist/\` to be used in production.
37
+
38
+ \`\`\`shell
39
+ pnpm build:release
40
+ \`\`\`
41
+ `,
42
+ heading: "Building for Release"
43
+ }
44
+ ]
45
+ }
46
+ }
47
+ }),
48
+ blockESLint({
49
+ ignores: ["dist"]
50
+ }),
51
+ blockGitHubActionsCI({
52
+ jobs: [
53
+ {
54
+ name: "Build",
55
+ steps: [{ run: "pnpm build" }]
56
+ },
57
+ {
58
+ name: "Build (Release)",
59
+ steps: [{ run: "pnpm build:release" }]
60
+ }
61
+ ]
62
+ }),
63
+ blockPackageJson({
64
+ properties: {
65
+ devDependencies: {
66
+ "@vercel/ncc": "^0.38.3"
67
+ },
68
+ scripts: {
69
+ build: "tsc",
70
+ "build:release": "ncc build src/index.ts -o dist"
71
+ }
72
+ }
73
+ })
74
+ ]
75
+ };
76
+ }
77
+ });
78
+ export {
79
+ blockNcc
80
+ };
@@ -24,6 +24,16 @@ const blockRepositoryBranchRuleset = base.createBlock({
24
24
  transition({ addons, options }) {
25
25
  return {
26
26
  requests: [
27
+ {
28
+ endpoint: "DELETE /repos/{owner}/{repo}/branches/{branch}/protection",
29
+ parameters: {
30
+ branch: "main",
31
+ owner: options.owner,
32
+ repo: options.repository
33
+ },
34
+ silent: true,
35
+ type: "octokit"
36
+ },
27
37
  options.rulesetId ? {
28
38
  endpoint: "PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}",
29
39
  parameters: createRulesetParameters(
@@ -26,6 +26,7 @@ export { blockGitignore } from './blockGitignore.js';
26
26
  export { blockKnip } from './blockKnip.js';
27
27
  export { blockMarkdownlint } from './blockMarkdownlint.js';
28
28
  export { blockMITLicense } from './blockMITLicense.js';
29
+ export { blockNcc } from './blockNcc.js';
29
30
  export { blockNvmrc } from './blockNvmrc.js';
30
31
  export { blockPackageJson } from './blockPackageJson.js';
31
32
  export { blockPnpmDedupe } from './blockPnpmDedupe.js';
@@ -491,10 +492,10 @@ declare const blocks: {
491
492
  comment?: string | undefined;
492
493
  }[] | undefined;
493
494
  settings?: Record<string, unknown> | undefined;
494
- plugins?: Record<string, string> | undefined;
495
495
  extends?: string[] | undefined;
496
496
  languageOptions?: unknown;
497
497
  linterOptions?: unknown;
498
+ plugins?: Record<string, string> | undefined;
498
499
  })[];
499
500
  ignores: string[];
500
501
  explanations: string[];
@@ -1646,6 +1647,65 @@ declare const blocks: {
1646
1647
  hash?: string | undefined;
1647
1648
  }>> | undefined;
1648
1649
  }>;
1650
+ blockNcc: bingo_stratum.BlockWithoutAddons<{
1651
+ access: "public" | "restricted";
1652
+ description: string;
1653
+ directory: string;
1654
+ email: {
1655
+ github: string;
1656
+ npm: string;
1657
+ };
1658
+ title: string;
1659
+ owner: string;
1660
+ repository: string;
1661
+ author?: string | undefined;
1662
+ bin?: string | undefined;
1663
+ contributors?: {
1664
+ avatar_url: string;
1665
+ contributions: string[];
1666
+ login: string;
1667
+ name: string;
1668
+ profile: string;
1669
+ }[] | undefined;
1670
+ documentation?: string | undefined;
1671
+ emoji?: string | undefined;
1672
+ existingLabels?: {
1673
+ name: string;
1674
+ description: string;
1675
+ color: string;
1676
+ }[] | undefined;
1677
+ explainer?: string[] | undefined;
1678
+ funding?: string | undefined;
1679
+ guide?: {
1680
+ href: string;
1681
+ title: string;
1682
+ } | undefined;
1683
+ keywords?: string[] | undefined;
1684
+ logo?: {
1685
+ alt: string;
1686
+ src: string;
1687
+ height?: number | undefined;
1688
+ width?: number | undefined;
1689
+ } | undefined;
1690
+ node?: {
1691
+ minimum: string;
1692
+ pinned?: string | undefined;
1693
+ } | undefined;
1694
+ packageData?: {
1695
+ dependencies?: Record<string, string> | undefined;
1696
+ devDependencies?: Record<string, string> | undefined;
1697
+ scripts?: Record<string, string> | undefined;
1698
+ } | undefined;
1699
+ pnpm?: string | undefined;
1700
+ rulesetId?: string | undefined;
1701
+ usage?: string | undefined;
1702
+ version?: string | undefined;
1703
+ words?: string[] | undefined;
1704
+ workflowsVersions?: Record<string, Record<string, {
1705
+ pinned?: boolean | undefined;
1706
+ hash?: string | undefined;
1707
+ }>> | undefined;
1708
+ }>;
1649
1709
  blockNvmrc: bingo_stratum.BlockWithoutAddons<{
1650
1710
  access: "public" | "restricted";
1651
1711
  description: string;
@@ -24,6 +24,7 @@ import { blockGitignore } from "./blockGitignore.js";
24
24
  import { blockKnip } from "./blockKnip.js";
25
25
  import { blockMarkdownlint } from "./blockMarkdownlint.js";
26
26
  import { blockMITLicense } from "./blockMITLicense.js";
27
+ import { blockNcc } from "./blockNcc.js";
27
28
  import { blockNvmrc } from "./blockNvmrc.js";
28
29
  import { blockPackageJson } from "./blockPackageJson.js";
29
30
  import { blockPnpmDedupe } from "./blockPnpmDedupe.js";
@@ -68,6 +69,7 @@ const blocks = {
68
69
  blockKnip,
69
70
  blockMarkdownlint,
70
71
  blockMITLicense,
72
+ blockNcc,
71
73
  blockNvmrc,
72
74
  blockPackageJson,
73
75
  blockPnpmDedupe,
@@ -113,6 +115,7 @@ import { blockGitignore as blockGitignore2 } from "./blockGitignore.js";
113
115
  import { blockKnip as blockKnip2 } from "./blockKnip.js";
114
116
  import { blockMarkdownlint as blockMarkdownlint2 } from "./blockMarkdownlint.js";
115
117
  import { blockMITLicense as blockMITLicense2 } from "./blockMITLicense.js";
118
+ import { blockNcc as blockNcc2 } from "./blockNcc.js";
116
119
  import { blockNvmrc as blockNvmrc2 } from "./blockNvmrc.js";
117
120
  import { blockPackageJson as blockPackageJson2 } from "./blockPackageJson.js";
118
121
  import { blockPnpmDedupe as blockPnpmDedupe2 } from "./blockPnpmDedupe.js";
@@ -158,6 +161,7 @@ export {
158
161
  blockKnip2 as blockKnip,
159
162
  blockMITLicense2 as blockMITLicense,
160
163
  blockMarkdownlint2 as blockMarkdownlint,
164
+ blockNcc2 as blockNcc,
161
165
  blockNvmrc2 as blockNvmrc,
162
166
  blockPRCompliance2 as blockPRCompliance,
163
167
  blockPackageJson2 as blockPackageJson,
@@ -8,6 +8,7 @@ declare const optionsBase: {
8
8
  };
9
9
  emoji: string;
10
10
  owner: string;
11
+ preset: string;
11
12
  repository: string;
12
13
  title: string;
13
14
  };
@@ -8,6 +8,7 @@ const optionsBase = {
8
8
  },
9
9
  emoji: "\u{1F496}",
10
10
  owner: "test-owner",
11
+ preset: "minimal",
11
12
  repository: "test-repository",
12
13
  title: "Test Title"
13
14
  };
@@ -1,5 +1,5 @@
1
1
  var name = "create-typescript-app";
2
- var version = "2.12.1";
2
+ var version = "2.14.0";
3
3
  var description = "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁";
4
4
  var repository = {
5
5
  type: "git",
@@ -33,7 +33,7 @@ var scripts = {
33
33
  tsc: "tsc"
34
34
  };
35
35
  var dependencies = {
36
- bingo: "^0.5.8",
36
+ bingo: "^0.5.10",
37
37
  "bingo-fs": "^0.5.4",
38
38
  "bingo-stratum": "^0.5.7",
39
39
  "cached-factory": "^0.1.0",
@@ -80,9 +80,9 @@ var devDependencies = {
80
80
  "@vitest/coverage-v8": "3.0.9",
81
81
  "@vitest/eslint-plugin": "1.1.38",
82
82
  "all-contributors-cli": "6.26.1",
83
- "bingo-requests": "0.5.4",
84
- "bingo-stratum-testers": "0.5.6",
85
- "bingo-testers": "0.5.6",
83
+ "bingo-requests": "0.5.5",
84
+ "bingo-stratum-testers": "0.5.7",
85
+ "bingo-testers": "0.5.7",
86
86
  "console-fail-test": "0.5.0",
87
87
  cspell: "8.17.5",
88
88
  eslint: "9.22.0",
package/lib/index.d.ts CHANGED
@@ -33,6 +33,7 @@ export { blockGitignore } from './blocks/blockGitignore.js';
33
33
  export { blockKnip } from './blocks/blockKnip.js';
34
34
  export { blockMarkdownlint } from './blocks/blockMarkdownlint.js';
35
35
  export { blockMITLicense } from './blocks/blockMITLicense.js';
36
+ export { blockNcc } from './blocks/blockNcc.js';
36
37
  export { blockNvmrc } from './blocks/blockNvmrc.js';
37
38
  export { blockPackageJson } from './blocks/blockPackageJson.js';
38
39
  export { blockPnpmDedupe } from './blocks/blockPnpmDedupe.js';
package/lib/template.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { base } from "./base.js";
2
2
  import { blockAreTheTypesWrong } from "./blocks/blockAreTheTypesWrong.js";
3
3
  import { blockCTATransitions } from "./blocks/blockCTATransitions.js";
4
+ import { blockNcc } from "./blocks/blockNcc.js";
4
5
  import { blockRemoveDependencies } from "./blocks/blockRemoveDependencies.js";
5
6
  import { blockRemoveFiles } from "./blocks/blockRemoveFiles.js";
6
7
  import { presetCommon } from "./presets/common.js";
@@ -17,6 +18,7 @@ const template = base.createStratumTemplate({
17
18
  blocks: [
18
19
  blockAreTheTypesWrong,
19
20
  blockCTATransitions,
21
+ blockNcc,
20
22
  blockRemoveDependencies,
21
23
  blockRemoveFiles
22
24
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-typescript-app",
3
- "version": "2.13.0",
3
+ "version": "2.15.0",
4
4
  "description": "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁",
5
5
  "repository": {
6
6
  "type": "git",
@@ -37,7 +37,7 @@
37
37
  "*": "prettier --ignore-unknown --write"
38
38
  },
39
39
  "dependencies": {
40
- "bingo": "^0.5.8",
40
+ "bingo": "^0.5.10",
41
41
  "bingo-fs": "^0.5.4",
42
42
  "bingo-stratum": "^0.5.7",
43
43
  "cached-factory": "^0.1.0",
@@ -84,9 +84,9 @@
84
84
  "@vitest/coverage-v8": "3.0.9",
85
85
  "@vitest/eslint-plugin": "1.1.38",
86
86
  "all-contributors-cli": "6.26.1",
87
- "bingo-requests": "0.5.4",
88
- "bingo-stratum-testers": "0.5.6",
89
- "bingo-testers": "0.5.6",
87
+ "bingo-requests": "0.5.5",
88
+ "bingo-stratum-testers": "0.5.7",
89
+ "bingo-testers": "0.5.7",
90
90
  "console-fail-test": "0.5.0",
91
91
  "cspell": "8.17.5",
92
92
  "eslint": "9.22.0",