mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-06 21:05:21 +02:00
fix(deps): share Lezer node properties across editor languages The installed graph gave syntax highlighters @lezer/common 1.5.1 and language parsers 1.5.2. Their independent NodeProp counters collided, so highlighting ordinary code read unrelated metadata as tags and crashed with tags-is-not-iterable. Override @lezer/common to one compatible version in both manifests. Extend the installed-graph check and exercise Python, JavaScript, HTML and SQL highlighting through the editor dependencies. All four examples failed before the override and pass with it. Co-Authored-By: Paperclip <noreply@paperclip.ing>
31 lines
1.1 KiB
Markdown
31 lines
1.1 KiB
Markdown
# @paperclipai/ui
|
|
|
|
Published static assets for the Paperclip board UI.
|
|
|
|
## What gets published
|
|
|
|
The npm package contains the production build under `dist/`. It does not ship the UI source tree or workspace-only dependencies.
|
|
|
|
## Storybook
|
|
|
|
Storybook config, stories, and fixtures live under `ui/storybook/`.
|
|
|
|
```sh
|
|
pnpm --filter @paperclipai/ui storybook
|
|
pnpm --filter @paperclipai/ui build-storybook
|
|
```
|
|
|
|
## Typical use
|
|
|
|
Install the package, then serve or copy the built files from `node_modules/@paperclipai/ui/dist`.
|
|
|
|
## Editor dependency identity
|
|
|
|
Keep the root and workspace overrides for `@codemirror/state`,
|
|
`@codemirror/view`, and `@lezer/common` aligned. CodeMirror requires shared
|
|
extension identity, while Lezer parsers and syntax highlighters require shared
|
|
`NodeProp` IDs. Multiple Lezer copies can crash code-block highlighting with
|
|
`tags is not iterable`. `src/lib/codemirror-single-instance.test.ts` checks the
|
|
installed dependency graph and highlights sample code through the editor's real
|
|
language dependencies. GitHub Actions owns regeneration of `pnpm-lock.yaml`.
|