diff --git a/.changeset/config.json b/.changeset/config.json
index 8c48a330eb..3f6bb05f10 100644
--- a/.changeset/config.json
+++ b/.changeset/config.json
@@ -12,7 +12,7 @@
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
- "ignore": ["@examples/*", "@utils/*"],
+ "ignore": ["@examples/*", "@utils/*", "@ultraviolet/e2e"],
"privatePackages": {
"tag": false,
"version": true
diff --git a/e2e/App.tsx b/e2e/App.tsx
new file mode 100644
index 0000000000..f7e62838cf
--- /dev/null
+++ b/e2e/App.tsx
@@ -0,0 +1,3 @@
+const App = () => <>Welcome !>
+
+export default App
diff --git a/e2e/index.html b/e2e/index.html
new file mode 100644
index 0000000000..8ae79c6811
--- /dev/null
+++ b/e2e/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Playwright Test E2E - Ultraviolet
+
+
+
+
+
+
diff --git a/e2e/index.tsx b/e2e/index.tsx
new file mode 100644
index 0000000000..4aff0256e0
--- /dev/null
+++ b/e2e/index.tsx
@@ -0,0 +1,9 @@
+import { StrictMode } from 'react'
+import { createRoot } from 'react-dom/client'
+import App from './App.tsx'
+
+createRoot(document.getElementById('root')!).render(
+
+
+ ,
+)
diff --git a/e2e/package.json b/e2e/package.json
new file mode 100644
index 0000000000..b7d195b47d
--- /dev/null
+++ b/e2e/package.json
@@ -0,0 +1,35 @@
+{
+ "name": "@ultraviolet/e2e",
+ "private": true,
+ "version": "1.0.0",
+ "type": "module",
+ "scripts": {
+ "start": "vite",
+ "build": "tsc -b && vite build",
+ "lint": "eslint .",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "@emotion/react": "11.14.0",
+ "@emotion/styled": "11.14.0",
+ "@ultraviolet/icons": "workspace:*",
+ "@ultraviolet/themes": "workspace:*",
+ "@ultraviolet/ui": "workspace:*",
+ "react": "19.0.0",
+ "react-dom": "19.0.0"
+ },
+ "devDependencies": {
+ "@eslint/js": "9.17.0",
+ "@types/react": "19.0.5",
+ "@types/react-dom": "19.0.3",
+ "@vitejs/plugin-react": "4.3.4",
+ "eslint": "9.17.0",
+ "eslint-plugin-react-hooks": "5.0.0",
+ "eslint-plugin-react-refresh": "0.4.16",
+ "globals": "15.14.0",
+ "typescript": "5.7.3",
+ "typescript-eslint": "^8.19.1",
+ "vite": "6.0.7",
+ "@emotion/babel-plugin": "11.13.5"
+ }
+}
diff --git a/e2e/tsconfig.json b/e2e/tsconfig.json
new file mode 100644
index 0000000000..933f1fee32
--- /dev/null
+++ b/e2e/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "baseUrl": ".",
+ "allowImportingTsExtensions": true
+ },
+ "include": ["src", "../../global.d.ts", "emotion.d.ts"],
+ "exclude": ["node_modules", "coverage", "dist"]
+}
diff --git a/e2e/vite.config.ts b/e2e/vite.config.ts
new file mode 100644
index 0000000000..cd7a8375bc
--- /dev/null
+++ b/e2e/vite.config.ts
@@ -0,0 +1,13 @@
+import react from '@vitejs/plugin-react'
+import { defineConfig } from 'vite'
+
+export default defineConfig({
+ plugins: [
+ react({
+ jsxImportSource: '@emotion/react',
+ babel: {
+ plugins: ['@emotion/babel-plugin'],
+ },
+ }),
+ ],
+})
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 75574ba961..9b41713fbb 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -322,6 +322,67 @@ importers:
specifier: 4.4.2
version: 4.4.2
+ e2e:
+ dependencies:
+ '@emotion/react':
+ specifier: 11.14.0
+ version: 11.14.0(@types/react@19.0.5)(react@19.0.0)
+ '@emotion/styled':
+ specifier: 11.14.0
+ version: 11.14.0(@emotion/react@11.14.0(@types/react@19.0.5)(react@19.0.0))(@types/react@19.0.5)(react@19.0.0)
+ '@ultraviolet/icons':
+ specifier: workspace:*
+ version: link:../packages/icons
+ '@ultraviolet/themes':
+ specifier: workspace:*
+ version: link:../packages/themes
+ '@ultraviolet/ui':
+ specifier: workspace:*
+ version: link:../packages/ui
+ react:
+ specifier: 19.0.0
+ version: 19.0.0
+ react-dom:
+ specifier: 19.0.0
+ version: 19.0.0(react@19.0.0)
+ devDependencies:
+ '@emotion/babel-plugin':
+ specifier: 11.13.5
+ version: 11.13.5
+ '@eslint/js':
+ specifier: 9.17.0
+ version: 9.17.0
+ '@types/react':
+ specifier: 19.0.5
+ version: 19.0.5
+ '@types/react-dom':
+ specifier: 19.0.3
+ version: 19.0.3(@types/react@19.0.5)
+ '@vitejs/plugin-react':
+ specifier: 4.3.4
+ version: 4.3.4(vite@5.4.11(@types/node@22.10.6)(terser@5.31.0))
+ eslint:
+ specifier: 9.17.0
+ version: 9.17.0(jiti@2.4.2)
+ eslint-plugin-react-hooks:
+ specifier: 5.0.0
+ version: 5.0.0(eslint@9.17.0(jiti@2.4.2))
+ eslint-plugin-react-refresh:
+ specifier: 0.4.16
+ version: 0.4.16(eslint@9.17.0(jiti@2.4.2))
+ globals:
+ specifier: 15.14.0
+ version: 15.14.0
+ typescript:
+ specifier: 5.7.3
+ version: 5.7.3
+ typescript-eslint:
+ specifier: ^8.19.1
+ version: 8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)
+ vite:
+ specifier: 5.4.11
+ version: 5.4.11(@types/node@22.10.6)(terser@5.31.0)
+
examples/next:
dependencies:
'@emotion/react':
@@ -3269,6 +3330,14 @@ packages:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.8.0'
+ '@typescript-eslint/eslint-plugin@8.20.0':
+ resolution: {integrity: sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.8.0'
+
'@typescript-eslint/parser@8.18.2':
resolution: {integrity: sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -3276,6 +3345,13 @@ packages:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.8.0'
+ '@typescript-eslint/parser@8.20.0':
+ resolution: {integrity: sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.8.0'
+
'@typescript-eslint/scope-manager@5.62.0':
resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3292,6 +3368,10 @@ packages:
resolution: {integrity: sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/scope-manager@8.20.0':
+ resolution: {integrity: sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@typescript-eslint/type-utils@8.18.2':
resolution: {integrity: sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -3299,6 +3379,13 @@ packages:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.8.0'
+ '@typescript-eslint/type-utils@8.20.0':
+ resolution: {integrity: sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.8.0'
+
'@typescript-eslint/types@5.62.0':
resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3315,6 +3402,10 @@ packages:
resolution: {integrity: sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/types@8.20.0':
+ resolution: {integrity: sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@typescript-eslint/typescript-estree@5.62.0':
resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3345,6 +3436,12 @@ packages:
peerDependencies:
typescript: '>=4.8.4 <5.8.0'
+ '@typescript-eslint/typescript-estree@8.20.0':
+ resolution: {integrity: sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <5.8.0'
+
'@typescript-eslint/utils@5.62.0':
resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3375,6 +3472,13 @@ packages:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.8.0'
+ '@typescript-eslint/utils@8.20.0':
+ resolution: {integrity: sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.8.0'
+
'@typescript-eslint/visitor-keys@5.62.0':
resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -3391,6 +3495,10 @@ packages:
resolution: {integrity: sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/visitor-keys@8.20.0':
+ resolution: {integrity: sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@uiw/codemirror-extensions-basic-setup@4.23.7':
resolution: {integrity: sha512-9/2EUa1Lck4kFKkR2BkxlZPpgD/EWuKHnOlysf1yHKZGraaZmZEaUw+utDK4QcuJc8Iz097vsLz4f4th5EU27g==}
peerDependencies:
@@ -3928,10 +4036,6 @@ packages:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
- chalk@5.3.0:
- resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
-
chalk@5.4.1:
resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==}
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
@@ -4755,12 +4859,23 @@ packages:
eslint-plugin-oxlint@0.15.6:
resolution: {integrity: sha512-NqaqORy2nUt3Zj9hiblxajiAWLoGMUPUIpuEMLJQmWJceTvB4Hu7R7zihWoXRuu+3/M6QZuMEYJe3sZaL9HKMQ==}
+ eslint-plugin-react-hooks@5.0.0:
+ resolution: {integrity: sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
+
eslint-plugin-react-hooks@5.1.0:
resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==}
engines: {node: '>=10'}
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
+ eslint-plugin-react-refresh@0.4.16:
+ resolution: {integrity: sha512-slterMlxAhov/DZO8NScf6mEeMBBXodFUolijDvrtTxyezyLoTQaa73FyYus/VbTdftd8wBgBxPMRk3poleXNQ==}
+ peerDependencies:
+ eslint: '>=8.40'
+
eslint-plugin-react@7.37.3:
resolution: {integrity: sha512-DomWuTQPFYZwF/7c9W2fkKkStqZmBd3uugfqBYLdkZ3Hii23WzZuOLUskGxB8qkSKqftxEeGL1TB2kMhrce0jA==}
engines: {node: '>=4'}
@@ -7704,6 +7819,12 @@ packages:
peerDependencies:
typescript: '>=4.2.0'
+ ts-api-utils@2.0.0:
+ resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==}
+ engines: {node: '>=18.12'}
+ peerDependencies:
+ typescript: '>=4.8.4'
+
ts-dedent@2.2.0:
resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
engines: {node: '>=6.10'}
@@ -7828,6 +7949,13 @@ packages:
resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
engines: {node: '>= 0.4'}
+ typescript-eslint@8.20.0:
+ resolution: {integrity: sha512-Kxz2QRFsgbWj6Xcftlw3Dd154b3cEPFqQC+qMZrMypSijPd4UanKKvoKDrJ4o8AIfZFKAF+7sMaEIR8mTElozA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.8.0'
+
typescript@5.7.3:
resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
engines: {node: '>=14.17'}
@@ -9593,7 +9721,7 @@ snapshots:
'@commitlint/format@19.5.0':
dependencies:
'@commitlint/types': 19.5.0
- chalk: 5.3.0
+ chalk: 5.4.1
'@commitlint/is-ignored@19.6.0':
dependencies:
@@ -9613,7 +9741,7 @@ snapshots:
'@commitlint/execute-rule': 19.0.0
'@commitlint/resolve-extends': 19.1.0
'@commitlint/types': 19.5.0
- chalk: 5.3.0
+ chalk: 5.4.1
cosmiconfig: 9.0.0(typescript@5.7.3)
cosmiconfig-typescript-loader: 5.0.0(@types/node@22.10.7)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3)
lodash.isplainobject: 4.0.6
@@ -9630,7 +9758,7 @@ snapshots:
'@commitlint/execute-rule': 19.5.0
'@commitlint/resolve-extends': 19.5.0
'@commitlint/types': 19.5.0
- chalk: 5.3.0
+ chalk: 5.4.1
cosmiconfig: 9.0.0(typescript@5.7.3)
cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.7)(cosmiconfig@9.0.0(typescript@5.7.3))(typescript@5.7.3)
lodash.isplainobject: 4.0.6
@@ -9691,7 +9819,7 @@ snapshots:
'@commitlint/types@19.5.0':
dependencies:
'@types/conventional-commits-parser': 5.0.0
- chalk: 5.3.0
+ chalk: 5.4.1
'@cspotcode/source-map-support@0.8.1':
dependencies:
@@ -11470,7 +11598,28 @@ snapshots:
transitivePeerDependencies:
- supports-color
+<<<<<<< HEAD
'@typescript-eslint/parser@8.18.2(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)':
+=======
+ '@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)':
+ dependencies:
+ '@eslint-community/regexpp': 4.12.1
+ '@typescript-eslint/parser': 8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)
+ '@typescript-eslint/scope-manager': 8.20.0
+ '@typescript-eslint/type-utils': 8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)
+ '@typescript-eslint/utils': 8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)
+ '@typescript-eslint/visitor-keys': 8.20.0
+ eslint: 9.17.0(jiti@2.4.2)
+ graphemer: 1.4.0
+ ignore: 5.3.1
+ natural-compare: 1.4.0
+ ts-api-utils: 2.0.0(typescript@5.7.3)
+ typescript: 5.7.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/parser@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)':
+>>>>>>> 56144013f (ci(e2e): implement e2e structure)
dependencies:
'@typescript-eslint/scope-manager': 8.18.2
'@typescript-eslint/types': 8.18.2
@@ -11482,6 +11631,18 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/parser@8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 8.20.0
+ '@typescript-eslint/types': 8.20.0
+ '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3)
+ '@typescript-eslint/visitor-keys': 8.20.0
+ debug: 4.4.0
+ eslint: 9.17.0(jiti@2.4.2)
+ typescript: 5.7.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/scope-manager@5.62.0':
dependencies:
'@typescript-eslint/types': 5.62.0
@@ -11502,7 +11663,16 @@ snapshots:
'@typescript-eslint/types': 8.18.2
'@typescript-eslint/visitor-keys': 8.18.2
+<<<<<<< HEAD
'@typescript-eslint/type-utils@8.18.2(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)':
+=======
+ '@typescript-eslint/scope-manager@8.20.0':
+ dependencies:
+ '@typescript-eslint/types': 8.20.0
+ '@typescript-eslint/visitor-keys': 8.20.0
+
+ '@typescript-eslint/type-utils@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)':
+>>>>>>> 56144013f (ci(e2e): implement e2e structure)
dependencies:
'@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.3)
'@typescript-eslint/utils': 8.18.2(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)
@@ -11513,6 +11683,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/type-utils@8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)':
+ dependencies:
+ '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3)
+ '@typescript-eslint/utils': 8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)
+ debug: 4.4.0
+ eslint: 9.17.0(jiti@2.4.2)
+ ts-api-utils: 2.0.0(typescript@5.7.3)
+ typescript: 5.7.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/types@5.62.0': {}
'@typescript-eslint/types@8.17.0': {}
@@ -11521,6 +11702,8 @@ snapshots:
'@typescript-eslint/types@8.18.2': {}
+ '@typescript-eslint/types@8.20.0': {}
+
'@typescript-eslint/typescript-estree@5.62.0(typescript@5.7.3)':
dependencies:
'@typescript-eslint/types': 5.62.0
@@ -11578,7 +11761,25 @@ snapshots:
transitivePeerDependencies:
- supports-color
+<<<<<<< HEAD
'@typescript-eslint/utils@5.62.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3)':
+=======
+ '@typescript-eslint/typescript-estree@8.20.0(typescript@5.7.3)':
+ dependencies:
+ '@typescript-eslint/types': 8.20.0
+ '@typescript-eslint/visitor-keys': 8.20.0
+ debug: 4.4.0
+ fast-glob: 3.3.2
+ is-glob: 4.0.3
+ minimatch: 9.0.4
+ semver: 7.6.3
+ ts-api-utils: 2.0.0(typescript@5.7.3)
+ typescript: 5.7.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/utils@5.62.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)':
+>>>>>>> 56144013f (ci(e2e): implement e2e structure)
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.18.0(jiti@2.4.2))
'@types/json-schema': 7.0.15
@@ -11627,6 +11828,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/utils@8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.17.0(jiti@2.4.2))
+ '@typescript-eslint/scope-manager': 8.20.0
+ '@typescript-eslint/types': 8.20.0
+ '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3)
+ eslint: 9.17.0(jiti@2.4.2)
+ typescript: 5.7.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/visitor-keys@5.62.0':
dependencies:
'@typescript-eslint/types': 5.62.0
@@ -11647,6 +11859,11 @@ snapshots:
'@typescript-eslint/types': 8.18.2
eslint-visitor-keys: 4.2.0
+ '@typescript-eslint/visitor-keys@8.20.0':
+ dependencies:
+ '@typescript-eslint/types': 8.20.0
+ eslint-visitor-keys: 4.2.0
+
'@uiw/codemirror-extensions-basic-setup@4.23.7(@codemirror/autocomplete@6.16.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.26.3)(@lezer/common@1.2.1))(@codemirror/commands@6.5.0)(@codemirror/language@6.10.1)(@codemirror/lint@6.7.0)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/view@6.26.3)':
dependencies:
'@codemirror/autocomplete': 6.16.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.26.3)(@lezer/common@1.2.1)
@@ -12344,8 +12561,6 @@ snapshots:
ansi-styles: 4.3.0
supports-color: 7.2.0
- chalk@5.3.0: {}
-
chalk@5.4.1: {}
character-entities-legacy@1.1.4: {}
@@ -13384,11 +13599,27 @@ snapshots:
dependencies:
jsonc-parser: 3.3.1
+<<<<<<< HEAD
eslint-plugin-react-hooks@5.1.0(eslint@9.18.0(jiti@2.4.2)):
+=======
+ eslint-plugin-react-hooks@5.0.0(eslint@9.17.0(jiti@2.4.2)):
+ dependencies:
+ eslint: 9.17.0(jiti@2.4.2)
+
+ eslint-plugin-react-hooks@5.1.0(eslint@9.17.0(jiti@2.4.2)):
+>>>>>>> 56144013f (ci(e2e): implement e2e structure)
dependencies:
eslint: 9.18.0(jiti@2.4.2)
+<<<<<<< HEAD
eslint-plugin-react@7.37.3(eslint@9.18.0(jiti@2.4.2)):
+=======
+ eslint-plugin-react-refresh@0.4.16(eslint@9.17.0(jiti@2.4.2)):
+ dependencies:
+ eslint: 9.17.0(jiti@2.4.2)
+
+ eslint-plugin-react@7.37.3(eslint@9.17.0(jiti@2.4.2)):
+>>>>>>> 56144013f (ci(e2e): implement e2e structure)
dependencies:
array-includes: 3.1.8
array.prototype.findlast: 1.2.5
@@ -16774,6 +17005,10 @@ snapshots:
dependencies:
typescript: 5.7.3
+ ts-api-utils@2.0.0(typescript@5.7.3):
+ dependencies:
+ typescript: 5.7.3
+
ts-dedent@2.2.0: {}
ts-node@10.9.2(@types/node@22.10.7)(typescript@5.7.3):
@@ -16926,6 +17161,16 @@ snapshots:
possible-typed-array-names: 1.0.0
reflect.getprototypeof: 1.0.6
+ typescript-eslint@8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3):
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)
+ '@typescript-eslint/parser': 8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)
+ '@typescript-eslint/utils': 8.20.0(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.3)
+ eslint: 9.17.0(jiti@2.4.2)
+ typescript: 5.7.3
+ transitivePeerDependencies:
+ - supports-color
+
typescript@5.7.3: {}
unbox-primitive@1.0.2:
@@ -17063,9 +17308,15 @@ snapshots:
dependencies:
cac: 6.7.14
debug: 4.4.0
+<<<<<<< HEAD
es-module-lexer: 1.6.0
pathe: 2.0.1
vite: 5.4.11(@types/node@22.10.7)(terser@5.31.0)
+=======
+ es-module-lexer: 1.5.4
+ pathe: 1.1.2
+ vite: 5.4.11(@types/node@22.10.6)(terser@5.31.0)
+>>>>>>> 56144013f (ci(e2e): implement e2e structure)
transitivePeerDependencies:
- '@types/node'
- less
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 1ea515d949..2ef3e15d4e 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -2,3 +2,4 @@ packages:
- "packages/*"
- "utils/*"
- "examples/*"
+ - "e2e"