Sindre Sorhus
@sindresorhus
Full-Time Open-Sourcerer. Focused on Swift & JavaScript. Makes macOS apps, CLI tools, npm packages.
539
Published Tools
382,501
Total Stars
10,722,129,849
Weekly Downloads
85,120
GitHub Followers
1,146
Public Repos
100/100
Avg Security
Published Tools
2 MCP Servers198 Skillsacross 4 categoriessindresorhus
Human-friendly and powerful HTTP request library for Node.js
sindresorhus
The minimal amount of CSS to replicate the GitHub Markdown style
sindresorhus
JavaScript/TypeScript linter (ESLint wrapper) with great defaults
sindresorhus
Simple wrapper for cross-browser usage of the JavaScript Fullscreen API, which lets you bring the page or any element into fullscreen.
...moresindresorhus
Create a good-looking DMG for your macOS app in seconds
sindresorhus
Simple data persistence for your Electron app or module - Save and load user settings, app state, cache, etc
sindresorhus
Detect the file type of a file, stream, or data
sindresorhus
Open stuff like URLs, files, executables. Cross-platform.
sindresorhus
Run multiple promise-returning & async functions with limited concurrency
sindresorhus
Collection of customizable UI components for CLIs made with Ink
sindresorhus
Static asset revisioning by appending content hash to filenames: unicorn.css => unicorn-d41d8cd98f.css
sindresorhus
Convert bytes to a human readable string: 1337 → 1.34 kB
sindresorhus
Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s`
sindresorhus
Memoize functions - An optimization used to speed up consecutive function calls by caching the result of calls with identical input
...moresindresorhus
Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.
sindresorhus
Copy text to the clipboard in modern browsers (0.2 kB)
sindresorhus
Hashing made simple. Get the hash of a buffer/string/stream/file.
sindresorhus
Get metadata about the active window and open windows (title, id, bounds, owner, URL, etc)
sindresorhus
Easily load and save config without having to think about where and how
sindresorhus
CommonJS version - The smallest and fastest command-line coloring package on the internet
sindresorhus
Capture screenshots of websites from the command-line
sindresorhus
Delay function calls until a set time elapses after the last invocation
sindresorhus
Colored symbols for various log levels. Example: `✔︎ Success`
sindresorhus
Measure the difference between two strings using the Levenshtein distance algorithm
sindresorhus
Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`
sindresorhus
Tiny hashing module that uses the native crypto API in Node.js and the browser
sindresorhus
Strip comments from JSON. Lets you use comments in your JSON files!
sindresorhus
Simple auto-reloading for Electron apps during development
sindresorhus
Generate a cryptographically strong random string
sindresorhus
Tiny process execution for humans — a better child_process
sindresorhus
Global identifiers from different JavaScript environments
sindresorhus
Understand how your tool is being used by anonymously reporting usage metrics to Google Analytics or Yandex.Metrica
sindresorhus
ANSI escape codes for manipulating the terminal
sindresorhus
Get the visual width of a string - the number of columns required to display it
sindresorhus
Make a directory and its parents if needed - Think `mkdir -p`
sindresorhus
Catch unhandled errors and promise rejections in your Electron app
sindresorhus
ANSI escape codes for styling strings in the terminal
sindresorhus
Open stuff like URLs, files, executables. Cross-platform.
sindresorhus
Get paths for storing things like data, config, cache, etc
sindresorhus
Generate a Code of Conduct for your project - Provided by Contributor Covenant
sindresorhus
Get a stream as a string, Buffer, ArrayBuffer or array
sindresorhus
Run promise-returning & async functions concurrently with optional limited concurrency
sindresorhus
Display images in terminals using the iTerm inline image protocol
sindresorhus
Extends `minimatch.match()` with support for multiple patterns
sindresorhus
Fix the $PATH on macOS and Linux when run from a GUI app
sindresorhus
Create a lazy promise that defers execution until it's awaited or when `.then()`, `.catch()`, or `.finally()` is called
sindresorhus
Make unhandled promise rejections fail loudly instead of the default silent fail
sindresorhus
Useful utilities for working with Uint8Array (and Buffer)
sindresorhus
Make a synchronous function asynchronous by running it in a worker
sindresorhus
Find the root directory of a Node.js project or npm package
sindresorhus
Generate a URL for opening a new GitHub issue with prefilled title, body, and other fields
sindresorhus
Filter out system junk files like .DS_Store and Thumbs.db
sindresorhus
Convert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow
sindresorhus
Check if the process is running inside a Docker container
sindresorhus
Control the macOS `Do Not Disturb` feature
sindresorhus
Observe changes to the DOM using an async iterable — A nicer API for MutationObserver
sindresorhus
Debug Vinyl file streams to see what files are run through your Gulp pipeline
sindresorhus
Make a regular expression time out if it takes too long to execute
sindresorhus
Convert a string/promise/array/iterable/asynciterable/buffer/typedarray/arraybuffer/object into a stream
sindresorhus
Move a file, directory, or symlink - Even works across devices
sindresorhus
Regular expression for matching ANSI escape codes
sindresorhus
Check if the process is running inside Windows Subsystem for Linux (Bash on Windows)
sindresorhus
Regular expression for matching IP addresses (IPv4 & IPv6)