diff --git a/.changepacks/changepack_log_XguILLsu4POI-o73d3Thd.json b/.changepacks/changepack_log_XguILLsu4POI-o73d3Thd.json
new file mode 100644
index 0000000..f6634a1
--- /dev/null
+++ b/.changepacks/changepack_log_XguILLsu4POI-o73d3Thd.json
@@ -0,0 +1 @@
+{"changes":{"packages/next-plugin/package.json":"Patch","packages/react-query/package.json":"Patch","packages/fetch/package.json":"Patch","packages/generator/package.json":"Patch","packages/core/package.json":"Patch","packages/utils/package.json":"Patch","packages/rsbuild-plugin/package.json":"Patch","packages/vite-plugin/package.json":"Patch","packages/webpack-plugin/package.json":"Patch"},"note":"Add DevupObject for typing","date":"2025-12-18T10:26:39.561791300Z"}
\ No newline at end of file
diff --git a/.changepacks/changepack_log_a3GPxwlaj0mikZBFNbEBC.json b/.changepacks/changepack_log_a3GPxwlaj0mikZBFNbEBC.json
new file mode 100644
index 0000000..43021f8
--- /dev/null
+++ b/.changepacks/changepack_log_a3GPxwlaj0mikZBFNbEBC.json
@@ -0,0 +1 @@
+{"changes":{"packages/vite-plugin/package.json":"Patch","packages/next-plugin/package.json":"Patch","packages/rsbuild-plugin/package.json":"Patch","packages/webpack-plugin/package.json":"Patch","packages/react-query/package.json":"Patch","packages/utils/package.json":"Patch","packages/generator/package.json":"Patch","packages/fetch/package.json":"Patch","packages/core/package.json":"Patch"},"note":"Update lib","date":"2025-12-18T10:01:52.928637600Z"}
\ No newline at end of file
diff --git a/.changepacks/changepack_log_dMMF8UdE2s43x7QZwbIr6.json b/.changepacks/changepack_log_dMMF8UdE2s43x7QZwbIr6.json
new file mode 100644
index 0000000..3079319
--- /dev/null
+++ b/.changepacks/changepack_log_dMMF8UdE2s43x7QZwbIr6.json
@@ -0,0 +1 @@
+{"changes":{"packages/next-plugin/package.json":"Patch","packages/rsbuild-plugin/package.json":"Patch","packages/core/package.json":"Patch","packages/vite-plugin/package.json":"Patch","packages/webpack-plugin/package.json":"Patch","packages/fetch/package.json":"Patch","packages/utils/package.json":"Patch","packages/generator/package.json":"Patch","packages/react-query/package.json":"Patch"},"note":"Fix interface indent struct","date":"2025-12-18T10:02:43.863144900Z"}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index a14702c..6a4f18e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,3 +32,5 @@ report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
# Finder (MacOS) folder config
.DS_Store
+
+.claude
diff --git a/README.md b/README.md
index b2fdca5..af185a0 100644
--- a/README.md
+++ b/README.md
@@ -220,6 +220,7 @@ This is a monorepo containing multiple packages:
- **`@devup-api/utils`** - Utility functions for OpenAPI processing
- **`@devup-api/generator`** - TypeScript interface generator from OpenAPI schemas
- **`@devup-api/fetch`** - Type-safe API client
+- **`@devup-api/react-query`** - TanStack React Query integration
- **`@devup-api/vite-plugin`** - Vite plugin
- **`@devup-api/next-plugin`** - Next.js plugin
- **`@devup-api/webpack-plugin`** - Webpack plugin
@@ -276,6 +277,151 @@ if (result.data) {
}
```
+### **Using DevupObject for Type References**
+
+`DevupObject` allows you to reference generated schema types directly, which is useful for typing variables, function parameters, or component props.
+
+```ts
+import { createApi, type DevupObject } from '@devup-api/fetch'
+
+// Access response types from the default OpenAPI schema
+type User = DevupObject['User']
+type Product = DevupObject['Product']
+
+// Use in your code
+const user: User = {
+ id: '123',
+ name: 'John Doe',
+ email: 'john@example.com'
+}
+
+// For request/error types, specify the type category
+type CreateUserRequest = DevupObject<'request'>['CreateUserBody']
+type ApiError = DevupObject<'error'>['ErrorResponse']
+```
+
+---
+
+## 🌐 Multiple API Servers
+
+devup-api supports multiple OpenAPI schemas for working with different API servers.
+
+### **Configuration**
+
+Place multiple OpenAPI files in your project (e.g., `openapi.json`, `openapi2.json`) and the plugin will generate types for each.
+
+### **Usage**
+
+```ts
+import { createApi, type DevupObject } from '@devup-api/fetch'
+
+// Default server (uses openapi.json)
+const api = createApi({
+ baseUrl: 'https://api.example.com',
+})
+
+// Second server (uses openapi2.json)
+const api2 = createApi({
+ baseUrl: 'https://api.another-service.com',
+ serverName: 'openapi2.json',
+})
+
+// Make requests to different servers
+const users = await api.get('getUsers', {})
+const products = await api2.get('getProducts', {})
+
+// Access types from different schemas
+type User = DevupObject['User'] // From openapi.json
+type Product = DevupObject<'response', 'openapi2.json'>['Product'] // From openapi2.json
+```
+
+---
+
+## 🔄 React Query Integration
+
+devup-api provides first-class support for TanStack React Query through the `@devup-api/react-query` package.
+
+### **Installation**
+
+```bash
+npm install @devup-api/react-query @tanstack/react-query
+```
+
+### **Setup**
+
+```ts
+import { createApi } from '@devup-api/fetch'
+import { createQueryClient } from '@devup-api/react-query'
+
+const api = createApi('https://api.example.com')
+const queryClient = createQueryClient(api)
+```
+
+### **useQuery**
+
+```ts
+function UserProfile({ userId }: { userId: string }) {
+ const { data, isLoading, error } = queryClient.useQuery(
+ 'get',
+ '/users/{id}',
+ { params: { id: userId } }
+ )
+
+ if (isLoading) return
Loading...
+ if (error) return Error: {error.message}
+ return {data.name}
+}
+```
+
+### **useMutation**
+
+```ts
+function CreateUser() {
+ const mutation = queryClient.useMutation('post', 'createUser')
+
+ return (
+
+ )
+}
+```
+
+### **useSuspenseQuery**
+
+```ts
+function UserList() {
+ const { data } = queryClient.useSuspenseQuery('get', 'getUsers', {})
+ return {data.map(user => - {user.name}
)}
+}
+```
+
+### **useInfiniteQuery**
+
+```ts
+function InfiniteUserList() {
+ const { data, fetchNextPage, hasNextPage } = queryClient.useInfiniteQuery(
+ 'get',
+ 'getUsers',
+ {
+ initialPageParam: 1,
+ getNextPageParam: (lastPage) => lastPage.nextPage,
+ }
+ )
+
+ return (
+ <>
+ {data?.pages.map(page =>
+ page.users.map(user => {user.name}
)
+ )}
+ {hasNextPage && }
+ >
+ )
+}
+```
+
---
## ⚙️ Configuration Options
diff --git a/SKILL.md b/SKILL.md
index 987a342..a253e1d 100644
--- a/SKILL.md
+++ b/SKILL.md
@@ -13,6 +13,8 @@ This skill helps you invoke the `devup-api` library to generate and use fully ty
- **Fetch-compatible:** Ergonomic API similar to standard `fetch`.
- **Zero Generics:** No complex generic types to manage manually.
- **Build Tool Integration:** Plugins for Vite, Next.js, Webpack, and Rsbuild.
+- **React Query Integration:** First-class support for TanStack React Query with `@devup-api/react-query`.
+- **Multiple API Servers:** Support for multiple OpenAPI schemas with `serverName` and `DevupObject` type access.
- **Two-phase Typing:** "Cold Typing" (relaxed types for initial setup) and "Bold Typing" (strict types after generation).
## Usage Instructions
@@ -98,6 +100,76 @@ if (response.data) {
}
```
+## Using DevupObject for Type References
+
+`DevupObject` provides direct access to generated schema types:
+
+```ts
+import { createApi, type DevupObject } from '@devup-api/fetch'
+
+// Access response types
+type User = DevupObject['User']
+
+// Access request/error types
+type CreateUserRequest = DevupObject<'request'>['CreateUserBody']
+type ApiError = DevupObject<'error'>['ErrorResponse']
+
+// For multiple OpenAPI schemas, specify the server name
+type Product = DevupObject<'response', 'openapi2.json'>['Product']
+```
+
+## Multiple API Servers
+
+Support multiple OpenAPI schemas with `serverName`:
+
+```ts
+import { createApi, type DevupObject } from '@devup-api/fetch'
+
+// Default server
+const api = createApi({ baseUrl: 'https://api.example.com' })
+
+// Second server
+const api2 = createApi({
+ baseUrl: 'https://api.another-service.com',
+ serverName: 'openapi2.json',
+})
+
+// Types from different schemas
+type User = DevupObject['User'] // openapi.json
+type Product = DevupObject<'response', 'openapi2.json'>['Product'] // openapi2.json
+```
+
+## React Query Integration
+
+For React applications using TanStack React Query, use `@devup-api/react-query`:
+
+```bash
+npm install @devup-api/react-query @tanstack/react-query
+```
+
+```ts
+import { createApi } from '@devup-api/fetch'
+import { createQueryClient } from '@devup-api/react-query'
+
+const api = createApi('https://api.example.com')
+const queryClient = createQueryClient(api)
+
+// useQuery
+const { data } = queryClient.useQuery('get', '/users/{id}', { params: { id: '123' } })
+
+// useMutation
+const mutation = queryClient.useMutation('post', 'createUser')
+
+// useSuspenseQuery
+const { data } = queryClient.useSuspenseQuery('get', 'getUsers', {})
+
+// useInfiniteQuery
+const { data, fetchNextPage } = queryClient.useInfiniteQuery('get', 'getUsers', {
+ initialPageParam: 1,
+ getNextPageParam: (lastPage) => lastPage.nextPage,
+})
+```
+
## Guidelines
- **"Cold" vs "Bold" Typing:** When you first start, types might be `any` (Cold Typing). Run your build command (`dev` or `build`) to generate the types and enable strict checking (Bold Typing).
diff --git a/bun.lock b/bun.lock
index 9168fb5..b0aeef9 100644
--- a/bun.lock
+++ b/bun.lock
@@ -6,12 +6,12 @@
"name": "devup-api",
"devDependencies": {
"@biomejs/biome": "^2.3",
- "@testing-library/react": "^16.3.0",
+ "@testing-library/react": "^16.3.1",
"@testing-library/react-hooks": "^8.0.1",
"@types/bun": "latest",
"husky": "^9",
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3",
},
},
"examples/next": {
@@ -22,13 +22,13 @@
"@devup-api/next-plugin": "workspace:*",
"@devup-api/react-query": "workspace:*",
"@devup-ui/react": "^1",
- "next": "^16.0.4",
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
+ "next": "^16.0.10",
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3",
},
"devDependencies": {
"@devup-ui/next-plugin": "^1",
- "@types/node": "^24",
+ "@types/node": "^25",
"@types/react": "^19",
"@types/react-dom": "^19",
"typescript": "^5",
@@ -41,13 +41,13 @@
"@devup-api/fetch": "workspace:*",
"@devup-api/next-plugin": "workspace:*",
"@devup-ui/react": "^1",
- "next": "^16.0.4",
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
+ "next": "^16.0.10",
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3",
},
"devDependencies": {
"@devup-ui/next-plugin": "^1",
- "@types/node": "^24",
+ "@types/node": "^25",
"@types/react": "^19",
"@types/react-dom": "^19",
"typescript": "^5",
@@ -58,8 +58,8 @@
"version": "0.1.0",
"dependencies": {
"@devup-api/fetch": "workspace:*",
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3",
},
"devDependencies": {
"@devup-api/rsbuild-plugin": "workspace:*",
@@ -75,46 +75,46 @@
"version": "0.1.0",
"dependencies": {
"@devup-api/fetch": "workspace:*",
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3",
},
"devDependencies": {
"@devup-api/vite-plugin": "workspace:*",
"@types/react": "^19",
"@types/react-dom": "^19",
- "@vitejs/plugin-react": "^5.1.1",
+ "@vitejs/plugin-react": "^5.1.2",
"typescript": "^5",
- "vite": "^7.2.4",
+ "vite": "^7.3.0",
},
},
"packages/core": {
"name": "@devup-api/core",
- "version": "0.1.6",
+ "version": "0.1.9",
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"typescript": "^5.9",
},
},
"packages/fetch": {
"name": "@devup-api/fetch",
- "version": "0.1.7",
+ "version": "0.1.10",
"dependencies": {
"@devup-api/core": "workspace:*",
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"typescript": "^5.9",
},
},
"packages/generator": {
"name": "@devup-api/generator",
- "version": "0.1.5",
+ "version": "0.1.8",
"dependencies": {
"@devup-api/core": "workspace:*",
"@devup-api/utils": "workspace:*",
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"openapi-types": "^12.1",
"typescript": "^5.9",
},
@@ -129,7 +129,7 @@
"@devup-api/webpack-plugin": "workspace:*",
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"@types/webpack": "^5.28",
"typescript": "^5.9",
},
@@ -140,14 +140,14 @@
},
"packages/react-query": {
"name": "@devup-api/react-query",
- "version": "0.1.0",
+ "version": "0.1.2",
"dependencies": {
"@devup-api/fetch": "workspace:*",
"@tanstack/react-query": ">=5.90",
},
"devDependencies": {
"@testing-library/react-hooks": "^8.0.1",
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"@types/react": "^19.2",
"happy-dom": "^20.0.11",
"typescript": "^5.9",
@@ -166,7 +166,7 @@
"@devup-api/utils": "workspace:*",
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"typescript": "^5.9",
},
"peerDependencies": {
@@ -178,7 +178,7 @@
"name": "@devup-api/utils",
"version": "0.1.5",
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"openapi-types": "^12.1",
"typescript": "^5.9",
},
@@ -192,7 +192,7 @@
"@devup-api/utils": "workspace:*",
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"typescript": "^5.9",
},
"peerDependencies": {
@@ -209,7 +209,7 @@
"@devup-api/utils": "workspace:*",
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"@types/webpack": "^5.28",
"typescript": "^5.9",
},
@@ -259,23 +259,23 @@
"@babel/types": ["@babel/types@7.28.5", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA=="],
- "@biomejs/biome": ["@biomejs/biome@2.3.7", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.3.7", "@biomejs/cli-darwin-x64": "2.3.7", "@biomejs/cli-linux-arm64": "2.3.7", "@biomejs/cli-linux-arm64-musl": "2.3.7", "@biomejs/cli-linux-x64": "2.3.7", "@biomejs/cli-linux-x64-musl": "2.3.7", "@biomejs/cli-win32-arm64": "2.3.7", "@biomejs/cli-win32-x64": "2.3.7" }, "bin": { "biome": "bin/biome" } }, "sha512-CTbAS/jNAiUc6rcq94BrTB8z83O9+BsgWj2sBCQg9rD6Wkh2gjfR87usjx0Ncx0zGXP1NKgT7JNglay5Zfs9jw=="],
+ "@biomejs/biome": ["@biomejs/biome@2.3.10", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.3.10", "@biomejs/cli-darwin-x64": "2.3.10", "@biomejs/cli-linux-arm64": "2.3.10", "@biomejs/cli-linux-arm64-musl": "2.3.10", "@biomejs/cli-linux-x64": "2.3.10", "@biomejs/cli-linux-x64-musl": "2.3.10", "@biomejs/cli-win32-arm64": "2.3.10", "@biomejs/cli-win32-x64": "2.3.10" }, "bin": { "biome": "bin/biome" } }, "sha512-/uWSUd1MHX2fjqNLHNL6zLYWBbrJeG412/8H7ESuK8ewoRoMPUgHDebqKrPTx/5n6f17Xzqc9hdg3MEqA5hXnQ=="],
- "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.3.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-LirkamEwzIUULhXcf2D5b+NatXKeqhOwilM+5eRkbrnr6daKz9rsBL0kNZ16Hcy4b8RFq22SG4tcLwM+yx/wFA=="],
+ "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.3.10", "", { "os": "darwin", "cpu": "arm64" }, "sha512-M6xUjtCVnNGFfK7HMNKa593nb7fwNm43fq1Mt71kpLpb+4mE7odO8W/oWVDyBVO4ackhresy1ZYO7OJcVo/B7w=="],
- "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.3.7", "", { "os": "darwin", "cpu": "x64" }, "sha512-Q4TO633kvrMQkKIV7wmf8HXwF0dhdTD9S458LGE24TYgBjSRbuhvio4D5eOQzirEYg6eqxfs53ga/rbdd8nBKg=="],
+ "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.3.10", "", { "os": "darwin", "cpu": "x64" }, "sha512-Vae7+V6t/Avr8tVbFNjnFSTKZogZHFYl7MMH62P/J1kZtr0tyRQ9Fe0onjqjS2Ek9lmNLmZc/VR5uSekh+p1fg=="],
- "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.3.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-inHOTdlstUBzgjDcx0ge71U4SVTbwAljmkfi3MC5WzsYCRhancqfeL+sa4Ke6v2ND53WIwCFD5hGsYExoI3EZQ=="],
+ "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.3.10", "", { "os": "linux", "cpu": "arm64" }, "sha512-hhPw2V3/EpHKsileVOFynuWiKRgFEV48cLe0eA+G2wO4SzlwEhLEB9LhlSrVeu2mtSn205W283LkX7Fh48CaxA=="],
- "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.3.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-/afy8lto4CB8scWfMdt+NoCZtatBUF62Tk3ilWH2w8ENd5spLhM77zKlFZEvsKJv9AFNHknMl03zO67CiklL2Q=="],
+ "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.3.10", "", { "os": "linux", "cpu": "arm64" }, "sha512-B9DszIHkuKtOH2IFeeVkQmSMVUjss9KtHaNXquYYWCjH8IstNgXgx5B0aSBQNr6mn4RcKKRQZXn9Zu1rM3O0/A=="],
- "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.3.7", "", { "os": "linux", "cpu": "x64" }, "sha512-fJMc3ZEuo/NaMYo5rvoWjdSS5/uVSW+HPRQujucpZqm2ZCq71b8MKJ9U4th9yrv2L5+5NjPF0nqqILCl8HY/fg=="],
+ "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.3.10", "", { "os": "linux", "cpu": "x64" }, "sha512-wwAkWD1MR95u+J4LkWP74/vGz+tRrIQvr8kfMMJY8KOQ8+HMVleREOcPYsQX82S7uueco60L58Wc6M1I9WA9Dw=="],
- "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.3.7", "", { "os": "linux", "cpu": "x64" }, "sha512-CQUtgH1tIN6e5wiYSJqzSwJumHYolNtaj1dwZGCnZXm2PZU1jOJof9TsyiP3bXNDb+VOR7oo7ZvY01If0W3iFQ=="],
+ "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.3.10", "", { "os": "linux", "cpu": "x64" }, "sha512-QTfHZQh62SDFdYc2nfmZFuTm5yYb4eO1zwfB+90YxUumRCR171tS1GoTX5OD0wrv4UsziMPmrePMtkTnNyYG3g=="],
- "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.3.7", "", { "os": "win32", "cpu": "arm64" }, "sha512-aJAE8eCNyRpcfx2JJAtsPtISnELJ0H4xVVSwnxm13bzI8RwbXMyVtxy2r5DV1xT3WiSP+7LxORcApWw0LM8HiA=="],
+ "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.3.10", "", { "os": "win32", "cpu": "arm64" }, "sha512-o7lYc9n+CfRbHvkjPhm8s9FgbKdYZu5HCcGVMItLjz93EhgJ8AM44W+QckDqLA9MKDNFrR8nPbO4b73VC5kGGQ=="],
- "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.3.7", "", { "os": "win32", "cpu": "x64" }, "sha512-pulzUshqv9Ed//MiE8MOUeeEkbkSHVDVY5Cz5wVAnH1DUqliCQG3j6s1POaITTFqFfo7AVIx2sWdKpx/GS+Nqw=="],
+ "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.3.10", "", { "os": "win32", "cpu": "x64" }, "sha512-pHEFgq7dUEsKnqG9mx9bXihxGI49X+ar+UBrEIj3Wqj3UCZp1rNgV+OoyjFgcXsjCWpuEAF4VJdkZr3TrWdCbQ=="],
"@devup-api/core": ["@devup-api/core@workspace:packages/core"],
@@ -295,11 +295,11 @@
"@devup-api/webpack-plugin": ["@devup-api/webpack-plugin@workspace:packages/webpack-plugin"],
- "@devup-ui/next-plugin": ["@devup-ui/next-plugin@1.0.57", "", { "dependencies": { "@devup-ui/wasm": "1.0.48", "@devup-ui/webpack-plugin": "1.0.49", "glob": "^12.0", "next": "^16.0" } }, "sha512-oDXH0cuv/Rg7yNeTHTMiz6QHf99P0SAr2herBm1CKjAv+F5UsOKQF/Wct3/Qdt4Tg16zn+mHJw9WzUTmYcrV4g=="],
+ "@devup-ui/next-plugin": ["@devup-ui/next-plugin@1.0.59", "", { "dependencies": { "@devup-ui/wasm": "1.0.51", "@devup-ui/webpack-plugin": "1.0.49", "glob": "^13.0", "next": "^16.0" } }, "sha512-u44tjZZROuWkny/b5ZRvmiNSRvpgvrs+91npGejTx3w7dp+9y17B3GajrNkEytglT5c/45ItAaOR3fwRYwWnbA=="],
- "@devup-ui/react": ["@devup-ui/react@1.0.28", "", { "dependencies": { "csstype-extra": "latest", "react": "^19.2" } }, "sha512-Fvm0ETOv7L4+wYCfuObkzH0LFgqE0KulLes+fKZOF3nMV3ytYVf48a9eqKS1Q+R5E/CZ5qRBrl/P7etKrDnsKw=="],
+ "@devup-ui/react": ["@devup-ui/react@1.0.29", "", { "dependencies": { "csstype-extra": "latest", "react": "^19.2" } }, "sha512-RGmnTOMsksV/IOiqU9yCQZW+hQ/WAgo4qVyh+gsbzZQc4tM3fDUKctOF72Wm2Be7n2sn+JVHhocEaAWNkPeIig=="],
- "@devup-ui/wasm": ["@devup-ui/wasm@1.0.48", "", {}, "sha512-PTnNXl5UIzlATG52D/3Xg2jjn8/A5Ry67uIdG9KdtTaFiGDVIr2nlBGidBi2Haw5Yqu+y7yLUlyk2S/aEUzzug=="],
+ "@devup-ui/wasm": ["@devup-ui/wasm@1.0.51", "", {}, "sha512-BYhdsf42OxGxe3VWxNrSC2uRfpTY5vqGRwWLSYHyOWbozuop4W04L/hGX0M2hkdz3jI9Q3DISSInMH2cIiT6CA=="],
"@devup-ui/webpack-plugin": ["@devup-ui/webpack-plugin@1.0.49", "", { "dependencies": { "@devup-ui/wasm": "1.0.47" } }, "sha512-jvdmBvOPuwvdpqr/OvAQF6vw1jLyWfJ9PCytybLflMfudRq4AKd5wmB9IBLmQhAvdCo8itrn7uiWl+f4nwwl3g=="],
@@ -309,57 +309,57 @@
"@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="],
- "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="],
+ "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw=="],
- "@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="],
+ "@esbuild/android-arm": ["@esbuild/android-arm@0.27.2", "", { "os": "android", "cpu": "arm" }, "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA=="],
- "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="],
+ "@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.2", "", { "os": "android", "cpu": "arm64" }, "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA=="],
- "@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="],
+ "@esbuild/android-x64": ["@esbuild/android-x64@0.27.2", "", { "os": "android", "cpu": "x64" }, "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A=="],
- "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="],
+ "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg=="],
- "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="],
+ "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA=="],
- "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="],
+ "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g=="],
- "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="],
+ "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA=="],
- "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="],
+ "@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.2", "", { "os": "linux", "cpu": "arm" }, "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw=="],
- "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="],
+ "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw=="],
- "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="],
+ "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.2", "", { "os": "linux", "cpu": "ia32" }, "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w=="],
- "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="],
+ "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg=="],
- "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="],
+ "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw=="],
- "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="],
+ "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ=="],
- "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="],
+ "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.2", "", { "os": "linux", "cpu": "none" }, "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA=="],
- "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="],
+ "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w=="],
- "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="],
+ "@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.2", "", { "os": "linux", "cpu": "x64" }, "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA=="],
- "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="],
+ "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.2", "", { "os": "none", "cpu": "arm64" }, "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw=="],
- "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="],
+ "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.2", "", { "os": "none", "cpu": "x64" }, "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA=="],
- "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="],
+ "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.2", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA=="],
- "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="],
+ "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg=="],
- "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="],
+ "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.2", "", { "os": "none", "cpu": "arm64" }, "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag=="],
- "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="],
+ "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.2", "", { "os": "sunos", "cpu": "x64" }, "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg=="],
- "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="],
+ "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg=="],
- "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="],
+ "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ=="],
- "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="],
+ "@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.2", "", { "os": "win32", "cpu": "x64" }, "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ=="],
"@img/colour": ["@img/colour@1.0.0", "", {}, "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw=="],
@@ -415,8 +415,6 @@
"@isaacs/brace-expansion": ["@isaacs/brace-expansion@5.0.0", "", { "dependencies": { "@isaacs/balanced-match": "^4.0.1" } }, "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA=="],
- "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="],
-
"@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
"@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="],
@@ -429,111 +427,111 @@
"@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="],
- "@module-federation/error-codes": ["@module-federation/error-codes@0.21.4", "", {}, "sha512-ClpL5MereWNXh+EgDjz7w4RrC1JlisQTvXDa1gLxpviHafzNDfdViVmuhi9xXVuj+EYo8KU70Y999KHhk9424Q=="],
+ "@module-federation/error-codes": ["@module-federation/error-codes@0.21.6", "", {}, "sha512-MLJUCQ05KnoVl8xd6xs9a5g2/8U+eWmVxg7xiBMeR0+7OjdWUbHwcwgVFatRIwSZvFgKHfWEiI7wsU1q1XbTRQ=="],
- "@module-federation/runtime": ["@module-federation/runtime@0.21.4", "", { "dependencies": { "@module-federation/error-codes": "0.21.4", "@module-federation/runtime-core": "0.21.4", "@module-federation/sdk": "0.21.4" } }, "sha512-wgvGqryurVEvkicufJmTG0ZehynCeNLklv8kIk5BLIsWYSddZAE+xe4xov1kgH5fIJQAoQNkRauFFjVNlHoAkA=="],
+ "@module-federation/runtime": ["@module-federation/runtime@0.21.6", "", { "dependencies": { "@module-federation/error-codes": "0.21.6", "@module-federation/runtime-core": "0.21.6", "@module-federation/sdk": "0.21.6" } }, "sha512-+caXwaQqwTNh+CQqyb4mZmXq7iEemRDrTZQGD+zyeH454JAYnJ3s/3oDFizdH6245pk+NiqDyOOkHzzFQorKhQ=="],
- "@module-federation/runtime-core": ["@module-federation/runtime-core@0.21.4", "", { "dependencies": { "@module-federation/error-codes": "0.21.4", "@module-federation/sdk": "0.21.4" } }, "sha512-SGpmoOLGNxZofpTOk6Lxb2ewaoz5wMi93AFYuuJB04HTVcngEK+baNeUZ2D/xewrqNIJoMY6f5maUjVfIIBPUA=="],
+ "@module-federation/runtime-core": ["@module-federation/runtime-core@0.21.6", "", { "dependencies": { "@module-federation/error-codes": "0.21.6", "@module-federation/sdk": "0.21.6" } }, "sha512-5Hd1Y5qp5lU/aTiK66lidMlM/4ji2gr3EXAtJdreJzkY+bKcI5+21GRcliZ4RAkICmvdxQU5PHPL71XmNc7Lsw=="],
- "@module-federation/runtime-tools": ["@module-federation/runtime-tools@0.21.4", "", { "dependencies": { "@module-federation/runtime": "0.21.4", "@module-federation/webpack-bundler-runtime": "0.21.4" } }, "sha512-RzFKaL0DIjSmkn76KZRfzfB6dD07cvID84950jlNQgdyoQFUGkqD80L6rIpVCJTY/R7LzR3aQjHnoqmq4JPo3w=="],
+ "@module-federation/runtime-tools": ["@module-federation/runtime-tools@0.21.6", "", { "dependencies": { "@module-federation/runtime": "0.21.6", "@module-federation/webpack-bundler-runtime": "0.21.6" } }, "sha512-fnP+ZOZTFeBGiTAnxve+axGmiYn2D60h86nUISXjXClK3LUY1krUfPgf6MaD4YDJ4i51OGXZWPekeMe16pkd8Q=="],
- "@module-federation/sdk": ["@module-federation/sdk@0.21.4", "", {}, "sha512-tzvhOh/oAfX++6zCDDxuvioHY4Jurf8vcfoCbKFxusjmyKr32GPbwFDazUP+OPhYCc3dvaa9oWU6X/qpUBLfJw=="],
+ "@module-federation/sdk": ["@module-federation/sdk@0.21.6", "", {}, "sha512-x6hARETb8iqHVhEsQBysuWpznNZViUh84qV2yE7AD+g7uIzHKiYdoWqj10posbo5XKf/147qgWDzKZoKoEP2dw=="],
- "@module-federation/webpack-bundler-runtime": ["@module-federation/webpack-bundler-runtime@0.21.4", "", { "dependencies": { "@module-federation/runtime": "0.21.4", "@module-federation/sdk": "0.21.4" } }, "sha512-dusmR3uPnQh9u9ChQo3M+GLOuGFthfvnh7WitF/a1eoeTfRmXqnMFsXtZCUK+f/uXf+64874Zj/bhAgbBcVHZA=="],
+ "@module-federation/webpack-bundler-runtime": ["@module-federation/webpack-bundler-runtime@0.21.6", "", { "dependencies": { "@module-federation/runtime": "0.21.6", "@module-federation/sdk": "0.21.6" } }, "sha512-7zIp3LrcWbhGuFDTUMLJ2FJvcwjlddqhWGxi/MW3ur1a+HaO8v5tF2nl+vElKmbG1DFLU/52l3PElVcWf/YcsQ=="],
"@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.0.7", "", { "dependencies": { "@emnapi/core": "^1.5.0", "@emnapi/runtime": "^1.5.0", "@tybys/wasm-util": "^0.10.1" } }, "sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw=="],
- "@next/env": ["@next/env@16.0.4", "", {}, "sha512-FDPaVoB1kYhtOz6Le0Jn2QV7RZJ3Ngxzqri7YX4yu3Ini+l5lciR7nA9eNDpKTmDm7LWZtxSju+/CQnwRBn2pA=="],
+ "@next/env": ["@next/env@16.0.10", "", {}, "sha512-8tuaQkyDVgeONQ1MeT9Mkk8pQmZapMKFh5B+OrFUlG3rVmYTXcXlBetBgTurKXGaIZvkoqRT9JL5K3phXcgang=="],
- "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@16.0.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-TN0cfB4HT2YyEio9fLwZY33J+s+vMIgC84gQCOLZOYusW7ptgjIn8RwxQt0BUpoo9XRRVVWEHLld0uhyux1ZcA=="],
+ "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@16.0.10", "", { "os": "darwin", "cpu": "arm64" }, "sha512-4XgdKtdVsaflErz+B5XeG0T5PeXKDdruDf3CRpnhN+8UebNa5N2H58+3GDgpn/9GBurrQ1uWW768FfscwYkJRg=="],
- "@next/swc-darwin-x64": ["@next/swc-darwin-x64@16.0.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-XsfI23jvimCaA7e+9f3yMCoVjrny2D11G6H8NCcgv+Ina/TQhKPXB9P4q0WjTuEoyZmcNvPdrZ+XtTh3uPfH7Q=="],
+ "@next/swc-darwin-x64": ["@next/swc-darwin-x64@16.0.10", "", { "os": "darwin", "cpu": "x64" }, "sha512-spbEObMvRKkQ3CkYVOME+ocPDFo5UqHb8EMTS78/0mQ+O1nqE8toHJVioZo4TvebATxgA8XMTHHrScPrn68OGw=="],
- "@next/swc-linux-arm64-gnu": ["@next/swc-linux-arm64-gnu@16.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-uo8X7qHDy4YdJUhaoJDMAbL8VT5Ed3lijip2DdBHIB4tfKAvB1XBih6INH2L4qIi4jA0Qq1J0ErxcOocBmUSwg=="],
+ "@next/swc-linux-arm64-gnu": ["@next/swc-linux-arm64-gnu@16.0.10", "", { "os": "linux", "cpu": "arm64" }, "sha512-uQtWE3X0iGB8apTIskOMi2w/MKONrPOUCi5yLO+v3O8Mb5c7K4Q5KD1jvTpTF5gJKa3VH/ijKjKUq9O9UhwOYw=="],
- "@next/swc-linux-arm64-musl": ["@next/swc-linux-arm64-musl@16.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-pvR/AjNIAxsIz0PCNcZYpH+WmNIKNLcL4XYEfo+ArDi7GsxKWFO5BvVBLXbhti8Coyv3DE983NsitzUsGH5yTw=="],
+ "@next/swc-linux-arm64-musl": ["@next/swc-linux-arm64-musl@16.0.10", "", { "os": "linux", "cpu": "arm64" }, "sha512-llA+hiDTrYvyWI21Z0L1GiXwjQaanPVQQwru5peOgtooeJ8qx3tlqRV2P7uH2pKQaUfHxI/WVarvI5oYgGxaTw=="],
- "@next/swc-linux-x64-gnu": ["@next/swc-linux-x64-gnu@16.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-2hebpsd5MRRtgqmT7Jj/Wze+wG+ZEXUK2KFFL4IlZ0amEEFADo4ywsifJNeFTQGsamH3/aXkKWymDvgEi+pc2Q=="],
+ "@next/swc-linux-x64-gnu": ["@next/swc-linux-x64-gnu@16.0.10", "", { "os": "linux", "cpu": "x64" }, "sha512-AK2q5H0+a9nsXbeZ3FZdMtbtu9jxW4R/NgzZ6+lrTm3d6Zb7jYrWcgjcpM1k8uuqlSy4xIyPR2YiuUr+wXsavA=="],
- "@next/swc-linux-x64-musl": ["@next/swc-linux-x64-musl@16.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-pzRXf0LZZ8zMljH78j8SeLncg9ifIOp3ugAFka+Bq8qMzw6hPXOc7wydY7ardIELlczzzreahyTpwsim/WL3Sg=="],
+ "@next/swc-linux-x64-musl": ["@next/swc-linux-x64-musl@16.0.10", "", { "os": "linux", "cpu": "x64" }, "sha512-1TDG9PDKivNw5550S111gsO4RGennLVl9cipPhtkXIFVwo31YZ73nEbLjNC8qG3SgTz/QZyYyaFYMeY4BKZR/g=="],
- "@next/swc-win32-arm64-msvc": ["@next/swc-win32-arm64-msvc@16.0.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-7G/yJVzum52B5HOqqbQYX9bJHkN+c4YyZ2AIvEssMHQlbAWOn3iIJjD4sM6ihWsBxuljiTKJovEYlD1K8lCUHw=="],
+ "@next/swc-win32-arm64-msvc": ["@next/swc-win32-arm64-msvc@16.0.10", "", { "os": "win32", "cpu": "arm64" }, "sha512-aEZIS4Hh32xdJQbHz121pyuVZniSNoqDVx1yIr2hy+ZwJGipeqnMZBJHyMxv2tiuAXGx6/xpTcQJ6btIiBjgmg=="],
- "@next/swc-win32-x64-msvc": ["@next/swc-win32-x64-msvc@16.0.4", "", { "os": "win32", "cpu": "x64" }, "sha512-0Vy4g8SSeVkuU89g2OFHqGKM4rxsQtihGfenjx2tRckPrge5+gtFnRWGAAwvGXr0ty3twQvcnYjEyOrLHJ4JWA=="],
+ "@next/swc-win32-x64-msvc": ["@next/swc-win32-x64-msvc@16.0.10", "", { "os": "win32", "cpu": "x64" }, "sha512-E+njfCoFLb01RAFEnGZn6ERoOqhK1Gl3Lfz1Kjnj0Ulfu7oJbuMyvBKNj/bw8XZnenHDASlygTjZICQW+rYW1Q=="],
- "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.47", "", {}, "sha512-8QagwMH3kNCuzD8EWL8R2YPW5e4OrHNSAHRFDdmFqEwEaD/KcNKjVoumo+gP2vW5eKB2UPbM6vTYiGZX0ixLnw=="],
+ "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.53", "", {}, "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ=="],
- "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.53.3", "", { "os": "android", "cpu": "arm" }, "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w=="],
+ "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.53.5", "", { "os": "android", "cpu": "arm" }, "sha512-iDGS/h7D8t7tvZ1t6+WPK04KD0MwzLZrG0se1hzBjSi5fyxlsiggoJHwh18PCFNn7tG43OWb6pdZ6Y+rMlmyNQ=="],
- "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.53.3", "", { "os": "android", "cpu": "arm64" }, "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w=="],
+ "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.53.5", "", { "os": "android", "cpu": "arm64" }, "sha512-wrSAViWvZHBMMlWk6EJhvg8/rjxzyEhEdgfMMjREHEq11EtJ6IP6yfcCH57YAEca2Oe3FNCE9DSTgU70EIGmVw=="],
- "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.53.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA=="],
+ "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.53.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-S87zZPBmRO6u1YXQLwpveZm4JfPpAa6oHBX7/ghSiGH3rz/KDgAu1rKdGutV+WUI6tKDMbaBJomhnT30Y2t4VQ=="],
- "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.53.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ=="],
+ "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.53.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-YTbnsAaHo6VrAczISxgpTva8EkfQus0VPEVJCEaboHtZRIb6h6j0BNxRBOwnDciFTZLDPW5r+ZBmhL/+YpTZgA=="],
- "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.53.3", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w=="],
+ "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.53.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-1T8eY2J8rKJWzaznV7zedfdhD1BqVs1iqILhmHDq/bqCUZsrMt+j8VCTHhP0vdfbHK3e1IQ7VYx3jlKqwlf+vw=="],
- "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.53.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q=="],
+ "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.53.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-sHTiuXyBJApxRn+VFMaw1U+Qsz4kcNlxQ742snICYPrY+DDL8/ZbaC4DVIB7vgZmp3jiDaKA0WpBdP0aqPJoBQ=="],
- "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.53.3", "", { "os": "linux", "cpu": "arm" }, "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw=="],
+ "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.53.5", "", { "os": "linux", "cpu": "arm" }, "sha512-dV3T9MyAf0w8zPVLVBptVlzaXxka6xg1f16VAQmjg+4KMSTWDvhimI/Y6mp8oHwNrmnmVl9XxJ/w/mO4uIQONA=="],
- "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.53.3", "", { "os": "linux", "cpu": "arm" }, "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg=="],
+ "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.53.5", "", { "os": "linux", "cpu": "arm" }, "sha512-wIGYC1x/hyjP+KAu9+ewDI+fi5XSNiUi9Bvg6KGAh2TsNMA3tSEs+Sh6jJ/r4BV/bx/CyWu2ue9kDnIdRyafcQ=="],
- "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.53.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w=="],
+ "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.53.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Y+qVA0D9d0y2FRNiG9oM3Hut/DgODZbU9I8pLLPwAsU0tUKZ49cyV1tzmB/qRbSzGvY8lpgGkJuMyuhH7Ma+Vg=="],
- "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.53.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A=="],
+ "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.53.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-juaC4bEgJsyFVfqhtGLz8mbopaWD+WeSOYr5E16y+1of6KQjc0BpwZLuxkClqY1i8sco+MdyoXPNiCkQou09+g=="],
- "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.53.3", "", { "os": "linux", "cpu": "none" }, "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g=="],
+ "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.53.5", "", { "os": "linux", "cpu": "none" }, "sha512-rIEC0hZ17A42iXtHX+EPJVL/CakHo+tT7W0pbzdAGuWOt2jxDFh7A/lRhsNHBcqL4T36+UiAgwO8pbmn3dE8wA=="],
- "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.53.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw=="],
+ "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.53.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-T7l409NhUE552RcAOcmJHj3xyZ2h7vMWzcwQI0hvn5tqHh3oSoclf9WgTl+0QqffWFG8MEVZZP1/OBglKZx52Q=="],
- "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.53.3", "", { "os": "linux", "cpu": "none" }, "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g=="],
+ "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.53.5", "", { "os": "linux", "cpu": "none" }, "sha512-7OK5/GhxbnrMcxIFoYfhV/TkknarkYC1hqUw1wU2xUN3TVRLNT5FmBv4KkheSG2xZ6IEbRAhTooTV2+R5Tk0lQ=="],
- "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.53.3", "", { "os": "linux", "cpu": "none" }, "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A=="],
+ "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.53.5", "", { "os": "linux", "cpu": "none" }, "sha512-GwuDBE/PsXaTa76lO5eLJTyr2k8QkPipAyOrs4V/KJufHCZBJ495VCGJol35grx9xryk4V+2zd3Ri+3v7NPh+w=="],
- "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.53.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg=="],
+ "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.53.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-IAE1Ziyr1qNfnmiQLHBURAD+eh/zH1pIeJjeShleII7Vj8kyEm2PF77o+lf3WTHDpNJcu4IXJxNO0Zluro8bOw=="],
- "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.53.3", "", { "os": "linux", "cpu": "x64" }, "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w=="],
+ "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.53.5", "", { "os": "linux", "cpu": "x64" }, "sha512-Pg6E+oP7GvZ4XwgRJBuSXZjcqpIW3yCBhK4BcsANvb47qMvAbCjR6E+1a/U2WXz1JJxp9/4Dno3/iSJLcm5auw=="],
- "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.53.3", "", { "os": "linux", "cpu": "x64" }, "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q=="],
+ "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.53.5", "", { "os": "linux", "cpu": "x64" }, "sha512-txGtluxDKTxaMDzUduGP0wdfng24y1rygUMnmlUJ88fzCCULCLn7oE5kb2+tRB+MWq1QDZT6ObT5RrR8HFRKqg=="],
- "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.53.3", "", { "os": "none", "cpu": "arm64" }, "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw=="],
+ "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.53.5", "", { "os": "none", "cpu": "arm64" }, "sha512-3DFiLPnTxiOQV993fMc+KO8zXHTcIjgaInrqlG8zDp1TlhYl6WgrOHuJkJQ6M8zHEcntSJsUp1XFZSY8C1DYbg=="],
- "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.53.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw=="],
+ "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.53.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-nggc/wPpNTgjGg75hu+Q/3i32R00Lq1B6N1DO7MCU340MRKL3WZJMjA9U4K4gzy3dkZPXm9E1Nc81FItBVGRlA=="],
- "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.53.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA=="],
+ "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.53.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-U/54pTbdQpPLBdEzCT6NBCFAfSZMvmjr0twhnD9f4EIvlm9wy3jjQ38yQj1AGznrNO65EWQMgm/QUjuIVrYF9w=="],
- "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.53.3", "", { "os": "win32", "cpu": "x64" }, "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg=="],
+ "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.53.5", "", { "os": "win32", "cpu": "x64" }, "sha512-2NqKgZSuLH9SXBBV2dWNRCZmocgSOx8OJSdpRaEcRlIfX8YrKxUT6z0F1NpvDVhOsl190UFTRh2F2WDWWCYp3A=="],
- "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.53.3", "", { "os": "win32", "cpu": "x64" }, "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ=="],
+ "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.53.5", "", { "os": "win32", "cpu": "x64" }, "sha512-JRpZUhCfhZ4keB5v0fe02gQJy05GqboPOaxvjugW04RLSYYoB/9t2lx2u/tMs/Na/1NXfY8QYjgRljRpN+MjTQ=="],
- "@rsbuild/core": ["@rsbuild/core@1.6.9", "", { "dependencies": { "@rspack/core": "1.6.5", "@rspack/lite-tapable": "~1.1.0", "@swc/helpers": "^0.5.17", "core-js": "~3.47.0", "jiti": "^2.6.1" }, "bin": { "rsbuild": "bin/rsbuild.js" } }, "sha512-wf41bbFIzqQsGkrDal2eVC4cxN6II1k4bUo1g7OFuvWeEOJzjoeK4R5xxKM9g5hRjbGAJs6OiQaGpASvUnDrsw=="],
+ "@rsbuild/core": ["@rsbuild/core@1.6.15", "", { "dependencies": { "@rspack/core": "1.6.8", "@rspack/lite-tapable": "~1.1.0", "@swc/helpers": "^0.5.17", "core-js": "~3.47.0", "jiti": "^2.6.1" }, "bin": { "rsbuild": "bin/rsbuild.js" } }, "sha512-LvoOF53PL6zXgdzEhgnnP51S4FseDFH1bHrobK4EK6zZX/tN8qgf5tdlmN7h4OkMv/Qs1oUfvj0QcLWSstnnvA=="],
"@rsbuild/plugin-react": ["@rsbuild/plugin-react@1.4.2", "", { "dependencies": { "@rspack/plugin-react-refresh": "^1.5.2", "react-refresh": "^0.18.0" }, "peerDependencies": { "@rsbuild/core": "1.x" } }, "sha512-2rJb5mOuqVof2aDq4SbB1E65+0n1vjhAADipC88jvZRNuTOulg79fh7R4tsCiBMI4VWq46gSpwekiK8G5bq6jg=="],
- "@rspack/binding": ["@rspack/binding@1.6.5", "", { "optionalDependencies": { "@rspack/binding-darwin-arm64": "1.6.5", "@rspack/binding-darwin-x64": "1.6.5", "@rspack/binding-linux-arm64-gnu": "1.6.5", "@rspack/binding-linux-arm64-musl": "1.6.5", "@rspack/binding-linux-x64-gnu": "1.6.5", "@rspack/binding-linux-x64-musl": "1.6.5", "@rspack/binding-wasm32-wasi": "1.6.5", "@rspack/binding-win32-arm64-msvc": "1.6.5", "@rspack/binding-win32-ia32-msvc": "1.6.5", "@rspack/binding-win32-x64-msvc": "1.6.5" } }, "sha512-FzYsr5vdjaVQIlDTxZFlISOQGxl/4grpF2BeiNy60Fpw9eeADeXk55DVacbXPqpiz7Doj6cyhEyMszQOvihrqQ=="],
+ "@rspack/binding": ["@rspack/binding@1.6.8", "", { "optionalDependencies": { "@rspack/binding-darwin-arm64": "1.6.8", "@rspack/binding-darwin-x64": "1.6.8", "@rspack/binding-linux-arm64-gnu": "1.6.8", "@rspack/binding-linux-arm64-musl": "1.6.8", "@rspack/binding-linux-x64-gnu": "1.6.8", "@rspack/binding-linux-x64-musl": "1.6.8", "@rspack/binding-wasm32-wasi": "1.6.8", "@rspack/binding-win32-arm64-msvc": "1.6.8", "@rspack/binding-win32-ia32-msvc": "1.6.8", "@rspack/binding-win32-x64-msvc": "1.6.8" } }, "sha512-lUeL4mbwGo+nqRKqFDCm9vH2jv9FNMVt1X8jqayWRcOCPlj/2UVMEFgqjR7Pp2vlvnTKq//31KbDBJmDZq31RQ=="],
- "@rspack/binding-darwin-arm64": ["@rspack/binding-darwin-arm64@1.6.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-DaAJTlaenqZIqFqIYcitn0SzjJ7WpC9234JpiSDZdRyXii9qJJiToVwxSPY/CmkrP0201+aC4pzN4tI9T0Ummw=="],
+ "@rspack/binding-darwin-arm64": ["@rspack/binding-darwin-arm64@1.6.8", "", { "os": "darwin", "cpu": "arm64" }, "sha512-e8CTQtzaeGnf+BIzR7wRMUwKfIg0jd/sxMRc1Vd0bCMHBhSN9EsGoMuJJaKeRrSmy2nwMCNWHIG+TvT1CEKg+A=="],
- "@rspack/binding-darwin-x64": ["@rspack/binding-darwin-x64@1.6.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-fPVfp7W/GMbHayb5hbefiMI30JxlsqPexOItHGtufHmTCrNne1aHmApspyUZIUUxG36oDRHuGPnfh+IQbHR6+g=="],
+ "@rspack/binding-darwin-x64": ["@rspack/binding-darwin-x64@1.6.8", "", { "os": "darwin", "cpu": "x64" }, "sha512-ku1XpTEPt6Za11zhpFWhfwrTQogcgi9RJrOUVC4FESiPO9aKyd4hJ+JiPgLY0MZOqsptK6vEAgOip+uDVXrCpg=="],
- "@rspack/binding-linux-arm64-gnu": ["@rspack/binding-linux-arm64-gnu@1.6.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-K68YDoV2e4s+nlrKZxgF0HehiiRwOAGgZFUwJNRMZ7MUrTGMNlPTJlM+bNdaCjDb6GFxBVFcNwIa1sU+0tF1zg=="],
+ "@rspack/binding-linux-arm64-gnu": ["@rspack/binding-linux-arm64-gnu@1.6.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-fvZX6xZPvBT8qipSpvkKMX5M7yd2BSpZNCZXcefw6gA3uC7LI3gu+er0LrDXY1PtPzVuHTyDx+abwWpagV3PiQ=="],
- "@rspack/binding-linux-arm64-musl": ["@rspack/binding-linux-arm64-musl@1.6.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-JPtxFBOq7RRmBIwpdGIStf8iyCILehDsjQtEB0Kkhtm7TsAkVGwtC41GLcNuPxcQBKqNDmD8cy3yLYhXadH2CQ=="],
+ "@rspack/binding-linux-arm64-musl": ["@rspack/binding-linux-arm64-musl@1.6.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-++XMKcMNrt59HcFBLnRaJcn70k3X0GwkAegZBVpel8xYIAgvoXT5+L8P1ExId/yTFxqedaz8DbcxQnNmMozviw=="],
- "@rspack/binding-linux-x64-gnu": ["@rspack/binding-linux-x64-gnu@1.6.5", "", { "os": "linux", "cpu": "x64" }, "sha512-oh4ZNo2HtizZ/E6UK3BEONu20h8VVBw9GAXuWmo1u22cJSihzg+WfRNCMjRDil82LqSsyAgBwnU+dEjEYGKyAA=="],
+ "@rspack/binding-linux-x64-gnu": ["@rspack/binding-linux-x64-gnu@1.6.8", "", { "os": "linux", "cpu": "x64" }, "sha512-tv3BWkTE1TndfX+DsE1rSTg8fBevCxujNZ3MlfZ22Wfy9x1FMXTJlWG8VIOXmaaJ1wUHzv8S7cE2YUUJ2LuiCg=="],
- "@rspack/binding-linux-x64-musl": ["@rspack/binding-linux-x64-musl@1.6.5", "", { "os": "linux", "cpu": "x64" }, "sha512-8Xebp5bvPJqjifpkFEAX5nUvoU2JvbMU3gwAkEovRRuvooCXnVT2tqkUBjkR3AhivAGgAxAr9hRzUUz/6QWt3Q=="],
+ "@rspack/binding-linux-x64-musl": ["@rspack/binding-linux-x64-musl@1.6.8", "", { "os": "linux", "cpu": "x64" }, "sha512-DCGgZ5/in1O3FjHWqXnDsncRy+48cMhfuUAAUyl0yDj1NpsZu9pP+xfGLvGcQTiYrVl7IH9Aojf1eShP/77WGA=="],
- "@rspack/binding-wasm32-wasi": ["@rspack/binding-wasm32-wasi@1.6.5", "", { "dependencies": { "@napi-rs/wasm-runtime": "1.0.7" }, "cpu": "none" }, "sha512-oINZNqzTxM+9dSUOjAORodHXYoJYzXvpaHI2U6ecEmoWaBCs+x3V3Po8DhpNFBwotB+jGlcoVhEHjpg5uaO6pw=="],
+ "@rspack/binding-wasm32-wasi": ["@rspack/binding-wasm32-wasi@1.6.8", "", { "dependencies": { "@napi-rs/wasm-runtime": "1.0.7" }, "cpu": "none" }, "sha512-VUwdhl/lI4m6o1OGCZ9JwtMjTV/yLY5VZTQdEPKb40JMTlmZ5MBlr5xk7ByaXXYHr6I+qnqEm73iMKQvg6iknw=="],
- "@rspack/binding-win32-arm64-msvc": ["@rspack/binding-win32-arm64-msvc@1.6.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-UUmep2ayuZxWPdrzkrzAFxVgYUWTB82pa9bkAGyeDO9SNkz8vTpdtbDaTvAzjFb8Pn+ErktDEDBKT57FLjxwxQ=="],
+ "@rspack/binding-win32-arm64-msvc": ["@rspack/binding-win32-arm64-msvc@1.6.8", "", { "os": "win32", "cpu": "arm64" }, "sha512-23YX7zlOZlub+nPGDBUzktb4D5D6ETUAluKjXEeHIZ9m7fSlEYBnGL66YE+3t1DHXGd0OqsdwlvrNGcyo6EXDQ=="],
- "@rspack/binding-win32-ia32-msvc": ["@rspack/binding-win32-ia32-msvc@1.6.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-7nx+mMimpmCMstcW7nsyToXy5TK7N+YGPu2W/oioX7qv9ZCuJGTddjzLS84wN8DVrNIirg4mcxpBsmOQMZeHQA=="],
+ "@rspack/binding-win32-ia32-msvc": ["@rspack/binding-win32-ia32-msvc@1.6.8", "", { "os": "win32", "cpu": "ia32" }, "sha512-cFgRE3APxrY4AEdooVk2LtipwNNT/9mrnjdC5lVbsIsz+SxvGbZR231bxDJEqP15+RJOaD07FO1sIjINFqXMEg=="],
- "@rspack/binding-win32-x64-msvc": ["@rspack/binding-win32-x64-msvc@1.6.5", "", { "os": "win32", "cpu": "x64" }, "sha512-pzO7rYFu6f6stgSccolZHiXGTTwKrIGHHNV1ALY1xPRmQEdbHcbMwadeaG99JL2lRLve9iNI+Z9Pr3oDVRN46g=="],
+ "@rspack/binding-win32-x64-msvc": ["@rspack/binding-win32-x64-msvc@1.6.8", "", { "os": "win32", "cpu": "x64" }, "sha512-cIuhVsZYd3o3Neo1JSAhJYw6BDvlxaBoqvgwRkG1rs0ExFmEmgYyG7ip9pFKnKNWph/tmW3rDYypmEfjs1is7g=="],
- "@rspack/core": ["@rspack/core@1.6.5", "", { "dependencies": { "@module-federation/runtime-tools": "0.21.4", "@rspack/binding": "1.6.5", "@rspack/lite-tapable": "1.1.0" }, "peerDependencies": { "@swc/helpers": ">=0.5.1" }, "optionalPeers": ["@swc/helpers"] }, "sha512-AqaOMA6MTNhqMYYwrhvPA+2uS662SkAi8Rb7B/IFOzh/Z5ooyczL4lUX+qyhAO3ymn50iwM4jikQCf9XfBiaQA=="],
+ "@rspack/core": ["@rspack/core@1.6.8", "", { "dependencies": { "@module-federation/runtime-tools": "0.21.6", "@rspack/binding": "1.6.8", "@rspack/lite-tapable": "1.1.0" }, "peerDependencies": { "@swc/helpers": ">=0.5.1" }, "optionalPeers": ["@swc/helpers"] }, "sha512-FolcIAH5FW4J2FET+qwjd1kNeFbCkd0VLuIHO0thyolEjaPSxw5qxG67DA7BZGm6PVcoiSgPLks1DL6eZ8c+fA=="],
"@rspack/lite-tapable": ["@rspack/lite-tapable@1.1.0", "", {}, "sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw=="],
@@ -541,13 +539,13 @@
"@swc/helpers": ["@swc/helpers@0.5.15", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g=="],
- "@tanstack/query-core": ["@tanstack/query-core@5.90.11", "", {}, "sha512-f9z/nXhCgWDF4lHqgIE30jxLe4sYv15QodfdPDKYAk7nAEjNcndy4dHz3ezhdUaR23BpWa4I2EH4/DZ0//Uf8A=="],
+ "@tanstack/query-core": ["@tanstack/query-core@5.90.12", "", {}, "sha512-T1/8t5DhV/SisWjDnaiU2drl6ySvsHj1bHBCWNXd+/T+Hh1cf6JodyEYMd5sgwm+b/mETT4EV3H+zCVczCU5hg=="],
- "@tanstack/react-query": ["@tanstack/react-query@5.90.11", "", { "dependencies": { "@tanstack/query-core": "5.90.11" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-3uyzz01D1fkTLXuxF3JfoJoHQMU2fxsfJwE+6N5hHy0dVNoZOvwKP8Z2k7k1KDeD54N20apcJnG75TBAStIrBA=="],
+ "@tanstack/react-query": ["@tanstack/react-query@5.90.12", "", { "dependencies": { "@tanstack/query-core": "5.90.12" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-graRZspg7EoEaw0a8faiUASCyJrqjKPdqJ9EwuDRUF9mEYJ1YPczI9H+/agJ0mOJkPCJDk0lsz5QTrLZ/jQ2rg=="],
"@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="],
- "@testing-library/react": ["@testing-library/react@16.3.0", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw=="],
+ "@testing-library/react": ["@testing-library/react@16.3.1", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "@testing-library/dom": "^10.0.0", "@types/react": "^18.0.0 || ^19.0.0", "@types/react-dom": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-gr4KtAWqIOQoucWYD/f6ki+j5chXfcPc74Col/6poTyqTmn7zRmodWahWRCp8tYd+GMqBonw6hstNzqjbs6gjw=="],
"@testing-library/react-hooks": ["@testing-library/react-hooks@8.0.1", "", { "dependencies": { "@babel/runtime": "^7.12.5", "react-error-boundary": "^3.1.0" }, "peerDependencies": { "@types/react": "^16.9.0 || ^17.0.0", "react": "^16.9.0 || ^17.0.0", "react-dom": "^16.9.0 || ^17.0.0", "react-test-renderer": "^16.9.0 || ^17.0.0" }, "optionalPeers": ["@types/react", "react-dom", "react-test-renderer"] }, "sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g=="],
@@ -563,7 +561,7 @@
"@types/babel__traverse": ["@types/babel__traverse@7.28.0", "", { "dependencies": { "@babel/types": "^7.28.2" } }, "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q=="],
- "@types/bun": ["@types/bun@1.3.3", "", { "dependencies": { "bun-types": "1.3.3" } }, "sha512-ogrKbJ2X5N0kWLLFKeytG0eHDleBYtngtlbu9cyBKFtNL3cnpDZkNdQj8flVf6WTZUX5ulI9AY1oa7ljhSrp+g=="],
+ "@types/bun": ["@types/bun@1.3.4", "", { "dependencies": { "bun-types": "1.3.4" } }, "sha512-EEPTKXHP+zKGPkhRLv+HI0UEX8/o+65hqARxLy8Ov5rIxMBPNTjeZww00CIihrIQGEQBYg+0roO5qOnS/7boGA=="],
"@types/eslint": ["@types/eslint@9.6.1", "", { "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag=="],
@@ -573,7 +571,7 @@
"@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="],
- "@types/node": ["@types/node@24.10.1", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ=="],
+ "@types/node": ["@types/node@25.0.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA=="],
"@types/react": ["@types/react@19.2.7", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg=="],
@@ -583,7 +581,7 @@
"@types/whatwg-mimetype": ["@types/whatwg-mimetype@3.0.2", "", {}, "sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA=="],
- "@vitejs/plugin-react": ["@vitejs/plugin-react@5.1.1", "", { "dependencies": { "@babel/core": "^7.28.5", "@babel/plugin-transform-react-jsx-self": "^7.27.1", "@babel/plugin-transform-react-jsx-source": "^7.27.1", "@rolldown/pluginutils": "1.0.0-beta.47", "@types/babel__core": "^7.20.5", "react-refresh": "^0.18.0" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "sha512-WQfkSw0QbQ5aJ2CHYw23ZGkqnRwqKHD/KYsMeTkZzPT4Jcf0DcBxBtwMJxnu6E7oxw5+JC6ZAiePgh28uJ1HBA=="],
+ "@vitejs/plugin-react": ["@vitejs/plugin-react@5.1.2", "", { "dependencies": { "@babel/core": "^7.28.5", "@babel/plugin-transform-react-jsx-self": "^7.27.1", "@babel/plugin-transform-react-jsx-source": "^7.27.1", "@rolldown/pluginutils": "1.0.0-beta.53", "@types/babel__core": "^7.20.5", "react-refresh": "^0.18.0" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "sha512-EcA07pHJouywpzsoTUqNh5NwGayl2PPVEJKUSinGGSxFGYn+shYbqMGBg6FXDqgXum9Ou/ecb+411ssw8HImJQ=="],
"@webassemblyjs/ast": ["@webassemblyjs/ast@1.14.1", "", { "dependencies": { "@webassemblyjs/helper-numbers": "1.13.2", "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ=="],
@@ -635,35 +633,29 @@
"aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="],
- "baseline-browser-mapping": ["baseline-browser-mapping@2.8.31", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw=="],
+ "baseline-browser-mapping": ["baseline-browser-mapping@2.9.9", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-V8fbOCSeOFvlDj7LLChUcqbZrdKD9RU/VR260piF1790vT0mfLSwGc/Qzxv3IqiTukOpNtItePa0HBpMAj7MDg=="],
- "browserslist": ["browserslist@4.28.0", "", { "dependencies": { "baseline-browser-mapping": "^2.8.25", "caniuse-lite": "^1.0.30001754", "electron-to-chromium": "^1.5.249", "node-releases": "^2.0.27", "update-browserslist-db": "^1.1.4" }, "bin": { "browserslist": "cli.js" } }, "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ=="],
+ "browserslist": ["browserslist@4.28.1", "", { "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", "electron-to-chromium": "^1.5.263", "node-releases": "^2.0.27", "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" } }, "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA=="],
"buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="],
- "bun-types": ["bun-types@1.3.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-z3Xwlg7j2l9JY27x5Qn3Wlyos8YAp0kKRlrePAOjgjMGS5IG6E7Jnlx736vH9UVI4wUICwwhC9anYL++XeOgTQ=="],
+ "bun-types": ["bun-types@1.3.4", "", { "dependencies": { "@types/node": "*" } }, "sha512-5ua817+BZPZOlNaRgGBpZJOSAQ9RQ17pkwPD0yR7CfJg+r8DgIILByFifDTa+IPDDxzf5VNhtNlcKqFzDgJvlQ=="],
- "caniuse-lite": ["caniuse-lite@1.0.30001757", "", {}, "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ=="],
+ "caniuse-lite": ["caniuse-lite@1.0.30001760", "", {}, "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw=="],
"chrome-trace-event": ["chrome-trace-event@1.0.4", "", {}, "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ=="],
"client-only": ["client-only@0.0.1", "", {}, "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="],
- "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
-
- "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
-
"commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="],
"convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="],
"core-js": ["core-js@3.47.0", "", {}, "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg=="],
- "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="],
-
"csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="],
- "csstype-extra": ["csstype-extra@0.1.17", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-SJV/89L5uo77YbRgGJeAg/CCCQbqjARB8sDG/bUlnzWlNQl6EZQTuC/4YuIwfaERDQQTEVTJHXQyTi70okRCgg=="],
+ "csstype-extra": ["csstype-extra@0.1.21", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-+bNbaI4AB6Sh9MeWlzHe+OPPDttu8oM8g6oyOSfoDmzjn6jdaixBdo6Sbu64apL9WEUfiuXuvDiVfqoSnyolBA=="],
"debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="],
@@ -673,19 +665,15 @@
"dom-accessibility-api": ["dom-accessibility-api@0.5.16", "", {}, "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg=="],
- "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
-
- "electron-to-chromium": ["electron-to-chromium@1.5.260", "", {}, "sha512-ov8rBoOBhVawpzdre+Cmz4FB+y66Eqrk6Gwqd8NGxuhv99GQ8XqMAr351KEkOt7gukXWDg6gJWEMKgL2RLMPtA=="],
-
- "emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
+ "electron-to-chromium": ["electron-to-chromium@1.5.267", "", {}, "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw=="],
- "enhanced-resolve": ["enhanced-resolve@5.18.3", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww=="],
+ "enhanced-resolve": ["enhanced-resolve@5.18.4", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q=="],
"error-stack-parser": ["error-stack-parser@2.1.4", "", { "dependencies": { "stackframe": "^1.3.4" } }, "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ=="],
- "es-module-lexer": ["es-module-lexer@1.7.0", "", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="],
+ "es-module-lexer": ["es-module-lexer@2.0.0", "", {}, "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw=="],
- "esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="],
+ "esbuild": ["esbuild@0.27.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.2", "@esbuild/android-arm": "0.27.2", "@esbuild/android-arm64": "0.27.2", "@esbuild/android-x64": "0.27.2", "@esbuild/darwin-arm64": "0.27.2", "@esbuild/darwin-x64": "0.27.2", "@esbuild/freebsd-arm64": "0.27.2", "@esbuild/freebsd-x64": "0.27.2", "@esbuild/linux-arm": "0.27.2", "@esbuild/linux-arm64": "0.27.2", "@esbuild/linux-ia32": "0.27.2", "@esbuild/linux-loong64": "0.27.2", "@esbuild/linux-mips64el": "0.27.2", "@esbuild/linux-ppc64": "0.27.2", "@esbuild/linux-riscv64": "0.27.2", "@esbuild/linux-s390x": "0.27.2", "@esbuild/linux-x64": "0.27.2", "@esbuild/netbsd-arm64": "0.27.2", "@esbuild/netbsd-x64": "0.27.2", "@esbuild/openbsd-arm64": "0.27.2", "@esbuild/openbsd-x64": "0.27.2", "@esbuild/openharmony-arm64": "0.27.2", "@esbuild/sunos-x64": "0.27.2", "@esbuild/win32-arm64": "0.27.2", "@esbuild/win32-ia32": "0.27.2", "@esbuild/win32-x64": "0.27.2" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw=="],
"escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
@@ -703,13 +691,11 @@
"fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="],
- "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="],
-
"fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
"gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="],
- "glob": ["glob@12.0.0", "", { "dependencies": { "foreground-child": "^3.3.1", "jackspeak": "^4.1.1", "minimatch": "^10.1.1", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-5Qcll1z7IKgHr5g485ePDdHcNQY0k2dtv/bjYy0iuyGxQw2qSOiiXUXJ+AYQpg3HNoUMHqAruX478Jeev7UULw=="],
+ "glob": ["glob@13.0.0", "", { "dependencies": { "minimatch": "^10.1.1", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA=="],
"glob-to-regexp": ["glob-to-regexp@0.4.1", "", {}, "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="],
@@ -723,12 +709,6 @@
"husky": ["husky@9.1.7", "", { "bin": { "husky": "bin.js" } }, "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA=="],
- "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
-
- "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="],
-
- "jackspeak": ["jackspeak@4.1.1", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" } }, "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ=="],
-
"jest-worker": ["jest-worker@27.5.1", "", { "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } }, "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg=="],
"jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="],
@@ -745,7 +725,7 @@
"loader-runner": ["loader-runner@4.3.1", "", {}, "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q=="],
- "lru-cache": ["lru-cache@11.2.2", "", {}, "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg=="],
+ "lru-cache": ["lru-cache@11.2.4", "", {}, "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg=="],
"lz-string": ["lz-string@1.5.0", "", { "bin": { "lz-string": "bin/bin.js" } }, "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ=="],
@@ -765,7 +745,7 @@
"neo-async": ["neo-async@2.6.2", "", {}, "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="],
- "next": ["next@16.0.4", "", { "dependencies": { "@next/env": "16.0.4", "@swc/helpers": "0.5.15", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" }, "optionalDependencies": { "@next/swc-darwin-arm64": "16.0.4", "@next/swc-darwin-x64": "16.0.4", "@next/swc-linux-arm64-gnu": "16.0.4", "@next/swc-linux-arm64-musl": "16.0.4", "@next/swc-linux-x64-gnu": "16.0.4", "@next/swc-linux-x64-musl": "16.0.4", "@next/swc-win32-arm64-msvc": "16.0.4", "@next/swc-win32-x64-msvc": "16.0.4", "sharp": "^0.34.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.51.1", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "babel-plugin-react-compiler", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-vICcxKusY8qW7QFOzTvnRL1ejz2ClTqDKtm1AcUjm2mPv/lVAdgpGNsftsPRIDJOXOjRQO68i1dM8Lp8GZnqoA=="],
+ "next": ["next@16.0.10", "", { "dependencies": { "@next/env": "16.0.10", "@swc/helpers": "0.5.15", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" }, "optionalDependencies": { "@next/swc-darwin-arm64": "16.0.10", "@next/swc-darwin-x64": "16.0.10", "@next/swc-linux-arm64-gnu": "16.0.10", "@next/swc-linux-arm64-musl": "16.0.10", "@next/swc-linux-x64-gnu": "16.0.10", "@next/swc-linux-x64-musl": "16.0.10", "@next/swc-win32-arm64-msvc": "16.0.10", "@next/swc-win32-x64-msvc": "16.0.10", "sharp": "^0.34.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.51.1", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "babel-plugin-react-compiler", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-RtWh5PUgI+vxlV3HdR+IfWA1UUHu0+Ram/JBO4vWB54cVPentCD0e+lxyAYEsDTqGGMg7qpjhKh6dc6aW7W/sA=="],
"next-example": ["next-example@workspace:examples/next"],
@@ -775,10 +755,6 @@
"openapi-types": ["openapi-types@12.1.3", "", {}, "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw=="],
- "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="],
-
- "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="],
-
"path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="],
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
@@ -791,9 +767,9 @@
"randombytes": ["randombytes@2.1.0", "", { "dependencies": { "safe-buffer": "^5.1.0" } }, "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="],
- "react": ["react@19.2.0", "", {}, "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ=="],
+ "react": ["react@19.2.3", "", {}, "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA=="],
- "react-dom": ["react-dom@19.2.0", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.0" } }, "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ=="],
+ "react-dom": ["react-dom@19.2.3", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.3" } }, "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg=="],
"react-error-boundary": ["react-error-boundary@3.1.4", "", { "dependencies": { "@babel/runtime": "^7.12.5" }, "peerDependencies": { "react": ">=16.13.1" } }, "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA=="],
@@ -803,7 +779,7 @@
"require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="],
- "rollup": ["rollup@4.53.3", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.53.3", "@rollup/rollup-android-arm64": "4.53.3", "@rollup/rollup-darwin-arm64": "4.53.3", "@rollup/rollup-darwin-x64": "4.53.3", "@rollup/rollup-freebsd-arm64": "4.53.3", "@rollup/rollup-freebsd-x64": "4.53.3", "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", "@rollup/rollup-linux-arm-musleabihf": "4.53.3", "@rollup/rollup-linux-arm64-gnu": "4.53.3", "@rollup/rollup-linux-arm64-musl": "4.53.3", "@rollup/rollup-linux-loong64-gnu": "4.53.3", "@rollup/rollup-linux-ppc64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-musl": "4.53.3", "@rollup/rollup-linux-s390x-gnu": "4.53.3", "@rollup/rollup-linux-x64-gnu": "4.53.3", "@rollup/rollup-linux-x64-musl": "4.53.3", "@rollup/rollup-openharmony-arm64": "4.53.3", "@rollup/rollup-win32-arm64-msvc": "4.53.3", "@rollup/rollup-win32-ia32-msvc": "4.53.3", "@rollup/rollup-win32-x64-gnu": "4.53.3", "@rollup/rollup-win32-x64-msvc": "4.53.3", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA=="],
+ "rollup": ["rollup@4.53.5", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.53.5", "@rollup/rollup-android-arm64": "4.53.5", "@rollup/rollup-darwin-arm64": "4.53.5", "@rollup/rollup-darwin-x64": "4.53.5", "@rollup/rollup-freebsd-arm64": "4.53.5", "@rollup/rollup-freebsd-x64": "4.53.5", "@rollup/rollup-linux-arm-gnueabihf": "4.53.5", "@rollup/rollup-linux-arm-musleabihf": "4.53.5", "@rollup/rollup-linux-arm64-gnu": "4.53.5", "@rollup/rollup-linux-arm64-musl": "4.53.5", "@rollup/rollup-linux-loong64-gnu": "4.53.5", "@rollup/rollup-linux-ppc64-gnu": "4.53.5", "@rollup/rollup-linux-riscv64-gnu": "4.53.5", "@rollup/rollup-linux-riscv64-musl": "4.53.5", "@rollup/rollup-linux-s390x-gnu": "4.53.5", "@rollup/rollup-linux-x64-gnu": "4.53.5", "@rollup/rollup-linux-x64-musl": "4.53.5", "@rollup/rollup-openharmony-arm64": "4.53.5", "@rollup/rollup-win32-arm64-msvc": "4.53.5", "@rollup/rollup-win32-ia32-msvc": "4.53.5", "@rollup/rollup-win32-x64-gnu": "4.53.5", "@rollup/rollup-win32-x64-msvc": "4.53.5", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-iTNAbFSlRpcHeeWu73ywU/8KuU/LZmNCSxp6fjQkJBD3ivUb8tpDrXhIxEzA05HlYMEwmtaUnb3RP+YNv162OQ=="],
"rsbuild-example": ["rsbuild-example@workspace:examples/rsbuild"],
@@ -819,12 +795,6 @@
"sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="],
- "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="],
-
- "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="],
-
- "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="],
-
"source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
"source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
@@ -833,14 +803,6 @@
"stackframe": ["stackframe@1.3.4", "", {}, "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="],
- "string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="],
-
- "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
-
- "strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="],
-
- "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
-
"styled-jsx": ["styled-jsx@5.1.6", "", { "dependencies": { "client-only": "0.0.1" }, "peerDependencies": { "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" } }, "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA=="],
"supports-color": ["supports-color@8.1.1", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="],
@@ -849,7 +811,7 @@
"terser": ["terser@5.44.1", "", { "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" } }, "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw=="],
- "terser-webpack-plugin": ["terser-webpack-plugin@5.3.14", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", "schema-utils": "^4.3.0", "serialize-javascript": "^6.0.2", "terser": "^5.31.1" }, "peerDependencies": { "webpack": "^5.1.0" } }, "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw=="],
+ "terser-webpack-plugin": ["terser-webpack-plugin@5.3.16", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", "schema-utils": "^4.3.0", "serialize-javascript": "^6.0.2", "terser": "^5.31.1" }, "peerDependencies": { "webpack": "^5.1.0" } }, "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q=="],
"tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="],
@@ -859,26 +821,20 @@
"undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
- "update-browserslist-db": ["update-browserslist-db@1.1.4", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A=="],
+ "update-browserslist-db": ["update-browserslist-db@1.2.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w=="],
- "vite": ["vite@7.2.4", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-NL8jTlbo0Tn4dUEXEsUg8KeyG/Lkmc4Fnzb8JXN/Ykm9G4HNImjtABMJgkQoVjOBN/j2WAwDTRytdqJbZsah7w=="],
+ "vite": ["vite@7.3.0", "", { "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg=="],
"vite-example": ["vite-example@workspace:examples/vite"],
"watchpack": ["watchpack@2.4.4", "", { "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" } }, "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA=="],
- "webpack": ["webpack@5.103.0", "", { "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.15.0", "acorn-import-phases": "^1.0.3", "browserslist": "^4.26.3", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.3", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.3.1", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^4.3.3", "tapable": "^2.3.0", "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.4", "webpack-sources": "^3.3.3" }, "bin": { "webpack": "bin/webpack.js" } }, "sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw=="],
+ "webpack": ["webpack@5.104.0", "", { "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.15.0", "acorn-import-phases": "^1.0.3", "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.4", "es-module-lexer": "^2.0.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.3.1", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^4.3.3", "tapable": "^2.3.0", "terser-webpack-plugin": "^5.3.16", "watchpack": "^2.4.4", "webpack-sources": "^3.3.3" }, "bin": { "webpack": "bin/webpack.js" } }, "sha512-5DeICTX8BVgNp6afSPYXAFjskIgWGlygQH58bcozPOXgo2r/6xx39Y1+cULZ3gTxUYQP88jmwLj2anu4Xaq84g=="],
"webpack-sources": ["webpack-sources@3.3.3", "", {}, "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg=="],
"whatwg-mimetype": ["whatwg-mimetype@3.0.0", "", {}, "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q=="],
- "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="],
-
- "wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="],
-
- "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
-
"yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="],
"@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
@@ -891,40 +847,12 @@
"@rsbuild/core/@swc/helpers": ["@swc/helpers@0.5.17", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A=="],
- "@types/webpack/@types/node": ["@types/node@20.19.25", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ=="],
-
- "bun-types/@types/node": ["@types/node@20.19.25", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ=="],
-
"esrecurse/estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="],
- "happy-dom/@types/node": ["@types/node@20.19.25", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ=="],
-
- "jest-worker/@types/node": ["@types/node@20.19.25", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ=="],
-
- "string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
-
- "string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
-
- "strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="],
+ "happy-dom/@types/node": ["@types/node@20.19.27", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug=="],
"vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="],
- "wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="],
-
- "wrap-ansi-cjs/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
-
- "wrap-ansi-cjs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
-
- "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
-
- "@types/webpack/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
-
- "bun-types/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
-
"happy-dom/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
-
- "jest-worker/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
-
- "wrap-ansi-cjs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
}
}
diff --git a/examples/next-webpack/package.json b/examples/next-webpack/package.json
index 7a15acd..3b7b646 100644
--- a/examples/next-webpack/package.json
+++ b/examples/next-webpack/package.json
@@ -9,16 +9,16 @@
"lint": "next lint"
},
"dependencies": {
- "next": "^16.0.4",
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
+ "next": "^16.0.10",
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3",
"@devup-api/next-plugin": "workspace:*",
"@devup-api/fetch": "workspace:*",
"@devup-ui/react": "^1"
},
"devDependencies": {
"@devup-ui/next-plugin": "^1",
- "@types/node": "^24",
+ "@types/node": "^25",
"@types/react": "^19",
"@types/react-dom": "^19",
"typescript": "^5"
diff --git a/examples/next/app/page.tsx b/examples/next/app/page.tsx
index 05bfa8b..35a63e6 100644
--- a/examples/next/app/page.tsx
+++ b/examples/next/app/page.tsx
@@ -1,6 +1,6 @@
'use client'
-import { createApi } from '@devup-api/fetch'
+import { createApi, type DevupObject } from '@devup-api/fetch'
import { createQueryClient } from '@devup-api/react-query'
import { Box, Text } from '@devup-ui/react'
import { useEffect } from 'react'
@@ -22,6 +22,9 @@ export default function Home() {
name: 'John Doe',
},
})
+ const _object: DevupObject['User'] | undefined = data?.[0]
+ const _object2: DevupObject<'response', 'openapi2.json'>['User'] | undefined =
+ data?.[0]
console.info(data, isLoading, error)
diff --git a/examples/next/openapi2.json b/examples/next/openapi2.json
index d4e07cb..1556a43 100644
--- a/examples/next/openapi2.json
+++ b/examples/next/openapi2.json
@@ -100,6 +100,21 @@
"createdAt": {
"type": "string",
"format": "date-time"
+ },
+ "array": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": ["id", "name"]
+ }
}
},
"required": ["id", "name", "email"]
diff --git a/examples/next/package.json b/examples/next/package.json
index 27e3dbe..14e420a 100644
--- a/examples/next/package.json
+++ b/examples/next/package.json
@@ -9,9 +9,9 @@
"lint": "next lint"
},
"dependencies": {
- "next": "^16.0.4",
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
+ "next": "^16.0.10",
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3",
"@devup-api/next-plugin": "workspace:*",
"@devup-api/fetch": "workspace:*",
"@devup-api/react-query": "workspace:*",
@@ -19,7 +19,7 @@
},
"devDependencies": {
"@devup-ui/next-plugin": "^1",
- "@types/node": "^24",
+ "@types/node": "^25",
"@types/react": "^19",
"@types/react-dom": "^19",
"typescript": "^5"
diff --git a/examples/rsbuild/package.json b/examples/rsbuild/package.json
index 884fffd..06169fd 100644
--- a/examples/rsbuild/package.json
+++ b/examples/rsbuild/package.json
@@ -9,8 +9,8 @@
"preview": "rsbuild preview"
},
"dependencies": {
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3",
"@devup-api/fetch": "workspace:*"
},
"devDependencies": {
diff --git a/examples/vite/package.json b/examples/vite/package.json
index b22860b..37c45a9 100644
--- a/examples/vite/package.json
+++ b/examples/vite/package.json
@@ -9,16 +9,16 @@
"preview": "vite preview"
},
"dependencies": {
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3",
"@devup-api/fetch": "workspace:*"
},
"devDependencies": {
"@types/react": "^19",
"@types/react-dom": "^19",
- "@vitejs/plugin-react": "^5.1.1",
+ "@vitejs/plugin-react": "^5.1.2",
"typescript": "^5",
- "vite": "^7.2.4",
+ "vite": "^7.3.0",
"@devup-api/vite-plugin": "workspace:*"
}
}
diff --git a/package.json b/package.json
index acb11d7..1e1f409 100644
--- a/package.json
+++ b/package.json
@@ -5,12 +5,12 @@
"private": true,
"devDependencies": {
"@biomejs/biome": "^2.3",
- "@testing-library/react": "^16.3.0",
+ "@testing-library/react": "^16.3.1",
"@testing-library/react-hooks": "^8.0.1",
"@types/bun": "latest",
"husky": "^9",
- "react": "^19.2.0",
- "react-dom": "^19.2.0"
+ "react": "^19.2.3",
+ "react-dom": "^19.2.3"
},
"author": "JeongMin Oh",
"license": "Apache-2.0",
diff --git a/packages/core/package.json b/packages/core/package.json
index f6f8651..ac1af3b 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -20,7 +20,7 @@
"access": "public"
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"typescript": "^5.9"
}
}
diff --git a/packages/core/src/api-struct.ts b/packages/core/src/api-struct.ts
index 0035f86..08f436c 100644
--- a/packages/core/src/api-struct.ts
+++ b/packages/core/src/api-struct.ts
@@ -1,3 +1,4 @@
+import type { ExtractValue } from './additional'
import type { ConditionalKeys, ConditionalScope } from './utils'
// biome-ignore lint/suspicious/noEmptyInterface: empty interface
@@ -24,6 +25,21 @@ export interface DevupRequestComponentStruct {}
// biome-ignore lint/suspicious/noEmptyInterface: empty interface
export interface DevupResponseComponentStruct {}
+// biome-ignore lint/suspicious/noEmptyInterface: empty interface
+export interface DevupErrorComponentStruct {}
+
+export type DevupObject<
+ R extends 'response' | 'request' | 'error' = 'response',
+ T extends keyof DevupApiServers | (string & {}) = 'openapi.json',
+> = ExtractValue<
+ {
+ response: ExtractValue
+ request: ExtractValue
+ error: ExtractValue
+ },
+ R
+>
+
export type DevupGetApiStructScope = ConditionalScope<
DevupGetApiStruct,
O
diff --git a/packages/core/src/utils.ts b/packages/core/src/utils.ts
index a80c1ac..631c09f 100644
--- a/packages/core/src/utils.ts
+++ b/packages/core/src/utils.ts
@@ -1,8 +1,8 @@
+import type { ExtractValue } from './additional'
+
export type ConditionalKeys = keyof T extends undefined
? F
: keyof T & string
-export type ConditionalScope = K extends keyof T
- ? T[K]
- : object
+export type ConditionalScope = ExtractValue
export type PromiseOr = Promise | T
diff --git a/packages/fetch/package.json b/packages/fetch/package.json
index c91028f..b15ac38 100644
--- a/packages/fetch/package.json
+++ b/packages/fetch/package.json
@@ -23,7 +23,7 @@
"@devup-api/core": "workspace:*"
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"typescript": "^5.9"
}
}
diff --git a/packages/generator/package.json b/packages/generator/package.json
index dae7409..2ff3477 100644
--- a/packages/generator/package.json
+++ b/packages/generator/package.json
@@ -24,7 +24,7 @@
"@devup-api/utils": "workspace:*"
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"typescript": "^5.9",
"openapi-types": "^12.1"
}
diff --git a/packages/generator/src/__tests__/__snapshots__/generate-interface.test.ts.snap b/packages/generator/src/__tests__/__snapshots__/generate-interface.test.ts.snap
index 57a5a14..003eacb 100644
--- a/packages/generator/src/__tests__/__snapshots__/generate-interface.test.ts.snap
+++ b/packages/generator/src/__tests__/__snapshots__/generate-interface.test.ts.snap
@@ -1,1713 +1,1762 @@
-// Bun Snapshot v1, https://bun.sh/docs/test/snapshots
-
-exports[`generateInterface returns interface for schema: %s 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {};
- getUsers: {};
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface returns interface for schema: %s 2`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {};
- GetUsers: {};
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface returns interface for schema: %s 3`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {};
- get_users: {};
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface returns interface for schema: %s 4`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {};
- getUsers: {};
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface returns interface for schema: %s 5`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {};
- getUsers: {};
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface returns interface for schema: %s 6`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: Array;
- };
- getUsers: {
- response: Array;
- };
- }
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- createUser: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- User: {
- id?: string;
- name?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface returns interface for schema: %s 7`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: Array;
- };
- GetUsers: {
- response: Array;
- };
- }
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- CreateUser: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- User: {
- id?: string;
- name?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface returns interface for schema: %s 8`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: Array;
- };
- get_users: {
- response: Array;
- };
- }
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- create_user: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- User: {
- id?: string;
- name?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface returns interface for schema: %s 9`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: Array;
- };
- getUsers: {
- response: Array;
- };
- }
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- createUser: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- User: {
- id?: string;
- name?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface returns interface for schema: %s 10`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: Array;
- };
- getUsers: {
- response: Array;
- };
- }
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- createUser: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- User: {
- id?: string;
- name?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles all HTTP methods 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {};
- };
- getUsers: {
- response?: {};
- };
- }
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {};
- };
- createUser: {
- response?: {};
- };
- }
- }
-
- interface DevupPutApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {};
- };
- updateUser: {
- response?: {};
- };
- }
- }
-
- interface DevupDeleteApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {};
- deleteUser: {};
- }
- }
-
- interface DevupPatchApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {};
- };
- patchUser: {
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles path parameters 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users/{userId}\`]: {
- params: {
- userId: string;
- };
- response?: {};
- };
- getUser: {
- params: {
- userId: string;
- };
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles query parameters 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- query: {
- page?: number;
- limit: number;
- };
- response?: {};
- };
- getUsers: {
- query: {
- page?: number;
- limit: number;
- };
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles path and query parameters together 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users/{userId}/posts\`]: {
- params: {
- userId: string;
- };
- query?: {
- page?: number;
- };
- response?: {};
- };
- getUserPosts: {
- params: {
- userId: string;
- };
- query?: {
- page?: number;
- };
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles request body 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- body?: {
- name?: string;
- email?: string;
- };
- response?: {};
- };
- createUser: {
- body?: {
- name?: string;
- email?: string;
- };
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles request body with $ref 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- body: DevupRequestComponentStruct['openapi.json']['User'];
- response?: {};
- };
- createUser: {
- body: DevupRequestComponentStruct['openapi.json']['User'];
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {
- [\`openapi.json\`]: {
- User: {
- name?: string;
- email?: string;
- };
- }
- }
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles 200 response 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: Array;
- };
- getUsers: {
- response: Array;
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- User: {
- id?: string;
- name?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles 201 response 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- createUser: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- User: {
- id?: string;
- name?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles response with other status codes 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {
- message?: string;
- };
- };
- getUsers: {
- response?: {
- message?: string;
- };
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles error responses 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {};
- error?: {
- error?: string;
- };
- };
- getUsers: {
- response?: {};
- error?: {
- error?: string;
- };
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {
- [\`openapi.json\`]: {
- Error: {
- code?: string;
- message?: string;
- };
- }
- }
-}"
-`;
-
-exports[`generateInterface handles default error response 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {};
- error?: {
- error?: string;
- };
- };
- getUsers: {
- response?: {};
- error?: {
- error?: string;
- };
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles component schemas for request 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- body: DevupRequestComponentStruct['openapi.json']['CreateUserRequest'];
- response?: {};
- };
- createUser: {
- body: DevupRequestComponentStruct['openapi.json']['CreateUserRequest'];
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {
- [\`openapi.json\`]: {
- CreateUserRequest: {
- name?: string;
- email?: string;
- };
- }
- }
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles component schemas for response 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- getUsers: {
- response: DevupResponseComponentStruct['openapi.json']['User'];
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- User: {
- id?: string;
- name?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles component schemas for error 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {};
- error: DevupErrorComponentStruct['Error'];
- };
- getUsers: {
- response?: {};
- error: DevupErrorComponentStruct['Error'];
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {
- [\`openapi.json\`]: {
- Error: {
- code?: string;
- message?: string;
- };
- }
- }
-}"
-`;
-
-exports[`generateInterface handles array response with component schema 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: Array;
- };
- getUsers: {
- response: Array;
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- User: {
- id?: string;
- name?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface creates both operationId and path keys 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users/{userId}\`]: {
- params: {
- userId: string;
- };
- response?: {};
- };
- getUserById: {
- params: {
- userId: string;
- };
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles endpoints without operationId 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles requestDefaultNonNullable option 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- body?: {
- name?: string;
- email?: string;
- };
- response?: {};
- };
- createUser: {
- body?: {
- name?: string;
- email?: string;
- };
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles requestDefaultNonNullable option 2`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- body?: {
- name?: string;
- email?: string;
- };
- response?: {};
- };
- createUser: {
- body?: {
- name?: string;
- email?: string;
- };
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles responseDefaultNonNullable option 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: {
- id: string;
- name?: string;
- };
- };
- getUsers: {
- response: {
- id: string;
- name?: string;
- };
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles responseDefaultNonNullable option 2`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {
- id?: string;
- name?: string;
- };
- };
- getUsers: {
- response?: {
- id?: string;
- name?: string;
- };
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles nested schemas in allOf 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: {
- id?: string;
-} & {
- extra?: string;
-};
- };
- getUsers: {
- response: {
- id?: string;
-} & {
- extra?: string;
-};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- Base: {
- id?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles empty paths 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles pathItem parameters 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users/{userId}\`]: {
- params: {
- userId: string;
- };
- response?: {};
- };
- getUser: {
- params: {
- userId: string;
- };
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles requestBody $ref 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- body?: {
- name?: string;
- };
- response?: {};
- };
- createUser: {
- body?: {
- name?: string;
- };
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles response $ref 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {};
- getUsers: {};
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles complex scenario with all features 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users/{userId}/posts/{postId}\`]: {
- params: {
- userId: string;
- postId: string;
- };
- query?: {
- include?: string;
- };
- response: DevupResponseComponentStruct['openapi.json']['Post'];
- error: DevupErrorComponentStruct['Error'];
- };
- getUserPost: {
- params: {
- userId: string;
- postId: string;
- };
- query?: {
- include?: string;
- };
- response: DevupResponseComponentStruct['openapi.json']['Post'];
- error: DevupErrorComponentStruct['Error'];
- };
- }
- }
-
- interface DevupPutApiStruct {
- [\`openapi.json\`]: {
- [\`/users/{userId}/posts/{postId}\`]: {
- params: {
- userId: string;
- };
- body: DevupRequestComponentStruct['openapi.json']['UpdatePostRequest'];
- response: DevupResponseComponentStruct['openapi.json']['Post'];
- };
- updateUserPost: {
- params: {
- userId: string;
- };
- body: DevupRequestComponentStruct['openapi.json']['UpdatePostRequest'];
- response: DevupResponseComponentStruct['openapi.json']['Post'];
- };
- }
- }
-
- interface DevupRequestComponentStruct {
- [\`openapi.json\`]: {
- UpdatePostRequest: {
- title?: string;
- content?: string;
- };
- }
- }
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- Post: {
- id?: string;
- title?: string;
- content?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {
- [\`openapi.json\`]: {
- Error: {
- code?: string;
- message?: string;
- };
- }
- }
-}"
-`;
-
-exports[`generateInterface handles anyOf in schema collection 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: ({
- id?: string;
-} | {
- id?: string;
- role?: string;
-});
- };
- getUsers: {
- response: ({
- id?: string;
-} | {
- id?: string;
- role?: string;
-});
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- User: {
- id?: string;
- };
- Admin: {
- id?: string;
- role?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles oneOf in schema collection 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: ({
- id?: string;
-} | {
- name?: string;
-});
- };
- getUsers: {
- response: ({
- id?: string;
-} | {
- name?: string;
-});
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- User: {
- id?: string;
- };
- Guest: {
- name?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles requestBody $ref that extracts schema name 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- body: unknown;
- response?: {};
- };
- createUser: {
- body: unknown;
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {
- [\`openapi.json\`]: {
- CreateUserRequest: {
- name?: string;
- };
- }
- }
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles response $ref that extracts schema name 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {};
- getUsers: {};
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {
- [\`openapi.json\`]: {
- UserResponse: {
- id?: string;
- };
- }
- }
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles requestBody with $ref that is not a component schema 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupPostApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- body: unknown;
- response?: {};
- };
- createUser: {
- body: unknown;
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles response with $ref that is not a component schema 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: unknown;
- };
- getUsers: {
- response: unknown;
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles error response with $ref that is not a component schema 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {};
- error: unknown;
- };
- getUsers: {
- response?: {};
- error: unknown;
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles array response with $ref that is not a component schema 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response: Array;
- };
- getUsers: {
- response: Array;
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles error array response with $ref that is not a component schema 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {};
- error: Array;
- };
- getUsers: {
- response?: {};
- error: Array;
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles error array response with component schema 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {};
- error: Array;
- };
- getUsers: {
- response?: {};
- error: Array;
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {
- [\`openapi.json\`]: {
- Error: {
- code?: string;
- message?: string;
- };
- }
- }
-}"
-`;
-
-exports[`generateInterface handles error response with $ref to response object 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {};
- };
- getUsers: {
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {}
-}"
-`;
-
-exports[`generateInterface handles error response $ref that extracts schema name 1`] = `
-"import "@devup-api/fetch";
-
-declare module "@devup-api/fetch" {
- interface DevupApiServers {
- [\`openapi.json\`]: never
- }
-
- interface DevupGetApiStruct {
- [\`openapi.json\`]: {
- [\`/users\`]: {
- response?: {};
- };
- getUsers: {
- response?: {};
- };
- }
- }
-
- interface DevupRequestComponentStruct {}
-
- interface DevupResponseComponentStruct {}
-
- interface DevupErrorComponentStruct {
- [\`openapi.json\`]: {
- ServerError: {
- error?: string;
- };
- }
- }
-}"
-`;
+// Bun Snapshot v1, https://bun.sh/docs/test/snapshots
+
+exports[`generateInterface returns interface for schema: %s 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {};
+ getUsers: {};
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface returns interface for schema: %s 2`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {};
+ GetUsers: {};
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface returns interface for schema: %s 3`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {};
+ get_users: {};
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface returns interface for schema: %s 4`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {};
+ getUsers: {};
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface returns interface for schema: %s 5`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {};
+ getUsers: {};
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface returns interface for schema: %s 6`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: Array['User']>;
+ };
+ getUsers: {
+ response: Array['User']>;
+ };
+ }
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ createUser: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ User: {
+ id?: string;
+ name?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface returns interface for schema: %s 7`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: Array['User']>;
+ };
+ GetUsers: {
+ response: Array['User']>;
+ };
+ }
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ CreateUser: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ User: {
+ id?: string;
+ name?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface returns interface for schema: %s 8`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: Array['User']>;
+ };
+ get_users: {
+ response: Array['User']>;
+ };
+ }
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ create_user: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ User: {
+ id?: string;
+ name?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface returns interface for schema: %s 9`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: Array['User']>;
+ };
+ getUsers: {
+ response: Array['User']>;
+ };
+ }
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ createUser: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ User: {
+ id?: string;
+ name?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface returns interface for schema: %s 10`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: Array['User']>;
+ };
+ getUsers: {
+ response: Array['User']>;
+ };
+ }
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ createUser: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ User: {
+ id?: string;
+ name?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles all HTTP methods 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {};
+ };
+ getUsers: {
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {};
+ };
+ createUser: {
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupPutApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {};
+ };
+ updateUser: {
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupDeleteApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {};
+ deleteUser: {};
+ }
+ }
+
+ interface DevupPatchApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {};
+ };
+ patchUser: {
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles path parameters 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users/{userId}\`]: {
+ params: {
+ userId: string;
+ };
+ response?: {};
+ };
+ getUser: {
+ params: {
+ userId: string;
+ };
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles query parameters 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ query: {
+ page?: number;
+ limit: number;
+ };
+ response?: {};
+ };
+ getUsers: {
+ query: {
+ page?: number;
+ limit: number;
+ };
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles path and query parameters together 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users/{userId}/posts\`]: {
+ params: {
+ userId: string;
+ };
+ query?: {
+ page?: number;
+ };
+ response?: {};
+ };
+ getUserPosts: {
+ params: {
+ userId: string;
+ };
+ query?: {
+ page?: number;
+ };
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles request body 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ body?: {
+ name?: string;
+ email?: string;
+ };
+ response?: {};
+ };
+ createUser: {
+ body?: {
+ name?: string;
+ email?: string;
+ };
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles request body with $ref 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ body: DevupObject<'openapi.json', 'request'>['User'];
+ response?: {};
+ };
+ createUser: {
+ body: DevupObject<'openapi.json', 'request'>['User'];
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {
+ [\`openapi.json\`]: {
+ User: {
+ name?: string;
+ email?: string;
+ };
+ }
+ }
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles 200 response 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: Array['User']>;
+ };
+ getUsers: {
+ response: Array['User']>;
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ User: {
+ id?: string;
+ name?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles 201 response 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ createUser: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ User: {
+ id?: string;
+ name?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles response with other status codes 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {
+ message?: string;
+ };
+ };
+ getUsers: {
+ response?: {
+ message?: string;
+ };
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles error responses 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {};
+ error?: {
+ error?: string;
+ };
+ };
+ getUsers: {
+ response?: {};
+ error?: {
+ error?: string;
+ };
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {
+ [\`openapi.json\`]: {
+ Error: {
+ code?: string;
+ message?: string;
+ };
+ }
+ }
+}"
+`;
+
+exports[`generateInterface handles default error response 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {};
+ error?: {
+ error?: string;
+ };
+ };
+ getUsers: {
+ response?: {};
+ error?: {
+ error?: string;
+ };
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles component schemas for request 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ body: DevupObject<'openapi.json', 'request'>['CreateUserRequest'];
+ response?: {};
+ };
+ createUser: {
+ body: DevupObject<'openapi.json', 'request'>['CreateUserRequest'];
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {
+ [\`openapi.json\`]: {
+ CreateUserRequest: {
+ name?: string;
+ email?: string;
+ };
+ }
+ }
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles component schemas for response 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ getUsers: {
+ response: DevupObject<'openapi.json', 'response'>['User'];
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ User: {
+ id?: string;
+ name?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles component schemas for error 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {};
+ error: DevupObject<'openapi.json', 'error'>['Error'];
+ };
+ getUsers: {
+ response?: {};
+ error: DevupObject<'openapi.json', 'error'>['Error'];
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {
+ [\`openapi.json\`]: {
+ Error: {
+ code?: string;
+ message?: string;
+ };
+ }
+ }
+}"
+`;
+
+exports[`generateInterface handles array response with component schema 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: Array['User']>;
+ };
+ getUsers: {
+ response: Array['User']>;
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ User: {
+ id?: string;
+ name?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface creates both operationId and path keys 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users/{userId}\`]: {
+ params: {
+ userId: string;
+ };
+ response?: {};
+ };
+ getUserById: {
+ params: {
+ userId: string;
+ };
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles endpoints without operationId 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles requestDefaultNonNullable option 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ body?: {
+ name?: string;
+ email?: string;
+ };
+ response?: {};
+ };
+ createUser: {
+ body?: {
+ name?: string;
+ email?: string;
+ };
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles requestDefaultNonNullable option 2`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ body?: {
+ name?: string;
+ email?: string;
+ };
+ response?: {};
+ };
+ createUser: {
+ body?: {
+ name?: string;
+ email?: string;
+ };
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles responseDefaultNonNullable option 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: {
+ id: string;
+ name?: string;
+ };
+ };
+ getUsers: {
+ response: {
+ id: string;
+ name?: string;
+ };
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles responseDefaultNonNullable option 2`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {
+ id?: string;
+ name?: string;
+ };
+ };
+ getUsers: {
+ response?: {
+ id?: string;
+ name?: string;
+ };
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles nested schemas in allOf 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: {
+ id?: string;
+} & {
+ extra?: string;
+};
+ };
+ getUsers: {
+ response: {
+ id?: string;
+} & {
+ extra?: string;
+};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ Base: {
+ id?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles empty paths 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles pathItem parameters 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users/{userId}\`]: {
+ params: {
+ userId: string;
+ };
+ response?: {};
+ };
+ getUser: {
+ params: {
+ userId: string;
+ };
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles requestBody $ref 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ body?: {
+ name?: string;
+ };
+ response?: {};
+ };
+ createUser: {
+ body?: {
+ name?: string;
+ };
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles response $ref 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {};
+ getUsers: {};
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles complex scenario with all features 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users/{userId}/posts/{postId}\`]: {
+ params: {
+ userId: string;
+ postId: string;
+ };
+ query?: {
+ include?: string;
+ };
+ response: DevupObject<'openapi.json', 'response'>['Post'];
+ error: DevupObject<'openapi.json', 'error'>['Error'];
+ };
+ getUserPost: {
+ params: {
+ userId: string;
+ postId: string;
+ };
+ query?: {
+ include?: string;
+ };
+ response: DevupObject<'openapi.json', 'response'>['Post'];
+ error: DevupObject<'openapi.json', 'error'>['Error'];
+ };
+ }
+ }
+
+ interface DevupPutApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users/{userId}/posts/{postId}\`]: {
+ params: {
+ userId: string;
+ };
+ body: DevupObject<'openapi.json', 'request'>['UpdatePostRequest'];
+ response: DevupObject<'openapi.json', 'response'>['Post'];
+ };
+ updateUserPost: {
+ params: {
+ userId: string;
+ };
+ body: DevupObject<'openapi.json', 'request'>['UpdatePostRequest'];
+ response: DevupObject<'openapi.json', 'response'>['Post'];
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {
+ [\`openapi.json\`]: {
+ UpdatePostRequest: {
+ title?: string;
+ content?: string;
+ };
+ }
+ }
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ Post: {
+ id?: string;
+ title?: string;
+ content?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {
+ [\`openapi.json\`]: {
+ Error: {
+ code?: string;
+ message?: string;
+ };
+ }
+ }
+}"
+`;
+
+exports[`generateInterface handles anyOf in schema collection 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: ({
+ id?: string;
+} | {
+ id?: string;
+ role?: string;
+});
+ };
+ getUsers: {
+ response: ({
+ id?: string;
+} | {
+ id?: string;
+ role?: string;
+});
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ User: {
+ id?: string;
+ };
+ Admin: {
+ id?: string;
+ role?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles oneOf in schema collection 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: ({
+ id?: string;
+} | {
+ name?: string;
+});
+ };
+ getUsers: {
+ response: ({
+ id?: string;
+} | {
+ name?: string;
+});
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ User: {
+ id?: string;
+ };
+ Guest: {
+ name?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles requestBody $ref that extracts schema name 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ body: unknown;
+ response?: {};
+ };
+ createUser: {
+ body: unknown;
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {
+ [\`openapi.json\`]: {
+ CreateUserRequest: {
+ name?: string;
+ };
+ }
+ }
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles response $ref that extracts schema name 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {};
+ getUsers: {};
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {
+ [\`openapi.json\`]: {
+ UserResponse: {
+ id?: string;
+ };
+ }
+ }
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles requestBody with $ref that is not a component schema 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupPostApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ body: unknown;
+ response?: {};
+ };
+ createUser: {
+ body: unknown;
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles response with $ref that is not a component schema 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: unknown;
+ };
+ getUsers: {
+ response: unknown;
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles error response with $ref that is not a component schema 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {};
+ error: unknown;
+ };
+ getUsers: {
+ response?: {};
+ error: unknown;
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles array response with $ref that is not a component schema 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response: Array;
+ };
+ getUsers: {
+ response: Array;
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles error array response with $ref that is not a component schema 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {};
+ error: Array;
+ };
+ getUsers: {
+ response?: {};
+ error: Array;
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles error array response with component schema 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {};
+ error: Array['Error']>;
+ };
+ getUsers: {
+ response?: {};
+ error: Array['Error']>;
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {
+ [\`openapi.json\`]: {
+ Error: {
+ code?: string;
+ message?: string;
+ };
+ }
+ }
+}"
+`;
+
+exports[`generateInterface handles error response with $ref to response object 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {};
+ };
+ getUsers: {
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {}
+}"
+`;
+
+exports[`generateInterface handles error response $ref that extracts schema name 1`] = `
+"import "@devup-api/fetch";
+import type { DevupObject } from "@devup-api/fetch";
+
+declare module "@devup-api/fetch" {
+ interface DevupApiServers {
+ [\`openapi.json\`]: never
+ }
+
+ interface DevupGetApiStruct {
+ [\`openapi.json\`]: {
+ [\`/users\`]: {
+ response?: {};
+ };
+ getUsers: {
+ response?: {};
+ };
+ }
+ }
+
+ interface DevupRequestComponentStruct {}
+
+ interface DevupResponseComponentStruct {}
+
+ interface DevupErrorComponentStruct {
+ [\`openapi.json\`]: {
+ ServerError: {
+ error?: string;
+ };
+ }
+ }
+}"
+`;
diff --git a/packages/generator/src/__tests__/__snapshots__/generate-schema.test.ts.snap b/packages/generator/src/__tests__/__snapshots__/generate-schema.test.ts.snap
index 11f9756..2cc5d04 100644
--- a/packages/generator/src/__tests__/__snapshots__/generate-schema.test.ts.snap
+++ b/packages/generator/src/__tests__/__snapshots__/generate-schema.test.ts.snap
@@ -131,86 +131,134 @@ exports[`getTypeFromSchema returns interface for schema: %s 8`] = `
exports[`getTypeFromSchema returns interface for schema: %s 9`] = `
{
"default": undefined,
- "type":
-"Array<{
- id?: string;
- name?: string;
-}>"
-,
+ "type": {
+ "__isArray": true,
+ "items": {
+ "id?": {
+ "default": undefined,
+ "type": "string",
+ },
+ "name?": {
+ "default": undefined,
+ "type": "string",
+ },
+ },
+ },
}
`;
exports[`getTypeFromSchema returns interface for schema: %s 10`] = `
{
"default": undefined,
- "type":
-"Array<{
- id?: string;
- name?: string;
-}>"
-,
+ "type": {
+ "__isArray": true,
+ "items": {
+ "id?": {
+ "default": undefined,
+ "type": "string",
+ },
+ "name?": {
+ "default": undefined,
+ "type": "string",
+ },
+ },
+ },
}
`;
exports[`getTypeFromSchema returns interface for schema: %s 11`] = `
{
"default": undefined,
- "type": "Array",
+ "type": {
+ "__isArray": true,
+ "items": "string",
+ },
}
`;
exports[`getTypeFromSchema returns interface for schema: %s 12`] = `
{
"default": undefined,
- "type": "Array",
+ "type": {
+ "__isArray": true,
+ "items": "string",
+ },
}
`;
exports[`getTypeFromSchema returns interface for schema: %s 13`] = `
{
"default": undefined,
- "type":
-"Array<{
- id?: string;
- name?: string;
-}>"
-,
+ "type": {
+ "__isArray": true,
+ "items": {
+ "id?": {
+ "default": undefined,
+ "type": "string",
+ },
+ "name?": {
+ "default": undefined,
+ "type": "string",
+ },
+ },
+ },
}
`;
exports[`getTypeFromSchema returns interface for schema: %s 14`] = `
{
"default": undefined,
- "type":
-"Array<{
- id?: string;
- name?: string;
-}>"
-,
+ "type": {
+ "__isArray": true,
+ "items": {
+ "id?": {
+ "default": undefined,
+ "type": "string",
+ },
+ "name?": {
+ "default": undefined,
+ "type": "string",
+ },
+ },
+ },
}
`;
exports[`getTypeFromSchema returns interface for schema: %s 15`] = `
{
"default": undefined,
- "type":
-"Array<{
- id?: string;
- name?: string;
-}>"
-,
+ "type": {
+ "__isArray": true,
+ "items": {
+ "id?": {
+ "default": "123",
+ "type": "string",
+ },
+ "name?": {
+ "default": "John Doe",
+ "type": "string",
+ },
+ },
+ },
}
`;
exports[`getTypeFromSchema returns interface for schema: %s 16`] = `
{
"default": undefined,
- "type":
-"Array<{
- id: string;
- name: string;
-}>"
-,
+ "type": {
+ "__isArray": true,
+ "items": {
+ "id": {
+ "default": "123",
+ "type": "string",
+ },
+ "name": {
+ "default": "John Doe",
+ "type": "string",
+ },
+ },
+ },
}
`;
diff --git a/packages/generator/src/generate-interface.ts b/packages/generator/src/generate-interface.ts
index 9335d24..d083803 100644
--- a/packages/generator/src/generate-interface.ts
+++ b/packages/generator/src/generate-interface.ts
@@ -256,7 +256,7 @@ function generateSchemaInterface(
requestSchemaNames.has(schemaName)
) {
// Use component reference
- requestBodyType = `DevupRequestComponentStruct['${serverName}']['${schemaName}']`
+ requestBodyType = `DevupObject<'${serverName}', 'request'>['${schemaName}']`
} else {
const requestBody = extractRequestBody(
operation.requestBody,
@@ -316,7 +316,7 @@ function generateSchemaInterface(
responseSchemaNames.has(schemaName)
) {
// Use component reference
- responseType = `DevupResponseComponentStruct['${serverName}']['${schemaName}']`
+ responseType = `DevupObject<'${serverName}', 'response'>['${schemaName}']`
} else {
// Extract schema type with response options
const responseDefaultNonNullable =
@@ -347,7 +347,7 @@ function generateSchemaInterface(
responseSchemaNames.has(schemaName)
) {
// Use component reference for array items
- responseType = `Array`
+ responseType = `Array['${schemaName}']>`
} else {
// Extract schema type with response options
const responseDefaultNonNullable =
@@ -420,7 +420,7 @@ function generateSchemaInterface(
errorSchemaNames.has(schemaName)
) {
// Use component reference
- errorType = `DevupErrorComponentStruct['${schemaName}']`
+ errorType = `DevupObject<'${serverName}', 'error'>['${schemaName}']`
} else {
// Extract schema type with response options
const responseDefaultNonNullable =
@@ -451,7 +451,7 @@ function generateSchemaInterface(
errorSchemaNames.has(schemaName)
) {
// Use component reference for array items
- errorType = `Array`
+ errorType = `Array['${schemaName}']>`
} else {
// Extract schema type with response options
const responseDefaultNonNullable =
@@ -703,5 +703,5 @@ export function generateInterface(
errorComponentInterface,
].join('\n\n')
- return `import "@devup-api/fetch";\n\ndeclare module "@devup-api/fetch" {\n${allInterfaces}\n}`
+ return `import "@devup-api/fetch";\nimport type { DevupObject } from "@devup-api/fetch";\n\ndeclare module "@devup-api/fetch" {\n${allInterfaces}\n}`
}
diff --git a/packages/generator/src/generate-schema.ts b/packages/generator/src/generate-schema.ts
index 1006bd7..379c74a 100644
--- a/packages/generator/src/generate-schema.ts
+++ b/packages/generator/src/generate-schema.ts
@@ -111,7 +111,7 @@ export function getTypeFromSchema(
if (items) {
const itemType = getTypeFromSchema(items, document, options)
return {
- type: `Array<${formatTypeValue(itemType.type)}>`,
+ type: { __isArray: true, items: itemType.type },
default: schemaObj.default,
}
}
@@ -311,6 +311,20 @@ function isTypeObject(
)
}
+/**
+ * Check if a value is an array type marker
+ */
+function isArrayType(
+ value: unknown,
+): value is { __isArray: true; items: unknown } {
+ return (
+ typeof value === 'object' &&
+ value !== null &&
+ '__isArray' in value &&
+ (value as Record).__isArray === true
+ )
+}
+
/**
* Format a type value to TypeScript type string
*/
@@ -319,6 +333,12 @@ export function formatTypeValue(value: unknown, indent: number = 0): string {
return value
}
+ // Handle array type marker
+ if (isArrayType(value)) {
+ const itemsFormatted = formatTypeValue(value.items, indent)
+ return `Array<${itemsFormatted}>`
+ }
+
// Handle { type: unknown, default?: unknown } structure
if (isTypeObject(value)) {
return formatTypeValue(value.type, indent)
diff --git a/packages/next-plugin/package.json b/packages/next-plugin/package.json
index 6561e16..cf875bd 100644
--- a/packages/next-plugin/package.json
+++ b/packages/next-plugin/package.json
@@ -30,7 +30,7 @@
"@devup-api/core": "*"
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"@types/webpack": "^5.28",
"typescript": "^5.9"
}
diff --git a/packages/react-query/package.json b/packages/react-query/package.json
index 10de7df..0c066e7 100644
--- a/packages/react-query/package.json
+++ b/packages/react-query/package.json
@@ -29,7 +29,7 @@
},
"devDependencies": {
"@testing-library/react-hooks": "^8.0.1",
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"@types/react": "^19.2",
"happy-dom": "^20.0.11",
"typescript": "^5.9"
diff --git a/packages/rsbuild-plugin/package.json b/packages/rsbuild-plugin/package.json
index 9cda1db..9f9bdf6 100644
--- a/packages/rsbuild-plugin/package.json
+++ b/packages/rsbuild-plugin/package.json
@@ -29,7 +29,7 @@
"@devup-api/core": "*"
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"typescript": "^5.9"
}
}
diff --git a/packages/utils/package.json b/packages/utils/package.json
index e5995a4..44efe81 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -20,7 +20,7 @@
"access": "public"
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"typescript": "^5.9",
"openapi-types": "^12.1"
}
diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json
index 4035b2d..2bc366a 100644
--- a/packages/vite-plugin/package.json
+++ b/packages/vite-plugin/package.json
@@ -29,7 +29,7 @@
"@devup-api/core": "*"
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"typescript": "^5.9"
}
}
diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json
index 551acbb..d194ce2 100644
--- a/packages/webpack-plugin/package.json
+++ b/packages/webpack-plugin/package.json
@@ -28,7 +28,7 @@
"@devup-api/core": "*"
},
"devDependencies": {
- "@types/node": "^24.10",
+ "@types/node": "^25.0",
"@types/webpack": "^5.28",
"typescript": "^5.9"
}