create-typescript-app 2.15.6 → 2.16.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 +4 -4
- package/lib/blocks/blockMain.d.ts +66 -0
- package/lib/blocks/blockMain.js +33 -0
- package/lib/blocks/blockPackageJson.js +7 -8
- package/lib/blocks/blockRepositorySettings.js +2 -2
- package/lib/blocks/blockTSup.d.ts +1 -1
- package/lib/blocks/blockTSup.js +2 -4
- package/lib/blocks/blockTypeScript.js +0 -1
- package/lib/blocks/html/htmlToTextSafe.d.ts +3 -0
- package/lib/blocks/html/htmlToTextSafe.js +7 -0
- package/lib/blocks/index.d.ts +64 -1
- package/lib/blocks/index.js +4 -0
- package/lib/data/packageData.d.ts +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/presets/minimal.js +2 -0
- package/lib/schemas.d.ts +2 -2
- package/package.json +1 -1
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>;
|
|
@@ -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
|
-
title: string;
|
|
68
67
|
href: string;
|
|
69
|
-
}, {
|
|
70
68
|
title: string;
|
|
69
|
+
}, {
|
|
71
70
|
href: string;
|
|
71
|
+
title: string;
|
|
72
72
|
}>>;
|
|
73
73
|
keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
74
74
|
logo: z.ZodOptional<z.ZodObject<{
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as bingo_stratum from 'bingo-stratum';
|
|
2
|
+
|
|
3
|
+
declare const blockMain: bingo_stratum.BlockWithAddons<{
|
|
4
|
+
runArgs: string[];
|
|
5
|
+
filePath?: string | undefined;
|
|
6
|
+
}, {
|
|
7
|
+
access: "public" | "restricted";
|
|
8
|
+
description: string;
|
|
9
|
+
directory: string;
|
|
10
|
+
email: {
|
|
11
|
+
github: string;
|
|
12
|
+
npm: string;
|
|
13
|
+
};
|
|
14
|
+
title: string;
|
|
15
|
+
owner: string;
|
|
16
|
+
repository: string;
|
|
17
|
+
author?: string | undefined;
|
|
18
|
+
bin?: string | Record<string, string> | undefined;
|
|
19
|
+
contributors?: {
|
|
20
|
+
avatar_url: string;
|
|
21
|
+
contributions: string[];
|
|
22
|
+
login: string;
|
|
23
|
+
name: string;
|
|
24
|
+
profile: string;
|
|
25
|
+
}[] | undefined;
|
|
26
|
+
documentation?: string | undefined;
|
|
27
|
+
emoji?: string | undefined;
|
|
28
|
+
existingLabels?: {
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
color: string;
|
|
32
|
+
}[] | undefined;
|
|
33
|
+
explainer?: string[] | undefined;
|
|
34
|
+
funding?: string | undefined;
|
|
35
|
+
guide?: {
|
|
36
|
+
href: string;
|
|
37
|
+
title: string;
|
|
38
|
+
} | undefined;
|
|
39
|
+
keywords?: string[] | undefined;
|
|
40
|
+
logo?: {
|
|
41
|
+
alt: string;
|
|
42
|
+
src: string;
|
|
43
|
+
height?: number | undefined;
|
|
44
|
+
width?: number | undefined;
|
|
45
|
+
} | undefined;
|
|
46
|
+
node?: {
|
|
47
|
+
minimum: string;
|
|
48
|
+
pinned?: string | undefined;
|
|
49
|
+
} | undefined;
|
|
50
|
+
packageData?: {
|
|
51
|
+
dependencies?: Record<string, string> | undefined;
|
|
52
|
+
devDependencies?: Record<string, string> | undefined;
|
|
53
|
+
scripts?: Record<string, string> | undefined;
|
|
54
|
+
} | undefined;
|
|
55
|
+
pnpm?: string | undefined;
|
|
56
|
+
rulesetId?: string | undefined;
|
|
57
|
+
usage?: string | undefined;
|
|
58
|
+
version?: string | undefined;
|
|
59
|
+
words?: string[] | undefined;
|
|
60
|
+
workflowsVersions?: Record<string, Record<string, {
|
|
61
|
+
pinned?: boolean | undefined;
|
|
62
|
+
hash?: string | undefined;
|
|
63
|
+
}>> | undefined;
|
|
64
|
+
}>;
|
|
65
|
+
|
|
66
|
+
export { blockMain };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { base } from "../base.js";
|
|
3
|
+
import { blockPackageJson } from "./blockPackageJson.js";
|
|
4
|
+
import { blockTSup } from "./blockTSup.js";
|
|
5
|
+
const blockMain = base.createBlock({
|
|
6
|
+
about: {
|
|
7
|
+
name: "Main"
|
|
8
|
+
},
|
|
9
|
+
addons: {
|
|
10
|
+
filePath: z.string().optional(),
|
|
11
|
+
runArgs: z.array(z.string()).default([])
|
|
12
|
+
},
|
|
13
|
+
produce({ addons }) {
|
|
14
|
+
const { filePath = "lib/index.js", runArgs } = addons;
|
|
15
|
+
return {
|
|
16
|
+
addons: [
|
|
17
|
+
blockPackageJson({
|
|
18
|
+
properties: {
|
|
19
|
+
main: filePath
|
|
20
|
+
}
|
|
21
|
+
}),
|
|
22
|
+
blockTSup({
|
|
23
|
+
runInCI: [
|
|
24
|
+
`node ${filePath}${runArgs.map((arg) => ` ${arg}`).join("")}`
|
|
25
|
+
]
|
|
26
|
+
})
|
|
27
|
+
]
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
export {
|
|
32
|
+
blockMain
|
|
33
|
+
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as htmlToText from "html-to-text";
|
|
2
1
|
import removeUndefinedObjects from "remove-undefined-objects";
|
|
3
2
|
import semver from "semver";
|
|
4
3
|
import sortPackageJson from "sort-package-json";
|
|
@@ -6,6 +5,7 @@ import { z } from "zod";
|
|
|
6
5
|
import { PackageJson } from "zod-package-json";
|
|
7
6
|
import { base } from "../base.js";
|
|
8
7
|
import { blockRemoveFiles } from "./blockRemoveFiles.js";
|
|
8
|
+
import { htmlToTextSafe } from "./html/htmlToTextSafe.js";
|
|
9
9
|
import { CommandPhase } from "./phases.js";
|
|
10
10
|
const PackageJsonWithNullableScripts = PackageJson.partial().extend({
|
|
11
11
|
scripts: z.record(z.string(), z.union([z.string(), z.undefined()])).optional()
|
|
@@ -30,9 +30,7 @@ const blockPackageJson = base.createBlock({
|
|
|
30
30
|
...addons.properties.devDependencies
|
|
31
31
|
}
|
|
32
32
|
);
|
|
33
|
-
const description =
|
|
34
|
-
wordwrap: false
|
|
35
|
-
});
|
|
33
|
+
const description = htmlToTextSafe(options.description);
|
|
36
34
|
return {
|
|
37
35
|
files: {
|
|
38
36
|
"package.json": sortPackageJson(
|
|
@@ -62,7 +60,6 @@ const blockPackageJson = base.createBlock({
|
|
|
62
60
|
(keyword) => keyword.split(/ /)
|
|
63
61
|
),
|
|
64
62
|
license: "MIT",
|
|
65
|
-
main: "lib/index.js",
|
|
66
63
|
name: options.repository,
|
|
67
64
|
repository: {
|
|
68
65
|
type: "git",
|
|
@@ -103,13 +100,15 @@ function collectBinFiles(bin) {
|
|
|
103
100
|
return files.map((file) => file.replace(/^\.\//, ""));
|
|
104
101
|
}
|
|
105
102
|
function removeRangePrefix(version) {
|
|
106
|
-
|
|
103
|
+
const raw = version.replaceAll(/[\^~><=]/gu, "").split(" ")[0];
|
|
104
|
+
return semver.coerce(raw) ?? raw;
|
|
107
105
|
}
|
|
108
106
|
function useLargerVersion(existing, replacement) {
|
|
109
|
-
if (!existing) {
|
|
107
|
+
if (!existing || existing === replacement) {
|
|
110
108
|
return replacement;
|
|
111
109
|
}
|
|
112
|
-
|
|
110
|
+
const existingCoerced = semver.coerce(removeRangePrefix(existing));
|
|
111
|
+
return existingCoerced && semver.gt(existingCoerced, removeRangePrefix(replacement)) ? existing : replacement;
|
|
113
112
|
}
|
|
114
113
|
function useLargerVersions(existing, replacements) {
|
|
115
114
|
if (!existing) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import * as htmlToText from "html-to-text";
|
|
2
1
|
import { base } from "../base.js";
|
|
2
|
+
import { htmlToTextSafe } from "./html/htmlToTextSafe.js";
|
|
3
3
|
const blockRepositorySettings = base.createBlock({
|
|
4
4
|
about: {
|
|
5
5
|
name: "Repository Settings"
|
|
6
6
|
},
|
|
7
7
|
produce({ options }) {
|
|
8
|
-
const description =
|
|
8
|
+
const description = htmlToTextSafe(options.description);
|
|
9
9
|
return {
|
|
10
10
|
requests: [
|
|
11
11
|
{
|
package/lib/blocks/blockTSup.js
CHANGED
|
@@ -15,7 +15,7 @@ const blockTSup = base.createBlock({
|
|
|
15
15
|
},
|
|
16
16
|
addons: {
|
|
17
17
|
entry: z.array(z.string()).default([]),
|
|
18
|
-
|
|
18
|
+
runInCI: z.array(z.string()).default([])
|
|
19
19
|
},
|
|
20
20
|
produce({ addons, options }) {
|
|
21
21
|
const { entry } = addons;
|
|
@@ -49,9 +49,7 @@ pnpm build --watch
|
|
|
49
49
|
name: "Build",
|
|
50
50
|
steps: [
|
|
51
51
|
{ run: "pnpm build" },
|
|
52
|
-
{
|
|
53
|
-
run: `node lib/index.js${addons.runArgs.map((arg) => ` ${arg}`).join("")}`
|
|
54
|
-
}
|
|
52
|
+
...addons.runInCI.map((run) => ({ run }))
|
|
55
53
|
]
|
|
56
54
|
}
|
|
57
55
|
]
|
package/lib/blocks/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export { blockGitHubIssueTemplates } from './blockGitHubIssueTemplates.js';
|
|
|
24
24
|
export { blockGitHubPRTemplate } from './blockGitHubPRTemplate.js';
|
|
25
25
|
export { blockGitignore } from './blockGitignore.js';
|
|
26
26
|
export { blockKnip } from './blockKnip.js';
|
|
27
|
+
export { blockMain } from './blockMain.js';
|
|
27
28
|
export { blockMarkdownlint } from './blockMarkdownlint.js';
|
|
28
29
|
export { blockMITLicense } from './blockMITLicense.js';
|
|
29
30
|
export { blockNcc } from './blockNcc.js';
|
|
@@ -1527,6 +1528,68 @@ declare const blocks: {
|
|
|
1527
1528
|
hash?: string | undefined;
|
|
1528
1529
|
}>> | undefined;
|
|
1529
1530
|
}>;
|
|
1531
|
+
blockMain: bingo_stratum.BlockWithAddons<{
|
|
1532
|
+
runArgs: string[];
|
|
1533
|
+
filePath?: string | undefined;
|
|
1534
|
+
}, {
|
|
1535
|
+
access: "public" | "restricted";
|
|
1536
|
+
description: string;
|
|
1537
|
+
directory: string;
|
|
1538
|
+
email: {
|
|
1539
|
+
github: string;
|
|
1540
|
+
npm: string;
|
|
1541
|
+
};
|
|
1542
|
+
title: string;
|
|
1543
|
+
owner: string;
|
|
1544
|
+
repository: string;
|
|
1545
|
+
author?: string | undefined;
|
|
1546
|
+
bin?: string | Record<string, string> | undefined;
|
|
1547
|
+
contributors?: {
|
|
1548
|
+
avatar_url: string;
|
|
1549
|
+
contributions: string[];
|
|
1550
|
+
login: string;
|
|
1551
|
+
name: string;
|
|
1552
|
+
profile: string;
|
|
1553
|
+
}[] | undefined;
|
|
1554
|
+
documentation?: string | undefined;
|
|
1555
|
+
emoji?: string | undefined;
|
|
1556
|
+
existingLabels?: {
|
|
1557
|
+
name: string;
|
|
1558
|
+
description: string;
|
|
1559
|
+
color: string;
|
|
1560
|
+
}[] | undefined;
|
|
1561
|
+
explainer?: string[] | undefined;
|
|
1562
|
+
funding?: string | undefined;
|
|
1563
|
+
guide?: {
|
|
1564
|
+
href: string;
|
|
1565
|
+
title: string;
|
|
1566
|
+
} | undefined;
|
|
1567
|
+
keywords?: string[] | undefined;
|
|
1568
|
+
logo?: {
|
|
1569
|
+
alt: string;
|
|
1570
|
+
src: string;
|
|
1571
|
+
height?: number | undefined;
|
|
1572
|
+
width?: number | undefined;
|
|
1573
|
+
} | undefined;
|
|
1574
|
+
node?: {
|
|
1575
|
+
minimum: string;
|
|
1576
|
+
pinned?: string | undefined;
|
|
1577
|
+
} | undefined;
|
|
1578
|
+
packageData?: {
|
|
1579
|
+
dependencies?: Record<string, string> | undefined;
|
|
1580
|
+
devDependencies?: Record<string, string> | undefined;
|
|
1581
|
+
scripts?: Record<string, string> | undefined;
|
|
1582
|
+
} | undefined;
|
|
1583
|
+
pnpm?: string | undefined;
|
|
1584
|
+
rulesetId?: string | undefined;
|
|
1585
|
+
usage?: string | undefined;
|
|
1586
|
+
version?: string | undefined;
|
|
1587
|
+
words?: string[] | undefined;
|
|
1588
|
+
workflowsVersions?: Record<string, Record<string, {
|
|
1589
|
+
pinned?: boolean | undefined;
|
|
1590
|
+
hash?: string | undefined;
|
|
1591
|
+
}>> | undefined;
|
|
1592
|
+
}>;
|
|
1530
1593
|
blockMarkdownlint: bingo_stratum.BlockWithAddons<{
|
|
1531
1594
|
ignores: string[];
|
|
1532
1595
|
}, {
|
|
@@ -2573,7 +2636,7 @@ declare const blocks: {
|
|
|
2573
2636
|
}>;
|
|
2574
2637
|
blockTSup: bingo_stratum.BlockWithAddons<{
|
|
2575
2638
|
entry: string[];
|
|
2576
|
-
|
|
2639
|
+
runInCI: string[];
|
|
2577
2640
|
}, {
|
|
2578
2641
|
access: "public" | "restricted";
|
|
2579
2642
|
description: string;
|
package/lib/blocks/index.js
CHANGED
|
@@ -22,6 +22,7 @@ import { blockGitHubIssueTemplates } from "./blockGitHubIssueTemplates.js";
|
|
|
22
22
|
import { blockGitHubPRTemplate } from "./blockGitHubPRTemplate.js";
|
|
23
23
|
import { blockGitignore } from "./blockGitignore.js";
|
|
24
24
|
import { blockKnip } from "./blockKnip.js";
|
|
25
|
+
import { blockMain } from "./blockMain.js";
|
|
25
26
|
import { blockMarkdownlint } from "./blockMarkdownlint.js";
|
|
26
27
|
import { blockMITLicense } from "./blockMITLicense.js";
|
|
27
28
|
import { blockNcc } from "./blockNcc.js";
|
|
@@ -67,6 +68,7 @@ const blocks = {
|
|
|
67
68
|
blockGitHubPRTemplate,
|
|
68
69
|
blockGitignore,
|
|
69
70
|
blockKnip,
|
|
71
|
+
blockMain,
|
|
70
72
|
blockMarkdownlint,
|
|
71
73
|
blockMITLicense,
|
|
72
74
|
blockNcc,
|
|
@@ -113,6 +115,7 @@ import { blockGitHubIssueTemplates as blockGitHubIssueTemplates2 } from "./block
|
|
|
113
115
|
import { blockGitHubPRTemplate as blockGitHubPRTemplate2 } from "./blockGitHubPRTemplate.js";
|
|
114
116
|
import { blockGitignore as blockGitignore2 } from "./blockGitignore.js";
|
|
115
117
|
import { blockKnip as blockKnip2 } from "./blockKnip.js";
|
|
118
|
+
import { blockMain as blockMain2 } from "./blockMain.js";
|
|
116
119
|
import { blockMarkdownlint as blockMarkdownlint2 } from "./blockMarkdownlint.js";
|
|
117
120
|
import { blockMITLicense as blockMITLicense2 } from "./blockMITLicense.js";
|
|
118
121
|
import { blockNcc as blockNcc2 } from "./blockNcc.js";
|
|
@@ -160,6 +163,7 @@ export {
|
|
|
160
163
|
blockGitignore2 as blockGitignore,
|
|
161
164
|
blockKnip2 as blockKnip,
|
|
162
165
|
blockMITLicense2 as blockMITLicense,
|
|
166
|
+
blockMain2 as blockMain,
|
|
163
167
|
blockMarkdownlint2 as blockMarkdownlint,
|
|
164
168
|
blockNcc2 as blockNcc,
|
|
165
169
|
blockNvmrc2 as blockNvmrc,
|
package/lib/index.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export { blockGitHubIssueTemplates } from './blocks/blockGitHubIssueTemplates.js
|
|
|
31
31
|
export { blockGitHubPRTemplate } from './blocks/blockGitHubPRTemplate.js';
|
|
32
32
|
export { blockGitignore } from './blocks/blockGitignore.js';
|
|
33
33
|
export { blockKnip } from './blocks/blockKnip.js';
|
|
34
|
+
export { blockMain } from './blocks/blockMain.js';
|
|
34
35
|
export { blockMarkdownlint } from './blocks/blockMarkdownlint.js';
|
|
35
36
|
export { blockMITLicense } from './blocks/blockMITLicense.js';
|
|
36
37
|
export { blockNcc } from './blocks/blockNcc.js';
|
package/lib/presets/minimal.js
CHANGED
|
@@ -9,6 +9,7 @@ import { blockGitHubApps } from "../blocks/blockGitHubApps.js";
|
|
|
9
9
|
import { blockGitHubIssueTemplates } from "../blocks/blockGitHubIssueTemplates.js";
|
|
10
10
|
import { blockGitHubPRTemplate } from "../blocks/blockGitHubPRTemplate.js";
|
|
11
11
|
import { blockGitignore } from "../blocks/blockGitignore.js";
|
|
12
|
+
import { blockMain } from "../blocks/blockMain.js";
|
|
12
13
|
import { blockMITLicense } from "../blocks/blockMITLicense.js";
|
|
13
14
|
import { blockPackageJson } from "../blocks/blockPackageJson.js";
|
|
14
15
|
import { blockPrettier } from "../blocks/blockPrettier.js";
|
|
@@ -40,6 +41,7 @@ const presetMinimal = base.createPreset({
|
|
|
40
41
|
blockGitHubIssueTemplates,
|
|
41
42
|
blockGitHubPRTemplate,
|
|
42
43
|
blockGitignore,
|
|
44
|
+
blockMain,
|
|
43
45
|
blockMITLicense,
|
|
44
46
|
blockPackageJson,
|
|
45
47
|
blockPrettier,
|
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>;
|