@storyshelf/storage-local
@storyshelf/storage-local is the default blob storage adapter for a single-node deployment. It stores screenshots, diff overlays, and uploaded Storybook archives below one data directory.
Install
Section titled “Install”npm i @storyshelf/storage-localpnpm add @storyshelf/storage-localyarn add @storyshelf/storage-local- npm package — install tarballs and version history.
- JSR package — TypeScript-first registry page.
- Public API reference — generated docs for every export; start here to learn the API. (The same reference is on JSR.)
- Source on GitHub — package directory on
main.
Configure
Section titled “Configure”import { createLocalStorage } from "@storyshelf/storage-local";import { createShelfApp } from "@storyshelf/app";import { createSqliteDatabase } from "@storyshelf/db-sqlite";
const storage = createLocalStorage("./data");const database = createSqliteDatabase("./data/shelf.db");
const app = createShelfApp({ database, storage });createLocalStorage(dataDir: string): StorageAdapter
Section titled “createLocalStorage(dataDir: string): StorageAdapter”Stores all blobs under the resolved dataDir (creating directories as needed). Paths are confined to the data directory — any path escaping it throws an error.
The returned adapter implements every method of the StorageAdapter interface (read, write, delete, exists, list(prefix)).
When to use it
Section titled “When to use it”Use local storage with SQLite for a simple single-node deployment. For cloud or multi-node deployments where instances need shared objects, switch to S3 storage without changing the core router.