diff options
author | 2022-09-04 20:44:39 +0200 | |
---|---|---|
committer | 2022-09-06 01:05:23 +0200 | |
commit | 29919c02d86da10acf2b902fb9cab9998bb731a6 (patch) | |
tree | e4ac7dc9bc035327c720514363edee938248c14a /subprojects/frontend/package.json | |
parent | refactor(frontend): add eslint-plugin-mobx (diff) | |
download | refinery-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.json | 30 |
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 | } |