Skip to content
View JoshuaKGoldberg's full-sized avatar
πŸ’–
πŸ’–

Sponsors

Organizations

@mochajs @FullScreenShenanigans @lesshint @budgielang @typescript-eslint @SquiggleTools

Block or report JoshuaKGoldberg

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
JoshuaKGoldberg/README.md

Hi, I'm Josh! πŸ’–

Follow on Bluesky Follow on Mastodon Follow on Twitter Subscribe on YouTube

Email Me Sponsor on GitHub

I'm an independent full time open source developer.

I work on projects in the TypeScript ecosystem, most notably typescript-eslint: the tooling that enables ESLint and Prettier to run on TypeScript code. I'm also the author of O'Reilly's Learning TypeScript book, a Microsoft MVP for developer technologies, and an active conference speaker.

My personal projects range from static analysis to meta-languages to recreating retro games in the browser. Also cats. 🐱


Thanks to my Sponsors

Because I'm independent, I rely on sponsors to fund my work. They deserve our sincere appreciation and gratitude.

Platinum Sponsors (>=$100/mo) Gold Sponsors (>=$25/mo) Silver Sponsors (>=$10/mo) Bronze Sponsors (>=$5/mo)
Info Support Beyang Liu Constituent Voice Loops Beau Davenport Faraz Patankar Ian VanSchooten Jenn Junod Johannes Konings Kamal Allen Sanders kienan Kitson Kelly Tyler Benfield Ryan Waskiewicz Bryan Mishkin Daniel Fry John Reilly Jared Ramsey Nick Taylor Roboflow Santosh Yadav Sindre Sorhus David Brownman

πŸ’š Motivated to support my work, or just want your image here? See my GitHub Sponsors profile. Thanks!

What I'm Working On

Biggest Projects

If you work with JavaScript or TypeScript, you may have used one of the open source projects I support:

Project βš™οΈ Description πŸ“ Role πŸ§‘β€πŸ­ Stars ⭐
eslint Find and fix problems in your JavaScript code. Committer Stars: eslint
mocha β˜•οΈ simple, flexible, fun javascript test framework for node.js & the browser Maintainer Stars: mocha
typescript-eslint ✨ Monorepo for all the tooling which enables ESLint to support TypeScript Maintainer Stars: typescript-eslint
TypeStat Converts JavaScript to TypeScript and TypeScript to better TypeScript. 🧫 Creator & maintainer Stars: TypeStat
create-typescript-app Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. πŸ’ Creator & maintainer Stars: create-typescript-app

Emojis

I also have an interest in making web apps more delightful. These projects will help you add emoji delighters to your page quickly.

Project βš™οΈ Description πŸ“ Role πŸ§‘β€πŸ­ Stars ⭐
node-emoji πŸ’– simple emoji support for node.js projects Junior maintainer Stars: node-emoji
emoji-blast Blasts emoji like fireworks all up in your HTML page. πŸŽ† Creator & maintainer Stars: emoji-blast
emojipedia Unofficial static export of emoji technical information from Emojipedia. πŸ“™ Creator & maintainer Stars: emojipedia
emoji-platform-data Static export of platform-specific metadata for unicode emojis. πŸ—οΈ Creator & maintainer Stars: emoji-platform-data

Just For Fun

These projects I do because I think they're fascinating and/or fun, if not particularly useful:

Project βš™οΈ Description πŸ“ Role πŸ§‘β€πŸ­ Stars ⭐
FullScreenMario An HTML5 remake of the original Super Mario Brothers - expanded for wide screens. Creator Stars: FullScreenMario
FullScreenPokemon A free HTML5 remake of the original Pokemon, expanded for modern browsing. Creator & maintainer Stars: FullScreenPokemon
EightBittr Bare-bones, highly modular game engine for 2D 8-bit games. Creator & maintainer Stars: EightBittr
ChooseYourFramework Choosing a modern JavaScript UI framework, Pokemon-style. Creator & maintainer Stars: ChooseYourFramework
Budgie A unified syntax that compiles into your favorite OOP languages. 🦜 Creator & maintainer Stars: Budgie

Tooling

I work on assorted projects in the JavaScript/TypeScript ecosystem that make it easier to write high quality applications.

Project βš™οΈ Description πŸ“ Role πŸ§‘β€πŸ­ Stars ⭐
dedent ⬅️ ES6 string tag that strips indentation from multi-line strings. Adoptive maintainer Stars: dedent
eslint-plugin-package-json Rules for consistent, readable, and valid package.json files. πŸ—‚οΈ Adoptive maintainer Stars: eslint-plugin-package-json
eslint-plugin-expect-type ESLint plugin with ^? Twoslash, $ExpectError, and $ExpectType type assertions. 🧩 Adoptive maintainer Stars: eslint-plugin-expect-type
package.json-validator Tools to validate package.json files Creator & maintainer Stars: package.json-validator
ts-api-utils Utility functions for working with TypeScript's API. Successor to the wonderful tsutils. πŸ› οΈοΈ Creator & maintainer Stars: ts-api-utils
prettier-plugin-curly Prettier plugin to enforce consistent brace style for all control statements. πŸ₯Œ Creator & maintainer Stars: prettier-plugin-curly
refined-saved-replies Chrome extension for GitHub's Saved Replies that adds replies from a repository's `.github/replies.yml`. πŸ“¨ Creator & maintainer Stars: refined-saved-replies
ts-function-inliner TypeScript transformation that inlines calls to small functions. ⚑️ Creator & maintainer Stars: ts-function-inliner
mock-react-redux Mocks out Redux actions and selectors for clean React Jest tests. 🎭 Creator & maintainer Stars: mock-react-redux
console-fail-test Gently fails test runs if the console was used during them. πŸ“’ Creator & maintainer Stars: console-fail-test
github-username-to-emails Fetches any public emails associated with a GitHub username. πŸ“§ Creator & maintainer Stars: github-username-to-emails
should-semantic-release Checks whether a semantic release should be run for a repository. πŸ’‚ Creator & maintainer Stars: should-semantic-release
all-contributors-auto-action Fills in missing allcontributors entries for a repository. πŸ‘ͺ Creator & maintainer Stars: all-contributors-auto-action
cached-factory Creates and caches values under keys. 🏭 Creator & maintainer Stars: cached-factory
sentences-per-line Contributed markdownlint rule for limiting sentences per line. πŸ“ Creator & maintainer Stars: sentences-per-line
tidelift-me-up-site Web app to find your npm packages eligible for Tidelift funding. πŸ’Έ Creator & maintainer Stars: tidelift-me-up-site
release-it-action Runs release-it as a GitHub Action, with handling for semantic releases and protected branches. πŸ“€ Creator & maintainer Stars: release-it-action
are-docs-informative Checks whether a documentation description introduces any new information. ℹ️ Creator & maintainer Stars: are-docs-informative
tidelift-me-up Finds your npm packages that are eligible for Tidelift funding. πŸ’Έ Creator & maintainer Stars: tidelift-me-up
console-table-without-index The built-in Node.js console.table, but without the annoying (index) column. πŸ“Š Creator & maintainer Stars: console-table-without-index
get-github-auth-token Retrieves the running user's GitHub authentication token. πŸͺ™ Creator & maintainer Stars: get-github-auth-token
github-username-to-emails-site Web app to fetch any public emails associated with a GitHub username. πŸ“§ Creator & maintainer Stars: github-username-to-emails-site
github-sponsors-to-markdown Creates a Markdown table summarizing your GitHub sponsors. πŸ’° Creator & maintainer Stars: github-sponsors-to-markdown
prune-github-notifications Prunes GitHub notifications you don't care about, such as automated dependency bumps. 🧹 Creator & maintainer Stars: prune-github-notifications
description-to-co-authors Parses co-authors from Git/GitHub-style commit messages. ✍️ Creator & maintainer Stars: description-to-co-authors
text-table-fast Generates borderless text table strings suitable for printing to stdout. Fast. 🏁 Creator & maintainer Stars: text-table-fast
all-contributors-for-repository Generates an allcontributors list for an existing repository. 🀝 Creator & maintainer Stars: all-contributors-for-repository
npm-username-to-packages Fetches any packages associated with an npm username. πŸ“¨ Creator & maintainer Stars: npm-username-to-packages
co-author-to-username Fetches the GitHub username for a co-author, if possible. πŸ“‡ Creator & maintainer Stars: co-author-to-username
notion-rich-text-to-markdown Converts Notion's rich text strings to Markdown. πŸͺ’ Creator & maintainer Stars: notion-rich-text-to-markdown
object-strings-deep Retrieves all strings with an object, including keys, properties, recursive objects, and within arrays. 🧡 Creator & maintainer Stars: object-strings-deep
without-undefined-properties Copies an object without its undefined properties. πŸ«₯ Creator & maintainer Stars: without-undefined-properties
import-local-or-npx Imports a local package or one installed from npx. 🚚 Creator & maintainer Stars: import-local-or-npx
cspell-populate-words Populates your cspell.json dictionary with existing unknown words. πŸ”– Creator & maintainer Stars: cspell-populate-words
octokit-from-auth Creates a GitHub Octokit instance from any available auth token. πŸ™ Creator & maintainer Stars: octokit-from-auth
populate-all-contributors-for-repository Populates the .all-contributorsrc for a repository using all-contributors-for-repository. πŸ“‹ Creator & maintainer Stars: populate-all-contributors-for-repository
set-github-repository-labels Sets labels for a GitHub repository, including renaming existing similar labels. 🏷️ Creator & maintainer Stars: set-github-repository-labels
sinon-timers-repeatable A version of Sinon's `useFakeTimers` that you can call multiple times in a test. ⏱️ Creator & maintainer Stars: sinon-timers-repeatable

Development

See .github/CONTRIBUTING.md, then .github/DEVELOPMENT.md. Thanks! πŸ’–

Contributors

Josh Goldberg
Josh Goldberg

🎨 πŸ› πŸ’» 🚧 πŸ”§ πŸš‡

πŸ’™ This package is templated with create-typescript-app.

Popular repositories Loading

  1. Old-Deleted-FullScreenMario Old-Deleted-FullScreenMario Public archive

    An HTML5 remake of the original Super Mario Brothers - expanded for wide screens.

    3k 886

  2. TypeStat TypeStat Public

    Converts JavaScript to TypeScript and TypeScript to better TypeScript. 🧫

    TypeScript 2.1k 40

  3. create-typescript-app create-typescript-app Public template

    Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. πŸ’

    TypeScript 1.2k 74

  4. emoji-blast emoji-blast Public

    Blasts emoji like fireworks all up in your HTML page. πŸŽ†

    TypeScript 276 20

  5. eslint-plugin-package-json eslint-plugin-package-json Public

    Rules for consistent, readable, and valid package.json files. πŸ—‚οΈ

    TypeScript 130 22

  6. eslint-plugin-expect-type eslint-plugin-expect-type Public

    ESLint plugin with ^? Twoslash, $ExpectError, and $ExpectType type assertions. 🧩

    TypeScript 112 5