mirror of
https://github.com/webstudio-is/webstudio.git
synced 2026-11-08 13:05:08 +09:00
The new utility allows us to subscribe to filtered array and give the same reference when all items are the same. This prevents unnecessary rerenders in react because getSnapshot considers value unchanged. This is necessary for styles and we'll need same for props. The downside is filter and shallow compare will be called on every change for every instance. We will see if this give us performance issues.
139 lines
4.6 KiB
JSON
139 lines
4.6 KiB
JSON
{
|
|
"name": "@webstudio-is/designer",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"description": "Webstudio Designer UI as a service",
|
|
"scripts": {
|
|
"build": "remix build",
|
|
"dev": "remix dev",
|
|
"start": "remix-serve build",
|
|
"typecheck": "tsc",
|
|
"lint": "eslint . --ext .ts,.tsx --max-warnings 0",
|
|
"test": "NODE_OPTIONS=--experimental-vm-modules jest",
|
|
"checks": "pnpm lint && pnpm typecheck && pnpm prettier --check && pnpm test",
|
|
"watch:sdk": "relative-deps && relative-deps watch",
|
|
"prettier": "prettier \"*.{js,md,json,ts}\" \"{docs,app}/**/*.{js,md,json,ts}\"",
|
|
"storybook:run": "start-storybook -p 6006",
|
|
"storybook:build": "build-storybook",
|
|
"ci:migrate": "migrations migrate --force"
|
|
},
|
|
"dependencies": {
|
|
"@floating-ui/dom": "^1.0.6",
|
|
"@fontsource/inter": "^4.5.15",
|
|
"@fontsource/manrope": "^4.5.13",
|
|
"@lexical/link": "^0.6.0",
|
|
"@lexical/react": "^0.6.0",
|
|
"@lexical/selection": "^0.6.0",
|
|
"@lexical/utils": "^0.6.0",
|
|
"@nanostores/react": "^0.4.1",
|
|
"@radix-ui/react-select": "^1.0.0",
|
|
"@radix-ui/react-tooltip": "^1.0.0",
|
|
"@remix-run/node": "1.9.0",
|
|
"@remix-run/react": "1.9.0",
|
|
"@remix-run/serve": "1.9.0",
|
|
"@remix-run/vercel": "1.9.0",
|
|
"@sentry/remix": "^7.5.0",
|
|
"@sentry/types": "7.5.0",
|
|
"@vercel/node": "^2.4.1",
|
|
"@webstudio-is/asset-uploader": "workspace:^",
|
|
"@webstudio-is/css-data": "workspace:^",
|
|
"@webstudio-is/css-engine": "workspace:^",
|
|
"@webstudio-is/css-vars": "workspace:^",
|
|
"@webstudio-is/design-system": "workspace:^",
|
|
"@webstudio-is/design-tokens": "workspace:^",
|
|
"@webstudio-is/feature-flags": "workspace:^",
|
|
"@webstudio-is/fonts": "workspace:^",
|
|
"@webstudio-is/icons": "workspace:^",
|
|
"@webstudio-is/image": "workspace:^",
|
|
"@webstudio-is/prisma-client": "workspace:^",
|
|
"@webstudio-is/project": "workspace:^",
|
|
"@webstudio-is/react-sdk": "workspace:^",
|
|
"@webstudio-is/trpc-interface": "workspace:^",
|
|
"bson-objectid": "^2.0.4",
|
|
"camelcase": "^6.3.0",
|
|
"colord": "^2.9.3",
|
|
"css-tree": "^2.3.0",
|
|
"debug": "^4.3.4",
|
|
"detect-font": "^0.1.5",
|
|
"djb2a": "^2.0.0",
|
|
"downshift": "^6.1.7",
|
|
"fast-deep-equal": "3.1.3",
|
|
"hyphenate-style-name": "^1.0.4",
|
|
"immer": "^9.0.12",
|
|
"immerhin": "^0.4.0",
|
|
"lexical": "^0.6.0",
|
|
"lodash": "4.17.21",
|
|
"lodash.capitalize": "^4.2.1",
|
|
"lodash.debounce": "^4.0.8",
|
|
"lodash.memoize": "^4.1.2",
|
|
"lodash.merge": "^4.6.2",
|
|
"lodash.noop": "^3.0.1",
|
|
"lodash.snakecase": "^4.1.1",
|
|
"match-sorter": "^6.3.1",
|
|
"mitt": "^3.0.0",
|
|
"nanoid": "^3.2.0",
|
|
"nanostores": "^0.7.1",
|
|
"pretty-bytes": "^6.0.0",
|
|
"react": "^17.0.2",
|
|
"react-color": "^2.19.3",
|
|
"react-dom": "^17.0.2",
|
|
"react-error-boundary": "^3.1.4",
|
|
"react-hotkeys-hook": "^3.4.7",
|
|
"react-router-dom": "^6.5.0",
|
|
"react-use": "^17.3.2",
|
|
"remix-auth": "^3.2.2",
|
|
"remix-auth-form": "^1.1.2",
|
|
"remix-auth-github": "^1.1.1",
|
|
"remix-auth-google": "^1.1.0",
|
|
"remix-utils": "^4.1.0",
|
|
"shallow-equal": "^1.2.1",
|
|
"slugify": "^1.6.5",
|
|
"use-debounce": "^9.0.2",
|
|
"uuid": "^9.0.0",
|
|
"warn-once": "^0.1.1",
|
|
"zod": "^3.19.1",
|
|
"zod-form-data": "^1.2.1"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.20.2",
|
|
"@jest/globals": "^29.3.1",
|
|
"@remix-run/dev": "1.9.0",
|
|
"@storybook/addon-actions": "6.5.14",
|
|
"@storybook/react": "^6.5.14",
|
|
"@storybook/testing-library": "^0.0.13",
|
|
"@testing-library/react": "^12.1.5",
|
|
"@testing-library/react-hooks": "^8.0.1",
|
|
"@types/css-tree": "^2.0.0",
|
|
"@types/hoist-non-react-statics": "^3.3.1",
|
|
"@types/hyphenate-style-name": "^1.0.0",
|
|
"@types/lodash": "4.14.182",
|
|
"@types/lodash.capitalize": "^4.2.6",
|
|
"@types/lodash.debounce": "^4.0.6",
|
|
"@types/lodash.memoize": "^4.1.6",
|
|
"@types/lodash.merge": "^4.6.6",
|
|
"@types/lodash.noop": "^3.0.6",
|
|
"@types/lodash.snakecase": "^4.1.6",
|
|
"@types/react": "^17.0.24",
|
|
"@types/react-color": "^3.0.6",
|
|
"@types/react-dom": "^17.0.9",
|
|
"@types/sharp": "^0.30.4",
|
|
"@types/uuid": "^8.3.4",
|
|
"@types/w3c-css-typed-object-model-level-1": "^20180410.0.4",
|
|
"@webstudio-is/eslint-config-custom": "workspace:^",
|
|
"@webstudio-is/jest-config": "workspace:^",
|
|
"@webstudio-is/storybook-config": "workspace:^",
|
|
"@webstudio-is/tsconfig": "workspace:^",
|
|
"babel-loader": "^8.2.5",
|
|
"css-tree": "^2.3.0",
|
|
"dotenv": "^16.0.0",
|
|
"esbuild-node-externals": "^1.4.1",
|
|
"jest": "^29.3.1",
|
|
"prettier": "^2.6.2",
|
|
"react-test-renderer": "^17.0.2",
|
|
"relative-deps": "^1.0.7",
|
|
"typescript": "4.7.4"
|
|
},
|
|
"sideEffects": false,
|
|
"license": "MIT"
|
|
}
|