joshuakgoldberg 0.3.2 → 0.5.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,27 +43,30 @@ 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 >
59
62
  <a href="https://github.com/AkiraBrand">
60
63
  <img alt="Akira " src="https://github.com/AkiraBrand.png?size=50" />
61
64
  </a>
62
- <a href="https://github.com/ElianCodes">
63
- <img alt="Elian ☕️" src="https://github.com/ElianCodes.png?size=50" />
65
+ <a href="https://github.com/bdav">
66
+ <img alt="Beau Davenport" src="https://github.com/bdav.png?size=50" />
64
67
  </a>
65
- <a href="https://github.com/eps1lon">
66
- <img alt="Sebastian Silbermann" src="https://github.com/eps1lon.png?size=50" />
68
+ <a href="https://github.com/ElianCodes">
69
+ <img alt="Elian" src="https://github.com/ElianCodes.png?size=50" />
67
70
  </a>
68
71
  <a href="https://github.com/FarazPatankar">
69
72
  <img alt="Faraz Patankar" src="https://github.com/FarazPatankar.png?size=50" />
@@ -71,15 +74,15 @@ They deserve our sincere appreciation and gratitude.
71
74
  <a href="https://github.com/IanVS">
72
75
  <img alt="Ian VanSchooten" src="https://github.com/IanVS.png?size=50" />
73
76
  </a>
74
- <a href="https://github.com/indeedeng">
75
- <img alt="Indeed Engineering" src="https://github.com/indeedeng.png?size=50" />
76
- </a>
77
77
  <a href="https://github.com/jennjunod">
78
78
  <img alt="Jenn Junod" src="https://github.com/jennjunod.png?size=50" />
79
79
  </a>
80
80
  <a href="https://github.com/Jolg42">
81
81
  <img alt="Joël Galeran" src="https://github.com/Jolg42.png?size=50" />
82
82
  </a>
83
+ <a href="https://github.com/Kamalnrf">
84
+ <img alt="Kamal" src="https://github.com/Kamalnrf.png?size=50" />
85
+ </a>
83
86
  <a href="https://github.com/KernelGamut32">
84
87
  <img alt="Allen Sanders" src="https://github.com/KernelGamut32.png?size=50" />
85
88
  </a>
@@ -95,26 +98,26 @@ They deserve our sincere appreciation and gratitude.
95
98
  <a href="https://github.com/rwaskiewicz">
96
99
  <img alt="Ryan Waskiewicz" src="https://github.com/rwaskiewicz.png?size=50" />
97
100
  </a>
98
- <a href="https://github.com/thomasballinger">
99
- <img alt="Tom Ballinger" src="https://github.com/thomasballinger.png?size=50" />
100
- </a>
101
101
  </td>
102
102
  <td >
103
+ <a href="https://github.com/antfu">
104
+ <img alt="Anthony Fu" src="https://github.com/antfu.png?size=50" />
105
+ </a>
103
106
  <a href="https://github.com/bmish">
104
107
  <img alt="Bryan Mishkin" src="https://github.com/bmish.png?size=50" />
105
108
  </a>
106
109
  <a href="https://github.com/danfry1">
107
110
  <img alt="Daniel Fry" src="https://github.com/danfry1.png?size=50" />
108
111
  </a>
112
+ <a href="https://github.com/DarrenBaldwin07">
113
+ <img alt="Darren Baldwin" src="https://github.com/DarrenBaldwin07.png?size=50" />
114
+ </a>
109
115
  <a href="https://github.com/johnnyreilly">
110
116
  <img alt="John Reilly" src="https://github.com/johnnyreilly.png?size=50" />
111
117
  </a>
112
118
  <a href="https://github.com/jram930">
113
119
  <img alt="Jared Ramsey" src="https://github.com/jram930.png?size=50" />
114
120
  </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
121
  <a href="https://github.com/nickytonline">
119
122
  <img alt="Nick Taylor" src="https://github.com/nickytonline.png?size=50" />
120
123
  </a>
@@ -138,6 +141,7 @@ They deserve our sincere appreciation and gratitude.
138
141
  </tbody>
139
142
  </table>
140
143
  <!-- markdownlint-enable sentences-per-line -->
144
+ <!-- spell-checker: enable -->
141
145
 
142
146
  > 💚 Motivated to support my work, or just want your image here?
143
147
  > See my [GitHub Sponsors profile](https://github.com/sponsors/JoshuaKGoldberg).
@@ -172,7 +176,7 @@ If you work with TypeScript, you may have used one of the open source projects I
172
176
  </tr>
173
177
  <tr>
174
178
  <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>
179
+ <td>Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 💝</td>
176
180
  <td>Creator & maintainer</td>
177
181
  <td><img alt="Stars: create-typescript-app" src="https://img.shields.io/github/stars/JoshuaKGoldberg/create-typescript-app" /></td>
178
182
  </tr>
@@ -196,7 +200,7 @@ These projects will help you add emoji delighters to your page quickly.
196
200
  <tbody>
197
201
  <tr>
198
202
  <th span="row"><a href="https://github.com/omnidan/node-emoji">node-emoji</a></th>
199
- <td>😏 simple emoji support for node.js projects</td>
203
+ <td>💖 simple emoji support for node.js projects</td>
200
204
  <td>Junior maintainer</td>
201
205
  <td><img alt="Stars: node-emoji" src="https://img.shields.io/github/stars/omnidan/node-emoji" /></td>
202
206
  </tr>
@@ -296,40 +300,40 @@ I work on assorted projects in the JavaScript/TypeScript ecosystem that make it
296
300
  </tr>
297
301
  <tr>
298
302
  <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>
303
+ <td>ESLint plugin with ^? Twoslash, $ExpectError, and $ExpectType type assertions. 🧩</td>
300
304
  <td>Adoptive maintainer</td>
301
305
  <td><img alt="Stars: eslint-plugin-expect-type" src="https://img.shields.io/github/stars/JoshuaKGoldberg/eslint-plugin-expect-type" /></td>
302
306
  </tr>
303
307
  <tr>
304
308
  <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>
309
+ <td>Prettier plugin to enforce consistent brace style for all control statements. 🥌</td>
306
310
  <td>Creator & maintainer</td>
307
311
  <td><img alt="Stars: prettier-plugin-curly" src="https://img.shields.io/github/stars/JoshuaKGoldberg/prettier-plugin-curly" /></td>
308
312
  </tr>
309
313
  <tr>
310
314
  <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>
315
+ <td>Utility functions for working with TypeScript's API. Successor to the wonderful tsutils. 🛠️️</td>
312
316
  <td>Creator & maintainer</td>
313
317
  <td><img alt="Stars: ts-api-utils" src="https://img.shields.io/github/stars/JoshuaKGoldberg/ts-api-utils" /></td>
314
318
  </tr>
315
319
  <tr>
316
320
  <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>
321
+ <td>Chrome extension for GitHub's Saved Replies that adds replies from a repository's `.github/replies.yml`. 📨</td>
318
322
  <td>Creator & maintainer</td>
319
323
  <td><img alt="Stars: refined-saved-replies" src="https://img.shields.io/github/stars/JoshuaKGoldberg/refined-saved-replies" /></td>
320
324
  </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
325
  <tr>
328
326
  <th span="row"><a href="https://github.com/JoshuaKGoldberg/ts-function-inliner">ts-function-inliner</a></th>
329
327
  <td>TypeScript transformation that inlines calls to small functions. ⚡️</td>
330
328
  <td>Creator & maintainer</td>
331
329
  <td><img alt="Stars: ts-function-inliner" src="https://img.shields.io/github/stars/JoshuaKGoldberg/ts-function-inliner" /></td>
332
330
  </tr>
331
+ <tr>
332
+ <th span="row"><a href="https://github.com/JoshuaKGoldberg/mock-react-redux">mock-react-redux</a></th>
333
+ <td>Mocks out Redux actions and selectors for clean React Jest tests. 🎭</td>
334
+ <td>Creator & maintainer</td>
335
+ <td><img alt="Stars: mock-react-redux" src="https://img.shields.io/github/stars/JoshuaKGoldberg/mock-react-redux" /></td>
336
+ </tr>
333
337
  <tr>
334
338
  <th span="row"><a href="https://github.com/JoshuaKGoldberg/cached-factory">cached-factory</a></th>
335
339
  <td>Creates and caches values under keys. 🏭</td>
@@ -338,7 +342,7 @@ I work on assorted projects in the JavaScript/TypeScript ecosystem that make it
338
342
  </tr>
339
343
  <tr>
340
344
  <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>
345
+ <td>Gently fails test runs if the console was used during them. 📢</td>
342
346
  <td>Creator & maintainer</td>
343
347
  <td><img alt="Stars: console-fail-test" src="https://img.shields.io/github/stars/JoshuaKGoldberg/console-fail-test" /></td>
344
348
  </tr>
@@ -349,16 +353,16 @@ I work on assorted projects in the JavaScript/TypeScript ecosystem that make it
349
353
  <td><img alt="Stars: all-contributors-auto-action" src="https://img.shields.io/github/stars/JoshuaKGoldberg/all-contributors-auto-action" /></td>
350
354
  </tr>
351
355
  <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>
356
+ <th span="row"><a href="https://github.com/JoshuaKGoldberg/should-semantic-release">should-semantic-release</a></th>
357
+ <td>Checks whether a semantic release should be run for a commit. 💂</td>
354
358
  <td>Creator & maintainer</td>
355
- <td><img alt="Stars: are-docs-informative" src="https://img.shields.io/github/stars/JoshuaKGoldberg/are-docs-informative" /></td>
359
+ <td><img alt="Stars: should-semantic-release" src="https://img.shields.io/github/stars/JoshuaKGoldberg/should-semantic-release" /></td>
356
360
  </tr>
357
361
  <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>
362
+ <th span="row"><a href="https://github.com/JoshuaKGoldberg/are-docs-informative">are-docs-informative</a></th>
363
+ <td>Checks whether a documentation description introduces any new information. ℹ️</td>
360
364
  <td>Creator & maintainer</td>
361
- <td><img alt="Stars: should-semantic-release" src="https://img.shields.io/github/stars/JoshuaKGoldberg/should-semantic-release" /></td>
365
+ <td><img alt="Stars: are-docs-informative" src="https://img.shields.io/github/stars/JoshuaKGoldberg/are-docs-informative" /></td>
362
366
  </tr>
363
367
  <tr>
364
368
  <th span="row"><a href="https://github.com/JoshuaKGoldberg/tidelift-me-up">tidelift-me-up</a></th>
@@ -368,38 +372,49 @@ I work on assorted projects in the JavaScript/TypeScript ecosystem that make it
368
372
  </tr>
369
373
  <tr>
370
374
  <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>
375
+ <td>Creates a Markdown table summarizing your GitHub sponsors. 💰</td>
372
376
  <td>Creator & maintainer</td>
373
377
  <td><img alt="Stars: github-sponsors-to-markdown" src="https://img.shields.io/github/stars/JoshuaKGoldberg/github-sponsors-to-markdown" /></td>
374
378
  </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
379
  <tr>
382
380
  <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>
381
+ <td>Web app to find your npm packages eligible for Tidelift funding. 💸</td>
384
382
  <td>Creator & maintainer</td>
385
383
  <td><img alt="Stars: tidelift-me-up-site" src="https://img.shields.io/github/stars/JoshuaKGoldberg/tidelift-me-up-site" /></td>
386
384
  </tr>
387
385
  <tr>
388
386
  <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>
387
+ <td>Contributed markdownlint rule for limiting sentences per line. 📐</td>
390
388
  <td>Creator & maintainer</td>
391
389
  <td><img alt="Stars: sentences-per-line" src="https://img.shields.io/github/stars/JoshuaKGoldberg/sentences-per-line" /></td>
392
390
  </tr>
391
+ <tr>
392
+ <th span="row"><a href="https://github.com/JoshuaKGoldberg/all-contributors-for-repository">all-contributors-for-repository</a></th>
393
+ <td>Generates an allcontributors list for an existing repository. 🤝</td>
394
+ <td>Creator & maintainer</td>
395
+ <td><img alt="Stars: all-contributors-for-repository" src="https://img.shields.io/github/stars/JoshuaKGoldberg/all-contributors-for-repository" /></td>
396
+ </tr>
397
+ <tr>
398
+ <th span="row"><a href="https://github.com/JoshuaKGoldberg/release-it-action">release-it-action</a></th>
399
+ <td>Runs release-it as a GitHub Action, with handling for semantic releases and protected branches. 📤</td>
400
+ <td>Creator & maintainer</td>
401
+ <td><img alt="Stars: release-it-action" src="https://img.shields.io/github/stars/JoshuaKGoldberg/release-it-action" /></td>
402
+ </tr>
393
403
  <tr>
394
404
  <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>
405
+ <td>A version of Sinon's `useFakeTimers` that you can call multiple times in a test. ⏱️</td>
396
406
  <td>Creator & maintainer</td>
397
407
  <td><img alt="Stars: sinon-timers-repeatable" src="https://img.shields.io/github/stars/JoshuaKGoldberg/sinon-timers-repeatable" /></td>
398
408
  </tr>
409
+ <tr>
410
+ <th span="row"><a href="https://github.com/JoshuaKGoldberg/eslint-plugin-never-disable">eslint-plugin-never-disable</a></th>
411
+ <td>ESLint plugin to completely ban disabling specific rules. 🙅</td>
412
+ <td>Creator & maintainer</td>
413
+ <td><img alt="Stars: eslint-plugin-never-disable" src="https://img.shields.io/github/stars/JoshuaKGoldberg/eslint-plugin-never-disable" /></td>
414
+ </tr>
399
415
  </tbody>
400
416
  </table>
401
417
  <!-- markdownlint-enable sentences-per-line -->
402
- <!-- spell-checker: enable -->
403
418
 
404
419
  ## Development
405
420
 
@@ -415,7 +430,7 @@ Thanks! 💖
415
430
  <table>
416
431
  <tbody>
417
432
  <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>
433
+ <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
434
  </tr>
420
435
  </tbody>
421
436
  </table>
@@ -426,6 +441,4 @@ Thanks! 💖
426
441
  <!-- ALL-CONTRIBUTORS-LIST:END -->
427
442
  <!-- spellchecker: enable -->
428
443
 
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).
444
+ > 💙 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: 14067
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: 1780
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: 508
28
28
  }
29
29
  ]
30
30
  },
@@ -32,11 +32,11 @@ const projectCategories = {
32
32
  description: "I also have an interest in making web apps more delightful. These projects will help you add emoji delighters to your page quickly.",
33
33
  projects: [
34
34
  {
35
- description: "\u{1F60F} simple emoji support for node.js projects",
35
+ description: "\u{1F496} simple emoji support for node.js projects",
36
36
  owner: "omnidan",
37
37
  repo: "node-emoji",
38
38
  role: "Junior maintainer",
39
- stars: 1230
39
+ stars: 1255
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: 119
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,20 +77,20 @@ 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: 208
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.",
@@ -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: 780
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: 42
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: 11
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,11 +211,26 @@ 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
+ {
220
+ description: "Web app to find your npm packages eligible for Tidelift funding. \u{1F4B8}",
221
+ links: {
222
+ Site: "https://tidelift-me-up-site.vercel.app/"
223
+ },
224
+ owner: "JoshuaKGoldberg",
225
+ repo: "tidelift-me-up-site",
226
+ stars: 4
227
+ },
228
+ {
229
+ description: "Contributed markdownlint rule for limiting sentences per line. \u{1F4D0}",
230
+ owner: "JoshuaKGoldberg",
231
+ repo: "sentences-per-line",
232
+ stars: 4
233
+ },
219
234
  {
220
235
  description: "Generates an allcontributors list for an existing repository. \u{1F91D}",
221
236
  owner: "JoshuaKGoldberg",
@@ -223,24 +238,21 @@ const projectCategories = {
223
238
  stars: 3
224
239
  },
225
240
  {
226
- description: "Find your npm packages eligible for Tidelift funding. \u{1F4B8}",
227
- links: {
228
- Site: "https://tidelift-me-up-site.vercel.app/"
229
- },
241
+ description: "Runs release-it as a GitHub Action, with handling for semantic releases and protected branches. \u{1F4E4}",
230
242
  owner: "JoshuaKGoldberg",
231
- repo: "tidelift-me-up-site",
243
+ repo: "release-it-action",
232
244
  stars: 3
233
245
  },
234
246
  {
235
- description: "Contributed markdownlint rule for one sentence per line.",
247
+ description: "A version of Sinon's `useFakeTimers` that you can call multiple times in a test. \u23F1\uFE0F",
236
248
  owner: "JoshuaKGoldberg",
237
- repo: "sentences-per-line",
238
- stars: 2
249
+ repo: "sinon-timers-repeatable",
250
+ stars: 1
239
251
  },
240
252
  {
241
- description: "A version of Sinon's `useFakeTimers` that you can call multiple times in a test.",
253
+ description: "ESLint plugin to completely ban disabling specific rules. \u{1F645}",
242
254
  owner: "JoshuaKGoldberg",
243
- repo: "sinon-timers-repeatable",
255
+ repo: "eslint-plugin-never-disable",
244
256
  stars: 1
245
257
  }
246
258
  ]
@@ -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: 14067,\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: 1780,\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: 508,\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: 1255,\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: 119,\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: 208,\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: 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: 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: 780,\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: 42,\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: 11,\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\"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\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\"ESLint plugin to completely ban disabling specific rules. 🙅\",\n\t\t\t\towner: \"JoshuaKGoldberg\",\n\t\t\t\trepo: \"eslint-plugin-never-disable\",\n\t\t\t\tstars: 1,\n\t\t\t},\n\t\t],\n\t},\n};\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joshuakgoldberg",
3
- "version": "0.3.2",
3
+ "version": "0.5.0",
4
4
  "description": "Packaged projects and personal GitHub README for JoshuaKGoldberg. 👋",
5
5
  "repository": {
6
6
  "type": "git",