aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/frontend/package.json
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-09-04 20:44:39 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-09-06 01:05:23 +0200
commit29919c02d86da10acf2b902fb9cab9998bb731a6 (patch)
treee4ac7dc9bc035327c720514363edee938248c14a /subprojects/frontend/package.json
parentrefactor(frontend): add eslint-plugin-mobx (diff)
downloadrefinery-29919c02d86da10acf2b902fb9cab9998bb731a6.tar.gz
refinery-29919c02d86da10acf2b902fb9cab9998bb731a6.tar.zst
refinery-29919c02d86da10acf2b902fb9cab9998bb731a6.zip
feat(frontend): XState statecharts
Expressing logic in statecharts for complex stateful behaviours should improve maintainability We use @xstate/cli to statically analyze statcharts before typechecking
Diffstat (limited to 'subprojects/frontend/package.json')
-rw-r--r--subprojects/frontend/package.json30
1 files changed, 17 insertions, 13 deletions
diff --git a/subprojects/frontend/package.json b/subprojects/frontend/package.json
index b80e0561..9202542b 100644
--- a/subprojects/frontend/package.json
+++ b/subprojects/frontend/package.json
@@ -6,6 +6,7 @@
6 "scripts": { 6 "scripts": {
7 "build": "cross-env MODE=production vite build", 7 "build": "cross-env MODE=production vite build",
8 "serve": "cross-env MODE=development vite serve", 8 "serve": "cross-env MODE=development vite serve",
9 "typegen": "xstate typegen \"src/**/*.ts?(x)\"",
9 "typecheck": "tsc -p tsconfig.node.json && tsc -p tsconfig.json", 10 "typecheck": "tsc -p tsconfig.node.json && tsc -p tsconfig.json",
10 "lint": "eslint .", 11 "lint": "eslint .",
11 "lint:ci": "eslint -f json -o build/eslint.json .", 12 "lint:ci": "eslint -f json -o build/eslint.json .",
@@ -28,17 +29,17 @@
28 "@codemirror/lint": "^6.0.0", 29 "@codemirror/lint": "^6.0.0",
29 "@codemirror/search": "^6.2.0", 30 "@codemirror/search": "^6.2.0",
30 "@codemirror/state": "^6.1.1", 31 "@codemirror/state": "^6.1.1",
31 "@codemirror/view": "^6.2.1", 32 "@codemirror/view": "^6.2.2",
32 "@emotion/react": "^11.10.0", 33 "@emotion/react": "^11.10.4",
33 "@emotion/styled": "^11.10.0", 34 "@emotion/styled": "^11.10.4",
34 "@fontsource/jetbrains-mono": "^4.5.10", 35 "@fontsource/jetbrains-mono": "^4.5.10",
35 "@fontsource/roboto": "^4.5.8", 36 "@fontsource/roboto": "^4.5.8",
36 "@lezer/common": "^1.0.0", 37 "@lezer/common": "^1.0.1",
37 "@lezer/highlight": "^1.0.0", 38 "@lezer/highlight": "^1.0.0",
38 "@lezer/lr": "^1.2.3", 39 "@lezer/lr": "^1.2.3",
39 "@material-icons/svg": "^1.0.32", 40 "@material-icons/svg": "^1.0.33",
40 "@mui/icons-material": "5.10.2", 41 "@mui/icons-material": "5.10.3",
41 "@mui/material": "5.10.2", 42 "@mui/material": "5.10.3",
42 "ansi-styles": "^6.1.0", 43 "ansi-styles": "^6.1.0",
43 "escape-string-regexp": "^5.0.0", 44 "escape-string-regexp": "^5.0.0",
44 "lodash-es": "^4.17.21", 45 "lodash-es": "^4.17.21",
@@ -50,6 +51,7 @@
50 "notistack": "^2.0.5", 51 "notistack": "^2.0.5",
51 "react": "^18.2.0", 52 "react": "^18.2.0",
52 "react-dom": "^18.2.0", 53 "react-dom": "^18.2.0",
54 "xstate": "^4.33.5",
53 "zod": "^3.18.0" 55 "zod": "^3.18.0"
54 }, 56 },
55 "devDependencies": { 57 "devDependencies": {
@@ -57,13 +59,15 @@
57 "@types/eslint": "^8.4.6", 59 "@types/eslint": "^8.4.6",
58 "@types/html-minifier-terser": "^7.0.0", 60 "@types/html-minifier-terser": "^7.0.0",
59 "@types/lodash-es": "^4.17.6", 61 "@types/lodash-es": "^4.17.6",
60 "@types/node": "^18.7.13", 62 "@types/ms": "^0.7.31",
63 "@types/node": "^18.7.14",
61 "@types/prettier": "^2.7.0", 64 "@types/prettier": "^2.7.0",
62 "@types/react": "^18.0.17", 65 "@types/react": "^18.0.18",
63 "@types/react-dom": "^18.0.6", 66 "@types/react-dom": "^18.0.6",
64 "@typescript-eslint/eslint-plugin": "^5.35.1", 67 "@typescript-eslint/eslint-plugin": "^5.36.1",
65 "@typescript-eslint/parser": "^5.35.1", 68 "@typescript-eslint/parser": "^5.36.1",
66 "@vitejs/plugin-react": "^2.0.1", 69 "@vitejs/plugin-react": "^2.0.1",
70 "@xstate/cli": "^0.3.2",
67 "cross-env": "^7.0.3", 71 "cross-env": "^7.0.3",
68 "eslint": "^8.23.0", 72 "eslint": "^8.23.0",
69 "eslint-config-airbnb": "^19.0.4", 73 "eslint-config-airbnb": "^19.0.4",
@@ -74,14 +78,14 @@
74 "eslint-plugin-jsx-a11y": "^6.6.1", 78 "eslint-plugin-jsx-a11y": "^6.6.1",
75 "eslint-plugin-mobx": "^0.0.9", 79 "eslint-plugin-mobx": "^0.0.9",
76 "eslint-plugin-prettier": "^4.2.1", 80 "eslint-plugin-prettier": "^4.2.1",
77 "eslint-plugin-react": "^7.31.1", 81 "eslint-plugin-react": "^7.31.6",
78 "eslint-plugin-react-hooks": "^4.6.0", 82 "eslint-plugin-react-hooks": "^4.6.0",
79 "html-minifier-terser": "^7.0.0", 83 "html-minifier-terser": "^7.0.0",
80 "prettier": "^2.7.1", 84 "prettier": "^2.7.1",
81 "typescript": "~4.8.2", 85 "typescript": "~4.8.2",
82 "vite": "^3.0.9", 86 "vite": "^3.0.9",
83 "vite-plugin-inject-preload": "^1.1.0", 87 "vite-plugin-inject-preload": "^1.1.0",
84 "vite-plugin-pwa": "^0.12.3", 88 "vite-plugin-pwa": "^0.12.6",
85 "workbox-window": "^6.5.4" 89 "workbox-window": "^6.5.4"
86 } 90 }
87} 91}