schema init
Fetches the current schema of a Storyblok space and writes it as TypeScript files using @storyblok/schema helpers. schema init is a one-time setup step for adopting an existing space in code.
The command generates the following files:
- One file per block, in subdirectories that follow the component group hierarchy
- One file per datasource
- A
folders.tsfile for all component groups - A
schema.tsfile in the root that combines everything into a single exportedschemaobject.
.storyblok/└── schema/ ├── blocks/ │ ├── <block-name>.ts │ └── <group-slug>/ │ └── <block-name>.ts ├── datasources/ │ └── <datasource-slug>.ts ├── folders.ts └── schema.tsAfter initialization, treat the local files as the source of truth and use schema push for further changes.
Prerequisites
Section titled “Prerequisites”The @storyblok/schema package must be installed in the target project: npm install @storyblok/schema.
storyblok schema init [flags]| Flag | Type | Description |
|---|---|---|
--space, -s |
integer | Required. The ID of the Storyblok space to read the schema from. |
--out-dir |
string | Optional. Output directory for generated files. Defaults to .storyblok/schema. |
Examples
Section titled “Examples”The following examples assume you defined a space in the configuration file.
# Bootstrap a local TypeScript schema from a spacestoryblok schema init
# Bootstrap into a custom output directorystoryblok schema init --out-dir src/schemaWas this page helpful?
This site uses reCAPTCHA and Google's Privacy Policy (opens in a new window).Terms of Service (opens in a new window) apply.
Get in touch with the Storyblok community