joshuakgoldberg 0.3.2 → 0.4.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/README.md +54 -50
- package/lib/generate/generateSponsorsTable.js +2 -2
- package/lib/generate/generateSponsorsTable.js.map +1 -1
- package/lib/generate/index.js +3 -1
- package/lib/generate/index.js.map +1 -1
- package/lib/projects.js +55 -49
- package/lib/projects.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -43,16 +43,19 @@ They deserve our sincere appreciation and gratitude.
|
|
|
43
43
|
<tr align="center">
|
|
44
44
|
<td >
|
|
45
45
|
<a href="https://github.com/beyang">
|
|
46
|
-
<img alt="Beyang Liu" src="https://github.com/beyang.png?size=
|
|
46
|
+
<img alt="Beyang Liu" src="https://github.com/beyang.png?size=75" />
|
|
47
47
|
</a>
|
|
48
48
|
<a href="https://github.com/constituentvoice">
|
|
49
|
-
<img alt="Constituent Voice" src="https://github.com/constituentvoice.png?size=
|
|
49
|
+
<img alt="Constituent Voice" src="https://github.com/constituentvoice.png?size=75" />
|
|
50
|
+
</a>
|
|
51
|
+
<a href="https://github.com/estevezluis">
|
|
52
|
+
<img alt="Luis Estevez" src="https://github.com/estevezluis.png?size=75" />
|
|
50
53
|
</a>
|
|
51
54
|
<a href="https://github.com/Loops-so">
|
|
52
|
-
<img alt="Loops" src="https://github.com/Loops-so.png?size=
|
|
55
|
+
<img alt="Loops" src="https://github.com/Loops-so.png?size=75" />
|
|
53
56
|
</a>
|
|
54
57
|
<a href="https://github.com/webpro">
|
|
55
|
-
<img alt="Lars Kappert" src="https://github.com/webpro.png?size=
|
|
58
|
+
<img alt="Lars Kappert" src="https://github.com/webpro.png?size=75" />
|
|
56
59
|
</a>
|
|
57
60
|
</td>
|
|
58
61
|
<td >
|
|
@@ -60,10 +63,7 @@ They deserve our sincere appreciation and gratitude.
|
|
|
60
63
|
<img alt="Akira " src="https://github.com/AkiraBrand.png?size=50" />
|
|
61
64
|
</a>
|
|
62
65
|
<a href="https://github.com/ElianCodes">
|
|
63
|
-
<img alt="Elian
|
|
64
|
-
</a>
|
|
65
|
-
<a href="https://github.com/eps1lon">
|
|
66
|
-
<img alt="Sebastian Silbermann" src="https://github.com/eps1lon.png?size=50" />
|
|
66
|
+
<img alt="Elian" src="https://github.com/ElianCodes.png?size=50" />
|
|
67
67
|
</a>
|
|
68
68
|
<a href="https://github.com/FarazPatankar">
|
|
69
69
|
<img alt="Faraz Patankar" src="https://github.com/FarazPatankar.png?size=50" />
|
|
@@ -71,15 +71,15 @@ They deserve our sincere appreciation and gratitude.
|
|
|
71
71
|
<a href="https://github.com/IanVS">
|
|
72
72
|
<img alt="Ian VanSchooten" src="https://github.com/IanVS.png?size=50" />
|
|
73
73
|
</a>
|
|
74
|
-
<a href="https://github.com/indeedeng">
|
|
75
|
-
<img alt="Indeed Engineering" src="https://github.com/indeedeng.png?size=50" />
|
|
76
|
-
</a>
|
|
77
74
|
<a href="https://github.com/jennjunod">
|
|
78
75
|
<img alt="Jenn Junod" src="https://github.com/jennjunod.png?size=50" />
|
|
79
76
|
</a>
|
|
80
77
|
<a href="https://github.com/Jolg42">
|
|
81
78
|
<img alt="Joël Galeran" src="https://github.com/Jolg42.png?size=50" />
|
|
82
79
|
</a>
|
|
80
|
+
<a href="https://github.com/Kamalnrf">
|
|
81
|
+
<img alt="Kamal" src="https://github.com/Kamalnrf.png?size=50" />
|
|
82
|
+
</a>
|
|
83
83
|
<a href="https://github.com/KernelGamut32">
|
|
84
84
|
<img alt="Allen Sanders" src="https://github.com/KernelGamut32.png?size=50" />
|
|
85
85
|
</a>
|
|
@@ -95,26 +95,26 @@ They deserve our sincere appreciation and gratitude.
|
|
|
95
95
|
<a href="https://github.com/rwaskiewicz">
|
|
96
96
|
<img alt="Ryan Waskiewicz" src="https://github.com/rwaskiewicz.png?size=50" />
|
|
97
97
|
</a>
|
|
98
|
-
<a href="https://github.com/thomasballinger">
|
|
99
|
-
<img alt="Tom Ballinger" src="https://github.com/thomasballinger.png?size=50" />
|
|
100
|
-
</a>
|
|
101
98
|
</td>
|
|
102
99
|
<td >
|
|
100
|
+
<a href="https://github.com/antfu">
|
|
101
|
+
<img alt="Anthony Fu" src="https://github.com/antfu.png?size=50" />
|
|
102
|
+
</a>
|
|
103
103
|
<a href="https://github.com/bmish">
|
|
104
104
|
<img alt="Bryan Mishkin" src="https://github.com/bmish.png?size=50" />
|
|
105
105
|
</a>
|
|
106
106
|
<a href="https://github.com/danfry1">
|
|
107
107
|
<img alt="Daniel Fry" src="https://github.com/danfry1.png?size=50" />
|
|
108
108
|
</a>
|
|
109
|
+
<a href="https://github.com/DarrenBaldwin07">
|
|
110
|
+
<img alt="Darren Baldwin" src="https://github.com/DarrenBaldwin07.png?size=50" />
|
|
111
|
+
</a>
|
|
109
112
|
<a href="https://github.com/johnnyreilly">
|
|
110
113
|
<img alt="John Reilly" src="https://github.com/johnnyreilly.png?size=50" />
|
|
111
114
|
</a>
|
|
112
115
|
<a href="https://github.com/jram930">
|
|
113
116
|
<img alt="Jared Ramsey" src="https://github.com/jram930.png?size=50" />
|
|
114
117
|
</a>
|
|
115
|
-
<a href="https://github.com/kevinctofel">
|
|
116
|
-
<img alt="Kevin C. Tofel" src="https://github.com/kevinctofel.png?size=50" />
|
|
117
|
-
</a>
|
|
118
118
|
<a href="https://github.com/nickytonline">
|
|
119
119
|
<img alt="Nick Taylor" src="https://github.com/nickytonline.png?size=50" />
|
|
120
120
|
</a>
|
|
@@ -138,6 +138,7 @@ They deserve our sincere appreciation and gratitude.
|
|
|
138
138
|
</tbody>
|
|
139
139
|
</table>
|
|
140
140
|
<!-- markdownlint-enable sentences-per-line -->
|
|
141
|
+
<!-- spell-checker: enable -->
|
|
141
142
|
|
|
142
143
|
> 💚 Motivated to support my work, or just want your image here?
|
|
143
144
|
> See my [GitHub Sponsors profile](https://github.com/sponsors/JoshuaKGoldberg).
|
|
@@ -172,7 +173,7 @@ If you work with TypeScript, you may have used one of the open source projects I
|
|
|
172
173
|
</tr>
|
|
173
174
|
<tr>
|
|
174
175
|
<th span="row"><a href="https://github.com/JoshuaKGoldberg/create-typescript-app">create-typescript-app</a></th>
|
|
175
|
-
<td>Quickstart-friendly TypeScript template with comprehensive
|
|
176
|
+
<td>Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 💝</td>
|
|
176
177
|
<td>Creator & maintainer</td>
|
|
177
178
|
<td><img alt="Stars: create-typescript-app" src="https://img.shields.io/github/stars/JoshuaKGoldberg/create-typescript-app" /></td>
|
|
178
179
|
</tr>
|
|
@@ -296,40 +297,40 @@ I work on assorted projects in the JavaScript/TypeScript ecosystem that make it
|
|
|
296
297
|
</tr>
|
|
297
298
|
<tr>
|
|
298
299
|
<th span="row"><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-expect-type">eslint-plugin-expect-type</a></th>
|
|
299
|
-
<td>ESLint plugin with
|
|
300
|
+
<td>ESLint plugin with ^? Twoslash, $ExpectError, and $ExpectType type assertions. 🧩</td>
|
|
300
301
|
<td>Adoptive maintainer</td>
|
|
301
302
|
<td><img alt="Stars: eslint-plugin-expect-type" src="https://img.shields.io/github/stars/JoshuaKGoldberg/eslint-plugin-expect-type" /></td>
|
|
302
303
|
</tr>
|
|
303
304
|
<tr>
|
|
304
305
|
<th span="row"><a href="https://github.com/JoshuaKGoldberg/prettier-plugin-curly">prettier-plugin-curly</a></th>
|
|
305
|
-
<td>Prettier plugin to enforce consistent brace style for all control statements
|
|
306
|
+
<td>Prettier plugin to enforce consistent brace style for all control statements. 🥌</td>
|
|
306
307
|
<td>Creator & maintainer</td>
|
|
307
308
|
<td><img alt="Stars: prettier-plugin-curly" src="https://img.shields.io/github/stars/JoshuaKGoldberg/prettier-plugin-curly" /></td>
|
|
308
309
|
</tr>
|
|
309
310
|
<tr>
|
|
310
311
|
<th span="row"><a href="https://github.com/JoshuaKGoldberg/ts-api-utils">ts-api-utils</a></th>
|
|
311
|
-
<td>Utility functions for working with TypeScript's API. Successor to the wonderful
|
|
312
|
+
<td>Utility functions for working with TypeScript's API. Successor to the wonderful tsutils. 🛠️️</td>
|
|
312
313
|
<td>Creator & maintainer</td>
|
|
313
314
|
<td><img alt="Stars: ts-api-utils" src="https://img.shields.io/github/stars/JoshuaKGoldberg/ts-api-utils" /></td>
|
|
314
315
|
</tr>
|
|
315
316
|
<tr>
|
|
316
317
|
<th span="row"><a href="https://github.com/JoshuaKGoldberg/refined-saved-replies">refined-saved-replies</a></th>
|
|
317
|
-
<td>
|
|
318
|
+
<td>Chrome extension for GitHub's Saved Replies that adds replies from a repository's `.github/replies.yml`. 📨</td>
|
|
318
319
|
<td>Creator & maintainer</td>
|
|
319
320
|
<td><img alt="Stars: refined-saved-replies" src="https://img.shields.io/github/stars/JoshuaKGoldberg/refined-saved-replies" /></td>
|
|
320
321
|
</tr>
|
|
321
|
-
<tr>
|
|
322
|
-
<th span="row"><a href="https://github.com/JoshuaKGoldberg/mock-react-redux">mock-react-redux</a></th>
|
|
323
|
-
<td>🎭 Mocks out Redux actions and selectors for clean React Jest tests.</td>
|
|
324
|
-
<td>Creator & maintainer</td>
|
|
325
|
-
<td><img alt="Stars: mock-react-redux" src="https://img.shields.io/github/stars/JoshuaKGoldberg/mock-react-redux" /></td>
|
|
326
|
-
</tr>
|
|
327
322
|
<tr>
|
|
328
323
|
<th span="row"><a href="https://github.com/JoshuaKGoldberg/ts-function-inliner">ts-function-inliner</a></th>
|
|
329
324
|
<td>TypeScript transformation that inlines calls to small functions. ⚡️</td>
|
|
330
325
|
<td>Creator & maintainer</td>
|
|
331
326
|
<td><img alt="Stars: ts-function-inliner" src="https://img.shields.io/github/stars/JoshuaKGoldberg/ts-function-inliner" /></td>
|
|
332
327
|
</tr>
|
|
328
|
+
<tr>
|
|
329
|
+
<th span="row"><a href="https://github.com/JoshuaKGoldberg/mock-react-redux">mock-react-redux</a></th>
|
|
330
|
+
<td>Mocks out Redux actions and selectors for clean React Jest tests. 🎭</td>
|
|
331
|
+
<td>Creator & maintainer</td>
|
|
332
|
+
<td><img alt="Stars: mock-react-redux" src="https://img.shields.io/github/stars/JoshuaKGoldberg/mock-react-redux" /></td>
|
|
333
|
+
</tr>
|
|
333
334
|
<tr>
|
|
334
335
|
<th span="row"><a href="https://github.com/JoshuaKGoldberg/cached-factory">cached-factory</a></th>
|
|
335
336
|
<td>Creates and caches values under keys. 🏭</td>
|
|
@@ -338,7 +339,7 @@ I work on assorted projects in the JavaScript/TypeScript ecosystem that make it
|
|
|
338
339
|
</tr>
|
|
339
340
|
<tr>
|
|
340
341
|
<th span="row"><a href="https://github.com/JoshuaKGoldberg/console-fail-test">console-fail-test</a></th>
|
|
341
|
-
<td>Gently fails test runs if the console was used during them
|
|
342
|
+
<td>Gently fails test runs if the console was used during them. 📢</td>
|
|
342
343
|
<td>Creator & maintainer</td>
|
|
343
344
|
<td><img alt="Stars: console-fail-test" src="https://img.shields.io/github/stars/JoshuaKGoldberg/console-fail-test" /></td>
|
|
344
345
|
</tr>
|
|
@@ -349,16 +350,16 @@ I work on assorted projects in the JavaScript/TypeScript ecosystem that make it
|
|
|
349
350
|
<td><img alt="Stars: all-contributors-auto-action" src="https://img.shields.io/github/stars/JoshuaKGoldberg/all-contributors-auto-action" /></td>
|
|
350
351
|
</tr>
|
|
351
352
|
<tr>
|
|
352
|
-
<th span="row"><a href="https://github.com/JoshuaKGoldberg/
|
|
353
|
-
<td>Checks whether a
|
|
353
|
+
<th span="row"><a href="https://github.com/JoshuaKGoldberg/should-semantic-release">should-semantic-release</a></th>
|
|
354
|
+
<td>Checks whether a semantic release should be run for a commit. 💂</td>
|
|
354
355
|
<td>Creator & maintainer</td>
|
|
355
|
-
<td><img alt="Stars:
|
|
356
|
+
<td><img alt="Stars: should-semantic-release" src="https://img.shields.io/github/stars/JoshuaKGoldberg/should-semantic-release" /></td>
|
|
356
357
|
</tr>
|
|
357
358
|
<tr>
|
|
358
|
-
<th span="row"><a href="https://github.com/JoshuaKGoldberg/
|
|
359
|
-
<td>Checks whether a
|
|
359
|
+
<th span="row"><a href="https://github.com/JoshuaKGoldberg/are-docs-informative">are-docs-informative</a></th>
|
|
360
|
+
<td>Checks whether a documentation description introduces any new information. ℹ️</td>
|
|
360
361
|
<td>Creator & maintainer</td>
|
|
361
|
-
<td><img alt="Stars:
|
|
362
|
+
<td><img alt="Stars: are-docs-informative" src="https://img.shields.io/github/stars/JoshuaKGoldberg/are-docs-informative" /></td>
|
|
362
363
|
</tr>
|
|
363
364
|
<tr>
|
|
364
365
|
<th span="row"><a href="https://github.com/JoshuaKGoldberg/tidelift-me-up">tidelift-me-up</a></th>
|
|
@@ -368,38 +369,43 @@ I work on assorted projects in the JavaScript/TypeScript ecosystem that make it
|
|
|
368
369
|
</tr>
|
|
369
370
|
<tr>
|
|
370
371
|
<th span="row"><a href="https://github.com/JoshuaKGoldberg/github-sponsors-to-markdown">github-sponsors-to-markdown</a></th>
|
|
371
|
-
<td>Creates a Markdown table summarizing your GitHub sponsors
|
|
372
|
+
<td>Creates a Markdown table summarizing your GitHub sponsors. 💰</td>
|
|
372
373
|
<td>Creator & maintainer</td>
|
|
373
374
|
<td><img alt="Stars: github-sponsors-to-markdown" src="https://img.shields.io/github/stars/JoshuaKGoldberg/github-sponsors-to-markdown" /></td>
|
|
374
375
|
</tr>
|
|
375
|
-
<tr>
|
|
376
|
-
<th span="row"><a href="https://github.com/JoshuaKGoldberg/all-contributors-for-repository">all-contributors-for-repository</a></th>
|
|
377
|
-
<td>Generates an allcontributors list for an existing repository. 🤝</td>
|
|
378
|
-
<td>Creator & maintainer</td>
|
|
379
|
-
<td><img alt="Stars: all-contributors-for-repository" src="https://img.shields.io/github/stars/JoshuaKGoldberg/all-contributors-for-repository" /></td>
|
|
380
|
-
</tr>
|
|
381
376
|
<tr>
|
|
382
377
|
<th span="row"><a href="https://github.com/JoshuaKGoldberg/tidelift-me-up-site">tidelift-me-up-site</a></th>
|
|
383
|
-
<td>
|
|
378
|
+
<td>Web app to find your npm packages eligible for Tidelift funding. 💸</td>
|
|
384
379
|
<td>Creator & maintainer</td>
|
|
385
380
|
<td><img alt="Stars: tidelift-me-up-site" src="https://img.shields.io/github/stars/JoshuaKGoldberg/tidelift-me-up-site" /></td>
|
|
386
381
|
</tr>
|
|
387
382
|
<tr>
|
|
388
383
|
<th span="row"><a href="https://github.com/JoshuaKGoldberg/sentences-per-line">sentences-per-line</a></th>
|
|
389
|
-
<td>Contributed markdownlint rule for
|
|
384
|
+
<td>Contributed markdownlint rule for limiting sentences per line. 📐</td>
|
|
390
385
|
<td>Creator & maintainer</td>
|
|
391
386
|
<td><img alt="Stars: sentences-per-line" src="https://img.shields.io/github/stars/JoshuaKGoldberg/sentences-per-line" /></td>
|
|
392
387
|
</tr>
|
|
388
|
+
<tr>
|
|
389
|
+
<th span="row"><a href="https://github.com/JoshuaKGoldberg/all-contributors-for-repository">all-contributors-for-repository</a></th>
|
|
390
|
+
<td>Generates an allcontributors list for an existing repository. 🤝</td>
|
|
391
|
+
<td>Creator & maintainer</td>
|
|
392
|
+
<td><img alt="Stars: all-contributors-for-repository" src="https://img.shields.io/github/stars/JoshuaKGoldberg/all-contributors-for-repository" /></td>
|
|
393
|
+
</tr>
|
|
393
394
|
<tr>
|
|
394
395
|
<th span="row"><a href="https://github.com/JoshuaKGoldberg/sinon-timers-repeatable">sinon-timers-repeatable</a></th>
|
|
395
|
-
<td>A version of Sinon's `useFakeTimers` that you can call multiple times in a test
|
|
396
|
+
<td>A version of Sinon's `useFakeTimers` that you can call multiple times in a test. ⏱️</td>
|
|
396
397
|
<td>Creator & maintainer</td>
|
|
397
398
|
<td><img alt="Stars: sinon-timers-repeatable" src="https://img.shields.io/github/stars/JoshuaKGoldberg/sinon-timers-repeatable" /></td>
|
|
398
399
|
</tr>
|
|
400
|
+
<tr>
|
|
401
|
+
<th span="row"><a href="https://github.com/JoshuaKGoldberg/release-it-action">release-it-action</a></th>
|
|
402
|
+
<td>Runs release-it as a GitHub Action, with handling for semantic releases and protected branches. 📤</td>
|
|
403
|
+
<td>Creator & maintainer</td>
|
|
404
|
+
<td><img alt="Stars: release-it-action" src="https://img.shields.io/github/stars/JoshuaKGoldberg/release-it-action" /></td>
|
|
405
|
+
</tr>
|
|
399
406
|
</tbody>
|
|
400
407
|
</table>
|
|
401
408
|
<!-- markdownlint-enable sentences-per-line -->
|
|
402
|
-
<!-- spell-checker: enable -->
|
|
403
409
|
|
|
404
410
|
## Development
|
|
405
411
|
|
|
@@ -415,7 +421,7 @@ Thanks! 💖
|
|
|
415
421
|
<table>
|
|
416
422
|
<tbody>
|
|
417
423
|
<tr>
|
|
418
|
-
<td align="center" valign="top" width="14.28%"><a href="http://www.joshuakgoldberg.com"><img src="https://avatars.githubusercontent.com/u/3335181?v=4?s=100" width="100px;" alt="Josh Goldberg"/><br /><sub><b>Josh Goldberg</b></sub></a><br /><a href="#maintenance-JoshuaKGoldberg" title="Maintenance">🚧</a> <a href="#tool-JoshuaKGoldberg" title="Tools">🔧</a></td>
|
|
424
|
+
<td align="center" valign="top" width="14.28%"><a href="http://www.joshuakgoldberg.com"><img src="https://avatars.githubusercontent.com/u/3335181?v=4?s=100" width="100px;" alt="Josh Goldberg"/><br /><sub><b>Josh Goldberg</b></sub></a><br /><a href="#design-JoshuaKGoldberg" title="Design">🎨</a> <a href="https://github.com/JoshuaKGoldberg/JoshuaKGoldberg/issues?q=author%3AJoshuaKGoldberg" title="Bug reports">🐛</a> <a href="https://github.com/JoshuaKGoldberg/JoshuaKGoldberg/commits?author=JoshuaKGoldberg" title="Code">💻</a> <a href="#maintenance-JoshuaKGoldberg" title="Maintenance">🚧</a> <a href="#tool-JoshuaKGoldberg" title="Tools">🔧</a> <a href="#infra-JoshuaKGoldberg" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
|
419
425
|
</tr>
|
|
420
426
|
</tbody>
|
|
421
427
|
</table>
|
|
@@ -426,6 +432,4 @@ Thanks! 💖
|
|
|
426
432
|
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
|
427
433
|
<!-- spellchecker: enable -->
|
|
428
434
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
> 💙 This package is based on [@JoshuaKGoldberg](https://github.com/JoshuaKGoldberg)'s [create-typescript-app](https://github.com/JoshuaKGoldberg/create-typescript-app).
|
|
435
|
+
> 💙 This package is templated with [create-typescript-app](https://github.com/JoshuaKGoldberg/create-typescript-app).
|
|
@@ -11,12 +11,12 @@ async function buildSponsorsTable() {
|
|
|
11
11
|
Gold: {
|
|
12
12
|
label: "Gold Sponsors (>=$25/mo)",
|
|
13
13
|
minimum: 25,
|
|
14
|
-
size:
|
|
14
|
+
size: 75
|
|
15
15
|
},
|
|
16
16
|
Platinum: {
|
|
17
17
|
label: "Platinum Sponsors (>=$100/mo)",
|
|
18
18
|
minimum: 100,
|
|
19
|
-
size:
|
|
19
|
+
size: 100
|
|
20
20
|
},
|
|
21
21
|
Silver: {
|
|
22
22
|
label: "Silver Sponsors (>=$10/mo)",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/generate/generateSponsorsTable.ts"],"sourcesContent":["import { githubSponsorsToMarkdown } from \"github-sponsors-to-markdown\";\n\nexport async function buildSponsorsTable() {\n\treturn await githubSponsorsToMarkdown({\n\t\tlogin: \"JoshuaKGoldberg\",\n\t\ttiers: {\n\t\t\tBronze: {\n\t\t\t\tlabel: \"Bronze Sponsors (>=$5/mo)\",\n\t\t\t\tminimum: 5,\n\t\t\t\tsize: 50,\n\t\t\t},\n\t\t\tGold: {\n\t\t\t\tlabel: \"Gold Sponsors (>=$25/mo)\",\n\t\t\t\tminimum: 25,\n\t\t\t\tsize:
|
|
1
|
+
{"version":3,"sources":["../../src/generate/generateSponsorsTable.ts"],"sourcesContent":["import { githubSponsorsToMarkdown } from \"github-sponsors-to-markdown\";\n\nexport async function buildSponsorsTable() {\n\treturn await githubSponsorsToMarkdown({\n\t\tlogin: \"JoshuaKGoldberg\",\n\t\ttiers: {\n\t\t\tBronze: {\n\t\t\t\tlabel: \"Bronze Sponsors (>=$5/mo)\",\n\t\t\t\tminimum: 5,\n\t\t\t\tsize: 50,\n\t\t\t},\n\t\t\tGold: {\n\t\t\t\tlabel: \"Gold Sponsors (>=$25/mo)\",\n\t\t\t\tminimum: 25,\n\t\t\t\tsize: 75,\n\t\t\t},\n\t\t\tPlatinum: {\n\t\t\t\tlabel: \"Platinum Sponsors (>=$100/mo)\",\n\t\t\t\tminimum: 100,\n\t\t\t\tsize: 100,\n\t\t\t},\n\t\t\tSilver: {\n\t\t\t\tlabel: \"Silver Sponsors (>=$10/mo)\",\n\t\t\t\tminimum: 10,\n\t\t\t\tsize: 50,\n\t\t\t},\n\t\t},\n\t\tverbose: true,\n\t});\n}\n"],"mappings":"AAAA,SAAS,gCAAgC;AAEzC,eAAsB,qBAAqB;AAC1C,SAAO,MAAM,yBAAyB;AAAA,IACrC,OAAO;AAAA,IACP,OAAO;AAAA,MACN,QAAQ;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MACP;AAAA,MACA,MAAM;AAAA,QACL,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MACP;AAAA,MACA,UAAU;AAAA,QACT,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MACP;AAAA,MACA,QAAQ;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MACP;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV,CAAC;AACF;","names":[]}
|
package/lib/generate/index.js
CHANGED
|
@@ -11,7 +11,7 @@ Fun fact: the entirety of this README.md is auto-generated!
|
|
|
11
11
|
See https://github.com/JoshuaKGoldberg/JoshuaKGoldberg.
|
|
12
12
|
-->
|
|
13
13
|
|
|
14
|
-
[](https://
|
|
14
|
+
[](https://bsky.app/profile/joshuakgoldberg.com)
|
|
15
15
|
[](https://fosstodon.org/@JoshuaKGoldberg)
|
|
16
16
|
[](https://twitch.tv/JoshuaKGoldberg)
|
|
17
17
|
[](https://twitter.com/JoshuaKGoldberg)
|
|
@@ -35,9 +35,11 @@ Also cats. \u{1F431}
|
|
|
35
35
|
Because I'm independent, I rely on sponsors to fund my work.
|
|
36
36
|
They deserve our sincere appreciation and gratitude.
|
|
37
37
|
|
|
38
|
+
<!-- spell-checker: disable -->
|
|
38
39
|
<!-- markdownlint-disable sentences-per-line -->
|
|
39
40
|
${await buildSponsorsTable()}
|
|
40
41
|
<!-- markdownlint-enable sentences-per-line -->
|
|
42
|
+
<!-- spell-checker: enable -->
|
|
41
43
|
|
|
42
44
|
> \u{1F49A} Motivated to support my work, or just want your image here?
|
|
43
45
|
> See my [GitHub Sponsors profile](https://github.com/sponsors/JoshuaKGoldberg).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/generate/index.ts"],"sourcesContent":["import fs from \"node:fs/promises\";\n\nimport { writeFile } from \"../shared/writeFile.js\";\nimport { generateProjectsTables } from \"./generateProjectsTables.js\";\nimport { buildSponsorsTable } from \"./generateSponsorsTable.js\";\n\nexport async function generate() {\n\tconst content = `\n## Hi, I'm Josh! 💖\n\n<!--\nFun fact: the entirety of this README.md is auto-generated!\nSee https://github.com/JoshuaKGoldberg/JoshuaKGoldberg.\n-->\n\n[](https://
|
|
1
|
+
{"version":3,"sources":["../../src/generate/index.ts"],"sourcesContent":["import fs from \"node:fs/promises\";\n\nimport { writeFile } from \"../shared/writeFile.js\";\nimport { generateProjectsTables } from \"./generateProjectsTables.js\";\nimport { buildSponsorsTable } from \"./generateSponsorsTable.js\";\n\nexport async function generate() {\n\tconst content = `\n## Hi, I'm Josh! 💖\n\n<!--\nFun fact: the entirety of this README.md is auto-generated!\nSee https://github.com/JoshuaKGoldberg/JoshuaKGoldberg.\n-->\n\n[](https://bsky.app/profile/joshuakgoldberg.com)\n[](https://fosstodon.org/@JoshuaKGoldberg)\n[](https://twitch.tv/JoshuaKGoldberg)\n[](https://twitter.com/JoshuaKGoldberg)\n[](https://youtube.com/@JoshuaKGoldberg)\n\n[](mailto:me@joshuakgoldberg.com)\n[](https://github.com/sponsors/joshuakgoldberg)\n\nI'm an independent full time open source developer.\n\nI work on projects in the TypeScript ecosystem, most notably [typescript-eslint](https://typescript-eslint.io): the tooling that enables ESLint and Prettier to run on TypeScript code.\nI'm also the author of O'Reilly's [_Learning TypeScript_ book](https://www.learningtypescript.com), a Microsoft MVP for developer technologies, and an active conference speaker.\n\nMy personal projects range from static analysis to meta-languages to recreating retro games in the browser.\nAlso cats. 🐱\n\n---\n\n## Thanks to my Sponsors\n\nBecause I'm independent, I rely on sponsors to fund my work.\nThey deserve our sincere appreciation and gratitude.\n\n<!-- spell-checker: disable -->\n<!-- markdownlint-disable sentences-per-line -->\n${await buildSponsorsTable()}\n<!-- markdownlint-enable sentences-per-line -->\n<!-- spell-checker: enable -->\n\n> 💚 Motivated to support my work, or just want your image here?\n> See my [GitHub Sponsors profile](https://github.com/sponsors/JoshuaKGoldberg).\n> Thanks!\n\n## What I'm Working On\n\n${await generateProjectsTables()}\n\n## Development\n${(await fs.readFile(\"./README.md\")).toString().split(\"## Development\")[1]}\n`.trimStart();\n\n\tawait writeFile(\"./README.md\", content, \"markdown\");\n}\n"],"mappings":"AAAA,OAAO,QAAQ;AAEf,SAAS,iBAAiB;AAC1B,SAAS,8BAA8B;AACvC,SAAS,0BAA0B;AAEnC,eAAsB,WAAW;AAChC,QAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkCf,MAAM,mBAAmB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAU1B,MAAM,uBAAuB,CAAC;AAAA;AAAA;AAAA,GAG7B,MAAM,GAAG,SAAS,aAAa,GAAG,SAAS,EAAE,MAAM,gBAAgB,EAAE,CAAC,CAAC;AAAA,EACxE,UAAU;AAEX,QAAM,UAAU,eAAe,SAAS,UAAU;AACnD;","names":[]}
|
package/lib/projects.js
CHANGED
|
@@ -11,20 +11,20 @@ const projectCategories = {
|
|
|
11
11
|
owner: "typescript-eslint",
|
|
12
12
|
repo: "typescript-eslint",
|
|
13
13
|
role: "Maintainer",
|
|
14
|
-
stars:
|
|
14
|
+
stars: 14024
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
description: "Converts JavaScript to TypeScript and TypeScript to better TypeScript.",
|
|
18
18
|
owner: "JoshuaKGoldberg",
|
|
19
19
|
repo: "TypeStat",
|
|
20
|
-
stars:
|
|
20
|
+
stars: 1774
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
|
-
description: "Quickstart-friendly TypeScript template with comprehensive
|
|
23
|
+
description: "Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. \u{1F49D}",
|
|
24
24
|
image: "https://www.joshuakgoldberg.com/img/create-typescript-app.png",
|
|
25
25
|
owner: "JoshuaKGoldberg",
|
|
26
26
|
repo: "create-typescript-app",
|
|
27
|
-
stars:
|
|
27
|
+
stars: 493
|
|
28
28
|
}
|
|
29
29
|
]
|
|
30
30
|
},
|
|
@@ -36,7 +36,7 @@ const projectCategories = {
|
|
|
36
36
|
owner: "omnidan",
|
|
37
37
|
repo: "node-emoji",
|
|
38
38
|
role: "Junior maintainer",
|
|
39
|
-
stars:
|
|
39
|
+
stars: 1246
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
description: "\u{1F4A5} Blasts \u{1F604} emoji \u{1F60A} like \u{1F386} fireworks \u{1F387} all up in your \u{1F4BB} HTML \u{1F4C4} page. \u{1F60D}",
|
|
@@ -45,25 +45,25 @@ const projectCategories = {
|
|
|
45
45
|
},
|
|
46
46
|
owner: "JoshuaKGoldberg",
|
|
47
47
|
repo: "Emojisplosion",
|
|
48
|
-
stars:
|
|
48
|
+
stars: 117
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
description: "Connects konami-code-js to emojisplosion for a glorious easter egg. \u{1F389} \u2728 \u{1F386}",
|
|
52
52
|
owner: "JoshuaKGoldberg",
|
|
53
53
|
repo: "Konamimojisplosion",
|
|
54
|
-
stars:
|
|
54
|
+
stars: 10
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
description: "TypeDoc plugin to quickly integrate konamimojisplosion into your docs site. \u{1F389} \u2728 \u{1F386}",
|
|
58
58
|
owner: "JoshuaKGoldberg",
|
|
59
59
|
repo: "typedoc-plugin-konamimojisplosion",
|
|
60
|
-
stars:
|
|
60
|
+
stars: 4
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
63
|
description: "Astro integration to quickly load konamimojisplosion into your site. \u{1F389} \u2728 \u{1F386}",
|
|
64
64
|
owner: "JoshuaKGoldberg",
|
|
65
65
|
repo: "astro-konamimojisplosion",
|
|
66
|
-
stars:
|
|
66
|
+
stars: 2
|
|
67
67
|
}
|
|
68
68
|
]
|
|
69
69
|
},
|
|
@@ -77,26 +77,26 @@ const projectCategories = {
|
|
|
77
77
|
owner: "JoshuaKGoldberg",
|
|
78
78
|
repo: "Old-Deleted-FullScreenMario",
|
|
79
79
|
role: "Creator",
|
|
80
|
-
stars:
|
|
80
|
+
stars: 2993
|
|
81
81
|
},
|
|
82
82
|
{
|
|
83
83
|
description: "A free HTML5 remake of the original Pokemon, expanded for modern browsing.",
|
|
84
84
|
image: "https://www.joshuakgoldberg.com/images/fullscreenpokemon.png",
|
|
85
85
|
owner: "FullScreenShenanigans",
|
|
86
86
|
repo: "FullScreenPokemon",
|
|
87
|
-
stars:
|
|
87
|
+
stars: 207
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
description: "Bare-bones, highly modular game engine for 2D 8-bit games.",
|
|
91
91
|
owner: "FullScreenShenanigans",
|
|
92
92
|
repo: "EightBittr",
|
|
93
|
-
stars:
|
|
93
|
+
stars: 69
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
96
|
description: "Choosing a modern JavaScript UI framework, Pokemon-style.",
|
|
97
97
|
owner: "JoshuaKGoldberg",
|
|
98
98
|
repo: "ChooseYourFramework",
|
|
99
|
-
stars:
|
|
99
|
+
stars: 67
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
102
|
description: "A unified syntax that compiles into your favorite OOP languages. \u{1F99C}",
|
|
@@ -123,7 +123,7 @@ const projectCategories = {
|
|
|
123
123
|
],
|
|
124
124
|
owner: "budgielang",
|
|
125
125
|
repo: "Budgie",
|
|
126
|
-
stars:
|
|
126
|
+
stars: 59
|
|
127
127
|
}
|
|
128
128
|
]
|
|
129
129
|
},
|
|
@@ -135,74 +135,74 @@ const projectCategories = {
|
|
|
135
135
|
owner: "dmnd",
|
|
136
136
|
repo: "dedent",
|
|
137
137
|
role: "Adoptive maintainer",
|
|
138
|
-
stars:
|
|
138
|
+
stars: 770
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
|
-
description: "ESLint plugin with
|
|
141
|
+
description: "ESLint plugin with ^? Twoslash, $ExpectError, and $ExpectType type assertions. \u{1F9E9}",
|
|
142
142
|
owner: "JoshuaKGoldberg",
|
|
143
143
|
repo: "eslint-plugin-expect-type",
|
|
144
144
|
role: "Adoptive maintainer",
|
|
145
|
-
stars:
|
|
145
|
+
stars: 71
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
|
-
description: "Prettier plugin to enforce consistent brace style for all control statements.",
|
|
148
|
+
description: "Prettier plugin to enforce consistent brace style for all control statements. \u{1F94C}",
|
|
149
149
|
owner: "JoshuaKGoldberg",
|
|
150
150
|
repo: "prettier-plugin-curly",
|
|
151
|
-
stars:
|
|
151
|
+
stars: 38
|
|
152
152
|
},
|
|
153
153
|
{
|
|
154
|
-
description: "Utility functions for working with TypeScript's API. Successor to the wonderful
|
|
154
|
+
description: "Utility functions for working with TypeScript's API. Successor to the wonderful tsutils. \u{1F6E0}\uFE0F\uFE0F",
|
|
155
155
|
owner: "JoshuaKGoldberg",
|
|
156
156
|
repo: "ts-api-utils",
|
|
157
|
-
stars:
|
|
157
|
+
stars: 27
|
|
158
158
|
},
|
|
159
159
|
{
|
|
160
|
-
description: "
|
|
160
|
+
description: "Chrome extension for GitHub's Saved Replies that adds replies from a repository's `.github/replies.yml`. \u{1F4E8}",
|
|
161
161
|
owner: "JoshuaKGoldberg",
|
|
162
162
|
repo: "refined-saved-replies",
|
|
163
|
-
stars:
|
|
163
|
+
stars: 27
|
|
164
164
|
},
|
|
165
165
|
{
|
|
166
|
-
description: "
|
|
166
|
+
description: "TypeScript transformation that inlines calls to small functions. \u26A1\uFE0F",
|
|
167
167
|
owner: "JoshuaKGoldberg",
|
|
168
|
-
repo: "
|
|
169
|
-
stars:
|
|
168
|
+
repo: "ts-function-inliner",
|
|
169
|
+
stars: 21
|
|
170
170
|
},
|
|
171
171
|
{
|
|
172
|
-
description: "
|
|
172
|
+
description: "Mocks out Redux actions and selectors for clean React Jest tests. \u{1F3AD}",
|
|
173
173
|
owner: "JoshuaKGoldberg",
|
|
174
|
-
repo: "
|
|
174
|
+
repo: "mock-react-redux",
|
|
175
175
|
stars: 20
|
|
176
176
|
},
|
|
177
177
|
{
|
|
178
178
|
description: "Creates and caches values under keys. \u{1F3ED}",
|
|
179
179
|
owner: "JoshuaKGoldberg",
|
|
180
180
|
repo: "cached-factory",
|
|
181
|
-
stars:
|
|
181
|
+
stars: 12
|
|
182
182
|
},
|
|
183
183
|
{
|
|
184
|
-
description: "Gently fails test runs if the console was used during them.",
|
|
184
|
+
description: "Gently fails test runs if the console was used during them. \u{1F4E2}",
|
|
185
185
|
owner: "JoshuaKGoldberg",
|
|
186
186
|
repo: "console-fail-test",
|
|
187
|
-
stars:
|
|
187
|
+
stars: 12
|
|
188
188
|
},
|
|
189
189
|
{
|
|
190
190
|
description: "Fills in missing allcontributors entries for a repository. \u{1F46A}",
|
|
191
191
|
owner: "JoshuaKGoldberg",
|
|
192
192
|
repo: "all-contributors-auto-action",
|
|
193
|
-
stars:
|
|
193
|
+
stars: 10
|
|
194
194
|
},
|
|
195
195
|
{
|
|
196
|
-
description: "Checks whether a
|
|
196
|
+
description: "Checks whether a semantic release should be run for a commit. \u{1F482}",
|
|
197
197
|
owner: "JoshuaKGoldberg",
|
|
198
|
-
repo: "
|
|
198
|
+
repo: "should-semantic-release",
|
|
199
199
|
stars: 7
|
|
200
200
|
},
|
|
201
201
|
{
|
|
202
|
-
description: "Checks whether a
|
|
202
|
+
description: "Checks whether a documentation description introduces any new information. \u2139\uFE0F",
|
|
203
203
|
owner: "JoshuaKGoldberg",
|
|
204
|
-
repo: "
|
|
205
|
-
stars:
|
|
204
|
+
repo: "are-docs-informative",
|
|
205
|
+
stars: 6
|
|
206
206
|
},
|
|
207
207
|
{
|
|
208
208
|
description: "Finds your npm packages that are eligible for Tidelift funding. \u{1F4B8}",
|
|
@@ -211,37 +211,43 @@ const projectCategories = {
|
|
|
211
211
|
stars: 6
|
|
212
212
|
},
|
|
213
213
|
{
|
|
214
|
-
description: "Creates a Markdown table summarizing your GitHub sponsors.",
|
|
214
|
+
description: "Creates a Markdown table summarizing your GitHub sponsors. \u{1F4B0}",
|
|
215
215
|
owner: "JoshuaKGoldberg",
|
|
216
216
|
repo: "github-sponsors-to-markdown",
|
|
217
217
|
stars: 4
|
|
218
218
|
},
|
|
219
219
|
{
|
|
220
|
-
description: "
|
|
221
|
-
owner: "JoshuaKGoldberg",
|
|
222
|
-
repo: "all-contributors-for-repository",
|
|
223
|
-
stars: 3
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
description: "Find your npm packages eligible for Tidelift funding. \u{1F4B8}",
|
|
220
|
+
description: "Web app to find your npm packages eligible for Tidelift funding. \u{1F4B8}",
|
|
227
221
|
links: {
|
|
228
222
|
Site: "https://tidelift-me-up-site.vercel.app/"
|
|
229
223
|
},
|
|
230
224
|
owner: "JoshuaKGoldberg",
|
|
231
225
|
repo: "tidelift-me-up-site",
|
|
232
|
-
stars:
|
|
226
|
+
stars: 4
|
|
233
227
|
},
|
|
234
228
|
{
|
|
235
|
-
description: "Contributed markdownlint rule for
|
|
229
|
+
description: "Contributed markdownlint rule for limiting sentences per line. \u{1F4D0}",
|
|
236
230
|
owner: "JoshuaKGoldberg",
|
|
237
231
|
repo: "sentences-per-line",
|
|
238
|
-
stars:
|
|
232
|
+
stars: 4
|
|
239
233
|
},
|
|
240
234
|
{
|
|
241
|
-
description: "
|
|
235
|
+
description: "Generates an allcontributors list for an existing repository. \u{1F91D}",
|
|
236
|
+
owner: "JoshuaKGoldberg",
|
|
237
|
+
repo: "all-contributors-for-repository",
|
|
238
|
+
stars: 3
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
description: "A version of Sinon's `useFakeTimers` that you can call multiple times in a test. \u23F1\uFE0F",
|
|
242
242
|
owner: "JoshuaKGoldberg",
|
|
243
243
|
repo: "sinon-timers-repeatable",
|
|
244
244
|
stars: 1
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
description: "Runs release-it as a GitHub Action, with handling for semantic releases and protected branches. \u{1F4E4}",
|
|
248
|
+
owner: "JoshuaKGoldberg",
|
|
249
|
+
repo: "release-it-action",
|
|
250
|
+
stars: 3
|
|
245
251
|
}
|
|
246
252
|
]
|
|
247
253
|
}
|
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\"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: 14024,\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: 1774,\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, configurable, opinionated tooling. 💝\",\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: 493,\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: 1246,\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: 117,\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: 10,\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: 4,\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: 2,\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: 2993,\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: 207,\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: 69,\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: 67,\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: 59,\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: 770,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"ESLint plugin with ^? Twoslash, $ExpectError, and $ExpectType 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: 71,\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: 38,\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 tsutils. 🛠️️\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"ts-api-utils\",\n\t\t\t\tstars: 27,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"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: 27,\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: 21,\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: \"Creates and caches values under keys. 🏭\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"cached-factory\",\n\t\t\t\tstars: 12,\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: 12,\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: 10,\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\"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: 6,\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\"Web app to 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: 4,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Contributed markdownlint rule for limiting sentences per line. 📐\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"sentences-per-line\",\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:\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\t{\n\t\t\t\tdescription:\n\t\t\t\t\t\"Runs release-it as a GitHub Action, with handling for semantic releases and protected branches. 📤\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"release-it-action\",\n\t\t\t\tstars: 3,\n\t\t\t},\n\t\t],\n\t},\n};\n"],"mappings":"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","names":[]}
|