---
title: "Vue-free advanced schema"
description: "Use advancedSchemaExtensions() on a server, validator or migration without Vue, React or browser globals."
canonical_url: "https://skaile-ai.github.io/forge-editor/reference/advanced-schema"
---
# Vue-free advanced schema

> Use advancedSchemaExtensions() on a server, validator or migration without Vue, React or browser globals.

```ts
import { getSchema } from '@tiptap/core'
import { advancedSchemaExtensions } from '@skaile/forge-editor/schema/advanced'

const schema = getSchema(advancedSchemaExtensions())
schema.nodeFromJSON(stored).check() // validate stored documents, run migrations, convert Yjs ↔ ProseMirror
```

`advancedSchemaExtensions()` is the node/mark set of the advanced editor in the exact order the browser editor uses: StarterKit (history off), `StrikeX`, media, transcript segment, Typed block family, mention/tag, the `author` and `comment` marks, `BlockId` and the node flags. It imports no Vue, React, Nuxt UI or browser globals and runs under plain Node; `bun run check:editor-entries` bundles it for Node and executes it, and compares the node/mark names, attributes and content expressions against a snapshot. Use `@skaile/forge-editor/schema/simple` for servers that only handle simple documents.

The package's collab server builds `collabSchema()` from this entry, or from the `schema` option when the host passes one (`src/server/collab.ts`, `createCollabServer`); a custom Hocuspocus server (e.g. for a plain-Vue or React app) does the same and sets the Collaboration `field` to `default`.


## Sitemap

See the full [sitemap](https://skaile-ai.github.io/forge-editor/sitemap.md) for all pages.
