create-typescript-app 2.0.0-beta.25 → 2.0.0-beta.27
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 +6 -6
- package/lib/base.js +4 -8
- package/lib/base.js.map +1 -1
- package/lib/blocks/blockAllContributors.js +2 -1
- package/lib/blocks/blockAllContributors.js.map +1 -1
- package/lib/data/contributions.d.ts +3 -0
- package/lib/data/contributions.js +14 -0
- package/lib/data/contributions.js.map +1 -0
- package/lib/data/packageData.d.ts +2 -2
- package/lib/inputs/inputFromOctokit.d.ts +1 -1
- package/lib/inputs/inputFromOctokit.js +1 -1
- package/lib/inputs/inputFromOctokit.js.map +1 -1
- package/lib/options/readAllContributors.d.ts +6 -0
- package/lib/options/readAllContributors.js +27 -0
- package/lib/options/readAllContributors.js.map +1 -0
- package/package.json +2 -2
package/lib/base.d.ts
CHANGED
|
@@ -9,16 +9,16 @@ declare const zContributor: z.ZodObject<{
|
|
|
9
9
|
name: z.ZodString;
|
|
10
10
|
profile: z.ZodString;
|
|
11
11
|
}, "strip", z.ZodTypeAny, {
|
|
12
|
-
name: string;
|
|
13
12
|
avatar_url: string;
|
|
14
13
|
contributions: string[];
|
|
15
14
|
login: string;
|
|
15
|
+
name: string;
|
|
16
16
|
profile: string;
|
|
17
17
|
}, {
|
|
18
|
-
name: string;
|
|
19
18
|
avatar_url: string;
|
|
20
19
|
contributions: string[];
|
|
21
20
|
login: string;
|
|
21
|
+
name: string;
|
|
22
22
|
profile: string;
|
|
23
23
|
}>;
|
|
24
24
|
type Contributor = z.infer<typeof zContributor>;
|
|
@@ -33,16 +33,16 @@ declare const base: bingo_stratum.Base<{
|
|
|
33
33
|
name: z.ZodString;
|
|
34
34
|
profile: z.ZodString;
|
|
35
35
|
}, "strip", z.ZodTypeAny, {
|
|
36
|
-
name: string;
|
|
37
36
|
avatar_url: string;
|
|
38
37
|
contributions: string[];
|
|
39
38
|
login: string;
|
|
39
|
+
name: string;
|
|
40
40
|
profile: string;
|
|
41
41
|
}, {
|
|
42
|
-
name: string;
|
|
43
42
|
avatar_url: string;
|
|
44
43
|
contributions: string[];
|
|
45
44
|
login: string;
|
|
45
|
+
name: string;
|
|
46
46
|
profile: string;
|
|
47
47
|
}>, "many">>;
|
|
48
48
|
description: z.ZodDefault<z.ZodString>;
|
|
@@ -70,11 +70,11 @@ declare const base: bingo_stratum.Base<{
|
|
|
70
70
|
href: z.ZodString;
|
|
71
71
|
title: z.ZodString;
|
|
72
72
|
}, "strip", z.ZodTypeAny, {
|
|
73
|
-
title: string;
|
|
74
73
|
href: string;
|
|
75
|
-
}, {
|
|
76
74
|
title: string;
|
|
75
|
+
}, {
|
|
77
76
|
href: string;
|
|
77
|
+
title: string;
|
|
78
78
|
}>>;
|
|
79
79
|
keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
80
80
|
logo: z.ZodOptional<z.ZodObject<{
|
package/lib/base.js
CHANGED
|
@@ -3,13 +3,13 @@ import { execaCommand } from "execa";
|
|
|
3
3
|
import gitRemoteOriginUrl from "git-remote-origin-url";
|
|
4
4
|
import gitUrlParse from "git-url-parse";
|
|
5
5
|
import { inputFromFile } from "input-from-file";
|
|
6
|
-
import { inputFromFileJSON } from "input-from-file-json";
|
|
7
6
|
import { inputFromScript } from "input-from-script";
|
|
8
7
|
import lazyValue from "lazy-value";
|
|
9
8
|
import npmUser from "npm-user";
|
|
10
9
|
import { z } from "zod";
|
|
11
10
|
import { inputFromOctokit } from "./inputs/inputFromOctokit.js";
|
|
12
11
|
import { parsePackageAuthor } from "./options/parsePackageAuthor.js";
|
|
12
|
+
import { readAllContributors } from "./options/readAllContributors.js";
|
|
13
13
|
import { readDefaultsFromReadme } from "./options/readDefaultsFromReadme.js";
|
|
14
14
|
import { readDescription } from "./options/readDescription.js";
|
|
15
15
|
import { readDocumentation } from "./options/readDocumentation.js";
|
|
@@ -81,12 +81,7 @@ const base = createBase({
|
|
|
81
81
|
version: z.string().optional().describe("package version to publish as and store in `package.json`")
|
|
82
82
|
},
|
|
83
83
|
prepare({ options, take }) {
|
|
84
|
-
const allContributors = lazyValue(async () =>
|
|
85
|
-
const contributions = await take(inputFromFileJSON, {
|
|
86
|
-
filePath: ".all-contributorsrc"
|
|
87
|
-
});
|
|
88
|
-
return contributions.contributors;
|
|
89
|
-
});
|
|
84
|
+
const allContributors = lazyValue(async () => readAllContributors(take));
|
|
90
85
|
const documentation = lazyValue(async () => readDocumentation(take));
|
|
91
86
|
const nvmrc = lazyValue(
|
|
92
87
|
async () => await take(inputFromFile, {
|
|
@@ -141,6 +136,7 @@ const base = createBase({
|
|
|
141
136
|
const repository = lazyValue(
|
|
142
137
|
async () => options.repository ?? (await gitDefaults())?.name ?? (await packageData()).name ?? options.directory
|
|
143
138
|
);
|
|
139
|
+
const email = lazyValue(async () => readEmails(npmDefaults, packageAuthor));
|
|
144
140
|
return {
|
|
145
141
|
access: "public",
|
|
146
142
|
author,
|
|
@@ -148,7 +144,7 @@ const base = createBase({
|
|
|
148
144
|
contributors: allContributors,
|
|
149
145
|
description: async () => await readDescription(packageData, readme),
|
|
150
146
|
documentation,
|
|
151
|
-
email
|
|
147
|
+
email,
|
|
152
148
|
funding: readFunding,
|
|
153
149
|
guide: readGuide,
|
|
154
150
|
login: author,
|
package/lib/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/base.ts"],"sourcesContent":["import { BaseOptionsFor, createBase } from \"bingo-stratum\";\nimport { execaCommand } from \"execa\";\nimport gitRemoteOriginUrl from \"git-remote-origin-url\";\nimport gitUrlParse from \"git-url-parse\";\nimport { inputFromFile } from \"input-from-file\";\nimport { inputFromFileJSON } from \"input-from-file-json\";\nimport { inputFromScript } from \"input-from-script\";\nimport lazyValue from \"lazy-value\";\nimport npmUser from \"npm-user\";\nimport { z } from \"zod\";\n\nimport { inputFromOctokit } from \"./inputs/inputFromOctokit.js\";\nimport { parsePackageAuthor } from \"./options/parsePackageAuthor.js\";\nimport { readDefaultsFromReadme } from \"./options/readDefaultsFromReadme.js\";\nimport { readDescription } from \"./options/readDescription.js\";\nimport { readDocumentation } from \"./options/readDocumentation.js\";\nimport { readEmails } from \"./options/readEmails.js\";\nimport { readFileSafe } from \"./options/readFileSafe.js\";\nimport { readFunding } from \"./options/readFunding.js\";\nimport { readGuide } from \"./options/readGuide.js\";\nimport { readPackageData } from \"./options/readPackageData.js\";\nimport { AllContributorsData } from \"./types.js\";\nimport { swallowError } from \"./utils/swallowError.js\";\nimport { tryCatchLazyValueAsync } from \"./utils/tryCatchLazyValueAsync.js\";\n\nconst zContributor = z.object({\n\tavatar_url: z.string(),\n\tcontributions: z.array(z.string()),\n\tlogin: z.string(),\n\tname: z.string(),\n\tprofile: z.string(),\n});\n\nexport type Contributor = z.infer<typeof zContributor>;\n\nexport const base = createBase({\n\toptions: {\n\t\taccess: z\n\t\t\t.union([z.literal(\"public\"), z.literal(\"restricted\")])\n\t\t\t.describe(\"which `npm publish --access` to release npm packages with\"),\n\t\tauthor: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"username on npm to publish packages under\"),\n\t\tbin: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe('value to set in `package.json`\\'s `\"bin\"` property'),\n\t\tcontributors: z\n\t\t\t.array(zContributor)\n\t\t\t.optional()\n\t\t\t.describe(\"AllContributors contributors to store in .all-contributorsrc\"),\n\t\tdescription: z\n\t\t\t.string()\n\t\t\t.default(\"A very lovely package. Hooray! 💖\")\n\t\t\t.describe(\"'Sentence case.' description of the repository\"),\n\t\tdirectory: z.string().describe(\"Directory to create the repository in\"),\n\t\tdocumentation: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"any additional docs to add to .github/DEVELOPMENT.md\"),\n\t\temail: z\n\t\t\t.union([\n\t\t\t\tz.string(),\n\t\t\t\tz.object({\n\t\t\t\t\tgithub: z.string(),\n\t\t\t\t\tnpm: z.string(),\n\t\t\t\t}),\n\t\t\t])\n\t\t\t.transform((email) =>\n\t\t\t\ttypeof email === \"string\" ? { github: email, npm: email } : email,\n\t\t\t)\n\t\t\t.describe(\n\t\t\t\t\"email address to be listed as the point of contact in docs and packages\",\n\t\t\t),\n\t\texplainer: z\n\t\t\t.array(z.string())\n\t\t\t.optional()\n\t\t\t.describe(\"additional README.md sentence(s) describing the package\"),\n\t\tfunding: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"GitHub organization or username to mention in `funding.yml`\"),\n\t\tguide: z\n\t\t\t.object({\n\t\t\t\thref: z.string(),\n\t\t\t\ttitle: z.string(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\n\t\t\t\t\"link to a contribution guide to place at the top of development docs\",\n\t\t\t),\n\t\tkeywords: z\n\t\t\t.array(z.string())\n\t\t\t.optional()\n\t\t\t.describe(\"any number of keywords to include in `package.json`\"),\n\t\tlogo: z\n\t\t\t.object({\n\t\t\t\talt: z.string(),\n\t\t\t\theight: z.number().optional(),\n\t\t\t\tsrc: z.string(),\n\t\t\t\twidth: z.number().optional(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\n\t\t\t\t\"local image file in the repository to display near the top of the README.md\",\n\t\t\t),\n\t\tnode: z\n\t\t\t.object({\n\t\t\t\tminimum: z.string(),\n\t\t\t\tpinned: z.string().optional(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\"node.js engine version(s) to pin and require a minimum of\"),\n\t\towner: z\n\t\t\t.string()\n\t\t\t.describe(\"GitHub organization or user the repository is underneath\"),\n\t\tpackageData: z\n\t\t\t.object({\n\t\t\t\tdependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\tdevDependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\tscripts: z.record(z.string(), z.string()).optional(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\"additional properties to include in `package.json`\"),\n\t\trepository: z\n\t\t\t.string()\n\t\t\t.describe(\"'kebab-case' or 'PascalCase' title of the repository\"),\n\t\trulesetId: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"GitHub branch ruleset ID for main branch protections\"),\n\t\ttitle: z.string().describe(\"'Title Case' title for the repository\"),\n\t\tusage: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"markdown docs to put in README.md under the ## Usage heading\"),\n\t\tversion: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"package version to publish as and store in `package.json`\"),\n\t},\n\tprepare({ options, take }) {\n\t\tconst allContributors = lazyValue(async () => {\n\t\t\tconst contributions = (await take(inputFromFileJSON, {\n\t\t\t\tfilePath: \".all-contributorsrc\",\n\t\t\t})) as AllContributorsData;\n\n\t\t\treturn contributions.contributors;\n\t\t});\n\n\t\tconst documentation = lazyValue(async () => readDocumentation(take));\n\n\t\tconst nvmrc = lazyValue(\n\t\t\tasync () =>\n\t\t\t\tawait take(inputFromFile, {\n\t\t\t\t\tfilePath: \".nvmrc\",\n\t\t\t\t}),\n\t\t);\n\n\t\tconst githubCliUser = lazyValue(async () => {\n\t\t\treturn swallowError(\n\t\t\t\tawait take(inputFromScript, {\n\t\t\t\t\tcommand: \"gh config get user -h github.com\",\n\t\t\t\t}),\n\t\t\t)?.stdout?.toString();\n\t\t});\n\n\t\tconst readme = lazyValue(async () => await readFileSafe(\"README.md\", \"\"));\n\n\t\tconst rulesetId = lazyValue(async () => {\n\t\t\tconst rulesets = (await take(inputFromOctokit, {\n\t\t\t\tendpoint: \"GET /repos/{owner}/{repo}/rulesets\",\n\t\t\t\toptions: {\n\t\t\t\t\towner: await owner(),\n\t\t\t\t\trepo: await repository(),\n\t\t\t\t},\n\t\t\t})) as undefined | { id: string; name: string }[];\n\n\t\t\treturn rulesets?.find(\n\t\t\t\t(ruleset) => ruleset.name === \"Branch protection for main\",\n\t\t\t)?.id;\n\t\t});\n\n\t\t// TODO: Make these all use take\n\n\t\tconst gitDefaults = tryCatchLazyValueAsync(async () =>\n\t\t\tgitUrlParse(await gitRemoteOriginUrl()),\n\t\t);\n\n\t\tconst npmDefaults = tryCatchLazyValueAsync(async () => {\n\t\t\tconst whoami = (await execaCommand(`npm whoami`)).stdout;\n\t\t\treturn whoami ? await npmUser(whoami) : undefined;\n\t\t});\n\n\t\tconst packageData = lazyValue(readPackageData);\n\t\tconst packageAuthor = lazyValue(async () =>\n\t\t\tparsePackageAuthor(await packageData()),\n\t\t);\n\n\t\tconst author = lazyValue(\n\t\t\tasync () =>\n\t\t\t\t(await packageAuthor()).author ??\n\t\t\t\t(await npmDefaults())?.name ??\n\t\t\t\toptions.owner,\n\t\t);\n\n\t\tconst node = lazyValue(async () => {\n\t\t\tconst { engines } = await packageData();\n\n\t\t\treturn {\n\t\t\t\tminimum:\n\t\t\t\t\t(engines?.node && /[\\d+.]+/.exec(engines.node))?.[0] ?? \"18.3.0\",\n\t\t\t\tpinned: swallowError(await nvmrc())?.trim() ?? \"20.18.0\",\n\t\t\t};\n\t\t});\n\n\t\tconst version = lazyValue(async () => (await packageData()).version);\n\n\t\tconst owner = lazyValue(\n\t\t\tasync () =>\n\t\t\t\t(await gitDefaults())?.organization ??\n\t\t\t\t(await packageAuthor()).author ??\n\t\t\t\t(await githubCliUser()),\n\t\t);\n\n\t\tconst repository = lazyValue(\n\t\t\tasync () =>\n\t\t\t\toptions.repository ??\n\t\t\t\t(await gitDefaults())?.name ??\n\t\t\t\t(await packageData()).name ??\n\t\t\t\toptions.directory,\n\t\t);\n\n\t\treturn {\n\t\t\taccess: \"public\" as const,\n\t\t\tauthor,\n\t\t\tbin: async () => (await packageData()).bin,\n\t\t\tcontributors: allContributors,\n\t\t\tdescription: async () => await readDescription(packageData, readme),\n\t\t\tdocumentation,\n\t\t\temail: async () => readEmails(npmDefaults, packageAuthor),\n\t\t\tfunding: readFunding,\n\t\t\tguide: readGuide,\n\t\t\tlogin: author,\n\t\t\tnode,\n\t\t\towner,\n\t\t\tpackageData: async () => {\n\t\t\t\tconst original = await packageData();\n\n\t\t\t\treturn {\n\t\t\t\t\tdependencies: original.dependencies,\n\t\t\t\t\tdevDependencies: original.devDependencies,\n\t\t\t\t\tscripts: original.scripts,\n\t\t\t\t};\n\t\t\t},\n\t\t\trepository,\n\t\t\trulesetId,\n\t\t\t...readDefaultsFromReadme(readme, repository),\n\t\t\tversion,\n\t\t};\n\t},\n});\n\nexport type BaseOptions = BaseOptionsFor<typeof base>;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/base.ts"],"sourcesContent":["import { BaseOptionsFor, createBase } from \"bingo-stratum\";\nimport { execaCommand } from \"execa\";\nimport gitRemoteOriginUrl from \"git-remote-origin-url\";\nimport gitUrlParse from \"git-url-parse\";\nimport { inputFromFile } from \"input-from-file\";\nimport { inputFromScript } from \"input-from-script\";\nimport lazyValue from \"lazy-value\";\nimport npmUser from \"npm-user\";\nimport { z } from \"zod\";\n\nimport { inputFromOctokit } from \"./inputs/inputFromOctokit.js\";\nimport { parsePackageAuthor } from \"./options/parsePackageAuthor.js\";\nimport { readAllContributors } from \"./options/readAllContributors.js\";\nimport { readDefaultsFromReadme } from \"./options/readDefaultsFromReadme.js\";\nimport { readDescription } from \"./options/readDescription.js\";\nimport { readDocumentation } from \"./options/readDocumentation.js\";\nimport { readEmails } from \"./options/readEmails.js\";\nimport { readFileSafe } from \"./options/readFileSafe.js\";\nimport { readFunding } from \"./options/readFunding.js\";\nimport { readGuide } from \"./options/readGuide.js\";\nimport { readPackageData } from \"./options/readPackageData.js\";\nimport { swallowError } from \"./utils/swallowError.js\";\nimport { tryCatchLazyValueAsync } from \"./utils/tryCatchLazyValueAsync.js\";\n\nconst zContributor = z.object({\n\tavatar_url: z.string(),\n\tcontributions: z.array(z.string()),\n\tlogin: z.string(),\n\tname: z.string(),\n\tprofile: z.string(),\n});\n\nexport type Contributor = z.infer<typeof zContributor>;\n\nexport const base = createBase({\n\toptions: {\n\t\taccess: z\n\t\t\t.union([z.literal(\"public\"), z.literal(\"restricted\")])\n\t\t\t.describe(\"which `npm publish --access` to release npm packages with\"),\n\t\tauthor: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"username on npm to publish packages under\"),\n\t\tbin: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe('value to set in `package.json`\\'s `\"bin\"` property'),\n\t\tcontributors: z\n\t\t\t.array(zContributor)\n\t\t\t.optional()\n\t\t\t.describe(\"AllContributors contributors to store in .all-contributorsrc\"),\n\t\tdescription: z\n\t\t\t.string()\n\t\t\t.default(\"A very lovely package. Hooray! 💖\")\n\t\t\t.describe(\"'Sentence case.' description of the repository\"),\n\t\tdirectory: z.string().describe(\"Directory to create the repository in\"),\n\t\tdocumentation: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"any additional docs to add to .github/DEVELOPMENT.md\"),\n\t\temail: z\n\t\t\t.union([\n\t\t\t\tz.string(),\n\t\t\t\tz.object({\n\t\t\t\t\tgithub: z.string(),\n\t\t\t\t\tnpm: z.string(),\n\t\t\t\t}),\n\t\t\t])\n\t\t\t.transform((email) =>\n\t\t\t\ttypeof email === \"string\" ? { github: email, npm: email } : email,\n\t\t\t)\n\t\t\t.describe(\n\t\t\t\t\"email address to be listed as the point of contact in docs and packages\",\n\t\t\t),\n\t\texplainer: z\n\t\t\t.array(z.string())\n\t\t\t.optional()\n\t\t\t.describe(\"additional README.md sentence(s) describing the package\"),\n\t\tfunding: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"GitHub organization or username to mention in `funding.yml`\"),\n\t\tguide: z\n\t\t\t.object({\n\t\t\t\thref: z.string(),\n\t\t\t\ttitle: z.string(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\n\t\t\t\t\"link to a contribution guide to place at the top of development docs\",\n\t\t\t),\n\t\tkeywords: z\n\t\t\t.array(z.string())\n\t\t\t.optional()\n\t\t\t.describe(\"any number of keywords to include in `package.json`\"),\n\t\tlogo: z\n\t\t\t.object({\n\t\t\t\talt: z.string(),\n\t\t\t\theight: z.number().optional(),\n\t\t\t\tsrc: z.string(),\n\t\t\t\twidth: z.number().optional(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\n\t\t\t\t\"local image file in the repository to display near the top of the README.md\",\n\t\t\t),\n\t\tnode: z\n\t\t\t.object({\n\t\t\t\tminimum: z.string(),\n\t\t\t\tpinned: z.string().optional(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\"node.js engine version(s) to pin and require a minimum of\"),\n\t\towner: z\n\t\t\t.string()\n\t\t\t.describe(\"GitHub organization or user the repository is underneath\"),\n\t\tpackageData: z\n\t\t\t.object({\n\t\t\t\tdependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\tdevDependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\tscripts: z.record(z.string(), z.string()).optional(),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\"additional properties to include in `package.json`\"),\n\t\trepository: z\n\t\t\t.string()\n\t\t\t.describe(\"'kebab-case' or 'PascalCase' title of the repository\"),\n\t\trulesetId: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"GitHub branch ruleset ID for main branch protections\"),\n\t\ttitle: z.string().describe(\"'Title Case' title for the repository\"),\n\t\tusage: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"markdown docs to put in README.md under the ## Usage heading\"),\n\t\tversion: z\n\t\t\t.string()\n\t\t\t.optional()\n\t\t\t.describe(\"package version to publish as and store in `package.json`\"),\n\t},\n\tprepare({ options, take }) {\n\t\tconst allContributors = lazyValue(async () => readAllContributors(take));\n\t\tconst documentation = lazyValue(async () => readDocumentation(take));\n\n\t\tconst nvmrc = lazyValue(\n\t\t\tasync () =>\n\t\t\t\tawait take(inputFromFile, {\n\t\t\t\t\tfilePath: \".nvmrc\",\n\t\t\t\t}),\n\t\t);\n\n\t\tconst githubCliUser = lazyValue(async () => {\n\t\t\treturn swallowError(\n\t\t\t\tawait take(inputFromScript, {\n\t\t\t\t\tcommand: \"gh config get user -h github.com\",\n\t\t\t\t}),\n\t\t\t)?.stdout?.toString();\n\t\t});\n\n\t\tconst readme = lazyValue(async () => await readFileSafe(\"README.md\", \"\"));\n\n\t\tconst rulesetId = lazyValue(async () => {\n\t\t\tconst rulesets = (await take(inputFromOctokit, {\n\t\t\t\tendpoint: \"GET /repos/{owner}/{repo}/rulesets\",\n\t\t\t\toptions: {\n\t\t\t\t\towner: await owner(),\n\t\t\t\t\trepo: await repository(),\n\t\t\t\t},\n\t\t\t})) as undefined | { id: string; name: string }[];\n\n\t\t\treturn rulesets?.find(\n\t\t\t\t(ruleset) => ruleset.name === \"Branch protection for main\",\n\t\t\t)?.id;\n\t\t});\n\n\t\t// TODO: Make these all use take\n\n\t\tconst gitDefaults = tryCatchLazyValueAsync(async () =>\n\t\t\tgitUrlParse(await gitRemoteOriginUrl()),\n\t\t);\n\n\t\tconst npmDefaults = tryCatchLazyValueAsync(async () => {\n\t\t\tconst whoami = (await execaCommand(`npm whoami`)).stdout;\n\t\t\treturn whoami ? await npmUser(whoami) : undefined;\n\t\t});\n\n\t\tconst packageData = lazyValue(readPackageData);\n\t\tconst packageAuthor = lazyValue(async () =>\n\t\t\tparsePackageAuthor(await packageData()),\n\t\t);\n\n\t\tconst author = lazyValue(\n\t\t\tasync () =>\n\t\t\t\t(await packageAuthor()).author ??\n\t\t\t\t(await npmDefaults())?.name ??\n\t\t\t\toptions.owner,\n\t\t);\n\n\t\tconst node = lazyValue(async () => {\n\t\t\tconst { engines } = await packageData();\n\n\t\t\treturn {\n\t\t\t\tminimum:\n\t\t\t\t\t(engines?.node && /[\\d+.]+/.exec(engines.node))?.[0] ?? \"18.3.0\",\n\t\t\t\tpinned: swallowError(await nvmrc())?.trim() ?? \"20.18.0\",\n\t\t\t};\n\t\t});\n\n\t\tconst version = lazyValue(async () => (await packageData()).version);\n\n\t\tconst owner = lazyValue(\n\t\t\tasync () =>\n\t\t\t\t(await gitDefaults())?.organization ??\n\t\t\t\t(await packageAuthor()).author ??\n\t\t\t\t(await githubCliUser()),\n\t\t);\n\n\t\tconst repository = lazyValue(\n\t\t\tasync () =>\n\t\t\t\toptions.repository ??\n\t\t\t\t(await gitDefaults())?.name ??\n\t\t\t\t(await packageData()).name ??\n\t\t\t\toptions.directory,\n\t\t);\n\n\t\tconst email = lazyValue(async () => readEmails(npmDefaults, packageAuthor));\n\n\t\treturn {\n\t\t\taccess: \"public\" as const,\n\t\t\tauthor,\n\t\t\tbin: async () => (await packageData()).bin,\n\t\t\tcontributors: allContributors,\n\t\t\tdescription: async () => await readDescription(packageData, readme),\n\t\t\tdocumentation,\n\t\t\temail,\n\t\t\tfunding: readFunding,\n\t\t\tguide: readGuide,\n\t\t\tlogin: author,\n\t\t\tnode,\n\t\t\towner,\n\t\t\tpackageData: async () => {\n\t\t\t\tconst original = await packageData();\n\n\t\t\t\treturn {\n\t\t\t\t\tdependencies: original.dependencies,\n\t\t\t\t\tdevDependencies: original.devDependencies,\n\t\t\t\t\tscripts: original.scripts,\n\t\t\t\t};\n\t\t\t},\n\t\t\trepository,\n\t\t\trulesetId,\n\t\t\t...readDefaultsFromReadme(readme, repository),\n\t\t\tversion,\n\t\t};\n\t},\n});\n\nexport type BaseOptions = BaseOptionsFor<typeof base>;\n"],"mappings":"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","names":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _ from "lodash";
|
|
2
2
|
import { base } from "../base.js";
|
|
3
|
+
import { ownerContributions } from "../data/contributions.js";
|
|
3
4
|
import { blockREADME } from "./blockREADME.js";
|
|
4
5
|
import { blockRepositorySecrets } from "./blockRepositorySecrets.js";
|
|
5
6
|
import { createSoloWorkflowFile } from "./files/createSoloWorkflowFile.js";
|
|
@@ -63,7 +64,7 @@ const blockAllContributors = base.createBlock({
|
|
|
63
64
|
scripts: [
|
|
64
65
|
{
|
|
65
66
|
commands: [
|
|
66
|
-
`pnpx all-contributors-cli add ${options.owner}
|
|
67
|
+
`pnpx all-contributors-cli add ${options.owner} ${ownerContributions.join(",")}`
|
|
67
68
|
],
|
|
68
69
|
phase: CommandPhase.Process
|
|
69
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/blocks/blockAllContributors.ts"],"sourcesContent":["import _ from \"lodash\";\n\nimport { base, Contributor } from \"../base.js\";\nimport { blockREADME } from \"./blockREADME.js\";\nimport { blockRepositorySecrets } from \"./blockRepositorySecrets.js\";\nimport { createSoloWorkflowFile } from \"./files/createSoloWorkflowFile.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockAllContributors = base.createBlock({\n\tabout: {\n\t\tname: \"AllContributors\",\n\t},\n\tproduce({ options }) {\n\t\tconst contributions = options.contributors?.length;\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockREADME({\n\t\t\t\t\tbadges: [\n\t\t\t\t\t\t`<!-- prettier-ignore-start -->\n\\t<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n\\t<a href=\"#contributors\" target=\"_blank\"><img alt=\"👪 All Contributors: ${contributions}\" src=\"https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-${contributions}-21bb42.svg\" /></a>\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n\\t<!-- prettier-ignore-end -->`,\n\t\t\t\t\t],\n\t\t\t\t\tsections: options.contributors\n\t\t\t\t\t\t? [printAllContributorsTable(options.contributors)]\n\t\t\t\t\t\t: undefined,\n\t\t\t\t}),\n\t\t\t\tblockRepositorySecrets({\n\t\t\t\t\tsecrets: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdescription: \"a GitHub PAT with repo and workflow permissions\",\n\t\t\t\t\t\t\tname: \"ACCESS_TOKEN\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t],\n\t\t\tfiles: {\n\t\t\t\t\".all-contributorsrc\": JSON.stringify({\n\t\t\t\t\tbadgeTemplate:\n\t\t\t\t\t\t'\t<a href=\"#contributors\" target=\"_blank\"><img alt=\"👪 All Contributors: <%= contributors.length %>\" src=\"https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-<%= contributors.length %>-21bb42.svg\" /></a>',\n\t\t\t\t\tcontributors: options.contributors ?? [],\n\t\t\t\t\tcontributorsSortAlphabetically: true,\n\t\t\t\t\tprojectName: options.repository,\n\t\t\t\t\tprojectOwner: options.owner,\n\t\t\t\t}),\n\t\t\t\t\".github\": {\n\t\t\t\t\tworkflows: {\n\t\t\t\t\t\t\"contributors.yml\": createSoloWorkflowFile({\n\t\t\t\t\t\t\tname: \"Contributors\",\n\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\tpush: {\n\t\t\t\t\t\t\t\t\tbranches: [\"main\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t{ uses: \"actions/checkout@v4\", with: { \"fetch-depth\": 0 } },\n\t\t\t\t\t\t\t\t{ uses: \"./.github/actions/prepare\" },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tenv: { GITHUB_TOKEN: \"${{ secrets.ACCESS_TOKEN }}\" },\n\t\t\t\t\t\t\t\t\tuses: `JoshuaKGoldberg/all-contributors-auto-action@v0.5.0`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\n\t\t\t\t\t\t`pnpx all-contributors-cli add ${options.owner}
|
|
1
|
+
{"version":3,"sources":["../../src/blocks/blockAllContributors.ts"],"sourcesContent":["import _ from \"lodash\";\n\nimport { base, Contributor } from \"../base.js\";\nimport { ownerContributions } from \"../data/contributions.js\";\nimport { blockREADME } from \"./blockREADME.js\";\nimport { blockRepositorySecrets } from \"./blockRepositorySecrets.js\";\nimport { createSoloWorkflowFile } from \"./files/createSoloWorkflowFile.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockAllContributors = base.createBlock({\n\tabout: {\n\t\tname: \"AllContributors\",\n\t},\n\tproduce({ options }) {\n\t\tconst contributions = options.contributors?.length;\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockREADME({\n\t\t\t\t\tbadges: [\n\t\t\t\t\t\t`<!-- prettier-ignore-start -->\n\\t<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n\\t<a href=\"#contributors\" target=\"_blank\"><img alt=\"👪 All Contributors: ${contributions}\" src=\"https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-${contributions}-21bb42.svg\" /></a>\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n\\t<!-- prettier-ignore-end -->`,\n\t\t\t\t\t],\n\t\t\t\t\tsections: options.contributors\n\t\t\t\t\t\t? [printAllContributorsTable(options.contributors)]\n\t\t\t\t\t\t: undefined,\n\t\t\t\t}),\n\t\t\t\tblockRepositorySecrets({\n\t\t\t\t\tsecrets: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdescription: \"a GitHub PAT with repo and workflow permissions\",\n\t\t\t\t\t\t\tname: \"ACCESS_TOKEN\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t],\n\t\t\tfiles: {\n\t\t\t\t\".all-contributorsrc\": JSON.stringify({\n\t\t\t\t\tbadgeTemplate:\n\t\t\t\t\t\t'\t<a href=\"#contributors\" target=\"_blank\"><img alt=\"👪 All Contributors: <%= contributors.length %>\" src=\"https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-<%= contributors.length %>-21bb42.svg\" /></a>',\n\t\t\t\t\tcontributors: options.contributors ?? [],\n\t\t\t\t\tcontributorsSortAlphabetically: true,\n\t\t\t\t\tprojectName: options.repository,\n\t\t\t\t\tprojectOwner: options.owner,\n\t\t\t\t}),\n\t\t\t\t\".github\": {\n\t\t\t\t\tworkflows: {\n\t\t\t\t\t\t\"contributors.yml\": createSoloWorkflowFile({\n\t\t\t\t\t\t\tname: \"Contributors\",\n\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\tpush: {\n\t\t\t\t\t\t\t\t\tbranches: [\"main\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t{ uses: \"actions/checkout@v4\", with: { \"fetch-depth\": 0 } },\n\t\t\t\t\t\t\t\t{ uses: \"./.github/actions/prepare\" },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tenv: { GITHUB_TOKEN: \"${{ secrets.ACCESS_TOKEN }}\" },\n\t\t\t\t\t\t\t\t\tuses: `JoshuaKGoldberg/all-contributors-auto-action@v0.5.0`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\n\t\t\t\t\t\t`pnpx all-contributors-cli add ${options.owner} ${ownerContributions.join(\",\")}`,\n\t\t\t\t\t],\n\t\t\t\t\tphase: CommandPhase.Process,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n});\n\nfunction printAllContributorsTable(contributors: Contributor[]) {\n\treturn [\n\t\t`## Contributors`,\n\t\t``,\n\t\t`<!-- spellchecker: disable -->`,\n\t\t`<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->`,\n\t\t`<!-- prettier-ignore-start -->`,\n\t\t`<!-- markdownlint-disable -->`,\n\t\t`<table>`,\n\t\t` <tbody>`,\n\t\t` <tr>`,\n\t\t// This intentionally uses the same sort as all-contributors-cli:\n\t\t// https://github.com/all-contributors/cli/blob/74bc388bd6f0ae2658e6495e9d3781d737438a97/src/generate/index.js#L76\n\t\t..._.sortBy(contributors, \"name\").flatMap((contributor, i) => {\n\t\t\tconst row = printContributorCell(contributor);\n\n\t\t\treturn i && i % 7 === 0 ? [` </tr>`, ` <tr>`, row] : [row];\n\t\t}),\n\t\t` </tr>`,\n\t\t` </tbody>`,\n\t\t`</table>`,\n\t\t``,\n\t\t`<!-- markdownlint-restore -->`,\n\t\t`<!-- prettier-ignore-end -->`,\n\t\t``,\n\t\t`<!-- ALL-CONTRIBUTORS-LIST:END -->`,\n\t\t`<!-- spellchecker: enable -->`,\n\t].join(\"\\n\");\n}\n\nfunction printContributorCell(contributor: Contributor) {\n\treturn [\n\t\t` <td align=\"center\" valign=\"top\" width=\"14.28%\">`,\n\t\t`<a href=\"${contributor.profile}\">`,\n\t\t`<img src=\"${contributor.avatar_url}?s=100\" width=\"100px;\" alt=\"${contributor.name}\"/>`,\n\t\t`<br />`,\n\t\t`<sub><b>${contributor.name}</b></sub></a><br />`,\n\t\tcontributor.contributions\n\t\t\t.map((contribution) => {\n\t\t\t\tswitch (contribution) {\n\t\t\t\t\tcase \"bug\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=author%3A${contributor.login}\" title=\"Bug reports\">🐛</a>`;\n\t\t\t\t\tcase \"code\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=${contributor.login}\" title=\"Code\">💻</a>`;\n\t\t\t\t\tcase \"design\":\n\t\t\t\t\t\treturn `<a href=\"#design-${contributor.login}\" title=\"Design\">🎨</a>`;\n\t\t\t\t\tcase \"doc\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=${contributor.login}\" title=\"Documentation\">📖</a>`;\n\t\t\t\t\tcase \"ideas\":\n\t\t\t\t\t\treturn `<a href=\"#ideas-${contributor.login}\" title=\"Ideas, Planning, & Feedback\">🤔</a>`;\n\t\t\t\t\tcase \"infra\":\n\t\t\t\t\t\treturn `<a href=\"#infra-${contributor.login}\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">🚇</a>`;\n\t\t\t\t\tcase \"maintenance\":\n\t\t\t\t\t\treturn `<a href=\"#maintenance-${contributor.login}\" title=\"Maintenance\">🚧</a>`;\n\t\t\t\t\tcase \"review\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/pulls?q=is%3Apr+reviewed-by%3A${contributor.login}\" title=\"Reviewed Pull Requests\">👀</a>`;\n\t\t\t\t\tcase \"test\":\n\t\t\t\t\t\treturn `<a href=\"https://github.com/JoshuaKGoldberg/create-typescript-app/commits?author=${contributor.login}\" title=\"Tests\">⚠️</a>`;\n\t\t\t\t\tcase \"tool\":\n\t\t\t\t\t\treturn `<a href=\"#tool-${contributor.login}\" title=\"Tools\">🔧</a>`;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.join(\" \"),\n\t\t`</td>`,\n\t].join(\"\");\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/data/contributions.ts"],"sourcesContent":["export const ownerContributions = [\n\t\"code\",\n\t\"content\",\n\t\"doc\",\n\t\"ideas\",\n\t\"infra\",\n\t\"maintenance\",\n\t\"projectManagement\",\n\t\"tool\",\n];\n"],"mappings":"AAAO,MAAM,qBAAqB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var name = "create-typescript-app";
|
|
2
|
-
var version = "2.0.0-beta.
|
|
2
|
+
var version = "2.0.0-beta.26";
|
|
3
3
|
var description = "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁";
|
|
4
4
|
var repository = {
|
|
5
5
|
type: "git",
|
|
@@ -35,7 +35,7 @@ var scripts = {
|
|
|
35
35
|
var dependencies = {
|
|
36
36
|
bingo: "^0.5.3",
|
|
37
37
|
"bingo-fs": "^0.5.3",
|
|
38
|
-
"bingo-stratum": "^0.5.
|
|
38
|
+
"bingo-stratum": "^0.5.4",
|
|
39
39
|
"cspell-populate-words": "^0.3.0",
|
|
40
40
|
execa: "^9.5.2",
|
|
41
41
|
"git-remote-origin-url": "^4.0.0",
|
|
@@ -3,7 +3,7 @@ import { z } from 'zod';
|
|
|
3
3
|
|
|
4
4
|
declare const inputFromOctokit: bingo.InputWithArgs<Promise<unknown>, {
|
|
5
5
|
endpoint: z.ZodString;
|
|
6
|
-
options: z.ZodRecord<z.ZodString, z.ZodUnknown
|
|
6
|
+
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
7
7
|
}>;
|
|
8
8
|
|
|
9
9
|
export { inputFromOctokit };
|
|
@@ -3,7 +3,7 @@ import { z } from "zod";
|
|
|
3
3
|
const inputFromOctokit = createInput({
|
|
4
4
|
args: {
|
|
5
5
|
endpoint: z.string(),
|
|
6
|
-
options: z.record(z.string(), z.unknown())
|
|
6
|
+
options: z.record(z.string(), z.unknown()).optional()
|
|
7
7
|
},
|
|
8
8
|
// TODO: Strongly type this, then push it upstream to Bingo
|
|
9
9
|
// This will require smart types around GitHub endpoints, similar to:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/inputs/inputFromOctokit.ts"],"sourcesContent":["import { createInput } from \"bingo\";\nimport { z } from \"zod\";\n\nexport const inputFromOctokit = createInput({\n\targs: {\n\t\tendpoint: z.string(),\n\t\toptions: z.record(z.string(), z.unknown()),\n\t},\n\t// TODO: Strongly type this, then push it upstream to Bingo\n\t// This will require smart types around GitHub endpoints, similar to:\n\t// https://github.com/JoshuaKGoldberg/bingo/issues/65\n\tasync produce({ args, fetchers }): Promise<unknown> {\n\t\ttry {\n\t\t\tconst response = await fetchers.octokit.request(args.endpoint, {\n\t\t\t\theaders: {\n\t\t\t\t\t\"X-GitHub-Api-Version\": \"2022-11-28\",\n\t\t\t\t},\n\t\t\t\t...args.options,\n\t\t\t});\n\n\t\t\treturn response.data;\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t},\n});\n"],"mappings":"AAAA,SAAS,mBAAmB;AAC5B,SAAS,SAAS;AAEX,MAAM,mBAAmB,YAAY;AAAA,EAC3C,MAAM;AAAA,IACL,UAAU,EAAE,OAAO;AAAA,IACnB,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../src/inputs/inputFromOctokit.ts"],"sourcesContent":["import { createInput } from \"bingo\";\nimport { z } from \"zod\";\n\nexport const inputFromOctokit = createInput({\n\targs: {\n\t\tendpoint: z.string(),\n\t\toptions: z.record(z.string(), z.unknown()).optional(),\n\t},\n\t// TODO: Strongly type this, then push it upstream to Bingo\n\t// This will require smart types around GitHub endpoints, similar to:\n\t// https://github.com/JoshuaKGoldberg/bingo/issues/65\n\tasync produce({ args, fetchers }): Promise<unknown> {\n\t\ttry {\n\t\t\tconst response = await fetchers.octokit.request(args.endpoint, {\n\t\t\t\theaders: {\n\t\t\t\t\t\"X-GitHub-Api-Version\": \"2022-11-28\",\n\t\t\t\t},\n\t\t\t\t...args.options,\n\t\t\t});\n\n\t\t\treturn response.data;\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t},\n});\n"],"mappings":"AAAA,SAAS,mBAAmB;AAC5B,SAAS,SAAS;AAEX,MAAM,mBAAmB,YAAY;AAAA,EAC3C,MAAM;AAAA,IACL,UAAU,EAAE,OAAO;AAAA,IACnB,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,EAAE,SAAS;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA,EAIA,MAAM,QAAQ,EAAE,MAAM,SAAS,GAAqB;AACnD,QAAI;AACH,YAAM,WAAW,MAAM,SAAS,QAAQ,QAAQ,KAAK,UAAU;AAAA,QAC9D,SAAS;AAAA,UACR,wBAAwB;AAAA,QACzB;AAAA,QACA,GAAG,KAAK;AAAA,MACT,CAAC;AAED,aAAO,SAAS;AAAA,IACjB,QAAQ;AACP,aAAO;AAAA,IACR;AAAA,EACD;AACD,CAAC;","names":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { inputFromFileJSON } from "input-from-file-json";
|
|
2
|
+
import { ownerContributions } from "../data/contributions.js";
|
|
3
|
+
import { inputFromOctokit } from "../inputs/inputFromOctokit.js";
|
|
4
|
+
async function readAllContributors(take) {
|
|
5
|
+
const contributions = await take(inputFromFileJSON, {
|
|
6
|
+
filePath: ".all-contributorsrc"
|
|
7
|
+
});
|
|
8
|
+
if (!(contributions instanceof Error)) {
|
|
9
|
+
return contributions.contributors;
|
|
10
|
+
}
|
|
11
|
+
const user = await take(inputFromOctokit, {
|
|
12
|
+
endpoint: "GET /user"
|
|
13
|
+
});
|
|
14
|
+
return [
|
|
15
|
+
{
|
|
16
|
+
avatar_url: user.avatar_url,
|
|
17
|
+
contributions: ownerContributions,
|
|
18
|
+
login: user.login,
|
|
19
|
+
name: user.name,
|
|
20
|
+
profile: user.blog
|
|
21
|
+
}
|
|
22
|
+
];
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
readAllContributors
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=readAllContributors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/options/readAllContributors.ts"],"sourcesContent":["import { TakeInput } from \"bingo\";\nimport { inputFromFileJSON } from \"input-from-file-json\";\n\nimport { ownerContributions } from \"../data/contributions.js\";\nimport { inputFromOctokit } from \"../inputs/inputFromOctokit.js\";\nimport { AllContributorsData } from \"../types.js\";\n\nexport async function readAllContributors(take: TakeInput) {\n\tconst contributions = (await take(inputFromFileJSON, {\n\t\tfilePath: \".all-contributorsrc\",\n\t})) as AllContributorsData | Error;\n\n\tif (!(contributions instanceof Error)) {\n\t\treturn contributions.contributors;\n\t}\n\n\tconst user = (await take(inputFromOctokit, {\n\t\tendpoint: \"GET /user\",\n\t})) as { avatar_url: string; blog: string; login: string; name: string };\n\n\treturn [\n\t\t{\n\t\t\tavatar_url: user.avatar_url,\n\t\t\tcontributions: ownerContributions,\n\t\t\tlogin: user.login,\n\t\t\tname: user.name,\n\t\t\tprofile: user.blog,\n\t\t},\n\t];\n}\n"],"mappings":"AACA,SAAS,yBAAyB;AAElC,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AAGjC,eAAsB,oBAAoB,MAAiB;AAC1D,QAAM,gBAAiB,MAAM,KAAK,mBAAmB;AAAA,IACpD,UAAU;AAAA,EACX,CAAC;AAED,MAAI,EAAE,yBAAyB,QAAQ;AACtC,WAAO,cAAc;AAAA,EACtB;AAEA,QAAM,OAAQ,MAAM,KAAK,kBAAkB;AAAA,IAC1C,UAAU;AAAA,EACX,CAAC;AAED,SAAO;AAAA,IACN;AAAA,MACC,YAAY,KAAK;AAAA,MACjB,eAAe;AAAA,MACf,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,IACf;AAAA,EACD;AACD;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-typescript-app",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.27",
|
|
4
4
|
"description": "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"bingo": "^0.5.3",
|
|
41
41
|
"bingo-fs": "^0.5.3",
|
|
42
|
-
"bingo-stratum": "^0.5.
|
|
42
|
+
"bingo-stratum": "^0.5.4",
|
|
43
43
|
"cspell-populate-words": "^0.3.0",
|
|
44
44
|
"execa": "^9.5.2",
|
|
45
45
|
"git-remote-origin-url": "^4.0.0",
|