Advertisement · 728 × 90

Posts by Sindre Sorhus

Release v7.0.0 · vadimdemedes/ink Breaking Require Node.js 22 19b5316 Require React 19.2+ cfaebbb Ink now uses useEffectEvent internally to avoid re-subscribing input handlers on every render Pressing Backspace now correctly ...

Another thing I have been working on for a couple of months:

Ink 7

New hooks: usePaste, useWindowSize, useBoxMetrics, useAnimation

More props stuff for <Box>: maxWidth/maxHeight, aspectRatio, alignContent, position="static"

Ink lets you build CLIs with React

github.com/vadimdemedes...

11 hours ago 16 0 1 0
Post image

Now also with JSON schema validation support.

21 hours ago 4 0 1 0

- Before/after request hooks
- Auto JSON body stringify
- Default search parameters
- Download/upload progress tracking
- Pagination

1 day ago 4 0 1 0

It has everything you will need:

- Retries
- Timeouts
- HTTP error throwing (non-2xx)
- Base URL (resolve relative URLs against a base)
- Default headers
- Auto token refresh on 401
- Client-side rate limiting
- Concurrency limiting
- Request deduplication
- In-memory caching

1 day ago 5 1 1 0
Post image

Build your own HTTP client with fetch-extras

Take only what you need. Tree-shakeable.

Built on Fetch. Works in the browser, Node.js, etc.

github.com/sindresorhus...

1 day ago 53 3 4 1

```js
// baseUrl
ky('users', {baseUrl: '/api/'})
//→ /api/users

ky('/users', {baseUrl: '/api/'})
//→ /users (leading slash = origin-root)

// prefix
ky('users', {prefix: '/api'})
//→ /api/users

ky('/users', {prefix: '/api'})
//→ /api/users (leading slash ignored)
```

1 day ago 3 0 0 0

baseUrl vs prefix

`baseUrl` uses standard URL resolution: `/users` means origin-root, `users` means relative to the base path.

`prefix` does simple string joining first, so `/users` and `users` both append to the prefix the same way. Use it only when you want that behavior.

1 day ago 1 0 2 0

New `baseUrl` option fixes URL handling, `searchParams` option now merges, retries are now more precise by distinguishing failure types, built-in JSON schema validation.

Ky is a tiny JS HTTP client built on top of the built-in Fetch.

2 days ago 7 0 1 0
Advertisement
Post image

For the past two months I have been working hard on Ky 2 and now it's finally out.

All bugs fixed. All GitHub issues resolved. Cleaner API, stricter behavior, fewer footguns.

github.com/sindresorhus...

2 days ago 64 5 1 2

This is a iOS 26 bug. Unfortunately, nothing I can do anything about.

4 days ago 1 0 0 0

For example, the app icon was generated by the app. Unfortunately, I lost the prompt.

1 week ago 2 0 1 0

It depends on the image size you choose. But 16 GB is the minimum. For larger sizes, 48 GB or 64 GB is recommended.

1 week ago 2 0 0 0

Completely free

Requires macOS 26, an Apple silicon Mac (no Intel), minimum 16 GB RAM, and 20 GB free disk space

2 weeks ago 3 1 1 0

It's likely that there is some instance of Aiko running in Shortcuts that never finished so it thinks something is running. Try to quit anything called Aiko and Intent Extension in Activity Monitor. I will look into better handling of this.

2 weeks ago 0 0 0 0
Post image

New app

Imago 🦊

Generate images from text using Flux 2, locally on your computer

sindresorhus.com/imago

2 weeks ago 23 3 2 1
Advertisement

In the next update, I will add a "Get Date Added of File" action to get the date added. You can then use it to filter yourself with other actions.

2 weeks ago 2 0 1 0

Get Image URLs from Web Page
Get Images from Web Page
Get Meta Tags of URL
Get Media Metadata
Get Raw Media Metadata
Convert Text File Encoding
Manage Shortcut Lock
Overlay Image (Extended)
Scan Barcodes in Image
Convert Number Base
Find Points of Interest
Calculate Bearing
Parse/Make Markdown Table

2 weeks ago 3 0 0 0
Preview
Actions Additional actions for the Shortcuts app

sindresorhus.com/actions

New actions:

Ask for Input with Dialog
Combine Audio Files
Counter
Keychain
Make Live Photo from Video
Create Temporary Folder
Generate Emojis
Filter List of Dictionaries
Sort List of Dictionaries
Remove Dictionary Values
Get Contents of URL (Extended)
Get Dates in Range

2 weeks ago 4 0 1 0
Post image

Actions 4 ⚙️

Now with 180+ useful actions to elevate the Shortcuts app

Completely free

2 weeks ago 28 5 2 0
Release Notes — Supercharge

Disable Universal Clipboard — Stops clipboard syncing with your other Apple devices without disabling Handoff.

For the Mission Control improvements tweak, you can now navigate between windows with arrow keys and press Return to bring one to the front.

sindresorhus.com/supercharge/...

1 month ago 0 0 0 0

The rest:

Middle-click a folder in the Finder sidebar to open it in a new tab.

Archive old screenshots automatically

Prevent accidentally dragging text — Sometimes you accidentally drag text and it creates a .textClipping file. This prevents that.

1 month ago 1 0 1 0

Some nice Finder improvements:

Reopen last closed Finder tab with ⇧⌘T

Paste image as file in Finder
Pressing ⌘V in Finder with an image on the clipboard now saves it as a file. Normally, this does nothing.

1 month ago 3 0 1 0
Post image

New in Supercharge

Add a sound effect to any keyboard shortcut

For example, play a sound when you open Spotlight

1 month ago 9 0 1 0
Preview
Release v3.0.0 · sindresorhus/macos-trash Now requires macOS 13 or later bc6f95a Fix "Put Back" not working for all files when trashing multiple files 7a77927 Fix files going to wrong trash when run with elevated privileges 13e1ae3 v2.2....

And the reason I wrote the parser, to fix a 10+ year old macOS bug - "Put Back" being broken when programmatically trashing multiple files: github.com/sindresorhus...

1 month ago 1 0 0 0
Preview
GitHub - sindresorhus/DSStore: Parse and write macOS .DS_Store files from Swift Parse and write macOS .DS_Store files from Swift. Contribute to sindresorhus/DSStore development by creating an account on GitHub.

I know I know. Super niche. But I was writing a parser (like one does), and thought; why not make an example app for it.

The parser: github.com/sindresorhus...

1 month ago 4 0 1 0
Advertisement
Preview
Shortcutie Power up the Shortcuts app on Mac

The app requires macOS 26, but you can get the last macOS 15 compatible version for free on my website: sindresorhus.com/shortcutie#o...

1 month ago 1 0 0 0
Post image

I'm excited to share that my Shortcutie app is now available on Setapp

It provides 70+ powerful extra actions for the Shortcuts app on macOS

sindresorhus.com/shortcutie

1 month ago 9 0 1 0

The upside down thing was likely a macOS 26 bug. Happened in one of my apps too.

1 month ago 6 0 0 0

I don’t get why Anthropic hasn’t used Claude Code to rewrite their bloated Electron app as native. Should be much easier than a C compiler.

1 month ago 107 13 8 1

I’m not stopping. I’ll keep making apps the good way.

I just think it’s soon going to become more of a passion thing than a real business opportunity in general. Which is fine. It’s always been passion for me anyway, not the money.

It will feel more like restoring an old car than running a startup

1 month ago 45 0 0 0