A monorepo that consolidates all open source projects from the Storyblok organization. This project aims to centralize the development, maintenance, and contribution to Storyblok's ecosystem of SDKs and tools.
This monorepo contains all official Storyblok SDKs and integrations:
Package | Description | Version | Downloads |
---|---|---|---|
@storyblok/js | Core JavaScript SDK for Storyblok | ||
@storyblok/js-client | JavaScript client for Storyblok's Content Delivery API |
Package | Description | Version | Downloads |
---|---|---|---|
@storyblok/react | React SDK for Storyblok | ||
@storyblok/vue | Vue SDK for Storyblok | ||
@storyblok/nuxt | Nuxt SDK for Storyblok | ||
@storyblok/svelte | Svelte SDK for Storyblok | ||
@storyblok/astro | Astro SDK for Storyblok |
Package | Description | Version | Downloads |
---|---|---|---|
@storyblok/richtext | Rich Text Renderer for Storyblok |
This repository represents an ongoing migration from a polyrepo structure to a unified monorepo. While we're actively working on this transition, please note:
Clone the repository:
git clone https://github.com/storyblok/monoblok.git
cd monoblok
Install dependencies:
pnpm install
This repository uses PNPM as its primary package manager, providing efficient dependency management and disk space usage. The workspace is configured in pnpm-workspace.yaml
and includes all packages in the packages/
directory.
Common PNPM commands:
# Install dependencies
pnpm install
# Add a dependency to a specific package
pnpm add <package> --filter @storyblok/react
# Run a script in a specific package
pnpm --filter @storyblok/react <script>
While PNPM manages our packages, we use NX to optimize our development workflow. NX provides powerful features for:
# Build all packages
pnpm build
# Build a specific package
pnpm build @storyblok/react
# Run tests for affected packages
pnpm nx affected:test
# Show dependency graph
pnpm nx graph
# Run commands only on affected packages
pnpm nx affected --target=build
# Start development mode for a package
pnpm dev @storyblok/react
# Run tests in watch mode
pnpm test:watch @storyblok/react
# Lint all packages
pnpm lint
# Format all packages
pnpm format
# Check types
pnpm type-check
For more advanced NX usage, we recommend exploring:
For repository administrators, we provide the monoblock-cli
tool to help manage the monorepo. This tool assists with:
See the monoblock-cli package for detailed documentation and usage instructions.
We welcome contributions! Please see our Contributing Guide for details on:
This project is licensed under the MIT License - see the LICENSE file for details.