Skip to content

Commit fe6ebb1

Browse files
authored
Merge pull request #424 from wuespace/deps/frontend-react
2 parents 227b233 + 5377c60 commit fe6ebb1

24 files changed

Lines changed: 4501 additions & 3697 deletions

File tree

.github/workflows/frontend-react-ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ on: [push, pull_request]
55

66
# Defines which tool versions should be used in all workflow jobs
77
env:
8-
node: '20'
9-
pnpm: '8'
8+
node: '22'
9+
pnpm: '9'
1010

1111
defaults:
1212
run:
@@ -20,7 +20,7 @@ jobs:
2020
- name: Checkout 📥
2121
uses: actions/checkout@v3.6.0
2222
- name: Setup PNPM 💿
23-
uses: pnpm/action-setup@v2.4.0
23+
uses: pnpm/action-setup@v4
2424
with:
2525
version: ${{ env.pnpm }}
2626
- name: Setup Node 💿
@@ -42,7 +42,7 @@ jobs:
4242
- name: Checkout 📥
4343
uses: actions/checkout@v3.6.0
4444
- name: Setup PNPM 💿
45-
uses: pnpm/action-setup@v2.4.0
45+
uses: pnpm/action-setup@v4
4646
with:
4747
version: ${{ env.pnpm }}
4848
- name: Setup Node 💿
@@ -64,7 +64,7 @@ jobs:
6464
- name: Checkout 📥
6565
uses: actions/checkout@v3.6.0
6666
- name: Setup PNPM 💿
67-
uses: pnpm/action-setup@v2.4.0
67+
uses: pnpm/action-setup@v4
6868
with:
6969
version: ${{ env.pnpm }}
7070
- name: Setup Node 💿
@@ -95,7 +95,7 @@ jobs:
9595
- name: Checkout 📥
9696
uses: actions/checkout@v3.6.0
9797
- name: Setup PNPM 💿
98-
uses: pnpm/action-setup@v2.4.0
98+
uses: pnpm/action-setup@v4
9999
with:
100100
version: ${{ env.pnpm }}
101101
- name: Setup Node 💿

frontend-react/.eslintrc.cjs

Lines changed: 0 additions & 49 deletions
This file was deleted.

frontend-react/eslint.config.js

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
import globals from 'globals';
2+
import pluginJs from '@eslint/js';
3+
import tseslint from 'typescript-eslint';
4+
import pluginReact from 'eslint-plugin-react';
5+
import pluginReactHooks from 'eslint-plugin-react-hooks';
6+
import pluginPrettier from 'eslint-plugin-prettier/recommended';
7+
import pluginJsxA11y from 'eslint-plugin-jsx-a11y';
8+
import pluginTsDoc from 'eslint-plugin-tsdoc';
9+
10+
const TS_CONFIG = [
11+
...tseslint.configs.strictTypeChecked,
12+
...tseslint.configs.stylisticTypeChecked,
13+
{
14+
languageOptions: {
15+
parserOptions: {
16+
// projectService: true,
17+
project: ['./tsconfig.json', './tsconfig.node.json'],
18+
tsconfigRootDir: import.meta.dirname
19+
}
20+
}
21+
},
22+
{
23+
rules: {
24+
'@typescript-eslint/no-throw-literal': 'off',
25+
'@typescript-eslint/no-confusing-void-expression': 'off',
26+
'@typescript-eslint/consistent-type-definitions': 'off'
27+
}
28+
}
29+
];
30+
31+
const REACT_CONFIG = [
32+
pluginReact.configs.flat.recommended,
33+
pluginReact.configs.flat['jsx-runtime'],
34+
{
35+
rules: {
36+
'react/no-unescaped-entities': 'off'
37+
}
38+
},
39+
{
40+
settings: {
41+
react: {
42+
version: 'detect'
43+
}
44+
}
45+
}, // eslint-plugin-react-hooks:
46+
{
47+
files: ['src/**/*.{js,ts,jsx,tsx}'],
48+
plugins: {
49+
'react-hooks': pluginReactHooks
50+
},
51+
rules: {
52+
'react/react-in-jsx-scope': 'off',
53+
'react/prop-types': 'off',
54+
...pluginReactHooks.configs.recommended.rules
55+
}
56+
}
57+
];
58+
59+
/** @type {import('eslint').Linter.Config[]} */
60+
export default [
61+
{
62+
files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}']
63+
},
64+
{
65+
languageOptions: {
66+
globals: {
67+
...globals.browser
68+
}
69+
}
70+
},
71+
pluginJs.configs.recommended,
72+
...TS_CONFIG,
73+
...REACT_CONFIG,
74+
pluginPrettier,
75+
pluginJsxA11y.flatConfigs.strict,
76+
{
77+
plugins: {
78+
tsdoc: pluginTsDoc
79+
},
80+
rules: {
81+
'tsdoc/syntax': 'warn'
82+
}
83+
},
84+
{
85+
ignores: ['dist', 'types', 'node_modules', 'features', 'eslint.config.js']
86+
}
87+
];

frontend-react/package.json

Lines changed: 57 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -39,46 +39,46 @@
3939
"exports": {
4040
".": {
4141
"import": "./dist/index.js",
42-
"require": "./dist/index.cjs",
43-
"types": "./types/src/lib/index.d.ts"
42+
"types": "./types/src/lib/index.d.ts",
43+
"require": "./dist/index.cjs"
4444
},
4545
"./application": {
4646
"import": "./dist/mod-application.js",
47-
"require": "./dist/mod-application.cjs",
48-
"types": "./types/src/lib/mod-application.d.ts"
47+
"types": "./types/src/lib/mod-application.d.ts",
48+
"require": "./dist/mod-application.cjs"
4949
},
5050
"./auth": {
5151
"import": "./dist/mod-auth.js",
52-
"require": "./dist/mod-auth.cjs",
53-
"types": "./types/src/lib/mod-auth.d.ts"
52+
"types": "./types/src/lib/mod-auth.d.ts",
53+
"require": "./dist/mod-auth.cjs"
5454
},
5555
"./nats": {
5656
"import": "./dist/mod-nats.js",
57-
"require": "./dist/mod-nats.cjs",
58-
"types": "./types/src/lib/mod-nats.d.ts"
57+
"types": "./types/src/lib/mod-nats.d.ts",
58+
"require": "./dist/mod-nats.cjs"
5959
},
6060
"./user-data": {
6161
"import": "./dist/mod-user-data.js",
62-
"require": "./dist/mod-user-data.cjs",
63-
"types": "./types/src/lib/mod-user-data.d.ts"
62+
"types": "./types/src/lib/mod-user-data.d.ts",
63+
"require": "./dist/mod-user-data.cjs"
6464
},
6565
"./utils": {
6666
"import": "./dist/mod-utils.js",
67-
"require": "./dist/mod-utils.cjs",
68-
"types": "./types/src/lib/mod-utils.d.ts"
67+
"types": "./types/src/lib/mod-utils.d.ts",
68+
"require": "./dist/mod-utils.cjs"
6969
},
7070
"./widget": {
7171
"import": "./dist/mod-widget.js",
72-
"require": "./dist/mod-widget.cjs",
73-
"types": "./types/src/lib/mod-widget.d.ts"
72+
"types": "./types/src/lib/mod-widget.d.ts",
73+
"require": "./dist/mod-widget.cjs"
7474
},
75-
"./telestion.css": "./dist/style.css"
75+
"./telestion.css": "./dist/telestion.css"
7676
},
7777
"types": "types/src/lib/index.d.ts",
7878
"scripts": {
7979
"dev": "vite",
8080
"build": "tsc && vite build",
81-
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
81+
"lint": "eslint . --report-unused-disable-directives --max-warnings 0",
8282
"test": "vitest --ui",
8383
"style": "prettier --write .",
8484
"preview": "vite preview",
@@ -92,52 +92,54 @@
9292
"directory": "frontend-react"
9393
},
9494
"dependencies": {
95-
"@dnd-kit/core": "^6.1.0",
95+
"@dnd-kit/core": "^6.3.1",
9696
"@dnd-kit/utilities": "^3.2.2",
9797
"@popperjs/core": "^2.11.8",
98-
"bootstrap": "^5.3.2",
99-
"bootstrap-icons": "^1.11.2",
100-
"clsx": "^2.0.0",
101-
"nats.ws": "^1.19.1",
102-
"react-bootstrap": "^2.9.1",
103-
"react-dom": "^18.2.0",
104-
"react-error-boundary": "^4.0.12",
105-
"react-router-dom": "^6.19.0",
106-
"zod": "^3.22.4"
98+
"bootstrap": "^5.3.3",
99+
"bootstrap-icons": "^1.11.3",
100+
"clsx": "^2.1.1",
101+
"nats.ws": "^1.29.2",
102+
"react-bootstrap": "^2.10.6",
103+
"react-dom": "^19.0.0",
104+
"react-error-boundary": "^4.1.2",
105+
"react-router-dom": "^7.0.2",
106+
"zod": "^3.23.8"
107107
},
108108
"peerDependencies": {
109-
"react": "18"
109+
"react": "19"
110110
},
111111
"devDependencies": {
112-
"@cucumber/cucumber": "^10.0.1",
113-
"@types/node": "^20.10.4",
114-
"@types/react": "^18.2.37",
115-
"@types/react-dom": "^18.2.15",
116-
"@typescript-eslint/eslint-plugin": "^6.10.0",
117-
"@typescript-eslint/parser": "^6.10.0",
118-
"@vitejs/plugin-react-swc": "^3.5.0",
119-
"@vitest/ui": "^1.0.4",
120-
"eslint": "^8.53.0",
112+
"@cucumber/cucumber": "^11.1.0",
113+
"@eslint/js": "^9.16.0",
114+
"@types/node": "^20.17.9",
115+
"@types/react": "^19.0.1",
116+
"@types/react-dom": "^19.0.1",
117+
"@typescript-eslint/eslint-plugin": "^8.17.0",
118+
"@typescript-eslint/parser": "^8.17.0",
119+
"@vitejs/plugin-react-swc": "^3.7.2",
120+
"@vitest/ui": "^2.1.8",
121+
"eslint": "^9.16.0",
121122
"eslint-config-prettier": "^9.1.0",
122-
"eslint-import-resolver-typescript": "^3.6.1",
123-
"eslint-plugin-jsx-a11y": "^6.8.0",
124-
"eslint-plugin-prettier": "^5.0.1",
125-
"eslint-plugin-react": "^7.33.2",
126-
"eslint-plugin-react-hooks": "^4.6.0",
127-
"eslint-plugin-react-refresh": "^0.4.4",
128-
"eslint-plugin-tsdoc": "^0.2.17",
129-
"happy-dom": "^12.10.3",
130-
"prettier": "3.1.0",
131-
"react": "^18.2.0",
132-
"sass": "^1.69.5",
133-
"typedoc": "^0.25.4",
134-
"typedoc-plugin-markdown": "^4.0.0-next.36",
135-
"typedoc-plugin-mdn-links": "^3.1.6",
136-
"typedoc-plugin-zod": "^1.1.0",
137-
"typescript": "^5.2.2",
138-
"vite": "^5.0.5",
139-
"vite-plugin-banner": "^0.7.1",
140-
"vitest": "^1.0.4"
123+
"eslint-import-resolver-typescript": "^3.7.0",
124+
"eslint-plugin-jsx-a11y": "^6.10.2",
125+
"eslint-plugin-prettier": "^5.2.1",
126+
"eslint-plugin-react": "^7.37.2",
127+
"eslint-plugin-react-hooks": "^5.1.0-rc.1",
128+
"eslint-plugin-tsdoc": "^0.4.0",
129+
"globals": "^15.13.0",
130+
"happy-dom": "^15.11.7",
131+
"prettier": "3.4.2",
132+
"react": "^19.0.0",
133+
"sass": "^1.82.0",
134+
"typedoc": "^0.27.3",
135+
"typedoc-plugin-markdown": "^4.3.1",
136+
"typedoc-plugin-mdn-links": "^4.0.3",
137+
"typedoc-plugin-zod": "^1.3.0",
138+
"typescript": "^5.7.2",
139+
"typescript-eslint": "^8.17.0",
140+
"vite": "^6.0.3",
141+
"vite-plugin-banner": "^0.8.0",
142+
"vitest": "^2.1.8"
141143
},
142144
"publishConfig": {
143145
"access": "public"

0 commit comments

Comments
 (0)