mirror of
https://github.com/enso-org/enso.git
synced 2024-11-22 22:10:15 +03:00
fdab2233ac
This PR adds React Compiler to the dashboard Read more about the compiler: https://github.com/reactwg/react-compiler/discussions/5 - This PR expects that these PRs are merged: - #11380 - #11382 ## Reasoning On our codebase adding React compiler led to significant perf improvements across the whole app. But the most impact was on the AssetsTable (see video attachment). Adding React compiler reduced the rerender scope of the AssetsTable from the whole table to the certain elements that changed, and made the table much more usable. Without compiler (page freezed): https://github.com/user-attachments/assets/16505b40-123b-4153-9c22-880f5dfa211c Compiler solves the issue: https://github.com/user-attachments/assets/6a298876-f28d-4b3d-8247-50b0c7ecb7f8 This PR requires thorough testing of the dashboard for potential bugs introduced by the compiler
204 lines
6.7 KiB
JSON
204 lines
6.7 KiB
JSON
{
|
|
"name": "enso-gui",
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"private": true,
|
|
"author": {
|
|
"name": "Enso Team",
|
|
"email": "contact@enso.org"
|
|
},
|
|
"homepage": "https://github.com/enso-org/enso/tree/develop/app/gui",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git@github.com:enso-org/enso.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/enso-org/enso/issues"
|
|
},
|
|
"//": {},
|
|
"scripts": {
|
|
"typecheck": "vue-tsc --noEmit -p tsconfig.app.json",
|
|
"build": "vite build",
|
|
"build-cloud": "cross-env CLOUD_BUILD=true corepack pnpm run build",
|
|
"preview": "vite preview",
|
|
"//": "max-warnings set to 41 to match the amount of warnings introduced by the new react compiler. Eventual goal is to remove all the warnings.",
|
|
"lint": "eslint . --max-warnings=41",
|
|
"format": "prettier --version && prettier --write src/ && eslint . --fix",
|
|
"dev:vite": "vite",
|
|
"test": "corepack pnpm run /^^^^test:.*/",
|
|
"test:unit": "vitest run",
|
|
"test-dev:unit": "vitest",
|
|
"test:e2e": "cross-env NODE_ENV=production playwright test",
|
|
"test-dev:e2e": "cross-env NODE_ENV=production playwright test --ui",
|
|
"test-dev-dashboard:e2e": "cross-env NODE_ENV=production playwright test ./e2e/dashboard/ --ui",
|
|
"preinstall": "corepack pnpm run generate-metadata",
|
|
"postinstall": "playwright install",
|
|
"generate-metadata": "node scripts/generateIconMetadata.js"
|
|
},
|
|
"dependencies": {
|
|
"@aws-amplify/auth": "5.6.5",
|
|
"@aws-amplify/core": "5.8.5",
|
|
"@hookform/resolvers": "^3.4.0",
|
|
"@internationalized/date": "^3.5.5",
|
|
"@monaco-editor/react": "4.6.0",
|
|
"@sentry/react": "^7.74.0",
|
|
"@react-aria/interactions": "^3.22.3",
|
|
"@stripe/react-stripe-js": "^2.7.1",
|
|
"@stripe/stripe-js": "^3.5.0",
|
|
"@tanstack/react-query": "5.55.0",
|
|
"@tanstack/vue-query": ">= 5.54.0 < 5.56.0",
|
|
"ajv": "^8.12.0",
|
|
"amazon-cognito-identity-js": "6.3.6",
|
|
"clsx": "^2.1.1",
|
|
"enso-common": "workspace:*",
|
|
"framer-motion": "11.3.0",
|
|
"input-otp": "1.2.4",
|
|
"is-network-error": "^1.0.1",
|
|
"monaco-editor": "0.48.0",
|
|
"qrcode.react": "3.1.0",
|
|
"react": "^18.3.1",
|
|
"react-aria": "^3.34.3",
|
|
"react-aria-components": "^1.3.3",
|
|
"react-compiler-runtime": "19.0.0-beta-8a03594-20241020",
|
|
"react-dom": "^18.3.1",
|
|
"react-error-boundary": "4.0.13",
|
|
"react-hook-form": "^7.51.4",
|
|
"react-router": "^6.23.1",
|
|
"react-router-dom": "^6.23.1",
|
|
"react-stately": "^3.32.2",
|
|
"react-toastify": "^9.1.3",
|
|
"tailwind-merge": "^2.3.0",
|
|
"tailwind-variants": "0.2.1",
|
|
"tiny-invariant": "^1.3.3",
|
|
"ts-results": "^3.3.0",
|
|
"validator": "^13.12.0",
|
|
"zod": "^3.23.8",
|
|
"zustand": "^4.5.4",
|
|
"@ag-grid-community/client-side-row-model": "^31.1.1",
|
|
"@ag-grid-community/core": "^31.1.1",
|
|
"@ag-grid-community/styles": "^31.1.1",
|
|
"@ag-grid-enterprise/core": "^31.1.1",
|
|
"@ag-grid-enterprise/range-selection": "^31.1.1",
|
|
"@babel/parser": "^7.24.7",
|
|
"babel-plugin-react-compiler": "19.0.0-beta-9ee70a1-20241017",
|
|
"@codemirror/commands": "^6.6.0",
|
|
"@codemirror/language": "^6.10.2",
|
|
"@codemirror/lint": "^6.8.1",
|
|
"@codemirror/search": "^6.5.6",
|
|
"@codemirror/state": "^6.4.1",
|
|
"@codemirror/view": "^6.28.3",
|
|
"@fast-check/vitest": "^0.0.8",
|
|
"@floating-ui/vue": "^1.0.6",
|
|
"@lexical/code": "^0.16.0",
|
|
"@lexical/link": "^0.16.0",
|
|
"@lexical/list": "^0.16.0",
|
|
"@lexical/markdown": "^0.16.0",
|
|
"@lexical/plain-text": "^0.16.0",
|
|
"@lexical/rich-text": "^0.16.0",
|
|
"@lexical/selection": "^0.16.0",
|
|
"@lexical/table": "^0.16.0",
|
|
"@lexical/utils": "^0.16.0",
|
|
"@lezer/common": "^1.1.0",
|
|
"@lezer/highlight": "^1.1.6",
|
|
"@noble/hashes": "^1.4.0",
|
|
"@vueuse/core": "^10.4.1",
|
|
"@vueuse/gesture": "^2.0.0",
|
|
"ag-grid-community": "^31.1.1",
|
|
"ag-grid-enterprise": "^31.1.1",
|
|
"ag-grid-vue3": "^31.1.1",
|
|
"codemirror": "^6.0.1",
|
|
"culori": "^3.2.0",
|
|
"events": "^3.3.0",
|
|
"hash-sum": "^2.0.0",
|
|
"install": "^0.13.0",
|
|
"isomorphic-ws": "^5.0.0",
|
|
"lexical": "^0.16.0",
|
|
"lib0": "^0.2.85",
|
|
"magic-string": "^0.30.3",
|
|
"murmurhash": "^2.0.1",
|
|
"postcss-inline-svg": "^6.0.0",
|
|
"postcss-nesting": "^12.0.1",
|
|
"sucrase": "^3.34.0",
|
|
"veaury": "^2.3.18",
|
|
"vue": "^3.5.2",
|
|
"vue-component-type-helpers": "^2.0.29",
|
|
"y-codemirror.next": "^0.3.2",
|
|
"y-protocols": "^1.0.5",
|
|
"y-textarea": "^1.0.0",
|
|
"y-websocket": "^1.5.0",
|
|
"ydoc-shared": "workspace:*",
|
|
"yjs": "^13.6.7"
|
|
},
|
|
"devDependencies": {
|
|
"@fast-check/vitest": "^0.0.8",
|
|
"@modyfi/vite-plugin-yaml": "^1.0.4",
|
|
"@playwright/test": "^1.40.0",
|
|
"@react-types/shared": "^3.22.1",
|
|
"@tanstack/react-query-devtools": "5.45.1",
|
|
"@types/node": "^20.11.21",
|
|
"@types/react": "^18.0.27",
|
|
"@types/react-dom": "^18.0.10",
|
|
"@types/validator": "^13.11.7",
|
|
"@vitejs/plugin-react": "^4.3.3",
|
|
"chalk": "^5.3.0",
|
|
"cross-env": "^7.0.3",
|
|
"enso-chat": "git://github.com/enso-org/enso-bot",
|
|
"fast-check": "^3.15.0",
|
|
"playwright": "^1.39.0",
|
|
"postcss": "^8.4.29",
|
|
"prettier-plugin-organize-imports": "^4.0.0",
|
|
"prettier-plugin-tailwindcss": "^0.5.11",
|
|
"react-toastify": "^9.1.3",
|
|
"tailwindcss": "^3.4.1",
|
|
"tailwindcss-animate": "1.0.7",
|
|
"tailwindcss-react-aria-components": "^1.1.1",
|
|
"typescript": "^5.5.3",
|
|
"vite": "^5.4.10",
|
|
"vitest": "^1.3.1",
|
|
"@codemirror/theme-one-dark": "^6.1.2",
|
|
"@danmarshall/deckgl-typings": "^4.9.28",
|
|
"@histoire/plugin-vue": "^0.17.12",
|
|
"@open-rpc/server-js": "^1.9.4",
|
|
"@tsconfig/node20": "^20.1.4",
|
|
"@types/css.escape": "^1.5.2",
|
|
"@types/culori": "^2.0.1",
|
|
"@types/d3": "^7.4.0",
|
|
"@types/hash-sum": "^1.0.0",
|
|
"@types/jsdom": "^21.1.1",
|
|
"@types/mapbox-gl": "^2.7.13",
|
|
"@types/shuffle-seed": "^1.1.0",
|
|
"@types/tar": "^6.1.4",
|
|
"@types/wicg-file-system-access": "^2023.10.2",
|
|
"@types/ws": "^8.5.5",
|
|
"@vitejs/plugin-vue": "^5.0.4",
|
|
"@vitest/coverage-v8": "^1.3.1",
|
|
"@vue/test-utils": "^2.4.6",
|
|
"@vue/tsconfig": "^0.5.1",
|
|
"css.escape": "^1.5.1",
|
|
"d3": "^7.4.0",
|
|
"enso-common": "workspace:*",
|
|
"floating-vue": "^2.0.0-beta.24",
|
|
"hash-wasm": "^4.11.0",
|
|
"histoire": "^0.17.2",
|
|
"jsdom": "^24.1.0",
|
|
"postcss-nesting": "^12.0.1",
|
|
"prettier": "^3.3.2",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"shuffle-seed": "^1.1.6",
|
|
"sql-formatter": "^13.0.0",
|
|
"tar": "^6.2.1",
|
|
"tsx": "^4.7.1",
|
|
"vite-plugin-vue-devtools": "7.3.7",
|
|
"vite-plugin-wasm": "^3.3.0",
|
|
"vue-react-wrapper": "^0.3.1",
|
|
"vue-tsc": "^2.0.24",
|
|
"yaml": "^2.4.5",
|
|
"ydoc-server": "workspace:*"
|
|
},
|
|
"overrides": {
|
|
"@aws-amplify/auth": "../_IGNORED_",
|
|
"react-native-url-polyfill": "../_IGNORED_"
|
|
}
|
|
}
|