mirror of
https://github.com/webstudio-is/webstudio.git
synced 2026-11-09 22:14:29 +09:00
Ref https://github.com/webstudio-is/webstudio/issues/3632 This is a big step into native html elements support. I scraped content model from html spec and now enforcing all html tags structure so we no longer need to write custom restrictions. Now paragraph cannot be nested into heading. Box cannot be nested into span Text though still can in div Text. Any interactive elements cannot be nested automatically. List item should have a list as direct parent (collection and slot are exception because they don't have elements inside). Most rules are defined in this table https://html.spec.whatwg.org/multipage/indices.html#elements-3
146 lines
5.2 KiB
JSON
146 lines
5.2 KiB
JSON
{
|
|
"name": "@webstudio-is/builder",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"description": "Webstudio Builder UI as a service",
|
|
"type": "module",
|
|
"scripts": {
|
|
"prebuild": "which remix",
|
|
"build": "remix vite:build",
|
|
"css-to-ws": "NODE_OPTIONS=--conditions=webstudio css-to-ws",
|
|
"build:webflow-presets": "pnpm css-to-ws ./app/shared/copy-paste/plugin-webflow/style-presets.css ./app/shared/copy-paste/plugin-webflow/__generated__/style-presets.ts",
|
|
"start": "remix-serve build/server/index.js",
|
|
"build:http-client": "pnpm --filter=@webstudio-is/http-client build",
|
|
"dev": "pnpm build:http-client && remix vite:dev",
|
|
"dev:auth": "pnpm build:http-client && DEBUG=OAuth2Strategy,ws:* remix vite:dev",
|
|
"typecheck": "tsc --noEmit --emitDeclarationOnly false",
|
|
"test": "pnpm build:http-client && vitest run"
|
|
},
|
|
"dependencies": {
|
|
"@atlaskit/pragmatic-drag-and-drop": "^1.5.2",
|
|
"@bomb.sh/args": "^0.3.0",
|
|
"@codemirror/autocomplete": "^6.18.6",
|
|
"@codemirror/commands": "^6.8.0",
|
|
"@codemirror/lang-css": "^6.3.1",
|
|
"@codemirror/lang-html": "^6.4.9",
|
|
"@codemirror/lang-javascript": "^6.2.3",
|
|
"@codemirror/lang-markdown": "^6.3.2",
|
|
"@codemirror/language": "^6.11.0",
|
|
"@codemirror/lint": "^6.8.5",
|
|
"@codemirror/state": "^6.5.2",
|
|
"@codemirror/view": "^6.36.4",
|
|
"@floating-ui/dom": "^1.6.13",
|
|
"@fontsource-variable/inter": "^5.0.20",
|
|
"@fontsource-variable/manrope": "^5.0.20",
|
|
"@fontsource/roboto-mono": "^5.0.18",
|
|
"@lexical/headless": "^0.21.0",
|
|
"@lexical/link": "^0.21.0",
|
|
"@lexical/react": "^0.21.0",
|
|
"@lexical/selection": "^0.21.0",
|
|
"@lexical/utils": "^0.21.0",
|
|
"@lezer/common": "^1.2.3",
|
|
"@lezer/css": "^1.1.11",
|
|
"@lezer/highlight": "^1.2.1",
|
|
"@nanostores/react": "^0.8.0",
|
|
"@nkzw/use-relative-time": "^1.1.0",
|
|
"@radix-ui/react-select": "^2.1.5",
|
|
"@radix-ui/react-tooltip": "^1.1.8",
|
|
"@react-aria/interactions": "^3.23.0",
|
|
"@react-aria/utils": "^3.27.0",
|
|
"@remix-run/node": "^2.16.2",
|
|
"@remix-run/react": "^2.16.2",
|
|
"@remix-run/serve": "^2.16.2",
|
|
"@remix-run/server-runtime": "^2.16.2",
|
|
"@trpc/client": "^10.45.2",
|
|
"@trpc/server": "^10.45.2",
|
|
"@tsndr/cloudflare-worker-jwt": "^2.5.3",
|
|
"@vercel/remix": "2.15.3",
|
|
"@webstudio-is/ai": "workspace:*",
|
|
"@webstudio-is/asset-uploader": "workspace:*",
|
|
"@webstudio-is/authorization-token": "workspace:*",
|
|
"@webstudio-is/css-data": "workspace:*",
|
|
"@webstudio-is/css-engine": "workspace:*",
|
|
"@webstudio-is/dashboard": "workspace:*",
|
|
"@webstudio-is/design-system": "workspace:*",
|
|
"@webstudio-is/domain": "workspace:*",
|
|
"@webstudio-is/feature-flags": "workspace:*",
|
|
"@webstudio-is/fonts": "workspace:*",
|
|
"@webstudio-is/html-data": "workspace:*",
|
|
"@webstudio-is/http-client": "workspace:*",
|
|
"@webstudio-is/icons": "workspace:*",
|
|
"@webstudio-is/image": "workspace:*",
|
|
"@webstudio-is/postrest": "workspace:*",
|
|
"@webstudio-is/project": "workspace:*",
|
|
"@webstudio-is/project-build": "workspace:*",
|
|
"@webstudio-is/react-sdk": "workspace:*",
|
|
"@webstudio-is/sdk": "workspace:*",
|
|
"@webstudio-is/sdk-components-animation": "workspace:*",
|
|
"@webstudio-is/sdk-components-react": "workspace:*",
|
|
"@webstudio-is/sdk-components-react-radix": "workspace:*",
|
|
"@webstudio-is/template": "workspace:*",
|
|
"@webstudio-is/trpc-interface": "workspace:*",
|
|
"args-tokenizer": "^0.3.0",
|
|
"bcp-47": "^2.1.0",
|
|
"change-case": "^5.4.4",
|
|
"colord": "^2.9.3",
|
|
"cookie": "^1.0.1",
|
|
"css-tree": "^2.3.1",
|
|
"debug": "^4.3.7",
|
|
"downshift": "^6.1.7",
|
|
"fast-deep-equal": "^3.1.3",
|
|
"immer": "^10.1.1",
|
|
"immerhin": "^0.10.0",
|
|
"isbot": "^5.1.25",
|
|
"lexical": "^0.21.0",
|
|
"match-sorter": "^8.0.0",
|
|
"mdast-util-from-markdown": "^2.0.2",
|
|
"mdast-util-gfm": "^3.1.0",
|
|
"micromark": "^4.0.2",
|
|
"micromark-extension-gfm": "^3.0.0",
|
|
"nanoevents": "^9.1.0",
|
|
"nanoid": "^5.0.9",
|
|
"nanostores": "^0.11.3",
|
|
"picocolors": "^1.1.1",
|
|
"pretty-bytes": "^6.1.1",
|
|
"react": "18.3.0-canary-14898b6a9-20240318",
|
|
"react-colorful": "^5.6.1",
|
|
"react-dom": "18.3.0-canary-14898b6a9-20240318",
|
|
"react-error-boundary": "^5.0.0",
|
|
"react-script-hook": "^1.7.2",
|
|
"remix-auth": "^3.7.0",
|
|
"remix-auth-form": "^1.5.0",
|
|
"remix-auth-github": "^1.7.0",
|
|
"remix-auth-google": "^2.0.0",
|
|
"remix-auth-oauth2": "^2.3.0",
|
|
"shallow-equal": "^3.1.0",
|
|
"slugify": "^1.6.6",
|
|
"strip-indent": "^4.0.0",
|
|
"tiny-invariant": "^1.3.3",
|
|
"title-case": "^4.3.2",
|
|
"untruncate-json": "^0.0.1",
|
|
"urlpattern-polyfill": "^10.0.0",
|
|
"use-debounce": "^10.0.4",
|
|
"warn-once": "^0.1.1",
|
|
"zod": "^3.24.2",
|
|
"zod-validation-error": "^3.4.0"
|
|
},
|
|
"devDependencies": {
|
|
"@remix-run/dev": "^2.16.2",
|
|
"@types/debug": "^4.1.12",
|
|
"@types/dom-navigation": "^1.0.5",
|
|
"@types/react": "^18.2.70",
|
|
"@types/react-dom": "^18.2.25",
|
|
"@webstudio-is/tsconfig": "workspace:*",
|
|
"fast-glob": "^3.3.2",
|
|
"html-tags": "^4.0.0",
|
|
"react-router-dom": "^6.30.0",
|
|
"react-test-renderer": "18.3.0-canary-14898b6a9-20240318",
|
|
"type-fest": "^4.37.0",
|
|
"typescript": "5.8.2",
|
|
"vite": "^5.4.11",
|
|
"vitest": "^3.0.8"
|
|
},
|
|
"sideEffects": false,
|
|
"license": "AGPL-3.0-or-later"
|
|
}
|