Files
webstudio/apps/designer/package.json
T
Bogdan Chadkin 1da64faf4f Add shallowComputed nanostores utility (#827)
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.
2023-01-22 10:14:34 +03:00

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"
}