joshuakgoldberg 0.3.0 → 0.3.2
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/README.md +2 -2
- package/bin/joshuakgoldberg.js +115 -0
- package/lib/projects.js +1 -1
- package/lib/projects.js.map +1 -1
- package/package.json +9 -7
package/README.md
CHANGED
|
@@ -171,10 +171,10 @@ If you work with TypeScript, you may have used one of the open source projects I
|
|
|
171
171
|
<td><img alt="Stars: TypeStat" src="https://img.shields.io/github/stars/JoshuaKGoldberg/TypeStat" /></td>
|
|
172
172
|
</tr>
|
|
173
173
|
<tr>
|
|
174
|
-
<th span="row"><a href="https://github.com/JoshuaKGoldberg/
|
|
174
|
+
<th span="row"><a href="https://github.com/JoshuaKGoldberg/create-typescript-app">create-typescript-app</a></th>
|
|
175
175
|
<td>Quickstart-friendly TypeScript template with comprehensive formatting, linting, releases, testing, and other great tooling built-in. ✨</td>
|
|
176
176
|
<td>Creator & maintainer</td>
|
|
177
|
-
<td><img alt="Stars:
|
|
177
|
+
<td><img alt="Stars: create-typescript-app" src="https://img.shields.io/github/stars/JoshuaKGoldberg/create-typescript-app" /></td>
|
|
178
178
|
</tr>
|
|
179
179
|
</tbody>
|
|
180
180
|
</table>
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
|
|
4
|
+
const socialRows = [
|
|
5
|
+
[
|
|
6
|
+
"#0085ff",
|
|
7
|
+
"⛅️",
|
|
8
|
+
"Bluesky ",
|
|
9
|
+
"https://bsky.app/profile/joshuakgoldberg.com",
|
|
10
|
+
2,
|
|
11
|
+
],
|
|
12
|
+
["#6cc644", "🐙", "GitHub ", "https://github.com/JoshuaKGoldberg", 3],
|
|
13
|
+
["#6364ff", "🐘", "Mastodon", "https://fosstodon.org/@JoshuaKGoldberg", 3],
|
|
14
|
+
["#6441a5", "💬", "Twitch ", "https://twitch.tv/JoshuaKGoldberg", 3],
|
|
15
|
+
["#00acee", "🐦", "Twitter ", "https://twitter.com/JoshuaKGoldberg", 2],
|
|
16
|
+
["#FF0000", "🎥", "YouTube ", "https://youtube.com/@JoshuaKGoldberg", 0],
|
|
17
|
+
["#1170d0", "🌐", "www ", "https://joshuakgoldberg.com", 3],
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
const longestLink = socialRows.reduce(
|
|
21
|
+
(max, row) => Math.max(max, row[3].length),
|
|
22
|
+
0,
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
drawTable({
|
|
26
|
+
footer: chalk.green(
|
|
27
|
+
"💚 I'd greatly appreciate it if you could sponsor me on GitHub. 💚",
|
|
28
|
+
),
|
|
29
|
+
header: "👋 Hi! I'm Josh. 👋",
|
|
30
|
+
rows: [
|
|
31
|
+
"🙂 I'm an open source maintainer in the TypeScript ecosystem. 🙂",
|
|
32
|
+
"",
|
|
33
|
+
{
|
|
34
|
+
extra: "🖥️ ".length,
|
|
35
|
+
text: "🖥️ I work to make web development better, most notably on typescript-eslint: 🖥️",
|
|
36
|
+
},
|
|
37
|
+
"the tooling that enables ESLint and Prettier to run on TypeScript code.",
|
|
38
|
+
"",
|
|
39
|
+
"🏆 I'm the author of Learning TypeScript (O'Reilly), a Microsoft MVP, an 🏆",
|
|
40
|
+
"international conference speaker, a mentor, and a live code streamer.",
|
|
41
|
+
"",
|
|
42
|
+
{
|
|
43
|
+
extra: " ".length - 1,
|
|
44
|
+
text: "Find me on:",
|
|
45
|
+
},
|
|
46
|
+
"",
|
|
47
|
+
...socialRows.map(([color, emoji, label, link, extra]) => ({
|
|
48
|
+
extra: 20 + extra,
|
|
49
|
+
text: chalk.hex(color)(
|
|
50
|
+
[
|
|
51
|
+
" ",
|
|
52
|
+
emoji,
|
|
53
|
+
" ",
|
|
54
|
+
label,
|
|
55
|
+
" ".repeat(longestLink - link.length + 1),
|
|
56
|
+
link,
|
|
57
|
+
].join(""),
|
|
58
|
+
),
|
|
59
|
+
})),
|
|
60
|
+
],
|
|
61
|
+
width: 87,
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
function drawTable({ footer, header, rows, width }) {
|
|
65
|
+
let totalLines = rows.length + 12;
|
|
66
|
+
let drawnLines = 0;
|
|
67
|
+
|
|
68
|
+
rows = rows.map((line) =>
|
|
69
|
+
typeof line === "string" ? { extra: 0, text: line } : line,
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
drawOverlay(`┌`, `┐`, header);
|
|
73
|
+
drawLine("│", "│", " ", width, "");
|
|
74
|
+
|
|
75
|
+
for (const { extra, text } of rows) {
|
|
76
|
+
const padding = width - text.length + extra - 3;
|
|
77
|
+
drawLine(`│ `, ` │`, " ", padding, text);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
drawLine("│", "│", " ", width, "");
|
|
81
|
+
drawOverlay(`└`, `┘`, footer, 10);
|
|
82
|
+
|
|
83
|
+
function hexPercentage(value) {
|
|
84
|
+
return Math.max(Math.min(value, 0.95), 0)
|
|
85
|
+
.toString(16)
|
|
86
|
+
.replace(/^.+\./, "")
|
|
87
|
+
.repeat(2)
|
|
88
|
+
.slice(0, 2);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
function drawLine(before, after, horizontal, padding, text = "") {
|
|
92
|
+
const colorize = chalk.hex(
|
|
93
|
+
[
|
|
94
|
+
"#",
|
|
95
|
+
hexPercentage(Math.min((totalLines - drawnLines) / totalLines, 0.5)),
|
|
96
|
+
hexPercentage((totalLines - drawnLines) ** 1.5 / totalLines),
|
|
97
|
+
hexPercentage(Math.max((totalLines - drawnLines) / totalLines, 0.65)),
|
|
98
|
+
].join(""),
|
|
99
|
+
);
|
|
100
|
+
|
|
101
|
+
console.log(
|
|
102
|
+
[
|
|
103
|
+
colorize(before + horizontal.repeat(Math.ceil(padding / 2))),
|
|
104
|
+
colorize(text),
|
|
105
|
+
colorize(horizontal.repeat(Math.floor(padding / 2)) + after),
|
|
106
|
+
].join(""),
|
|
107
|
+
);
|
|
108
|
+
|
|
109
|
+
drawnLines += 1;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function drawOverlay(before, after, text, extra = 0) {
|
|
113
|
+
drawLine(before, after, "─", width - text.length + extra - 2, ` ${text} `);
|
|
114
|
+
}
|
|
115
|
+
}
|
package/lib/projects.js
CHANGED
|
@@ -20,7 +20,7 @@ const projectCategories = {
|
|
|
20
20
|
stars: 1661
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
|
-
description: "
|
|
23
|
+
description: "Quickstart-friendly TypeScript template with comprehensive formatting, linting, releases, testing, and other great tooling built-in. \u2728",
|
|
24
24
|
image: "https://www.joshuakgoldberg.com/img/create-typescript-app.png",
|
|
25
25
|
owner: "JoshuaKGoldberg",
|
|
26
26
|
repo: "create-typescript-app",
|
package/lib/projects.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/projects.ts"],"sourcesContent":["/* cspell:disable */\nimport { ProjectCategory } from \"./types.js\";\n\nexport const projectCategories: Record<string, ProjectCategory> = {\n\t\"Biggest Projects\": {\n\t\tdescription:\n\t\t\t\"If you work with TypeScript, you may have used one of the open source projects I support:\",\n\t\tprojects: [\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"✨ Monorepo for all the tooling which enables ESLint to support TypeScript\",\n\t\t\t\timage: \"https://www.joshuakgoldberg.com/img/ts-eslint.svg\",\n\t\t\t\tlinks: {\n\t\t\t\t\tSite: \"https://typescript-eslint.io\",\n\t\t\t\t},\n\t\t\t\towner: \"typescript-eslint\",\n\t\t\t\trepo: \"typescript-eslint\",\n\t\t\t\trole: \"Maintainer\",\n\t\t\t\tstars: 13813,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Converts JavaScript to TypeScript and TypeScript to better TypeScript.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"TypeStat\",\n\t\t\t\tstars: 1661,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"A quickstart-friendly TypeScript template with comprehensive formatting, linting, releases, testing, and other great tooling built-in. ✨\",\n\t\t\t\timage: \"https://www.joshuakgoldberg.com/img/create-typescript-app.png\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"create-typescript-app\",\n\t\t\t\tstars: 352,\n\t\t\t},\n\t\t],\n\t},\n\tEmojis: {\n\t\tdescription:\n\t\t\t\"I also have an interest in making web apps more delightful. These projects will help you add emoji delighters to your page quickly.\",\n\t\tprojects: [\n\t\t\t{\n\t\t\t\tdescription: \"😏 simple emoji support for node.js projects\",\n\t\t\t\towner: \"omnidan\",\n\t\t\t\trepo: \"node-emoji\",\n\t\t\t\trole: \"Junior maintainer\",\n\t\t\t\tstars: 1230,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"💥 Blasts 😄 emoji 😊 like 🎆 fireworks 🎇 all up in your 💻 HTML 📄 page. 😍\",\n\t\t\t\tlinks: {\n\t\t\t\t\tSite: \"https://emojisplosion.dev\",\n\t\t\t\t},\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"Emojisplosion\",\n\t\t\t\tstars: 88,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Connects konami-code-js to emojisplosion for a glorious easter egg. 🎉 ✨ 🎆\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"Konamimojisplosion\",\n\t\t\t\tstars: 9,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"TypeDoc plugin to quickly integrate konamimojisplosion into your docs site. 🎉 ✨ 🎆\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"typedoc-plugin-konamimojisplosion\",\n\t\t\t\tstars: 3,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Astro integration to quickly load konamimojisplosion into your site. 🎉 ✨ 🎆\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"astro-konamimojisplosion\",\n\t\t\t\tstars: 1,\n\t\t\t},\n\t\t],\n\t},\n\t\"Just For Fun\": {\n\t\tdescription:\n\t\t\t\"These projects I do because I think they're fascinating and/or fun, if not particularly useful:\",\n\t\tprojects: [\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"An HTML5 remake of the original Super Mario Brothers - expanded for wide screens.\",\n\t\t\t\timage: \"https://www.joshuakgoldberg.com/images/fullscreenmario.png\",\n\t\t\t\tname: \"FullScreenMario\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"Old-Deleted-FullScreenMario\",\n\t\t\t\trole: \"Creator\",\n\t\t\t\tstars: 2994,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"A free HTML5 remake of the original Pokemon, expanded for modern browsing.\",\n\t\t\t\timage: \"https://www.joshuakgoldberg.com/images/fullscreenpokemon.png\",\n\t\t\t\towner: \"FullScreenShenanigans\",\n\t\t\t\trepo: \"FullScreenPokemon\",\n\t\t\t\tstars: 205,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Bare-bones, highly modular game engine for 2D 8-bit games.\",\n\t\t\t\towner: \"FullScreenShenanigans\",\n\t\t\t\trepo: \"EightBittr\",\n\t\t\t\tstars: 70,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Choosing a modern JavaScript UI framework, Pokemon-style.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"ChooseYourFramework\",\n\t\t\t\tstars: 68,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"A unified syntax that compiles into your favorite OOP languages. 🦜\",\n\t\t\t\timage: \"https://www.joshuakgoldberg.com/images/budgie.png\",\n\t\t\t\tmore: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdescription: \"A natural language layer on top of Budgie. 🦜\",\n\t\t\t\t\t\towner: \"budgielang\",\n\t\t\t\t\t\trepo: \"NBudgie\",\n\t\t\t\t\t\tstars: 2,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdescription: \"Converts TypeScript code to Budgie. 🦜\",\n\t\t\t\t\t\towner: \"budgielang\",\n\t\t\t\t\t\trepo: \"ts-budgie\",\n\t\t\t\t\t\tstars: 2,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdescription: \"Compiles C# code to Budgie. 🦜\",\n\t\t\t\t\t\towner: \"budgielang\",\n\t\t\t\t\t\trepo: \"CS-Budgie\",\n\t\t\t\t\t\tstars: 1,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\towner: \"budgielang\",\n\t\t\t\trepo: \"Budgie\",\n\t\t\t\tstars: 58,\n\t\t\t},\n\t\t],\n\t},\n\tTooling: {\n\t\tdescription:\n\t\t\t\"I work on assorted projects in the JavaScript/TypeScript ecosystem that make it easier to write high quality applications.\",\n\t\tprojects: [\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"⬅️ ES6 string tag that strips indentation from multi-line strings.\",\n\t\t\t\towner: \"dmnd\",\n\t\t\t\trepo: \"dedent\",\n\t\t\t\trole: \"Adoptive maintainer\",\n\t\t\t\tstars: 755,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"ESLint plugin with $ExpectType, $ExpectError, and $ExpectTypeSnapshot type assertions\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"eslint-plugin-expect-type\",\n\t\t\t\trole: \"Adoptive maintainer\",\n\t\t\t\tstars: 64,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Prettier plugin to enforce consistent brace style for all control statements.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"prettier-plugin-curly\",\n\t\t\t\tstars: 32,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Utility functions for working with TypeScript's API. Successor to the wonderful ajafff/tsutils.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"ts-api-utils\",\n\t\t\t\tstars: 21,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"A Chrome extension for GitHub's Saved Replies that adds replies from a repository's .github/replies.yml.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"refined-saved-replies\",\n\t\t\t\tstars: 20,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"🎭 Mocks out Redux actions and selectors for clean React Jest tests.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"mock-react-redux\",\n\t\t\t\tstars: 20,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"TypeScript transformation that inlines calls to small functions. ⚡️\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"ts-function-inliner\",\n\t\t\t\tstars: 20,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription: \"Creates and caches values under keys. 🏭\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"cached-factory\",\n\t\t\t\tstars: 13,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Gently fails test runs if the console was used during them.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"console-fail-test\",\n\t\t\t\tstars: 10,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Fills in missing allcontributors entries for a repository. 👪\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"all-contributors-auto-action\",\n\t\t\t\tstars: 9,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Checks whether a documentation description introduces any new information. ℹ️\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"are-docs-informative\",\n\t\t\t\tstars: 7,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Checks whether a semantic release should be run for a commit.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"should-semantic-release\",\n\t\t\t\tstars: 7,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Finds your npm packages that are eligible for Tidelift funding. 💸\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"tidelift-me-up\",\n\t\t\t\tstars: 6,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Creates a Markdown table summarizing your GitHub sponsors.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"github-sponsors-to-markdown\",\n\t\t\t\tstars: 4,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Generates an allcontributors list for an existing repository. 🤝\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"all-contributors-for-repository\",\n\t\t\t\tstars: 3,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription: \"Find your npm packages eligible for Tidelift funding. 💸\",\n\t\t\t\tlinks: {\n\t\t\t\t\tSite: \"https://tidelift-me-up-site.vercel.app/\",\n\t\t\t\t},\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"tidelift-me-up-site\",\n\t\t\t\tstars: 3,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription: \"Contributed markdownlint rule for one sentence per line.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"sentences-per-line\",\n\t\t\t\tstars: 2,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"A version of Sinon's `useFakeTimers` that you can call multiple times in a test.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"sinon-timers-repeatable\",\n\t\t\t\tstars: 1,\n\t\t\t},\n\t\t],\n\t},\n};\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/projects.ts"],"sourcesContent":["/* cspell:disable */\nimport { ProjectCategory } from \"./types.js\";\n\nexport const projectCategories: Record<string, ProjectCategory> = {\n\t\"Biggest Projects\": {\n\t\tdescription:\n\t\t\t\"If you work with TypeScript, you may have used one of the open source projects I support:\",\n\t\tprojects: [\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"✨ Monorepo for all the tooling which enables ESLint to support TypeScript\",\n\t\t\t\timage: \"https://www.joshuakgoldberg.com/img/ts-eslint.svg\",\n\t\t\t\tlinks: {\n\t\t\t\t\tSite: \"https://typescript-eslint.io\",\n\t\t\t\t},\n\t\t\t\towner: \"typescript-eslint\",\n\t\t\t\trepo: \"typescript-eslint\",\n\t\t\t\trole: \"Maintainer\",\n\t\t\t\tstars: 13813,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Converts JavaScript to TypeScript and TypeScript to better TypeScript.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"TypeStat\",\n\t\t\t\tstars: 1661,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Quickstart-friendly TypeScript template with comprehensive formatting, linting, releases, testing, and other great tooling built-in. ✨\",\n\t\t\t\timage: \"https://www.joshuakgoldberg.com/img/create-typescript-app.png\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"create-typescript-app\",\n\t\t\t\tstars: 352,\n\t\t\t},\n\t\t],\n\t},\n\tEmojis: {\n\t\tdescription:\n\t\t\t\"I also have an interest in making web apps more delightful. These projects will help you add emoji delighters to your page quickly.\",\n\t\tprojects: [\n\t\t\t{\n\t\t\t\tdescription: \"😏 simple emoji support for node.js projects\",\n\t\t\t\towner: \"omnidan\",\n\t\t\t\trepo: \"node-emoji\",\n\t\t\t\trole: \"Junior maintainer\",\n\t\t\t\tstars: 1230,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"💥 Blasts 😄 emoji 😊 like 🎆 fireworks 🎇 all up in your 💻 HTML 📄 page. 😍\",\n\t\t\t\tlinks: {\n\t\t\t\t\tSite: \"https://emojisplosion.dev\",\n\t\t\t\t},\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"Emojisplosion\",\n\t\t\t\tstars: 88,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Connects konami-code-js to emojisplosion for a glorious easter egg. 🎉 ✨ 🎆\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"Konamimojisplosion\",\n\t\t\t\tstars: 9,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"TypeDoc plugin to quickly integrate konamimojisplosion into your docs site. 🎉 ✨ 🎆\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"typedoc-plugin-konamimojisplosion\",\n\t\t\t\tstars: 3,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Astro integration to quickly load konamimojisplosion into your site. 🎉 ✨ 🎆\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"astro-konamimojisplosion\",\n\t\t\t\tstars: 1,\n\t\t\t},\n\t\t],\n\t},\n\t\"Just For Fun\": {\n\t\tdescription:\n\t\t\t\"These projects I do because I think they're fascinating and/or fun, if not particularly useful:\",\n\t\tprojects: [\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"An HTML5 remake of the original Super Mario Brothers - expanded for wide screens.\",\n\t\t\t\timage: \"https://www.joshuakgoldberg.com/images/fullscreenmario.png\",\n\t\t\t\tname: \"FullScreenMario\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"Old-Deleted-FullScreenMario\",\n\t\t\t\trole: \"Creator\",\n\t\t\t\tstars: 2994,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"A free HTML5 remake of the original Pokemon, expanded for modern browsing.\",\n\t\t\t\timage: \"https://www.joshuakgoldberg.com/images/fullscreenpokemon.png\",\n\t\t\t\towner: \"FullScreenShenanigans\",\n\t\t\t\trepo: \"FullScreenPokemon\",\n\t\t\t\tstars: 205,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Bare-bones, highly modular game engine for 2D 8-bit games.\",\n\t\t\t\towner: \"FullScreenShenanigans\",\n\t\t\t\trepo: \"EightBittr\",\n\t\t\t\tstars: 70,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Choosing a modern JavaScript UI framework, Pokemon-style.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"ChooseYourFramework\",\n\t\t\t\tstars: 68,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"A unified syntax that compiles into your favorite OOP languages. 🦜\",\n\t\t\t\timage: \"https://www.joshuakgoldberg.com/images/budgie.png\",\n\t\t\t\tmore: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdescription: \"A natural language layer on top of Budgie. 🦜\",\n\t\t\t\t\t\towner: \"budgielang\",\n\t\t\t\t\t\trepo: \"NBudgie\",\n\t\t\t\t\t\tstars: 2,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdescription: \"Converts TypeScript code to Budgie. 🦜\",\n\t\t\t\t\t\towner: \"budgielang\",\n\t\t\t\t\t\trepo: \"ts-budgie\",\n\t\t\t\t\t\tstars: 2,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdescription: \"Compiles C# code to Budgie. 🦜\",\n\t\t\t\t\t\towner: \"budgielang\",\n\t\t\t\t\t\trepo: \"CS-Budgie\",\n\t\t\t\t\t\tstars: 1,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\towner: \"budgielang\",\n\t\t\t\trepo: \"Budgie\",\n\t\t\t\tstars: 58,\n\t\t\t},\n\t\t],\n\t},\n\tTooling: {\n\t\tdescription:\n\t\t\t\"I work on assorted projects in the JavaScript/TypeScript ecosystem that make it easier to write high quality applications.\",\n\t\tprojects: [\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"⬅️ ES6 string tag that strips indentation from multi-line strings.\",\n\t\t\t\towner: \"dmnd\",\n\t\t\t\trepo: \"dedent\",\n\t\t\t\trole: \"Adoptive maintainer\",\n\t\t\t\tstars: 755,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"ESLint plugin with $ExpectType, $ExpectError, and $ExpectTypeSnapshot type assertions\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"eslint-plugin-expect-type\",\n\t\t\t\trole: \"Adoptive maintainer\",\n\t\t\t\tstars: 64,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Prettier plugin to enforce consistent brace style for all control statements.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"prettier-plugin-curly\",\n\t\t\t\tstars: 32,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Utility functions for working with TypeScript's API. Successor to the wonderful ajafff/tsutils.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"ts-api-utils\",\n\t\t\t\tstars: 21,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"A Chrome extension for GitHub's Saved Replies that adds replies from a repository's .github/replies.yml.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"refined-saved-replies\",\n\t\t\t\tstars: 20,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"🎭 Mocks out Redux actions and selectors for clean React Jest tests.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"mock-react-redux\",\n\t\t\t\tstars: 20,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"TypeScript transformation that inlines calls to small functions. ⚡️\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"ts-function-inliner\",\n\t\t\t\tstars: 20,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription: \"Creates and caches values under keys. 🏭\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"cached-factory\",\n\t\t\t\tstars: 13,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Gently fails test runs if the console was used during them.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"console-fail-test\",\n\t\t\t\tstars: 10,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Fills in missing allcontributors entries for a repository. 👪\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"all-contributors-auto-action\",\n\t\t\t\tstars: 9,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Checks whether a documentation description introduces any new information. ℹ️\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"are-docs-informative\",\n\t\t\t\tstars: 7,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Checks whether a semantic release should be run for a commit.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"should-semantic-release\",\n\t\t\t\tstars: 7,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Finds your npm packages that are eligible for Tidelift funding. 💸\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"tidelift-me-up\",\n\t\t\t\tstars: 6,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Creates a Markdown table summarizing your GitHub sponsors.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"github-sponsors-to-markdown\",\n\t\t\t\tstars: 4,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Generates an allcontributors list for an existing repository. 🤝\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"all-contributors-for-repository\",\n\t\t\t\tstars: 3,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription: \"Find your npm packages eligible for Tidelift funding. 💸\",\n\t\t\t\tlinks: {\n\t\t\t\t\tSite: \"https://tidelift-me-up-site.vercel.app/\",\n\t\t\t\t},\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"tidelift-me-up-site\",\n\t\t\t\tstars: 3,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription: \"Contributed markdownlint rule for one sentence per line.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"sentences-per-line\",\n\t\t\t\tstars: 2,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"A version of Sinon's `useFakeTimers` that you can call multiple times in a test.\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"sinon-timers-repeatable\",\n\t\t\t\tstars: 1,\n\t\t\t},\n\t\t],\n\t},\n};\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "joshuakgoldberg",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Packaged projects and personal GitHub README for JoshuaKGoldberg. 👋",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -13,7 +13,9 @@
|
|
|
13
13
|
},
|
|
14
14
|
"type": "module",
|
|
15
15
|
"main": "./lib/index.js",
|
|
16
|
+
"bin": "./bin/joshuakgoldberg.js",
|
|
16
17
|
"files": [
|
|
18
|
+
"bin/",
|
|
17
19
|
"lib/",
|
|
18
20
|
"package.json",
|
|
19
21
|
"LICENSE.md",
|
|
@@ -42,14 +44,14 @@
|
|
|
42
44
|
"chalk": "^5.3.0"
|
|
43
45
|
},
|
|
44
46
|
"devDependencies": {
|
|
45
|
-
"@release-it/conventional-changelog": "^
|
|
47
|
+
"@release-it/conventional-changelog": "^8.0.0",
|
|
46
48
|
"@types/eslint": "^8.44.3",
|
|
47
49
|
"@types/node": "^20.5.9",
|
|
48
50
|
"@typescript-eslint/eslint-plugin": "^6.7.3",
|
|
49
51
|
"@typescript-eslint/parser": "^6.7.3",
|
|
50
52
|
"@vitest/coverage-v8": "^0.34.6",
|
|
51
53
|
"console-fail-test": "^0.2.3",
|
|
52
|
-
"cspell": "^
|
|
54
|
+
"cspell": "^8.0.0",
|
|
53
55
|
"eslint": "^8.50.0",
|
|
54
56
|
"eslint-plugin-deprecation": "^2.0.0",
|
|
55
57
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
@@ -65,7 +67,7 @@
|
|
|
65
67
|
"github-sponsors-to-markdown": "^0.1.1",
|
|
66
68
|
"husky": "^8.0.3",
|
|
67
69
|
"jsonc-eslint-parser": "^2.3.0",
|
|
68
|
-
"knip": "2.
|
|
70
|
+
"knip": "2.41.2",
|
|
69
71
|
"lint-staged": "^15.0.0",
|
|
70
72
|
"markdownlint": "^0.31.1",
|
|
71
73
|
"markdownlint-cli": "^0.37.0",
|
|
@@ -76,16 +78,16 @@
|
|
|
76
78
|
"prettier": "^3.0.3",
|
|
77
79
|
"prettier-plugin-curly": "^0.1.3",
|
|
78
80
|
"prettier-plugin-packagejson": "^2.4.6",
|
|
79
|
-
"release-it": "^
|
|
81
|
+
"release-it": "^17.0.0",
|
|
80
82
|
"sentences-per-line": "^0.2.1",
|
|
81
83
|
"should-semantic-release": "^0.2.1",
|
|
82
84
|
"tsup": "^7.2.0",
|
|
83
|
-
"tsx": "^
|
|
85
|
+
"tsx": "^4.0.0",
|
|
84
86
|
"typescript": "^5.2.2",
|
|
85
87
|
"vitest": "^0.34.6",
|
|
86
88
|
"yaml-eslint-parser": "^1.2.2"
|
|
87
89
|
},
|
|
88
|
-
"packageManager": "pnpm@8.10.
|
|
90
|
+
"packageManager": "pnpm@8.10.3",
|
|
89
91
|
"engines": {
|
|
90
92
|
"node": ">=18"
|
|
91
93
|
},
|