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 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=100" />
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=100" />
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=100" />
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=100" />
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 ☕️" src="https://github.com/ElianCodes.png?size=50" />
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 formatting, linting, releases, testing, and other great tooling built-in. ✨</td>
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 $ExpectType, $ExpectError, and $ExpectTypeSnapshot type assertions</td>
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.</td>
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 ajafff/tsutils.</td>
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>A Chrome extension for GitHub's Saved Replies that adds replies from a repository's .github/replies.yml.</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.</td>
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/are-docs-informative">are-docs-informative</a></th>
353
- <td>Checks whether a documentation description introduces any new information. ℹ️</td>
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: are-docs-informative" src="https://img.shields.io/github/stars/JoshuaKGoldberg/are-docs-informative" /></td>
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/should-semantic-release">should-semantic-release</a></th>
359
- <td>Checks whether a semantic release should be run for a commit.</td>
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: should-semantic-release" src="https://img.shields.io/github/stars/JoshuaKGoldberg/should-semantic-release" /></td>
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.</td>
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>Find your npm packages eligible for Tidelift funding. 💸</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 one sentence per line.</td>
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.</td>
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
- <!-- You can remove this notice if you don't want it 🙂 no worries! -->
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 (&gt;=$25/mo)",
13
13
  minimum: 25,
14
- size: 100
14
+ size: 75
15
15
  },
16
16
  Platinum: {
17
17
  label: "Platinum Sponsors (&gt;=$100/mo)",
18
18
  minimum: 100,
19
- size: 150
19
+ size: 100
20
20
  },
21
21
  Silver: {
22
22
  label: "Silver Sponsors (&gt;=$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 (&gt;=$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 (&gt;=$25/mo)\",\n\t\t\t\tminimum: 25,\n\t\t\t\tsize: 100,\n\t\t\t},\n\t\t\tPlatinum: {\n\t\t\t\tlabel: \"Platinum Sponsors (&gt;=$100/mo)\",\n\t\t\t\tminimum: 100,\n\t\t\t\tsize: 150,\n\t\t\t},\n\t\t\tSilver: {\n\t\t\t\tlabel: \"Silver Sponsors (&gt;=$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":[]}
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 (&gt;=$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 (&gt;=$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 (&gt;=$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 (&gt;=$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":[]}
@@ -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
- [![Follow on Bluesky](https://img.shields.io/badge/Follow-Bluesky-3B82F6.svg)](https://staging.bsky.app/profile/joshuakgoldberg.com)
14
+ [![Follow on Bluesky](https://img.shields.io/badge/Follow-Bluesky-3B82F6.svg)](https://bsky.app/profile/joshuakgoldberg.com)
15
15
  [![Follow on Mastodon](https://img.shields.io/badge/Follow-Mastodon-5A47DC.svg)](https://fosstodon.org/@JoshuaKGoldberg)
16
16
  [![Follow on Twitch](https://img.shields.io/badge/Follow-Twitch-9147FF.svg)](https://twitch.tv/JoshuaKGoldberg)
17
17
  [![Follow on Twitter](https://img.shields.io/badge/Follow-Twitter-1DA1F2.svg)](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[![Follow on Bluesky](https://img.shields.io/badge/Follow-Bluesky-3B82F6.svg)](https://staging.bsky.app/profile/joshuakgoldberg.com)\n[![Follow on Mastodon](https://img.shields.io/badge/Follow-Mastodon-5A47DC.svg)](https://fosstodon.org/@JoshuaKGoldberg)\n[![Follow on Twitch](https://img.shields.io/badge/Follow-Twitch-9147FF.svg)](https://twitch.tv/JoshuaKGoldberg)\n[![Follow on Twitter](https://img.shields.io/badge/Follow-Twitter-1DA1F2.svg)](https://twitter.com/JoshuaKGoldberg)\n[![Subscribe on YouTube](https://img.shields.io/badge/Subscribe-YouTube-FF0000.svg)](https://youtube.com/@JoshuaKGoldberg)\n\n[![Email Me](https://img.shields.io/badge/Email-github@joshuakgoldberg.com-007735.svg)](mailto:me@joshuakgoldberg.com)\n[![Sponsor on GitHub](https://img.shields.io/badge/Sponsor-GitHub-6cc644.svg)](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<!-- markdownlint-disable sentences-per-line -->\n${await buildSponsorsTable()}\n<!-- markdownlint-enable sentences-per-line -->\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,EAiCf,MAAM,mBAAmB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS1B,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":[]}
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[![Follow on Bluesky](https://img.shields.io/badge/Follow-Bluesky-3B82F6.svg)](https://bsky.app/profile/joshuakgoldberg.com)\n[![Follow on Mastodon](https://img.shields.io/badge/Follow-Mastodon-5A47DC.svg)](https://fosstodon.org/@JoshuaKGoldberg)\n[![Follow on Twitch](https://img.shields.io/badge/Follow-Twitch-9147FF.svg)](https://twitch.tv/JoshuaKGoldberg)\n[![Follow on Twitter](https://img.shields.io/badge/Follow-Twitter-1DA1F2.svg)](https://twitter.com/JoshuaKGoldberg)\n[![Subscribe on YouTube](https://img.shields.io/badge/Subscribe-YouTube-FF0000.svg)](https://youtube.com/@JoshuaKGoldberg)\n\n[![Email Me](https://img.shields.io/badge/Email-github@joshuakgoldberg.com-007735.svg)](mailto:me@joshuakgoldberg.com)\n[![Sponsor on GitHub](https://img.shields.io/badge/Sponsor-GitHub-6cc644.svg)](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: 13813
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: 1661
20
+ stars: 1774
21
21
  },
22
22
  {
23
- description: "Quickstart-friendly TypeScript template with comprehensive formatting, linting, releases, testing, and other great tooling built-in. \u2728",
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: 352
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: 1230
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: 88
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: 9
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: 3
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: 1
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: 2994
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: 205
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: 70
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: 68
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: 58
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: 755
138
+ stars: 770
139
139
  },
140
140
  {
141
- description: "ESLint plugin with $ExpectType, $ExpectError, and $ExpectTypeSnapshot type assertions",
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: 64
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: 32
151
+ stars: 38
152
152
  },
153
153
  {
154
- description: "Utility functions for working with TypeScript's API. Successor to the wonderful ajafff/tsutils.",
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: 21
157
+ stars: 27
158
158
  },
159
159
  {
160
- description: "A Chrome extension for GitHub's Saved Replies that adds replies from a repository's .github/replies.yml.",
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: 20
163
+ stars: 27
164
164
  },
165
165
  {
166
- description: "\u{1F3AD} Mocks out Redux actions and selectors for clean React Jest tests.",
166
+ description: "TypeScript transformation that inlines calls to small functions. \u26A1\uFE0F",
167
167
  owner: "JoshuaKGoldberg",
168
- repo: "mock-react-redux",
169
- stars: 20
168
+ repo: "ts-function-inliner",
169
+ stars: 21
170
170
  },
171
171
  {
172
- description: "TypeScript transformation that inlines calls to small functions. \u26A1\uFE0F",
172
+ description: "Mocks out Redux actions and selectors for clean React Jest tests. \u{1F3AD}",
173
173
  owner: "JoshuaKGoldberg",
174
- repo: "ts-function-inliner",
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: 13
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: 10
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: 9
193
+ stars: 10
194
194
  },
195
195
  {
196
- description: "Checks whether a documentation description introduces any new information. \u2139\uFE0F",
196
+ description: "Checks whether a semantic release should be run for a commit. \u{1F482}",
197
197
  owner: "JoshuaKGoldberg",
198
- repo: "are-docs-informative",
198
+ repo: "should-semantic-release",
199
199
  stars: 7
200
200
  },
201
201
  {
202
- description: "Checks whether a semantic release should be run for a commit.",
202
+ description: "Checks whether a documentation description introduces any new information. \u2139\uFE0F",
203
203
  owner: "JoshuaKGoldberg",
204
- repo: "should-semantic-release",
205
- stars: 7
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: "Generates an allcontributors list for an existing repository. \u{1F91D}",
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: 3
226
+ stars: 4
233
227
  },
234
228
  {
235
- description: "Contributed markdownlint rule for one sentence per line.",
229
+ description: "Contributed markdownlint rule for limiting sentences per line. \u{1F4D0}",
236
230
  owner: "JoshuaKGoldberg",
237
231
  repo: "sentences-per-line",
238
- stars: 2
232
+ stars: 4
239
233
  },
240
234
  {
241
- description: "A version of Sinon's `useFakeTimers` that you can call multiple times in a test.",
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
  }
@@ -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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joshuakgoldberg",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "description": "Packaged projects and personal GitHub README for JoshuaKGoldberg. 👋",
5
5
  "repository": {
6
6
  "type": "git",