diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index ceb2f9aa4..a9503bc88 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -15,20 +15,20 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: fetch-depth: 2 - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v6.0.9 name: Install pnpm with: version: 11.9.0 - name: Install Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6.4.0 with: - node-version-file: .nvmrc - cache: "pnpm" + registry-url: "https://registry.npmjs.org/" + node-version: 24 - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/bump_publish.yml b/.github/workflows/bump_publish.yml index 407219558..45d85312e 100644 --- a/.github/workflows/bump_publish.yml +++ b/.github/workflows/bump_publish.yml @@ -42,23 +42,23 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Configure Git run: | git config --global user.name "${{ github.actor }}" git config --global user.email "${{ github.actor }}@users.noreply.github.com" - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v6.0.9 name: Install pnpm with: version: 11.9.0 - name: Install Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6.4.0 with: registry-url: "https://registry.npmjs.org/" - node-version: 22 + node-version: 24 - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/conventional-label.yaml b/.github/workflows/conventional-label.yaml index 7cd49ca1a..8ec747adb 100644 --- a/.github/workflows/conventional-label.yaml +++ b/.github/workflows/conventional-label.yaml @@ -12,6 +12,6 @@ jobs: label: runs-on: ubuntu-latest steps: - - uses: bcoe/conventional-release-labels@v1 + - uses: bcoe/conventional-release-labels@v1.3.1 with: type_labels: '{"feat": "๐Ÿ’ก Feature", "fix": "๐Ÿž Bug", "breaking": "๐Ÿšจ Breaking Changes", "docs": "๐Ÿ“– Documentation", "style": "๐Ÿ’… Style", "refactor": "๐Ÿงฑ Refactor", "perf": "๐Ÿš€ Performerce", "test": "๐Ÿงช Test"}' diff --git a/.github/workflows/lint-pr.yml b/.github/workflows/lint-pr.yml index 69b53b81c..82cfa4c9b 100644 --- a/.github/workflows/lint-pr.yml +++ b/.github/workflows/lint-pr.yml @@ -1,8 +1,8 @@ -name: 'Lint PR title' +name: "Lint PR title" on: pull_request_target: - branches: '*' + branches: "*" types: - opened - edited @@ -17,12 +17,12 @@ jobs: name: Validate PR title runs-on: ubuntu-latest steps: - - uses: amannn/action-semantic-pull-request@v5 + - uses: amannn/action-semantic-pull-request@v6.1.1 id: lint_pr_title env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: marocchino/sticky-pull-request-comment@v2 + - uses: marocchino/sticky-pull-request-comment@v3 # When the previous steps fails, the workflow would stop. By adding this # condition you can continue the execution with the populated error message. if: always() && (steps.lint_pr_title.outputs.error_message != null) @@ -41,7 +41,7 @@ jobs: # Delete a previous comment when the issue has been resolved - if: ${{ steps.lint_pr_title.outputs.error_message == null }} - uses: marocchino/sticky-pull-request-comment@v2 + uses: marocchino/sticky-pull-request-comment@v3 with: header: pr-title-lint-error delete: true diff --git a/README.md b/README.md index 7e966be8c..d3486653b 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,9 @@ ### Supported Package Managers -- [bun](https://bun.com/) (min: v1.1, recommended: v1.2) -- [pnpm](https://pnpm.io/) (min: v9, recommended: v10) -- [node.js](https://nodejs.org/) (min: v20, recommended: v22) +- [bun](https://bun.com/) (min: v1.1, recommended: v1.3) +- [pnpm](https://pnpm.io/) (min: v10, recommended: v11) +- [node.js](https://nodejs.org/) (min: v22, recommended: v24) ### Quick Setup diff --git a/packages/config/eslint.config.mjs b/packages/config/eslint.config.mjs index f36ffd450..966b33a60 100644 --- a/packages/config/eslint.config.mjs +++ b/packages/config/eslint.config.mjs @@ -25,6 +25,7 @@ export default [ ".next", "global.d.ts", "tsup.config.ts", + "tsdown.config.ts", "*.test.tsx", "drizzle.config.ts", ], diff --git a/packages/config/package.json b/packages/config/package.json index d2b7b3d81..91bfcf15d 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -31,6 +31,10 @@ "import": "./tsconfig.json", "default": "./tsconfig.json" }, + "./tsdown": { + "import": "./tsdown.base.ts", + "default": "./tsdown.base.ts" + }, "./prettierrc": { "import": "./prettierrc.mjs", "default": "./prettierrc.mjs" @@ -42,7 +46,9 @@ "typescript": "6.0.x" }, "devDependencies": { + "@types/node": "^26.1.1", "eslint": "^10.5.0", + "tsdown": "^0.22.4", "typescript": "^6.0.3" }, "dependencies": { diff --git a/packages/config/tsdown.base.ts b/packages/config/tsdown.base.ts new file mode 100644 index 000000000..6eabea666 --- /dev/null +++ b/packages/config/tsdown.base.ts @@ -0,0 +1,24 @@ +import { isAbsolute } from "node:path"; +import type { UserConfig } from "tsdown"; + +const isNodeModule = (id: string): boolean => + id.includes("/node_modules/") || + id.includes("\\node_modules\\") || + (!id.startsWith(".") && !isAbsolute(id) && !id.startsWith("@/")); + +export const createTsdownConfig = (overrides: UserConfig = {}): UserConfig => ({ + entry: ["src/**/*.{ts,tsx}", "!**/*.test.{ts,tsx}", "!src/tests/**"], + outDir: "dist/src", + format: ["esm"], + platform: "neutral", + target: "esnext", + unbundle: true, + dts: true, + minify: true, + clean: false, + deps: { + neverBundle: isNodeModule, + dts: { neverBundle: isNodeModule }, + }, + ...overrides, +}); diff --git a/packages/create-vitnode-app/copy-of-vitnode-plugin/root/.swcrc b/packages/create-vitnode-app/copy-of-vitnode-plugin/root/.swcrc deleted file mode 100644 index 8f099dc7a..000000000 --- a/packages/create-vitnode-app/copy-of-vitnode-plugin/root/.swcrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://swc.rs/schema.json", - "exclude": ["\\.test\\.tsx?$"], - "minify": true, - "jsc": { - "baseUrl": "./", - "target": "esnext", - "paths": { - "@/*": ["./src/*"] - }, - "parser": { - "syntax": "typescript", - "tsx": true - }, - "transform": { - "react": { - "runtime": "automatic" - } - } - }, - "module": { - "type": "nodenext", - "strict": true, - "resolveFully": true - } -} diff --git a/packages/create-vitnode-app/copy-of-vitnode-plugin/root/npmignore.template b/packages/create-vitnode-app/copy-of-vitnode-plugin/root/npmignore.template index bb5e95899..3abade51c 100644 --- a/packages/create-vitnode-app/copy-of-vitnode-plugin/root/npmignore.template +++ b/packages/create-vitnode-app/copy-of-vitnode-plugin/root/npmignore.template @@ -7,7 +7,7 @@ /node_modules /.turbo /tsconfig.json -/.swcrc +/tsdown.config.ts /components.json /global.d.ts /tsup.config.ts diff --git a/packages/create-vitnode-app/copy-of-vitnode-plugin/root/tsdown.config.ts b/packages/create-vitnode-app/copy-of-vitnode-plugin/root/tsdown.config.ts new file mode 100644 index 000000000..75d4d2d31 --- /dev/null +++ b/packages/create-vitnode-app/copy-of-vitnode-plugin/root/tsdown.config.ts @@ -0,0 +1,4 @@ +import { createTsdownConfig } from "@vitnode/config/tsdown"; +import { defineConfig } from "tsdown"; + +export default defineConfig(createTsdownConfig()); diff --git a/packages/create-vitnode-app/src/create/package-versions.ts b/packages/create-vitnode-app/src/create/package-versions.ts index 930681021..7a34f5277 100644 --- a/packages/create-vitnode-app/src/create/package-versions.ts +++ b/packages/create-vitnode-app/src/create/package-versions.ts @@ -39,8 +39,7 @@ export const versionsPackageJson = { cva: "^0.7.1", babelPluginReactCompiler: "^1.0", - swcCli: "^0.8.1", - swcCore: "^1.15", + tsdown: "^0.22.4", concurrently: "^9.2.1", shadcnUi: "^4", }; diff --git a/packages/create-vitnode-app/src/plugin/create/create-package-json.ts b/packages/create-vitnode-app/src/plugin/create/create-package-json.ts index cb9e9d6ed..6d88ecef8 100644 --- a/packages/create-vitnode-app/src/plugin/create/create-package-json.ts +++ b/packages/create-vitnode-app/src/plugin/create/create-package-json.ts @@ -26,9 +26,8 @@ export const createPluginPackageJSON = async ({ private: true, type: "module", scripts: { - "build:plugins": - "tsc -p tsconfig.build.json && swc src -d dist --config-file .swcrc && tsc-alias -p tsconfig.build.json", - dev: 'concurrently "tsc -w -p tsconfig.build.json --preserveWatchOutput" "swc src -d dist --config-file .swcrc -w" "tsc-alias -w -p tsconfig.build.json" "vitnode plugin --w"', + "build:plugins": "tsdown", + dev: 'concurrently "tsdown --watch" "vitnode plugin --w"', "dev:email": "email dev --dir src/emails", ...withIf(eslint, { lint: "turbo lint", @@ -60,8 +59,6 @@ export const createPluginPackageJSON = async ({ }, devDependencies: { "@react-email/ui": versionsPackageJson.reactEmailUi, - "@swc/cli": versionsPackageJson.swcCli, - "@swc/core": versionsPackageJson.swcCore, "@types/react": versionsPackageJson.typesReact, "@types/react-dom": versionsPackageJson.typesReactDom, "@vitnode/config": vitnodeVersionRange, @@ -69,7 +66,7 @@ export const createPluginPackageJSON = async ({ ...withIf(eslint, { eslint: versionsPackageJson.eslint, }), - "tsc-alias": versionsPackageJson.tscAlias, + tsdown: versionsPackageJson.tsdown, typescript: versionsPackageJson.typescript, }, }; diff --git a/packages/node-cron/.npmignore b/packages/node-cron/.npmignore index 10004b73c..bf35d7b3d 100644 --- a/packages/node-cron/.npmignore +++ b/packages/node-cron/.npmignore @@ -2,5 +2,5 @@ /src /node_modules /tsconfig.json -/.swcrc +/tsdown.config.ts /eslint.config.mjs \ No newline at end of file diff --git a/packages/node-cron/.swcrc b/packages/node-cron/.swcrc deleted file mode 100644 index 8f099dc7a..000000000 --- a/packages/node-cron/.swcrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://swc.rs/schema.json", - "exclude": ["\\.test\\.tsx?$"], - "minify": true, - "jsc": { - "baseUrl": "./", - "target": "esnext", - "paths": { - "@/*": ["./src/*"] - }, - "parser": { - "syntax": "typescript", - "tsx": true - }, - "transform": { - "react": { - "runtime": "automatic" - } - } - }, - "module": { - "type": "nodenext", - "strict": true, - "resolveFully": true - } -} diff --git a/packages/node-cron/package.json b/packages/node-cron/package.json index 625bf1f0b..6b90e36fb 100644 --- a/packages/node-cron/package.json +++ b/packages/node-cron/package.json @@ -25,8 +25,8 @@ } }, "scripts": { - "build:plugins": "tsc -p tsconfig.build.json && swc src -d dist --config-file .swcrc && tsc-alias -p tsconfig.build.json", - "dev:plugins": "concurrently \"tsc -w -p tsconfig.build.json --preserveWatchOutput\" \"swc src -d dist --config-file .swcrc -w\" \"tsc-alias -w -p tsconfig.build.json\"", + "build:plugins": "tsdown", + "dev:plugins": "tsdown --watch", "lint": "eslint .", "lint:fix": "eslint . --fix" }, @@ -34,13 +34,10 @@ "node-cron": "^4.5.0" }, "devDependencies": { - "@swc/cli": "^0.8.1", - "@swc/core": "^1.15.43", "@vitnode/config": "workspace:*", "@vitnode/core": "workspace:*", - "concurrently": "^10.0.3", "eslint": "^10.5.0", - "tsc-alias": "^1.8.17", + "tsdown": "^0.22.4", "typescript": "^6.0.3" } } diff --git a/packages/node-cron/tsdown.config.ts b/packages/node-cron/tsdown.config.ts new file mode 100644 index 000000000..75d4d2d31 --- /dev/null +++ b/packages/node-cron/tsdown.config.ts @@ -0,0 +1,4 @@ +import { createTsdownConfig } from "@vitnode/config/tsdown"; +import { defineConfig } from "tsdown"; + +export default defineConfig(createTsdownConfig()); diff --git a/packages/nodemailer/.npmignore b/packages/nodemailer/.npmignore index 10004b73c..bf35d7b3d 100644 --- a/packages/nodemailer/.npmignore +++ b/packages/nodemailer/.npmignore @@ -2,5 +2,5 @@ /src /node_modules /tsconfig.json -/.swcrc +/tsdown.config.ts /eslint.config.mjs \ No newline at end of file diff --git a/packages/nodemailer/.swcrc b/packages/nodemailer/.swcrc deleted file mode 100644 index 8f099dc7a..000000000 --- a/packages/nodemailer/.swcrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://swc.rs/schema.json", - "exclude": ["\\.test\\.tsx?$"], - "minify": true, - "jsc": { - "baseUrl": "./", - "target": "esnext", - "paths": { - "@/*": ["./src/*"] - }, - "parser": { - "syntax": "typescript", - "tsx": true - }, - "transform": { - "react": { - "runtime": "automatic" - } - } - }, - "module": { - "type": "nodenext", - "strict": true, - "resolveFully": true - } -} diff --git a/packages/nodemailer/package.json b/packages/nodemailer/package.json index 99a0ec7b3..e0ef2b69e 100644 --- a/packages/nodemailer/package.json +++ b/packages/nodemailer/package.json @@ -24,8 +24,8 @@ } }, "scripts": { - "build:plugins": "tsc -p tsconfig.build.json && swc src -d dist --config-file .swcrc && tsc-alias -p tsconfig.build.json", - "dev:plugins": "concurrently \"tsc -w -p tsconfig.build.json --preserveWatchOutput\" \"swc src -d dist --config-file .swcrc -w\" \"tsc-alias -w -p tsconfig.build.json\"", + "build:plugins": "tsdown", + "dev:plugins": "tsdown --watch", "lint": "eslint .", "lint:fix": "eslint . --fix" }, @@ -33,14 +33,11 @@ "nodemailer": "^9.0.1" }, "devDependencies": { - "@swc/cli": "^0.8.1", - "@swc/core": "^1.15.43", "@types/nodemailer": "^8.0.1", "@vitnode/config": "workspace:*", "@vitnode/core": "workspace:*", - "concurrently": "^10.0.3", "eslint": "^10.5.0", - "tsc-alias": "^1.8.17", + "tsdown": "^0.22.4", "typescript": "^6.0.3" } } diff --git a/packages/nodemailer/tsdown.config.ts b/packages/nodemailer/tsdown.config.ts new file mode 100644 index 000000000..75d4d2d31 --- /dev/null +++ b/packages/nodemailer/tsdown.config.ts @@ -0,0 +1,4 @@ +import { createTsdownConfig } from "@vitnode/config/tsdown"; +import { defineConfig } from "tsdown"; + +export default defineConfig(createTsdownConfig()); diff --git a/packages/resend/.npmignore b/packages/resend/.npmignore index 10004b73c..bf35d7b3d 100644 --- a/packages/resend/.npmignore +++ b/packages/resend/.npmignore @@ -2,5 +2,5 @@ /src /node_modules /tsconfig.json -/.swcrc +/tsdown.config.ts /eslint.config.mjs \ No newline at end of file diff --git a/packages/resend/.swcrc b/packages/resend/.swcrc deleted file mode 100644 index 8f099dc7a..000000000 --- a/packages/resend/.swcrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://swc.rs/schema.json", - "exclude": ["\\.test\\.tsx?$"], - "minify": true, - "jsc": { - "baseUrl": "./", - "target": "esnext", - "paths": { - "@/*": ["./src/*"] - }, - "parser": { - "syntax": "typescript", - "tsx": true - }, - "transform": { - "react": { - "runtime": "automatic" - } - } - }, - "module": { - "type": "nodenext", - "strict": true, - "resolveFully": true - } -} diff --git a/packages/resend/package.json b/packages/resend/package.json index 9f58e9061..3aa91e3f1 100644 --- a/packages/resend/package.json +++ b/packages/resend/package.json @@ -23,8 +23,8 @@ } }, "scripts": { - "build:plugins": "tsc -p tsconfig.build.json && swc src -d dist --config-file .swcrc && tsc-alias -p tsconfig.build.json", - "dev:plugins": "concurrently \"tsc -w -p tsconfig.build.json --preserveWatchOutput\" \"swc src -d dist --config-file .swcrc -w\" \"tsc-alias -w -p tsconfig.build.json\"", + "build:plugins": "tsdown", + "dev:plugins": "tsdown --watch", "lint": "eslint .", "lint:fix": "eslint . --fix" }, @@ -32,13 +32,10 @@ "resend": "^6.14.0" }, "devDependencies": { - "@swc/cli": "^0.8.1", - "@swc/core": "^1.15.43", "@vitnode/config": "workspace:*", "@vitnode/core": "workspace:*", - "concurrently": "^10.0.3", "eslint": "^10.5.0", - "tsc-alias": "^1.8.17", + "tsdown": "^0.22.4", "typescript": "^6.0.3" } } diff --git a/packages/resend/tsdown.config.ts b/packages/resend/tsdown.config.ts new file mode 100644 index 000000000..75d4d2d31 --- /dev/null +++ b/packages/resend/tsdown.config.ts @@ -0,0 +1,4 @@ +import { createTsdownConfig } from "@vitnode/config/tsdown"; +import { defineConfig } from "tsdown"; + +export default defineConfig(createTsdownConfig()); diff --git a/packages/s3/.npmignore b/packages/s3/.npmignore index 4acef1b9b..fa75313e8 100644 --- a/packages/s3/.npmignore +++ b/packages/s3/.npmignore @@ -2,5 +2,5 @@ /src /node_modules /tsconfig.json -/.swcrc +/tsdown.config.ts /eslint.config.mjs diff --git a/packages/s3/.swcrc b/packages/s3/.swcrc deleted file mode 100644 index 8f099dc7a..000000000 --- a/packages/s3/.swcrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://swc.rs/schema.json", - "exclude": ["\\.test\\.tsx?$"], - "minify": true, - "jsc": { - "baseUrl": "./", - "target": "esnext", - "paths": { - "@/*": ["./src/*"] - }, - "parser": { - "syntax": "typescript", - "tsx": true - }, - "transform": { - "react": { - "runtime": "automatic" - } - } - }, - "module": { - "type": "nodenext", - "strict": true, - "resolveFully": true - } -} diff --git a/packages/s3/package.json b/packages/s3/package.json index 9fe3bb54d..0b60566e5 100644 --- a/packages/s3/package.json +++ b/packages/s3/package.json @@ -25,8 +25,8 @@ } }, "scripts": { - "build:plugins": "tsc -p tsconfig.build.json && swc src -d dist --config-file .swcrc && tsc-alias -p tsconfig.build.json", - "dev:plugins": "concurrently \"tsc -w -p tsconfig.build.json --preserveWatchOutput\" \"swc src -d dist --config-file .swcrc -w\" \"tsc-alias -w -p tsconfig.build.json\"", + "build:plugins": "tsdown", + "dev:plugins": "tsdown --watch", "lint": "eslint .", "lint:fix": "eslint . --fix", "test": "vitest run", @@ -36,13 +36,10 @@ "@aws-sdk/client-s3": "^3.0.0" }, "devDependencies": { - "@swc/cli": "^0.8.1", - "@swc/core": "^1.15.43", "@vitnode/config": "workspace:*", "@vitnode/core": "workspace:*", - "concurrently": "^10.0.3", "eslint": "^10.5.0", - "tsc-alias": "^1.8.17", + "tsdown": "^0.22.4", "typescript": "^6.0.3", "vitest": "^4.1.9" } diff --git a/packages/s3/src/index.test.ts b/packages/s3/src/index.test.ts new file mode 100644 index 000000000..b922c4141 --- /dev/null +++ b/packages/s3/src/index.test.ts @@ -0,0 +1,242 @@ +import { beforeEach, describe, expect, it, vi } from "vitest"; + +const { DeleteObjectCommand, PutObjectCommand, S3Client, send } = vi.hoisted( + () => { + const send = vi.fn(); + const S3Client = vi.fn(function () { + return { send }; + }); + const DeleteObjectCommand = vi.fn(function ( + input: Record, + ) { + return { input }; + }); + const PutObjectCommand = vi.fn(function (input: Record) { + return { input }; + }); + + return { DeleteObjectCommand, PutObjectCommand, S3Client, send }; + }, +); + +vi.mock("@aws-sdk/client-s3", () => ({ + DeleteObjectCommand, + PutObjectCommand, + S3Client, +})); + +import { S3StorageAdapter } from "./index"; + +const config = { + accessKeyId: "AKIAEXAMPLE", + bucket: "media", + secretAccessKey: "secret", +}; + +beforeEach(() => { + vi.clearAllMocks(); + send.mockResolvedValue({}); +}); + +describe("S3StorageAdapter configuration", () => { + it.each([ + ["bucket", { ...config, bucket: "" }], + ["accessKeyId", { ...config, accessKeyId: "" }], + ["secretAccessKey", { ...config, secretAccessKey: "" }], + ])("rejects from delete when %s is missing", async (_, partial) => { + await expect(S3StorageAdapter(partial).delete("photo.png")).rejects.toThrow( + "Missing S3 configuration", + ); + }); + + it("rejects from upload when configuration is incomplete", async () => { + await expect( + S3StorageAdapter({ ...config, bucket: "" }).upload({ + body: Buffer.from("x"), + key: "photo.png", + }), + ).rejects.toThrow("Missing S3 configuration"); + }); + + it("never constructs a client when configuration is incomplete", async () => { + await expect( + S3StorageAdapter({ ...config, accessKeyId: "" }).delete("photo.png"), + ).rejects.toThrow(); + expect(S3Client).not.toHaveBeenCalled(); + }); +}); + +describe("S3StorageAdapter client", () => { + it("passes region and credentials to the client", async () => { + await S3StorageAdapter({ ...config, region: "us-east-1" }).delete( + "photo.png", + ); + + expect(S3Client).toHaveBeenCalledWith({ + region: "us-east-1", + endpoint: undefined, + forcePathStyle: false, + credentials: { + accessKeyId: "AKIAEXAMPLE", + secretAccessKey: "secret", + }, + }); + }); + + it("defaults the region to auto", async () => { + await S3StorageAdapter(config).delete("photo.png"); + + expect(S3Client).toHaveBeenCalledWith( + expect.objectContaining({ region: "auto" }), + ); + }); + + it("enables path-style addressing when a custom endpoint is set", async () => { + await S3StorageAdapter({ + ...config, + endpoint: "https://account.r2.cloudflarestorage.com", + }).delete("photo.png"); + + expect(S3Client).toHaveBeenCalledWith( + expect.objectContaining({ + endpoint: "https://account.r2.cloudflarestorage.com", + forcePathStyle: true, + }), + ); + }); + + it("honors an explicit forcePathStyle over the endpoint default", async () => { + await S3StorageAdapter({ + ...config, + endpoint: "https://account.r2.cloudflarestorage.com", + forcePathStyle: false, + }).delete("photo.png"); + + expect(S3Client).toHaveBeenCalledWith( + expect.objectContaining({ forcePathStyle: false }), + ); + }); + + it("constructs the client lazily and reuses it across calls", async () => { + const adapter = S3StorageAdapter(config); + expect(S3Client).not.toHaveBeenCalled(); + + await adapter.delete("a.png"); + await adapter.delete("b.png"); + + expect(S3Client).toHaveBeenCalledTimes(1); + }); +}); + +describe("S3StorageAdapter.getUrl", () => { + it("uses publicUrl when set, stripping a trailing slash", () => { + const url = S3StorageAdapter({ + ...config, + publicUrl: "https://cdn.example.com/", + }).getUrl("photo.png"); + + expect(url).toBe("https://cdn.example.com/photo.png"); + }); + + it("uses the endpoint and bucket when no publicUrl is set", () => { + const url = S3StorageAdapter({ + ...config, + endpoint: "https://account.r2.cloudflarestorage.com/", + }).getUrl("photo.png"); + + expect(url).toBe( + "https://account.r2.cloudflarestorage.com/media/photo.png", + ); + }); + + it("prefers publicUrl over the endpoint", () => { + const url = S3StorageAdapter({ + ...config, + endpoint: "https://account.r2.cloudflarestorage.com", + publicUrl: "https://cdn.example.com", + }).getUrl("photo.png"); + + expect(url).toBe("https://cdn.example.com/photo.png"); + }); + + it("falls back to the regional AWS url", () => { + const url = S3StorageAdapter({ ...config, region: "eu-west-1" }).getUrl( + "photo.png", + ); + + expect(url).toBe("https://media.s3.eu-west-1.amazonaws.com/photo.png"); + }); + + it("does not construct a client", () => { + S3StorageAdapter(config).getUrl("photo.png"); + + expect(S3Client).not.toHaveBeenCalled(); + }); +}); + +describe("S3StorageAdapter.delete", () => { + it("sends a DeleteObjectCommand for the key", async () => { + await S3StorageAdapter(config).delete("photo.png"); + + expect(DeleteObjectCommand).toHaveBeenCalledWith({ + Bucket: "media", + Key: "photo.png", + }); + expect(PutObjectCommand).not.toHaveBeenCalled(); + expect(send).toHaveBeenCalledTimes(1); + }); + + it("propagates errors from the client", async () => { + const error = new Error("access denied"); + send.mockRejectedValue(error); + + await expect(S3StorageAdapter(config).delete("photo.png")).rejects.toBe( + error, + ); + }); +}); + +describe("S3StorageAdapter.upload", () => { + it("sends a PutObjectCommand and returns the key and url", async () => { + const body = Buffer.from("file-contents"); + + const result = await S3StorageAdapter(config).upload({ + body, + contentType: "image/png", + key: "photo.png", + }); + + expect(PutObjectCommand).toHaveBeenCalledWith({ + Bucket: "media", + Key: "photo.png", + Body: body, + ContentType: "image/png", + }); + expect(send).toHaveBeenCalledTimes(1); + expect(result).toEqual({ + key: "photo.png", + url: "https://media.s3.auto.amazonaws.com/photo.png", + }); + }); + + it("returns a publicUrl-based url when configured", async () => { + const result = await S3StorageAdapter({ + ...config, + publicUrl: "https://cdn.example.com", + }).upload({ body: Buffer.from("x"), key: "photo.png" }); + + expect(result.url).toBe("https://cdn.example.com/photo.png"); + }); + + it("propagates errors from the client", async () => { + const error = new Error("upload failed"); + send.mockRejectedValue(error); + + await expect( + S3StorageAdapter(config).upload({ + body: Buffer.from("x"), + key: "photo.png", + }), + ).rejects.toBe(error); + }); +}); diff --git a/packages/s3/tsconfig.json b/packages/s3/tsconfig.json index bb2a35364..17ad3f27c 100644 --- a/packages/s3/tsconfig.json +++ b/packages/s3/tsconfig.json @@ -16,5 +16,5 @@ } }, "exclude": ["node_modules"], - "include": ["src"] + "include": ["src", "vitest.config.ts"] } diff --git a/packages/s3/tsdown.config.ts b/packages/s3/tsdown.config.ts new file mode 100644 index 000000000..75d4d2d31 --- /dev/null +++ b/packages/s3/tsdown.config.ts @@ -0,0 +1,4 @@ +import { createTsdownConfig } from "@vitnode/config/tsdown"; +import { defineConfig } from "tsdown"; + +export default defineConfig(createTsdownConfig()); diff --git a/packages/s3/vitest.config.ts b/packages/s3/vitest.config.ts new file mode 100644 index 000000000..28e3aea5c --- /dev/null +++ b/packages/s3/vitest.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + environment: "node", + exclude: ["**/node_modules/**", "**/dist/**"], + }, +}); diff --git a/packages/supabase-storage/.npmignore b/packages/supabase-storage/.npmignore index 4acef1b9b..fa75313e8 100644 --- a/packages/supabase-storage/.npmignore +++ b/packages/supabase-storage/.npmignore @@ -2,5 +2,5 @@ /src /node_modules /tsconfig.json -/.swcrc +/tsdown.config.ts /eslint.config.mjs diff --git a/packages/supabase-storage/.swcrc b/packages/supabase-storage/.swcrc deleted file mode 100644 index 8f099dc7a..000000000 --- a/packages/supabase-storage/.swcrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://swc.rs/schema.json", - "exclude": ["\\.test\\.tsx?$"], - "minify": true, - "jsc": { - "baseUrl": "./", - "target": "esnext", - "paths": { - "@/*": ["./src/*"] - }, - "parser": { - "syntax": "typescript", - "tsx": true - }, - "transform": { - "react": { - "runtime": "automatic" - } - } - }, - "module": { - "type": "nodenext", - "strict": true, - "resolveFully": true - } -} diff --git a/packages/supabase-storage/package.json b/packages/supabase-storage/package.json index b5c96e9ca..f7fb1775d 100644 --- a/packages/supabase-storage/package.json +++ b/packages/supabase-storage/package.json @@ -24,8 +24,8 @@ } }, "scripts": { - "build:plugins": "tsc -p tsconfig.build.json && swc src -d dist --config-file .swcrc && tsc-alias -p tsconfig.build.json", - "dev:plugins": "concurrently \"tsc -w -p tsconfig.build.json --preserveWatchOutput\" \"swc src -d dist --config-file .swcrc -w\" \"tsc-alias -w -p tsconfig.build.json\"", + "build:plugins": "tsdown", + "dev:plugins": "tsdown --watch", "lint": "eslint .", "lint:fix": "eslint . --fix", "test": "vitest run", @@ -35,13 +35,10 @@ "@supabase/storage-js": "^2.0.0" }, "devDependencies": { - "@swc/cli": "^0.8.1", - "@swc/core": "^1.15.43", "@vitnode/config": "workspace:*", "@vitnode/core": "workspace:*", - "concurrently": "^10.0.3", "eslint": "^10.5.0", - "tsc-alias": "^1.8.17", + "tsdown": "^0.22.4", "typescript": "^6.0.3", "vitest": "^4.1.9" } diff --git a/packages/supabase-storage/src/index.test.ts b/packages/supabase-storage/src/index.test.ts new file mode 100644 index 000000000..b0fe26c13 --- /dev/null +++ b/packages/supabase-storage/src/index.test.ts @@ -0,0 +1,195 @@ +import { beforeEach, describe, expect, it, vi } from "vitest"; + +const { StorageClient, from, getPublicUrl, remove, upload } = vi.hoisted(() => { + const remove = vi.fn(); + const getPublicUrl = vi.fn(); + const upload = vi.fn(); + const from = vi.fn(() => ({ getPublicUrl, remove, upload })); + const StorageClient = vi.fn(function () { + return { from }; + }); + + return { StorageClient, from, getPublicUrl, remove, upload }; +}); + +vi.mock("@supabase/storage-js", () => ({ StorageClient })); + +import { SupabaseStorageAdapter } from "./index"; + +const config = { + bucket: "media", + secretKey: "sb_secret_123", + url: "https://project.supabase.co", +}; + +beforeEach(() => { + vi.clearAllMocks(); + remove.mockResolvedValue({ error: null }); + upload.mockResolvedValue({ error: null }); + getPublicUrl.mockReturnValue({ + data: { publicUrl: "https://project.supabase.co/public/media/photo.png" }, + }); +}); + +describe("SupabaseStorageAdapter configuration", () => { + it.each([ + ["bucket", { ...config, bucket: "" }], + ["secretKey", { ...config, secretKey: "" }], + ["url", { ...config, url: "" }], + ])("throws from getUrl when %s is missing", (_, partial) => { + expect(() => SupabaseStorageAdapter(partial).getUrl("photo.png")).toThrow( + "Missing Supabase Storage configuration", + ); + }); + + it("rejects from delete when configuration is incomplete", async () => { + await expect( + SupabaseStorageAdapter({ ...config, url: "" }).delete("photo.png"), + ).rejects.toThrow("Missing Supabase Storage configuration"); + }); + + it("rejects from upload when configuration is incomplete", async () => { + await expect( + SupabaseStorageAdapter({ ...config, secretKey: "" }).upload({ + body: Buffer.from("x"), + key: "photo.png", + }), + ).rejects.toThrow("Missing Supabase Storage configuration"); + }); + + it("never constructs a client when configuration is incomplete", () => { + expect(() => + SupabaseStorageAdapter({ ...config, bucket: "" }).getUrl("photo.png"), + ).toThrow(); + expect(StorageClient).not.toHaveBeenCalled(); + }); +}); + +describe("SupabaseStorageAdapter client", () => { + it("builds the storage endpoint and auth headers from config", () => { + SupabaseStorageAdapter(config).getUrl("photo.png"); + + expect(StorageClient).toHaveBeenCalledWith( + "https://project.supabase.co/storage/v1", + { + apikey: "sb_secret_123", + Authorization: "Bearer sb_secret_123", + }, + ); + }); + + it("strips a trailing slash from the url", () => { + SupabaseStorageAdapter({ + ...config, + url: "https://project.supabase.co/", + }).getUrl("photo.png"); + + expect(StorageClient).toHaveBeenCalledWith( + "https://project.supabase.co/storage/v1", + expect.anything(), + ); + }); + + it("constructs the client lazily and reuses it across calls", () => { + const adapter = SupabaseStorageAdapter(config); + expect(StorageClient).not.toHaveBeenCalled(); + + adapter.getUrl("a.png"); + adapter.getUrl("b.png"); + + expect(StorageClient).toHaveBeenCalledTimes(1); + }); + + it("isolates the client between adapter instances", () => { + SupabaseStorageAdapter(config).getUrl("a.png"); + SupabaseStorageAdapter(config).getUrl("b.png"); + + expect(StorageClient).toHaveBeenCalledTimes(2); + }); +}); + +describe("SupabaseStorageAdapter.getUrl", () => { + it("returns the public url for the key from the configured bucket", () => { + const url = SupabaseStorageAdapter(config).getUrl("photo.png"); + + expect(from).toHaveBeenCalledWith("media"); + expect(getPublicUrl).toHaveBeenCalledWith("photo.png"); + expect(url).toBe("https://project.supabase.co/public/media/photo.png"); + }); +}); + +describe("SupabaseStorageAdapter.delete", () => { + it("removes the key from the configured bucket", async () => { + await SupabaseStorageAdapter(config).delete("photo.png"); + + expect(from).toHaveBeenCalledWith("media"); + expect(remove).toHaveBeenCalledWith(["photo.png"]); + }); + + it("throws the error returned by the storage client", async () => { + const error = new Error("remove failed"); + remove.mockResolvedValue({ error }); + + await expect( + SupabaseStorageAdapter(config).delete("photo.png"), + ).rejects.toBe(error); + }); +}); + +describe("SupabaseStorageAdapter.upload", () => { + it("uploads with upsert and returns the key and public url", async () => { + const body = Buffer.from("file-contents"); + + const result = await SupabaseStorageAdapter(config).upload({ + body, + contentType: "image/png", + key: "photo.png", + }); + + expect(from).toHaveBeenCalledWith("media"); + expect(upload).toHaveBeenCalledWith("photo.png", body, { + contentType: "image/png", + upsert: true, + }); + expect(result).toEqual({ + key: "photo.png", + url: "https://project.supabase.co/public/media/photo.png", + }); + }); + + it("passes an undefined contentType through untouched", async () => { + await SupabaseStorageAdapter(config).upload({ + body: Buffer.from("x"), + key: "photo.png", + }); + + expect(upload).toHaveBeenCalledWith("photo.png", expect.any(Buffer), { + contentType: undefined, + upsert: true, + }); + }); + + it("throws the error returned by the storage client", async () => { + const error = new Error("upload failed"); + upload.mockResolvedValue({ error }); + + await expect( + SupabaseStorageAdapter(config).upload({ + body: Buffer.from("x"), + key: "photo.png", + }), + ).rejects.toBe(error); + }); + + it("does not build a public url when the upload fails", async () => { + upload.mockResolvedValue({ error: new Error("upload failed") }); + + await expect( + SupabaseStorageAdapter(config).upload({ + body: Buffer.from("x"), + key: "photo.png", + }), + ).rejects.toThrow(); + expect(getPublicUrl).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/supabase-storage/tsconfig.json b/packages/supabase-storage/tsconfig.json index bb2a35364..17ad3f27c 100644 --- a/packages/supabase-storage/tsconfig.json +++ b/packages/supabase-storage/tsconfig.json @@ -16,5 +16,5 @@ } }, "exclude": ["node_modules"], - "include": ["src"] + "include": ["src", "vitest.config.ts"] } diff --git a/packages/supabase-storage/tsdown.config.ts b/packages/supabase-storage/tsdown.config.ts new file mode 100644 index 000000000..75d4d2d31 --- /dev/null +++ b/packages/supabase-storage/tsdown.config.ts @@ -0,0 +1,4 @@ +import { createTsdownConfig } from "@vitnode/config/tsdown"; +import { defineConfig } from "tsdown"; + +export default defineConfig(createTsdownConfig()); diff --git a/packages/supabase-storage/vitest.config.ts b/packages/supabase-storage/vitest.config.ts new file mode 100644 index 000000000..28e3aea5c --- /dev/null +++ b/packages/supabase-storage/vitest.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + environment: "node", + exclude: ["**/node_modules/**", "**/dist/**"], + }, +}); diff --git a/packages/vitnode/.npmignore b/packages/vitnode/.npmignore index 6e69b6a25..9c97d1909 100644 --- a/packages/vitnode/.npmignore +++ b/packages/vitnode/.npmignore @@ -8,7 +8,7 @@ /node_modules /.turbo /tsconfig.json -/.swcrc +/tsdown.config.ts /components.json /global.d.ts /tsup.config.ts diff --git a/packages/vitnode/.swcrc b/packages/vitnode/.swcrc deleted file mode 100644 index 8f099dc7a..000000000 --- a/packages/vitnode/.swcrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://swc.rs/schema.json", - "exclude": ["\\.test\\.tsx?$"], - "minify": true, - "jsc": { - "baseUrl": "./", - "target": "esnext", - "paths": { - "@/*": ["./src/*"] - }, - "parser": { - "syntax": "typescript", - "tsx": true - }, - "transform": { - "react": { - "runtime": "automatic" - } - } - }, - "module": { - "type": "nodenext", - "strict": true, - "resolveFully": true - } -} diff --git a/packages/vitnode/package.json b/packages/vitnode/package.json index 95dcddb18..df22e0f09 100644 --- a/packages/vitnode/package.json +++ b/packages/vitnode/package.json @@ -20,8 +20,6 @@ ], "peerDependencies": { "@hono/zod-openapi": "^1.0.x", - "@swc/cli": "0.7.x", - "@swc/core": "1.x.x", "@types/react": "^19.1.x", "@types/react-dom": "^19.1.x", "drizzle-kit": "^0.31.x", @@ -33,6 +31,7 @@ "react": "^19.2.x", "react-dom": "^19.2.x", "react-hook-form": "^7.x.x", + "tsdown": "^0.22.4", "typescript": "^5.9.x", "zod": "^4.x.x" }, @@ -41,8 +40,6 @@ "@hono/zod-validator": "^0.8.0", "@hookform/resolvers": "^5.4.0", "@react-email/ui": "^6.6.6", - "@swc/cli": "^0.8.1", - "@swc/core": "^1.15.43", "@testing-library/dom": "^10.4.1", "@testing-library/react": "^16.3.2", "@types/node": "^26.0.1", @@ -68,7 +65,7 @@ "react-hook-form": "^7.80.0", "sonner": "^2.0.7", "tailwindcss": "^4.3.1", - "tsc-alias": "^1.8.17", + "tsdown": "^0.22.4", "tsup": "^8.5.1", "tsx": "^4.22.4", "tw-animate-css": "^1.4.0", @@ -98,8 +95,8 @@ "scripts": { "build:scripts": "tsup", "start:scripts": "node dist/scripts/scripts.js init", - "build:plugins": "tsc -p tsconfig.build.json && swc src -d dist --config-file .swcrc && tsc-alias -p tsconfig.build.json", - "dev": "concurrently \"tsc -w -p tsconfig.build.json --preserveWatchOutput\" \"swc src -d dist --config-file .swcrc -w\" \"tsc-alias -w -p tsconfig.build.json\" \"node dist/scripts/scripts.js plugin --w\"", + "build:plugins": "tsdown", + "dev": "concurrently \"tsdown --watch\" \"node dist/scripts/scripts.js plugin --w\"", "dev:email": "email dev --dir src/emails", "test": "vitest run", "test:watch": "vitest", diff --git a/packages/vitnode/src/components/table/content.tsx b/packages/vitnode/src/components/table/content.tsx index 493654a37..990a6b3ed 100644 --- a/packages/vitnode/src/components/table/content.tsx +++ b/packages/vitnode/src/components/table/content.tsx @@ -64,12 +64,15 @@ export function ContentDataTable({ return ( - {isOrderable ? ( + {isOrderable && column.accessorKey ? ( {column.header} diff --git a/packages/vitnode/src/components/table/data-table.tsx b/packages/vitnode/src/components/table/data-table.tsx index a167884f6..e73883c18 100644 --- a/packages/vitnode/src/components/table/data-table.tsx +++ b/packages/vitnode/src/components/table/data-table.tsx @@ -47,8 +47,7 @@ interface DisplayColumnDef extends ColumnDefBase { } export type ColumnDef = - | AccessorColumnDef - | DisplayColumnDef; + AccessorColumnDef | DisplayColumnDef; export const DataTableSkeleton = ({ columns }: { columns: number }) => { const headerIds = React.useMemo( diff --git a/packages/vitnode/tsdown.config.ts b/packages/vitnode/tsdown.config.ts new file mode 100644 index 000000000..75d4d2d31 --- /dev/null +++ b/packages/vitnode/tsdown.config.ts @@ -0,0 +1,4 @@ +import { createTsdownConfig } from "@vitnode/config/tsdown"; +import { defineConfig } from "tsdown"; + +export default defineConfig(createTsdownConfig()); diff --git a/plugins/blog/.npmignore b/plugins/blog/.npmignore index 76da93b80..c82be2562 100644 --- a/plugins/blog/.npmignore +++ b/plugins/blog/.npmignore @@ -7,7 +7,7 @@ /node_modules /.turbo /tsconfig.json -/.swcrc +/tsdown.config.ts /components.json /global.d.ts /tsup.config.ts diff --git a/plugins/blog/.swcrc b/plugins/blog/.swcrc deleted file mode 100644 index 8f099dc7a..000000000 --- a/plugins/blog/.swcrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://swc.rs/schema.json", - "exclude": ["\\.test\\.tsx?$"], - "minify": true, - "jsc": { - "baseUrl": "./", - "target": "esnext", - "paths": { - "@/*": ["./src/*"] - }, - "parser": { - "syntax": "typescript", - "tsx": true - }, - "transform": { - "react": { - "runtime": "automatic" - } - } - }, - "module": { - "type": "nodenext", - "strict": true, - "resolveFully": true - } -} diff --git a/plugins/blog/package.json b/plugins/blog/package.json index bffe3de1c..c54720ca7 100644 --- a/plugins/blog/package.json +++ b/plugins/blog/package.json @@ -27,8 +27,8 @@ } }, "scripts": { - "build:plugins": "tsc -p tsconfig.build.json && swc src -d dist --config-file .swcrc && tsc-alias -p tsconfig.build.json", - "dev": "concurrently \"tsc -w -p tsconfig.build.json --preserveWatchOutput\" \"swc src -d dist --config-file .swcrc -w\" \"tsc-alias -w -p tsconfig.build.json\" \"vitnode plugin --w\"", + "build:plugins": "tsdown", + "dev": "concurrently \"tsdown --watch\" \"vitnode plugin --w\"", "dev:email": "email dev --dir src/emails", "lint": "eslint .", "lint:fix": "eslint . --fix" @@ -51,14 +51,12 @@ }, "devDependencies": { "@react-email/ui": "^6.6.6", - "@swc/cli": "^0.8.1", - "@swc/core": "^1.15.43", "@types/react": "^19.2.17", "@types/react-dom": "^19.2.3", "@vitnode/config": "workspace:*", "concurrently": "^10.0.3", "eslint": "^10.5.0", - "tsc-alias": "^1.8.17", + "tsdown": "^0.22.4", "typescript": "^6.0.3" } } diff --git a/plugins/blog/tsdown.config.ts b/plugins/blog/tsdown.config.ts new file mode 100644 index 000000000..75d4d2d31 --- /dev/null +++ b/plugins/blog/tsdown.config.ts @@ -0,0 +1,4 @@ +import { createTsdownConfig } from "@vitnode/config/tsdown"; +import { defineConfig } from "tsdown"; + +export default defineConfig(createTsdownConfig()); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3f3fafdf9..028a2026b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,7 +146,7 @@ importers: version: 16.10.7(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.22.0(react@19.2.7))(next@16.3.0-preview.5(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3) fumadocs-mdx: specifier: ^15.0.12 - version: 15.0.13(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.10.7(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.22.0(react@19.2.7))(next@16.3.0-preview.5(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(next@16.3.0-preview.5(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)(rolldown@1.1.3)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + version: 15.0.13(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.10.7(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.22.0(react@19.2.7))(next@16.3.0-preview.5(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(next@16.3.0-preview.5(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)(rolldown@1.1.5)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) fumadocs-ui: specifier: ^16.10.5 version: 16.10.7(@tailwindcss/oxide@4.3.2)(@types/mdx@2.0.14)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(fumadocs-core@16.10.7(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.22.0(react@19.2.7))(next@16.3.0-preview.5(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(next@16.3.0-preview.5(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(tailwindcss@4.3.2) @@ -293,9 +293,15 @@ importers: specifier: ^8.62.0 version: 8.62.0(eslint@10.6.0(jiti@2.7.0))(typescript@6.0.3) devDependencies: + '@types/node': + specifier: ^26.1.1 + version: 26.1.1 eslint: specifier: ^10.5.0 version: 10.6.0(jiti@2.7.0) + tsdown: + specifier: ^0.22.4 + version: 0.22.4(oxc-resolver@11.21.3)(tsx@4.22.4)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -343,27 +349,18 @@ importers: specifier: ^4.5.0 version: 4.5.0 devDependencies: - '@swc/cli': - specifier: ^0.8.1 - version: 0.8.1(@swc/core@1.15.43)(chokidar@5.0.0) - '@swc/core': - specifier: ^1.15.43 - version: 1.15.43 '@vitnode/config': specifier: workspace:* version: link:../config '@vitnode/core': specifier: workspace:* version: link:../vitnode - concurrently: - specifier: ^10.0.3 - version: 10.0.3 eslint: specifier: ^10.5.0 version: 10.6.0(jiti@2.7.0) - tsc-alias: - specifier: ^1.8.17 - version: 1.8.17 + tsdown: + specifier: ^0.22.4 + version: 0.22.4(oxc-resolver@11.21.3)(tsx@4.22.4)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -374,12 +371,6 @@ importers: specifier: ^9.0.1 version: 9.0.1 devDependencies: - '@swc/cli': - specifier: ^0.8.1 - version: 0.8.1(@swc/core@1.15.43)(chokidar@5.0.0) - '@swc/core': - specifier: ^1.15.43 - version: 1.15.43 '@types/nodemailer': specifier: ^8.0.1 version: 8.0.1 @@ -389,15 +380,12 @@ importers: '@vitnode/core': specifier: workspace:* version: link:../vitnode - concurrently: - specifier: ^10.0.3 - version: 10.0.3 eslint: specifier: ^10.5.0 version: 10.6.0(jiti@2.7.0) - tsc-alias: - specifier: ^1.8.17 - version: 1.8.17 + tsdown: + specifier: ^0.22.4 + version: 0.22.4(oxc-resolver@11.21.3)(tsx@4.22.4)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -408,27 +396,18 @@ importers: specifier: ^6.14.0 version: 6.16.0(@react-email/render@2.0.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7)) devDependencies: - '@swc/cli': - specifier: ^0.8.1 - version: 0.8.1(@swc/core@1.15.43)(chokidar@5.0.0) - '@swc/core': - specifier: ^1.15.43 - version: 1.15.43 '@vitnode/config': specifier: workspace:* version: link:../config '@vitnode/core': specifier: workspace:* version: link:../vitnode - concurrently: - specifier: ^10.0.3 - version: 10.0.3 eslint: specifier: ^10.5.0 version: 10.6.0(jiti@2.7.0) - tsc-alias: - specifier: ^1.8.17 - version: 1.8.17 + tsdown: + specifier: ^0.22.4 + version: 0.22.4(oxc-resolver@11.21.3)(tsx@4.22.4)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -439,33 +418,24 @@ importers: specifier: ^3.0.0 version: 3.1079.0 devDependencies: - '@swc/cli': - specifier: ^0.8.1 - version: 0.8.1(@swc/core@1.15.43)(chokidar@5.0.0) - '@swc/core': - specifier: ^1.15.43 - version: 1.15.43 '@vitnode/config': specifier: workspace:* version: link:../config '@vitnode/core': specifier: workspace:* version: link:../vitnode - concurrently: - specifier: ^10.0.3 - version: 10.0.3 eslint: specifier: ^10.5.0 version: 10.6.0(jiti@2.7.0) - tsc-alias: - specifier: ^1.8.17 - version: 1.8.17 + tsdown: + specifier: ^0.22.4 + version: 0.22.4(oxc-resolver@11.21.3)(tsx@4.22.4)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 vitest: specifier: ^4.1.9 - version: 4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.1)(@vitest/coverage-v8@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + version: 4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.1)(@vitest/coverage-v8@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) packages/supabase-storage: dependencies: @@ -473,33 +443,24 @@ importers: specifier: ^2.0.0 version: 2.110.0 devDependencies: - '@swc/cli': - specifier: ^0.8.1 - version: 0.8.1(@swc/core@1.15.43)(chokidar@5.0.0) - '@swc/core': - specifier: ^1.15.43 - version: 1.15.43 '@vitnode/config': specifier: workspace:* version: link:../config '@vitnode/core': specifier: workspace:* version: link:../vitnode - concurrently: - specifier: ^10.0.3 - version: 10.0.3 eslint: specifier: ^10.5.0 version: 10.6.0(jiti@2.7.0) - tsc-alias: - specifier: ^1.8.17 - version: 1.8.17 + tsdown: + specifier: ^0.22.4 + version: 0.22.4(oxc-resolver@11.21.3)(tsx@4.22.4)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 vitest: specifier: ^4.1.9 - version: 4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.1)(@vitest/coverage-v8@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + version: 4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.1)(@vitest/coverage-v8@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) packages/vitnode: dependencies: @@ -577,7 +538,7 @@ importers: version: 4.12.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) react-scan: specifier: ^0.5.7 - version: 0.5.7(@opentelemetry/core@2.8.0(@opentelemetry/api@1.9.1))(esbuild@0.27.7)(eslint@10.6.0(jiti@2.7.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rolldown@1.1.3)(rollup@4.62.2)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + version: 0.5.7(@opentelemetry/core@2.8.0(@opentelemetry/api@1.9.1))(esbuild@0.27.7)(eslint@10.6.0(jiti@2.7.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rolldown@1.1.5)(rollup@4.62.2)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) recharts: specifier: 3.9.0 version: 3.9.0(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react-is@17.0.2)(react@19.2.7)(redux@5.0.1) @@ -612,12 +573,6 @@ importers: '@react-email/ui': specifier: ^6.6.6 version: 6.6.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@swc/cli': - specifier: ^0.8.1 - version: 0.8.1(@swc/core@1.15.43)(chokidar@5.0.0) - '@swc/core': - specifier: ^1.15.43 - version: 1.15.43 '@testing-library/dom': specifier: ^10.4.1 version: 10.4.1 @@ -693,9 +648,9 @@ importers: tailwindcss: specifier: ^4.3.1 version: 4.3.2 - tsc-alias: - specifier: ^1.8.17 - version: 1.8.17 + tsdown: + specifier: ^0.22.4 + version: 0.22.4(oxc-resolver@11.21.3)(tsx@4.22.4)(typescript@6.0.3) tsup: specifier: ^8.5.1 version: 8.5.1(@swc/core@1.15.43)(jiti@2.7.0)(postcss@8.5.16)(tsx@4.22.4)(typescript@6.0.3)(yaml@2.9.0) @@ -766,12 +721,6 @@ importers: '@react-email/ui': specifier: ^6.6.6 version: 6.6.6(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@swc/cli': - specifier: ^0.8.1 - version: 0.8.1(@swc/core@1.15.43)(chokidar@5.0.0) - '@swc/core': - specifier: ^1.15.43 - version: 1.15.43 '@types/react': specifier: ^19.2.17 version: 19.2.17 @@ -787,9 +736,9 @@ importers: eslint: specifier: ^10.5.0 version: 10.6.0(jiti@2.7.0) - tsc-alias: - specifier: ^1.8.17 - version: 1.8.17 + tsdown: + specifier: ^0.22.4 + version: 0.22.4(oxc-resolver@11.21.3)(tsx@4.22.4)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -1076,9 +1025,6 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} - '@borewit/text-codec@0.2.2': - resolution: {integrity: sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==} - '@bprogress/core@1.3.4': resolution: {integrity: sha512-q/AqpurI/1uJzOrQROuZWixn/+ARekh+uvJGwLCP6HQ/EqAX4SkvNf618tSBxL4NysC0MwqAppb/mRw6Tzi61w==} @@ -2623,9 +2569,6 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@keyv/serialize@1.1.1': - resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==} - '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} @@ -2639,119 +2582,6 @@ packages: '@cfworker/json-schema': optional: true - '@napi-rs/nice-android-arm-eabi@1.1.1': - resolution: {integrity: sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - - '@napi-rs/nice-android-arm64@1.1.1': - resolution: {integrity: sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - - '@napi-rs/nice-darwin-arm64@1.1.1': - resolution: {integrity: sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@napi-rs/nice-darwin-x64@1.1.1': - resolution: {integrity: sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@napi-rs/nice-freebsd-x64@1.1.1': - resolution: {integrity: sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - - '@napi-rs/nice-linux-arm-gnueabihf@1.1.1': - resolution: {integrity: sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - - '@napi-rs/nice-linux-arm64-gnu@1.1.1': - resolution: {integrity: sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@napi-rs/nice-linux-arm64-musl@1.1.1': - resolution: {integrity: sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@napi-rs/nice-linux-ppc64-gnu@1.1.1': - resolution: {integrity: sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==} - engines: {node: '>= 10'} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@napi-rs/nice-linux-riscv64-gnu@1.1.1': - resolution: {integrity: sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==} - engines: {node: '>= 10'} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@napi-rs/nice-linux-s390x-gnu@1.1.1': - resolution: {integrity: sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==} - engines: {node: '>= 10'} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@napi-rs/nice-linux-x64-gnu@1.1.1': - resolution: {integrity: sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@napi-rs/nice-linux-x64-musl@1.1.1': - resolution: {integrity: sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - libc: [musl] - - '@napi-rs/nice-openharmony-arm64@1.1.1': - resolution: {integrity: sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [openharmony] - - '@napi-rs/nice-win32-arm64-msvc@1.1.1': - resolution: {integrity: sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@napi-rs/nice-win32-ia32-msvc@1.1.1': - resolution: {integrity: sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - - '@napi-rs/nice-win32-x64-msvc@1.1.1': - resolution: {integrity: sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@napi-rs/nice@1.1.1': - resolution: {integrity: sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==} - engines: {node: '>= 10'} - '@napi-rs/wasm-runtime@1.1.6': resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==} peerDependencies: @@ -3183,8 +3013,8 @@ packages: '@oxc-project/types@0.135.0': resolution: {integrity: sha512-wR+xRdFkUBMvcAjBJ2q2kcZM6d+DKu2NgoOyxZgYwZdLhmiv6+rnO8PZ/P68kMiZtIKm+pW7zyEJ4kSOs0vo+Q==} - '@oxc-project/types@0.137.0': - resolution: {integrity: sha512-WT+Gb24i8hmvo85AIv2oEYouEXkRlKAlT9WaCa3TfLgNCN+GhrJOGZuIlMouAh38Qe4QOx26eUOVsq70qXrywA==} + '@oxc-project/types@0.139.0': + resolution: {integrity: sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==} '@oxc-resolver/binding-android-arm-eabi@11.21.3': resolution: {integrity: sha512-eNU11A2WNizh04v3uyaJCootrHIaS0B9aHYXvAvVnPNk4xYSjMUjHnhQ6dewPN2MRYDskV85d1N0Aw0WNWhcyg==} @@ -3519,6 +3349,9 @@ packages: peerDependencies: preact: '>= 10.25.0 || >=11.0.0-0' + '@quansync/fs@1.0.0': + resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} + '@radix-ui/number@1.1.2': resolution: {integrity: sha512-ceTwaxc4I5IOi97DgCotl3pqiyRGvffcc0oOsE2dQYaJOFIDsDt4VWG6xEbg1QePv9QWausCEIppud/tJ1wNig==} @@ -3900,97 +3733,97 @@ packages: react-redux: optional: true - '@rolldown/binding-android-arm64@1.1.3': - resolution: {integrity: sha512-DT6Z3PhvioeHMvxo+xHc3KtqggrI7CCTXCmC2h/5zUlp5jVitv7XEy+9q5/7v8IolhlioawpMo8Kg0EEBy7J0g==} + '@rolldown/binding-android-arm64@1.1.5': + resolution: {integrity: sha512-lZg8fqIv2v7FF237bwMgzGZEJvGL79/s5knJ/i6FmsGF4XXlzccZ4jb+TrFIxtSSxFtIpdsgrPZeMk1I9AFcyQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.1.3': - resolution: {integrity: sha512-0NwgwsjM7LrsuVnXMK3koTpagBNOhloc/BNjKqZjv4V5zI5r13qx69uVhRx+o5Z0yy4Hzq+lpy7TAgUG/ocvrw==} + '@rolldown/binding-darwin-arm64@1.1.5': + resolution: {integrity: sha512-51Bnx9pNiMRKSUNtBfySkNJ9vMU9Hh3I1ozDd6gyPPYzaXCfnptUcEZxXGYFn+ul2dtcMUiqGR1Yai2K10uoTw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.1.3': - resolution: {integrity: sha512-YtiBp4disu6V560loT6PjMdiRaWmVvDNrUunAalbiFx2ggeJwxdAsgZMcoGP17uyAsTwAj5V1niksxlHnVQ1Sw==} + '@rolldown/binding-darwin-x64@1.1.5': + resolution: {integrity: sha512-Tm+gbfC0aHu1tBA/JvKQh32S0K6YgCHkiAF4/W6xX0K0RmNuc94VeK419dJoE65R5aRxmo+noZQSWrAMF6yb6g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.1.3': - resolution: {integrity: sha512-yD3EkEdXk2LypPxnf/kSZHirarsI8gcPzc62SukhR9VJTyvV+F9Q/GxWNuCojc7sXyuVC4DxRGhdDK4X8VSsbw==} + '@rolldown/binding-freebsd-x64@1.1.5': + resolution: {integrity: sha512-JMzDKCCXq93YccG5gz3hvOs1oXRKAf0XYpfOS88e+wZrC8Iugj6j68867vrYZkvpDDpKn/KoKORThmchMpF6TA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.1.3': - resolution: {integrity: sha512-c+8vieQbsD7HNAHKIA34w0GJ9FedFFuJGD+7E6vz7Q3uqAIugL5p45fhlsj4UaAsHpcmlqugBWMhA0/j7o0sIg==} + '@rolldown/binding-linux-arm-gnueabihf@1.1.5': + resolution: {integrity: sha512-uML21j2K5TfPGutKxub+M+nLjZIrWjXQ5Grx4lCe/nimTj9B4L63zHpjXLl4y0L3mcm2htEQIb06oCG/szerNw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.1.3': - resolution: {integrity: sha512-50jD0uUwLvur7Zz9LHz17kaAdTPjn5wN93hEgjvmYFRZwiR7ZJYovTd5ipyWJDAnXKvZ+wgc+/Ika6dwSF5OcA==} + '@rolldown/binding-linux-arm64-gnu@1.1.5': + resolution: {integrity: sha512-navSiuTMogvnQoZoM/v+l3ZWo50/NTwSHSzheABx/RCnmUPaKwq9qSo4Br2OYRs21+Fz8uFqITZM3H4opOB0/Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.1.3': - resolution: {integrity: sha512-BO9+oPL8K9poZJBfYPsXNtYjPE5uM3qeehT3aFcW4LITOl+iSqhp0abzjR2nWBUNjIZeKXjAEWBZ64WjNoHd6w==} + '@rolldown/binding-linux-arm64-musl@1.1.5': + resolution: {integrity: sha512-lAryqH7IteztmCXQXk0etKj4wBQ7Gx5S6LjKhsgp9zb8I5bsuvU/2llH1hDQcjsFeqIsovMVN339/8pUDDBXxA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.1.3': - resolution: {integrity: sha512-f3VpLB1vQ0Eo6ecr/6cekLnvYMFF4YBFoVGkfkvPLq1bAkbAwHYQPZKoAmG6OJyTcxxoC+AvezGx/S1obNC0Mw==} + '@rolldown/binding-linux-ppc64-gnu@1.1.5': + resolution: {integrity: sha512-fsK/sNBnxzBlL4O1JNrZakVQxPspqpED5dLtNsZS9oOKmtSpdNIzxH2kkol5HYTWJN47sE20ztMJPxfZ89qGOg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.1.3': - resolution: {integrity: sha512-AmurZ26Pqx/RI9N1gzEOCklkKXl927yjfXWUUS0O7Puh8ARM/Ob8qfrD3qnWksScdw6cSrW5PSHE9DyLu7+PtA==} + '@rolldown/binding-linux-s390x-gnu@1.1.5': + resolution: {integrity: sha512-gLYb4BIadlfTOYT5gO503n8zQjXflgzpD0FcyKh0Mzx3rqCZKnHoJWV9xe1KXUJ5lx2JfcSHr/mhzS0PC/McAA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.1.3': - resolution: {integrity: sha512-JJpqs8bRGITDOdbkNKnlojzBabbOHrqjSvDr0IVsZObE1lBcPjxItUEY9eWIDbxaJ3cGrXPWGfGkIxFijg/URg==} + '@rolldown/binding-linux-x64-gnu@1.1.5': + resolution: {integrity: sha512-FjcpEKUyJygHgs1o50VYNvkt5+7Le/VEdYt0AkRpkL33MnyQfwr8l5mXwMmfmTbyMPr5vJLC+8/Gd9gXnwU1QQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.1.3': - resolution: {integrity: sha512-rSJcdjPxzA/by/6/rYs+v+bXU7UjvnbUWz8MJb6kh6+knqB1dCrtHg0uu7C/4haqJvqdkYHQ5IGn+tCH9GLW/g==} + '@rolldown/binding-linux-x64-musl@1.1.5': + resolution: {integrity: sha512-Me+PfPI2TMeOQk0gYWfLQZtTktrmzbr8cDboqX83XKc7UrgAi55gF+2dUkWdxd19n55Essp2yeca+O9N5rBxHg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.1.3': - resolution: {integrity: sha512-hQ3/PYkDJICgevvyNcVrihVeqq7k1Pp3VZ9lY+dauAYUJKO+auqApvANhvR1An9BhmqYKvW2Mu1F9u4DXSMLxQ==} + '@rolldown/binding-openharmony-arm64@1.1.5': + resolution: {integrity: sha512-yc5WrLzXks6zCQfn9Oxr8pORKyl/pF+QjHmW/Qx3qu0oyrrNC+y2JLTU1E2rcWYAmzlnqngWXHQjy51VzW70Vw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.1.3': - resolution: {integrity: sha512-Elcv/BtML9lXrV6JuKITc/grN2kYV9gjsQpW8Jfw4ioK0TOkjBjye0nnyqQNy9STNaI20lXNaQBRrD5gSgR0Yg==} + '@rolldown/binding-wasm32-wasi@1.1.5': + resolution: {integrity: sha512-VbQGPX2b4r48TAMIM2cjgluIM1HYutm4pcTEJsle7iEP7sB1dFqtPLBVbdLAZCxy1txCcPxf4QFf4v8uvltPqA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.1.3': - resolution: {integrity: sha512-2DrEfhluH9yhiaFApmsjsjwrSYbNcY1oFTzYSP1a535jDbV98zCFanA/96TBUd0iDFcxGmw9QRExwGCXz3U+/g==} + '@rolldown/binding-win32-arm64-msvc@1.1.5': + resolution: {integrity: sha512-gHv82k63z4qpV5+Q1y/12KrK0ltWBukVDI8nZcbT7Tt/ZlOIVwppazneq0F93oDxTo3IgAMEDIoQh3E2n6mVsw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.1.3': - resolution: {integrity: sha512-OL4OMk7UPXOeVGGd3qo5zJyPIljf4AFgk5QAkPPS+OoLuOOozhuaQGC18MxVTnw/06q93gShAJzlwnSCY9YtqA==} + '@rolldown/binding-win32-x64-msvc@1.1.5': + resolution: {integrity: sha512-tTZuDBPw85tEN5PQi1pnEBzDy0Z49HtScLAbD5t6hyeU92A95pRWaSMw1GZZi/RwgSgUIl0xrSlXIT/9QzvYSA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -4230,10 +4063,6 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@sindresorhus/is@7.2.0': - resolution: {integrity: sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==} - engines: {node: '>=18'} - '@sindresorhus/merge-streams@4.0.0': resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} @@ -4278,17 +4107,6 @@ packages: resolution: {integrity: sha512-71+gU3HrhiylAhftY6FmO5PPdcsScnVcS766CVD+vTYK9qTDLbrx8FhgBYbqGm3iV/wkTfzrNJfjGsMeFRkJRQ==} engines: {node: '>=22.0.0'} - '@swc/cli@0.8.1': - resolution: {integrity: sha512-L+ACCGHCiS0VqHVep/INLVnvRvJ2XooQFLZq4L8snhxw1jsqz+XRcY313UsyPVturPPE1shW3jic7rt3qEQTSQ==} - engines: {node: '>= 20.19.0'} - hasBin: true - peerDependencies: - '@swc/core': ^1.2.66 - chokidar: ^5.0.0 - peerDependenciesMeta: - chokidar: - optional: true - '@swc/core-darwin-arm64@1.15.43': resolution: {integrity: sha512-v1aVuvXdo/BHxJzco9V2xpHrvwWmhfS8t6gziY5wJxd+Z2h8AeJRnAwPD8itCDaGXVBwJ/CaKfxEzTkG0Va0OA==} engines: {node: '>=10'} @@ -4658,13 +4476,6 @@ packages: '@tiptap/starter-kit@3.27.1': resolution: {integrity: sha512-vfxRsqW8rCc0k4pzo0ilU3wobVi2wqVj88VZI2SlgZlNnUAkrDGDIAph7CTa9k9fshV+O1ivpEgPC5yC046jow==} - '@tokenizer/inflate@0.4.1': - resolution: {integrity: sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==} - engines: {node: '>=18'} - - '@tokenizer/token@0.3.0': - resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - '@ts-morph/common@0.27.0': resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} @@ -4755,9 +4566,6 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - '@types/http-cache-semantics@4.2.0': - resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} - '@types/js-cookie@3.0.6': resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==} @@ -4779,6 +4587,9 @@ packages: '@types/node@26.0.1': resolution: {integrity: sha512-fc3KiUoBt6kie0N9bIW3E47vZsuaMf0PM2AaUpLCLT0s/LvX1nxAim6Fc049cNxODPpGm6qRAuUOB86SkRuPQw==} + '@types/node@26.1.1': + resolution: {integrity: sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==} + '@types/nodemailer@8.0.1': resolution: {integrity: sha512-PxpaInm8V1JQDd4j0ds5HfvWQk8JupS1C0Picb96QJsrrRDjBH+DlK7L4ZdNSqNULhiZRQHc40nLVShaGxXAMw==} @@ -4921,48 +4732,133 @@ packages: '@vitest/utils@4.1.9': resolution: {integrity: sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==} - '@xhmikosr/archive-type@8.1.0': - resolution: {integrity: sha512-EXOjEbnZFE5c/nFMf4FOrEURVanzHpnkPYmnmr78u02/8hAhE0FMq8p9TK1IM0/bFr5VcyBUY0gfLm8f7dKy+Q==} - engines: {node: '>=20'} + '@xobotyi/scrollbar-width@1.9.5': + resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} - '@xhmikosr/bin-check@8.2.2': - resolution: {integrity: sha512-Y/b0YJoCDda6DCFj8ikks06GrEWDsz/3vdgGLeectV9p+YJc76YugRjtqFdd2KTf2rnEPjalL2hcXP+x2KcSLQ==} - engines: {node: '>=20'} + '@yuku-codegen/binding-darwin-arm64@0.5.46': + resolution: {integrity: sha512-Kb3ULHGCN3lCfFj8L6YzSeIg1rcpXRuzbDc47KYBdK9R/8YW9HWKWfHji+WF/91QiCDb7u0VMhHgB/dPjpT2qg==} + cpu: [arm64] + os: [darwin] - '@xhmikosr/bin-wrapper@14.4.0': - resolution: {integrity: sha512-Qp4YGNOIBnNEXoyM8nc0L92frBtrerzRpE/zZ4EMU9i37tGGfiuKyQTdHdVUcj7z1ZMfg2hAk+i5gMbWGc5cdw==} - engines: {node: '>=20'} + '@yuku-codegen/binding-darwin-x64@0.5.46': + resolution: {integrity: sha512-5yJZFGJOU2ijYcD1gr7ooIlzqOTArE0YPNWEC2LlLGjqcYUpC3wPU+FVtDO1xLW60oJQlG2T54pbYsuXCsTdMA==} + cpu: [x64] + os: [darwin] - '@xhmikosr/decompress-tar@9.0.1': - resolution: {integrity: sha512-4AkVR1SoqTxYY22IRRYKDeLirPIDGqMqYsqgjKYuwhgRcBb+yDP4t5Xph33UCzL/nahK/aADmlMEjTNstbX7kw==} - engines: {node: '>=20'} + '@yuku-codegen/binding-freebsd-x64@0.5.46': + resolution: {integrity: sha512-5K6x+Ll4qcfoU1lfDvkpK7i3r8a+bJYsE3zj8SnRoAHSu21au53E4c3XE1u8KlHo8JIiMsT6W8ZyXM3QKdSymQ==} + cpu: [x64] + os: [freebsd] - '@xhmikosr/decompress-tarbz2@9.0.2': - resolution: {integrity: sha512-m0DvZhE7remCxtS8xY2iHSjivT4v+iyYDdfNoeuu8Nm+7g8xEXdLKSyDEicu4u1ImJLLGEfjMuTLera/F6UGWw==} - engines: {node: '>=20'} + '@yuku-codegen/binding-linux-arm-gnu@0.5.46': + resolution: {integrity: sha512-biSavMngiyj1kk0BPvAAHm2y6Xw87cXzjfZtPHA0zETz0CwZLz8NLxe3K8ZroEJb1jZUCMhV6SnMR86gB5s8bA==} + cpu: [arm] + os: [linux] + libc: [glibc] - '@xhmikosr/decompress-targz@9.0.1': - resolution: {integrity: sha512-1JXu2b6yrpm5EuBoOzMU57B4qrHXJKWQQ7LlMynNEiz85mEjDciO3ayf//GXaTLLCEKiHjWlU3q3THjgf7uODA==} - engines: {node: '>=20'} + '@yuku-codegen/binding-linux-arm-musl@0.5.46': + resolution: {integrity: sha512-1Tuduchx+rt3xeWnZtLB430UYjP6mY2xhG3lw72q1YrFl9fHEvwzKaA9Uuiq3BkMhz5x5urIpfLV8XAf20Nqgw==} + cpu: [arm] + os: [linux] + libc: [musl] - '@xhmikosr/decompress-unzip@8.2.1': - resolution: {integrity: sha512-2MS94QnmXQwjkKN8WyFiu1sU7J3rcWJcMze4kRYsX7tN+CXpUGECgkh4YSOhujpkWPuVlFudIziJHO/TxOqkQQ==} - engines: {node: '>=20'} + '@yuku-codegen/binding-linux-arm64-gnu@0.5.46': + resolution: {integrity: sha512-++sIi/yitZHeB3Xav8P88Vh+E53Ej/959FUfPdTElV4FNAwdRsEtxoNw37mASy2gkiwOhEjIIy986FXaKrYTdg==} + cpu: [arm64] + os: [linux] + libc: [glibc] - '@xhmikosr/decompress@11.1.3': - resolution: {integrity: sha512-NiyhJq6z7ERsYghcnXZUI6ooDXgZtoB+G9eUsYhfSM4VLp2rKx9UxhKI1NEf1PqosrNPxG3bnSsr2UBVbNurlg==} - engines: {node: '>=20'} + '@yuku-codegen/binding-linux-arm64-musl@0.5.46': + resolution: {integrity: sha512-/UMkxyjjXMX5yq6mk4Z1GdSDYWv3CMNfN2Dv7SdKwKpl6Lwp6aR+RPIiiC+oRAI5PaFrrorJIg3BloU3ss/sLQ==} + cpu: [arm64] + os: [linux] + libc: [musl] - '@xhmikosr/downloader@16.2.0': - resolution: {integrity: sha512-5vFLFTOFdDyuPJ6DDaqFPviMnMLrjWvpvbTp+go+JDoyzUBLd4dTjb+1PXIRiUMvJSvlxjpC8GIVN8mYVhQfhg==} - engines: {node: '>=20'} + '@yuku-codegen/binding-linux-x64-gnu@0.5.46': + resolution: {integrity: sha512-/qtlyhxsXWGy1777IJ1RScNp2p+znbR/WJ9ZK5dZRQh0851pdJCPQALuLhEAFdQjfnT8sJPJgB61RPS9Ou6uzQ==} + cpu: [x64] + os: [linux] + libc: [glibc] - '@xhmikosr/os-filter-obj@4.1.0': - resolution: {integrity: sha512-y5ArHvQ7BVule/+L9yE2nYMhceiJhgsqo58lOfnisQ7bg+Kjfmkgr7JBuVFiTkl+ErdShpp829QstZQyLugl8g==} - engines: {node: '>=20'} + '@yuku-codegen/binding-linux-x64-musl@0.5.46': + resolution: {integrity: sha512-9PtrZqSNvsz7UZl5Nbol8TFB6VXMKAVbBdF/CPU/96qt3kFAeNTNO7O4SZERiPr4dDYzf8i9IxmDSoMywJyQHQ==} + cpu: [x64] + os: [linux] + libc: [musl] - '@xobotyi/scrollbar-width@1.9.5': - resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} + '@yuku-codegen/binding-win32-arm64@0.5.46': + resolution: {integrity: sha512-VwW0f6z8NwpvI7DORWL9I5m2p51VF/Cz7FlemTEwMQT4DUWIvGEgqVLChty1+CVgdLros+OIIVmcgWbP1u/u2Q==} + cpu: [arm64] + os: [win32] + + '@yuku-codegen/binding-win32-x64@0.5.46': + resolution: {integrity: sha512-4l+eRLvivimYCpgODeyvaVutu7LsBxP9NexAPrTXEG+ttXNF6YcOL+ApYuC6/Jap2ojdm82t8d1wD4ExszLVrA==} + cpu: [x64] + os: [win32] + + '@yuku-parser/binding-darwin-arm64@0.5.46': + resolution: {integrity: sha512-k8ljigcfWnr+qEgJLBuayjXdTeXdAqS6yo0jITnDKE7zIoq73lmdAKvD5+g8pHXnfoGPzNA7+TH4z/MHwFHD4g==} + cpu: [arm64] + os: [darwin] + + '@yuku-parser/binding-darwin-x64@0.5.46': + resolution: {integrity: sha512-yGeFK/ac5iWtwQyXIJbyKIFS2kODKZCVUSd/uVxFYT8OiA5KvG1jgq+Ca44ezBG2WrEyc3/IM+4sLwPRkJHp3w==} + cpu: [x64] + os: [darwin] + + '@yuku-parser/binding-freebsd-x64@0.5.46': + resolution: {integrity: sha512-rZ8GTjrfavwS8QzYjv6OuXGWcuHJpyGCRSzDk1nfGr0d8dmdQx6htbTl/vUY8BgkiZftsiZnNeDulKjf4m0M8A==} + cpu: [x64] + os: [freebsd] + + '@yuku-parser/binding-linux-arm-gnu@0.5.46': + resolution: {integrity: sha512-gttOTy0Swirw40+tA5vnmraJ2xqLrY0Hn0VjPT8AIfMwUgKjefT7pvRxI8HTeLCCYHgAaNiud1LQWnvPMgUXiA==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm-musl@0.5.46': + resolution: {integrity: sha512-GBH7ASymEaazgC4Zo4LODpgEV4Sn3l8qQq6hTC9B7ftvfZGy8CJx0qtj0zNWH3SpOvjWjTDVVxUjRXVnHRpKDQ==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-arm64-gnu@0.5.46': + resolution: {integrity: sha512-TWwBKtCjny12ef5tAScFYcIyTWG69WAx7I/vTyhQto2yydmotNUwOuViUsmwVex+Ldix05n1Z7naZF/5xTlWzg==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm64-musl@0.5.46': + resolution: {integrity: sha512-7VfxvUQKepU6bwG5FX6XLU3cXvw50wePuW+f8cDYOfuTEWGCrirI8NlK6afy+udofAEmjhH82GsrXupOactIfw==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-x64-gnu@0.5.46': + resolution: {integrity: sha512-r2ytt3LNpAyBP/s9kvLtPgldkyCXJGZFpteoZK40NaRo55Cfd5KFJRxdekK3mgBnm2gnQnx9qWaOniXUolj/HQ==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-x64-musl@0.5.46': + resolution: {integrity: sha512-nsE+ajANECHyR09xCVHlXtbNiexSUutzrSb1fhU3JVEfVKIMfsP1LDIWh9w43FG2GRODv3lByuSl1AwnuBj0jA==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-win32-arm64@0.5.46': + resolution: {integrity: sha512-/jkn8U4s649vZXxDD+UmfqSB5OM8H9wjPg545q0V0d3Lj0K4CwaUOqvStaBrmxI21NM3WU/mM6xzslFHlJ3fVA==} + cpu: [arm64] + os: [win32] + + '@yuku-parser/binding-win32-x64@0.5.46': + resolution: {integrity: sha512-pZlngLHCrQT1lcQXTW/F+Vld6akOyRiaDjj8TAK9ongNRAEZawencz4X01kLOeWwJWx88Xvz7nT0iBwdY6ZkHA==} + cpu: [x64] + os: [win32] + + '@yuku-toolchain/types@0.5.43': + resolution: {integrity: sha512-kSpvPntnXw5+lYjO71ffBEnQ5ycQ74KGIYknh0TS4xeyCuBkOqxyJumxZkMhLBBUCLjDAbx2+Icnr3Zh4ftjpQ==} accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} @@ -5041,6 +4937,10 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + ansis@4.3.1: + resolution: {integrity: sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA==} + engines: {node: '>=14'} + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -5127,14 +5027,6 @@ packages: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} - b4a@1.8.1: - resolution: {integrity: sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==} - peerDependencies: - react-native-b4a: '*' - peerDependenciesMeta: - react-native-b4a: - optional: true - babel-plugin-react-compiler@1.0.0: resolution: {integrity: sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==} @@ -5148,17 +5040,6 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - bare-events@2.9.1: - resolution: {integrity: sha512-Z0oHEHAFDZkffN8Qc39zNZjQlMDkPJRyyyZieU1VH7u8c5S+qHZ2S8ixdKIAxEjfHO7FJxXmJWgteOghVanIsg==} - peerDependencies: - bare-abort-controller: '*' - peerDependenciesMeta: - bare-abort-controller: - optional: true - - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - base64id@2.0.0: resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} engines: {node: ^4.5.0 || >= 5.9} @@ -5175,14 +5056,6 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - binary-version-check@6.1.0: - resolution: {integrity: sha512-REKdLKmuViV2WrtWXvNSiPX04KbIjfUV3Cy8batUeOg+FtmowavzJorfFhWq95cVJzINnL/44ixP26TrdJZACA==} - engines: {node: '>=18'} - - binary-version@7.1.0: - resolution: {integrity: sha512-Iy//vPc3ANPNlIWd242Npqc8MK0a/i4kVcHDlDA6HNMv5zMxz4ulIFhOSYJVKw/8AbHdHy0CnGYEt1QqSXxPsw==} - engines: {node: '>=18'} - bippy@0.5.42: resolution: {integrity: sha512-K3tpfO9uGQB2k/Vi5P6jgfrnXvO/FAQNUE2tqKjQmT0a93fJCysMGLgJmRKzYYfybAoOtwWwmKm0vw/uXE0hMw==} peerDependencies: @@ -5206,9 +5079,6 @@ packages: brace-expansion@1.1.15: resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} - brace-expansion@2.1.1: - resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} - brace-expansion@5.0.7: resolution: {integrity: sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==} engines: {node: 18 || 20 || >=22} @@ -5225,9 +5095,6 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -5238,10 +5105,6 @@ packages: peerDependencies: esbuild: '>=0.18' - byte-counter@0.1.0: - resolution: {integrity: sha512-jheRLVMeUKrDBjVw2O5+k4EvR4t9wtxHL+bo/LxfkxsVeuGMy3a5SEGgXdAFA4FSzTrU8rQXQIrsZ3oBq5a0pQ==} - engines: {node: '>=20'} - bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} @@ -5250,13 +5113,9 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - cacheable-lookup@7.0.0: - resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} - engines: {node: '>=14.16'} - - cacheable-request@13.0.19: - resolution: {integrity: sha512-SVXGH037+Mo1aIMO5B2UcleR43FGjFdN+M8JObSyEoQ2Mn4CODRWx28gN5jiTF0n5ItsgtIZfyargMNs8GX4kg==} - engines: {node: '>=18'} + cac@7.0.0: + resolution: {integrity: sha512-tixWYgm5ZoOD+3g6UTea91eow5z6AAHaho3g0V9CNSNb45gM8SmflpAc+GRd1InC4AqN/07Unrgp56Y94N9hJQ==} + engines: {node: '>=20.19.0'} call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} @@ -5394,18 +5253,10 @@ packages: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - commander@6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} - commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - commander@9.5.0: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} @@ -5446,10 +5297,6 @@ packages: resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==} engines: {node: '>=18'} - content-disposition@2.0.1: - resolution: {integrity: sha512-e+H0ZXHSWYrENhQzw1LPuP4oF5MzVKmDU6d3hxlvaPEYLLg62MxtQNPRx4SYSuYJSBUgnQIG4HIN2tEtNv7Dog==} - engines: {node: '>=18'} - content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} @@ -5458,10 +5305,6 @@ packages: resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} engines: {node: '>=18'} - convert-hrtime@5.0.0: - resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} - engines: {node: '>=12'} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -5615,10 +5458,6 @@ packages: decode-named-character-reference@1.3.0: resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} - decompress-response@10.0.0: - resolution: {integrity: sha512-oj7KWToJuuxlPr7VV0vabvxEIiqNMo+q0NueIiL3XhtwC6FVOX7Hr1c0C4eD0bmf7Zr+S/dSf2xvkH3Ad6sU3Q==} - engines: {node: '>=20'} - dedent@1.7.2: resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==} peerDependencies: @@ -5658,6 +5497,9 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} + defu@6.1.7: + resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} + denque@2.1.0: resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} engines: {node: '>=0.10'} @@ -5670,8 +5512,8 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - deslop-js@0.7.1: - resolution: {integrity: sha512-HsEoRI/bzuD0o2OVczYz42SXTCl5of3ax6eiojZbC/7gJsPNxxjPRvBysP88LXsHujYrIGJnGtFRnHwCmKWuxQ==} + deslop-js@0.7.4: + resolution: {integrity: sha512-OKhLEBDFk3wYgfSUz65O/1SP2L/jcMOYym5EB9wvEuDUrJrg+32X3tnUHHvlB/2sSGDU6wCSMqy1006EToOptA==} detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} @@ -5815,6 +5657,15 @@ packages: sqlite3: optional: true + dts-resolver@3.0.0: + resolution: {integrity: sha512-1T1f+z+4tl9XD+m+0HBgWoL/nm0bOIffyWaUuUSBlFg/86IWvfx+wjNaO/ybU0AJzG9/Mi5hBUgGV6zCmWEN7Q==} + engines: {node: ^22.18.0 || >=24.0.0} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -5847,6 +5698,10 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + empathic@2.0.1: + resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} + engines: {node: '>=14'} + encodeurl@2.0.0: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} @@ -6144,9 +5999,6 @@ packages: eventemitter3@5.0.4: resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} - events-universal@1.0.1: - resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} - eventsource-parser@3.1.0: resolution: {integrity: sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==} engines: {node: '>=18.0.0'} @@ -6159,10 +6011,6 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} - execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - execa@9.6.1: resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} engines: {node: ^18.19.0 || >=20.5.0} @@ -6181,14 +6029,6 @@ packages: resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} engines: {node: '>= 18'} - ext-list@2.2.2: - resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} - engines: {node: '>=0.10.0'} - - ext-name@5.0.0: - resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} - engines: {node: '>=4'} - extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -6202,9 +6042,6 @@ packages: resolution: {integrity: sha512-jt2DW/aNFNwke7AUd+Z+e6pz39KO5rzdbbFCg2sGafS4mk13MI7Z8O5z9cADNn5lhGODIgLwug6TZO2ctf7kcw==} engines: {node: '>=6.0.0'} - fast-fifo@1.3.2: - resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} - fast-glob@3.3.3: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} @@ -6256,18 +6093,6 @@ packages: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} - file-type@21.3.4: - resolution: {integrity: sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==} - engines: {node: '>=20'} - - filename-reserved-regex@4.0.0: - resolution: {integrity: sha512-9ZT504KxEQDamsOogZImAWGEN24R1uFAxU3ZS4AZqn2ooidmN68Olh7n4/RcA4lLatZztjA0ZSuxeLHVoCc8JA==} - engines: {node: '>=20'} - - filenamify@7.0.2: - resolution: {integrity: sha512-fz10TUqSZ1lG7ftW1KnRotJzMD8YRb6kaAQKpZJBLvqXXfFgIEpuazy1w2lK3zhMiBSdH/uF9LFlv5smJ2Jl1w==} - engines: {node: '>=20'} - fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -6284,10 +6109,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - find-versions@6.0.0: - resolution: {integrity: sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==} - engines: {node: '>=18'} - fix-dts-default-cjs-exports@1.0.1: resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} @@ -6302,10 +6123,6 @@ packages: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} - form-data-encoder@4.1.0: - resolution: {integrity: sha512-G6NsmEW15s0Uw9XnCg+33H3ViYRyiM0hMrMhhqQOR8NFc5GhYrI+6I3u7OTw7b91J2g8rtvMBZJDbcGb2YUniw==} - engines: {node: '>= 18'} - forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -6455,10 +6272,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function-timeout@1.0.2: - resolution: {integrity: sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==} - engines: {node: '>=18'} - function.prototype.name@1.2.0: resolution: {integrity: sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==} engines: {node: '>= 0.4'} @@ -6505,10 +6318,6 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - get-stream@9.0.1: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} @@ -6520,6 +6329,10 @@ packages: get-tsconfig@4.14.0: resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} + get-tsconfig@5.0.0-beta.5: + resolution: {integrity: sha512-/6gFNr0N04nob252sTQxyFLi3eKFRqIg1I87YcqAMT1i6SQrSF6KujUEQrtrjMV0H/eejTCltLdDSTEMzHbnsQ==} + engines: {node: '>=20.20.0'} + github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -6555,10 +6368,6 @@ packages: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} - got@14.6.6: - resolution: {integrity: sha512-QLV1qeYSo5l13mQzWgP/y0LbMr5Plr5fJilgAIwgnwseproEbtNym8xpLsDzeZ6MWXgNE6kdWGBjdh3zT/Qerg==} - engines: {node: '>=20'} - graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -6630,6 +6439,9 @@ packages: resolution: {integrity: sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==} engines: {node: '>=16.9.0'} + hookable@6.1.1: + resolution: {integrity: sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==} + html-encoding-sniffer@6.0.0: resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -6647,25 +6459,14 @@ packages: htmlparser2@8.0.2: resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - http-cache-semantics@4.2.0: - resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} - http-errors@2.0.1: resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} engines: {node: '>= 0.8'} - http2-wrapper@2.2.1: - resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} - engines: {node: '>=10.19.0'} - human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - human-signals@8.0.1: resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} engines: {node: '>=18.18.0'} @@ -6684,9 +6485,6 @@ packages: icu-minify@4.13.0: resolution: {integrity: sha512-SIFMeUHZJjzS5RvIGvybKvWoHjDm9cGVEs2EpJ8PmywOdJLWyblPm7TdPLLoUtkJtwQD7iGhl2WMptZ+N0on+w==} - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -6709,6 +6507,10 @@ packages: resolution: {integrity: sha512-vR2B6HKIhaBjcZr2bLpFiJ1VbzOlRQ7aby4/gw5WPIzToLjqpfWw3VJ4sk1uDchoOODEirvO2jyrSPtUSL5CrQ==} engines: {node: '>=18'} + import-without-cache@0.4.0: + resolution: {integrity: sha512-NkJQA7oZ4YHQhd2+H3BoRFKF3d/XNsiKpHZCQEMH9pDX27hQQLsTyOocyRgaIVtf8gHX3Nt3LPkR4e5EdtPAGQ==} + engines: {node: ^22.18.0 || >=24.0.0} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -6728,9 +6530,6 @@ packages: react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc - inspect-with-kind@1.0.5: - resolution: {integrity: sha512-MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==} - internal-slot@1.1.0: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} @@ -6868,10 +6667,6 @@ packages: resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==} engines: {node: '>=12'} - is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -6906,10 +6701,6 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-stream@4.0.1: resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} engines: {node: '>=18'} @@ -6964,10 +6755,6 @@ packages: resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==} engines: {node: '>=18'} - isexe@4.0.0: - resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} - engines: {node: '>=20'} - istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -7065,13 +6852,6 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - keyv@5.6.0: - resolution: {integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} @@ -7201,10 +6981,6 @@ packages: longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - lowercase-keys@3.0.0: - resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - lru-cache@11.5.1: resolution: {integrity: sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==} engines: {node: 20 || >=22} @@ -7231,10 +7007,6 @@ packages: magicast@0.5.3: resolution: {integrity: sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==} - make-asynchronous@1.1.0: - resolution: {integrity: sha512-ayF7iT+44LXdxJLTrTd3TLQpFDDvPCBxXxbv+pMUSuHA5Q8zyAfwkRP6aHHwNVFBUFWtxAHqwNJxF8vMZLAbVg==} - engines: {node: '>=18'} - make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -7461,18 +7233,10 @@ packages: resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} engines: {node: '>=8'} - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - mimic-function@5.0.1: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - mimic-response@4.0.0: - resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - minimatch@10.2.5: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} @@ -7480,10 +7244,6 @@ packages: minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - minimatch@9.0.9: - resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} - engines: {node: '>=16 || 14 >=14.17'} - minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -7641,18 +7401,10 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - normalize-url@8.1.1: - resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==} - engines: {node: '>=14.16'} - npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - npm-run-path@6.0.0: resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} engines: {node: '>=18'} @@ -7705,10 +7457,6 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - onetime@7.0.0: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} @@ -7764,8 +7512,8 @@ packages: oxc-resolver@11.21.3: resolution: {integrity: sha512-2Mx3fKQz7+xgrBONjsxOgCGtMHOn38/HxMzW1I5efwXB5a4lRN0Vp40gYUJFBWJslcrvwoofTrqoTnLbwTd3pA==} - oxlint-plugin-react-doctor@0.7.1: - resolution: {integrity: sha512-fvARsCESDZYvDIlhuB/JlDeUhTOLHYstoDJCKm0pzh4HQQJVVV6gcrQajBjYo/hdHC1ukl7btKTK3rk4uZwuew==} + oxlint-plugin-react-doctor@0.7.4: + resolution: {integrity: sha512-0JK+5KdT3maDvcXH9Qe79z5wVbWHax6dpqzdEM83e5uMLLZfqI6WVpCJvdtVoknMYLvJY0hdyFTf3adpzZlrQw==} engines: {node: ^20.19.0 || >=22.13.0} oxlint@1.66.0: @@ -7778,14 +7526,6 @@ packages: oxlint-tsgolint: optional: true - p-cancelable@4.0.1: - resolution: {integrity: sha512-wBowNApzd45EIKdO1LaU+LrMBwAcjfPaYtVzV3lmfM3gf8Z4CHZsiIqlM8TZZ8okYvh5A1cP6gTfCRQtwUpaUg==} - engines: {node: '>=14.16'} - - p-event@6.0.1: - resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==} - engines: {node: '>=16.17'} - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -7802,10 +7542,6 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-timeout@6.1.4: - resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==} - engines: {node: '>=14.16'} - p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -7877,9 +7613,6 @@ packages: peberminta@0.9.0: resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} - pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -7891,6 +7624,10 @@ packages: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} + engines: {node: '>=12'} + picospinner@3.0.0: resolution: {integrity: sha512-lGA1TNsmy2bxvRsTI2cV01kfTwKzZjnZSDmF9llYNyMHMrU4sP87lQ5taiIKm88L3cbswjl008nwyGc3WpNvzg==} engines: {node: '>=18.0.0'} @@ -7899,9 +7636,6 @@ packages: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} - piscina@4.9.3: - resolution: {integrity: sha512-3e3ka9QCE8RJ5I9uszdAADZnkcYi21cqmF3gxox3u884N72qpFHCsIVhHt8cEQ9t3Auq/NqoiCEuhxlxxQuDWA==} - pkce-challenge@5.0.1: resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==} engines: {node: '>=16.20.0'} @@ -8120,6 +7854,9 @@ packages: resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==} engines: {node: '>=0.6'} + quansync@1.0.0: + resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} + queue-lit@1.5.2: resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} engines: {node: '>=12'} @@ -8127,10 +7864,6 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - range-parser@1.3.0: resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} engines: {node: '>= 0.6'} @@ -8152,8 +7885,8 @@ packages: '@types/react': optional: true - react-doctor@0.7.1: - resolution: {integrity: sha512-Gmty7Enyrh6GPlz6Paq+UoL2O7YkTzNeHdflbqdp6fspX1UbUem5ejPyIUgo1jf77D6kB+INqsi2K+Mk/K8uBQ==} + react-doctor@0.7.4: + resolution: {integrity: sha512-OcNqh3joJ6ihycni2d/IgZq/aJBgn5XXsztwRpt9bvb195jM76PyYgK5M2LjWnzIScvPFZu3GzQjHqzoKmjLaA==} engines: {node: ^20.19.0 || >=22.13.0} hasBin: true @@ -8381,9 +8114,6 @@ packages: resize-observer-polyfill@1.5.1: resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} - resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -8395,10 +8125,6 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - responselike@4.0.2: - resolution: {integrity: sha512-cGk8IbWEAnaCpdAt1BHzJ3Ahz5ewDJa0KseTsE3qIRMJ3C698W8psM7byCeWVpd/Ha7FUYzuRVzXoKoM6nRUbA==} - engines: {node: '>=20'} - restore-cursor@5.1.0: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} @@ -8407,8 +8133,27 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rolldown@1.1.3: - resolution: {integrity: sha512-1F1eEtUBtFvcGm1HQ9TiUIUHPQG7mSAODrhIzjxoUEFuo8OcbrGLiVLkevNgj84TE4lnHvnumwFjhJO5Eu135g==} + rolldown-plugin-dts@0.27.4: + resolution: {integrity: sha512-z1uz1gH2sJ55i6JY/xi3q7gsI5CPthefDp5HYXnBlrkN1L3K4tx+gyAQO3Udt69ASWItWKwXJ55nKQq2HCMVfA==} + engines: {node: ^22.18.0 || >=24.11.0} + peerDependencies: + '@ts-macro/tsc': ^0.3.6 + '@typescript/native-preview': '>=7.0.0-dev.20260325.1' + rolldown: ^1.0.0 + typescript: ^5.0.0 || ^6.0.0 || ^7.0.0 + vue-tsc: ~3.2.0 || ~3.3.0 + peerDependenciesMeta: + '@ts-macro/tsc': + optional: true + '@typescript/native-preview': + optional: true + typescript: + optional: true + vue-tsc: + optional: true + + rolldown@1.1.5: + resolution: {integrity: sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -8466,24 +8211,12 @@ packages: scroll-into-view-if-needed@3.1.0: resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} - seek-bzip@2.0.0: - resolution: {integrity: sha512-SMguiTnYrhpLdk3PwfzHeotrcwi8bNV4iemL9tx9poR/yeaMYwB9VzR1w7b57DuWpuqR8n6oZboi0hj3AxZxQg==} - hasBin: true - selderee@0.11.0: resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} semifies@1.0.0: resolution: {integrity: sha512-xXR3KGeoxTNWPD4aBvL5NUpMTT7WMANr3EWnaS190QVkY52lqqcVRD7Q05UVbBhiWDGWMlJEUam9m7uFFGVScw==} - semver-regex@4.0.5: - resolution: {integrity: sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==} - engines: {node: '>=12'} - - semver-truncate@3.0.0: - resolution: {integrity: sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg==} - engines: {node: '>=12'} - semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -8611,14 +8344,6 @@ packages: react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc - sort-keys-length@1.0.1: - resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} - engines: {node: '>=0.10.0'} - - sort-keys@1.1.2: - resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==} - engines: {node: '>=0.10.0'} - source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -8681,9 +8406,6 @@ packages: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} - streamx@2.28.0: - resolution: {integrity: sha512-1Yowhzjf0ivGMrTIkY9hav5TxobO9qIVqUE41fiCGMGgc3CLlf4MY+9AHmZqBWgDTue0fY9zWjYFVyf6Diuobw==} - string-ts@2.3.1: resolution: {integrity: sha512-xSJq+BS52SaFFAVxuStmx6n5aYZU571uYUnUrPXkPFCfdHyZMMlbP2v2Wx5sNBnAVzq/2+0+mcBLBa3Xa5ubYw==} @@ -8730,25 +8452,14 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - strip-dirs@3.0.0: - resolution: {integrity: sha512-I0sdgcFTfKQlUPZyAqPJmSG3HLO9rWDFnxonnIbskYNM3DwFOeTNB5KzVq3dA1GdRAc/25b5Y7UO2TQfKWw4aQ==} - strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - strip-final-newline@4.0.0: resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} engines: {node: '>=18'} - strtok3@10.3.5: - resolution: {integrity: sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==} - engines: {node: '>=18'} - stubborn-fs@2.0.0: resolution: {integrity: sha512-Y0AvSwDw8y+nlSNFXMm2g6L51rBGdAQT20J3YSOqxC53Lo3bjWRtr2BKcfYoAf352WYpsZSTURrA0tqhfgudPA==} @@ -8782,10 +8493,6 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - super-regex@1.1.0: - resolution: {integrity: sha512-WHkws2ZflZe41zj6AolvvmaTrWds/VuyeYr9iPVv/oQeaIoVxMKaushfFWpOGDT+GuBrM/sVqF8KUCYQlSSTdQ==} - engines: {node: '>=18'} - supports-color@10.2.2: resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} engines: {node: '>=18'} @@ -8801,10 +8508,6 @@ packages: resolution: {integrity: sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==} engines: {node: ^14.18.0 || >=16.0.0} - system-architecture@1.0.0: - resolution: {integrity: sha512-0OJWD12D7XX3KUg1DYkMaTTjSTo2k/mhIYI3HlBlceXSMcJhW/1qO735fPKS5prcyjvn57Ub151vvASYXpQrEw==} - engines: {node: '>=18'} - systeminformation@5.31.11: resolution: {integrity: sha512-I6O7iaUj23AXRgCPDDnvi3xHvdOLp4+1YMbF+X194lJwY1NeWojgHJPhslVKcmTtrLTguRk3QJK+xEdTiI3P0w==} engines: {node: '>=8.0.0'} @@ -8825,12 +8528,6 @@ packages: resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} engines: {node: '>=6'} - tar-stream@3.1.7: - resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - - text-decoder@1.2.7: - resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -8842,13 +8539,6 @@ packages: resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} engines: {node: '>=10'} - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - - time-span@5.1.0: - resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} - engines: {node: '>=12'} - tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} @@ -8888,10 +8578,6 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - token-types@6.1.2: - resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==} - engines: {node: '>=14.16'} - totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} @@ -8941,6 +8627,40 @@ packages: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} + tsdown@0.22.4: + resolution: {integrity: sha512-3a5FsNL2fH2jw3ozvFUuPMBgS0xXjX9wpZShHyB4klXelVhyaNw5Q5WA9TPCNeoGYpRZEc4OZdMx5wT4Fkma3A==} + engines: {node: ^22.18.0 || >=24.11.0} + hasBin: true + peerDependencies: + '@arethetypeswrong/core': ^0.18.1 + '@tsdown/css': 0.22.4 + '@tsdown/exe': 0.22.4 + '@vitejs/devtools': '*' + publint: ^0.3.8 + tsx: '*' + typescript: ^5.0.0 || ^6.0.0 + unplugin-unused: ^0.5.0 + unrun: '*' + peerDependenciesMeta: + '@arethetypeswrong/core': + optional: true + '@tsdown/css': + optional: true + '@tsdown/exe': + optional: true + '@vitejs/devtools': + optional: true + publint: + optional: true + tsx: + optional: true + typescript: + optional: true + unplugin-unused: + optional: true + unrun: + optional: true + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -8979,10 +8699,6 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@4.41.0: - resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} - engines: {node: '>=16'} - type-fest@5.7.0: resolution: {integrity: sha512-1URUxUqfHFM1c+zfSPsa3gnkO7Aq21qyH75SIduNYz4SzY964rn1X2vCMQaHSHhktiw+0kPa2iyb6PUpXqB6Vg==} engines: {node: '>=20'} @@ -9035,8 +8751,8 @@ packages: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} - unbzip2-stream@1.4.3: - resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + unconfig-core@7.5.0: + resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==} undici-types@7.24.6: resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} @@ -9309,9 +9025,6 @@ packages: web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - web-worker@1.5.0: - resolution: {integrity: sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==} - webidl-conversions@8.0.1: resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==} engines: {node: '>=20'} @@ -9432,10 +9145,6 @@ packages: resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} engines: {node: ^20.19.0 || ^22.12.0 || >=23} - yauzl@3.4.0: - resolution: {integrity: sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw==} - engines: {node: '>=12'} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -9448,6 +9157,15 @@ packages: resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} engines: {node: '>=18'} + yuku-ast@0.1.7: + resolution: {integrity: sha512-2RiMEWv500TixY5rJy6OZd4fSy9WYZKWh6gGbIJ7y7vAGcuCugWOWwOLGaQcRZrXcPUfqtLtvpaJ3SdXtWlhKA==} + + yuku-codegen@0.5.46: + resolution: {integrity: sha512-2qFouFH7ag332HJhqLd3/QGqGQtSIjnTU1/5Y4BTvRWMwR252rezKBtEBHq/s+rwLc7uKoLvbm2BzQzzsJghTQ==} + + yuku-parser@0.5.46: + resolution: {integrity: sha512-eMNzX5eYnkqo6zNYf2H8WHcMPHfIf7ijmw0X8NYZ1ANXAU5Y9rwTB9MgfCuvLxlR7fV/96v3gWa8y/YUGFLxjw==} + zod-to-json-schema@3.25.2: resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==} peerDependencies: @@ -9917,8 +9635,6 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} - '@borewit/text-codec@0.2.2': {} - '@bprogress/core@1.3.4': {} '@bprogress/next@3.2.12(next@16.3.0-preview.5(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': @@ -10991,8 +10707,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@keyv/serialize@1.1.1': {} - '@mdx-js/mdx@3.1.1': dependencies: '@types/estree': 1.0.9 @@ -11045,78 +10759,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@napi-rs/nice-android-arm-eabi@1.1.1': - optional: true - - '@napi-rs/nice-android-arm64@1.1.1': - optional: true - - '@napi-rs/nice-darwin-arm64@1.1.1': - optional: true - - '@napi-rs/nice-darwin-x64@1.1.1': - optional: true - - '@napi-rs/nice-freebsd-x64@1.1.1': - optional: true - - '@napi-rs/nice-linux-arm-gnueabihf@1.1.1': - optional: true - - '@napi-rs/nice-linux-arm64-gnu@1.1.1': - optional: true - - '@napi-rs/nice-linux-arm64-musl@1.1.1': - optional: true - - '@napi-rs/nice-linux-ppc64-gnu@1.1.1': - optional: true - - '@napi-rs/nice-linux-riscv64-gnu@1.1.1': - optional: true - - '@napi-rs/nice-linux-s390x-gnu@1.1.1': - optional: true - - '@napi-rs/nice-linux-x64-gnu@1.1.1': - optional: true - - '@napi-rs/nice-linux-x64-musl@1.1.1': - optional: true - - '@napi-rs/nice-openharmony-arm64@1.1.1': - optional: true - - '@napi-rs/nice-win32-arm64-msvc@1.1.1': - optional: true - - '@napi-rs/nice-win32-ia32-msvc@1.1.1': - optional: true - - '@napi-rs/nice-win32-x64-msvc@1.1.1': - optional: true - - '@napi-rs/nice@1.1.1': - optionalDependencies: - '@napi-rs/nice-android-arm-eabi': 1.1.1 - '@napi-rs/nice-android-arm64': 1.1.1 - '@napi-rs/nice-darwin-arm64': 1.1.1 - '@napi-rs/nice-darwin-x64': 1.1.1 - '@napi-rs/nice-freebsd-x64': 1.1.1 - '@napi-rs/nice-linux-arm-gnueabihf': 1.1.1 - '@napi-rs/nice-linux-arm64-gnu': 1.1.1 - '@napi-rs/nice-linux-arm64-musl': 1.1.1 - '@napi-rs/nice-linux-ppc64-gnu': 1.1.1 - '@napi-rs/nice-linux-riscv64-gnu': 1.1.1 - '@napi-rs/nice-linux-s390x-gnu': 1.1.1 - '@napi-rs/nice-linux-x64-gnu': 1.1.1 - '@napi-rs/nice-linux-x64-musl': 1.1.1 - '@napi-rs/nice-openharmony-arm64': 1.1.1 - '@napi-rs/nice-win32-arm64-msvc': 1.1.1 - '@napi-rs/nice-win32-ia32-msvc': 1.1.1 - '@napi-rs/nice-win32-x64-msvc': 1.1.1 - optional: true - '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: '@emnapi/core': 1.10.0 @@ -11378,7 +11020,7 @@ snapshots: '@oxc-project/types@0.135.0': {} - '@oxc-project/types@0.137.0': {} + '@oxc-project/types@0.139.0': {} '@oxc-resolver/binding-android-arm-eabi@11.21.3': optional: true @@ -11573,6 +11215,10 @@ snapshots: '@preact/signals-core': 1.14.3 preact: 10.29.3 + '@quansync/fs@1.0.0': + dependencies: + quansync: 1.0.0 + '@radix-ui/number@1.1.2': {} '@radix-ui/primitive@1.1.4': {} @@ -11965,53 +11611,53 @@ snapshots: react: 19.2.7 react-redux: 9.3.0(@types/react@19.2.17)(react@19.2.7)(redux@5.0.1) - '@rolldown/binding-android-arm64@1.1.3': + '@rolldown/binding-android-arm64@1.1.5': optional: true - '@rolldown/binding-darwin-arm64@1.1.3': + '@rolldown/binding-darwin-arm64@1.1.5': optional: true - '@rolldown/binding-darwin-x64@1.1.3': + '@rolldown/binding-darwin-x64@1.1.5': optional: true - '@rolldown/binding-freebsd-x64@1.1.3': + '@rolldown/binding-freebsd-x64@1.1.5': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.1.3': + '@rolldown/binding-linux-arm-gnueabihf@1.1.5': optional: true - '@rolldown/binding-linux-arm64-gnu@1.1.3': + '@rolldown/binding-linux-arm64-gnu@1.1.5': optional: true - '@rolldown/binding-linux-arm64-musl@1.1.3': + '@rolldown/binding-linux-arm64-musl@1.1.5': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.1.3': + '@rolldown/binding-linux-ppc64-gnu@1.1.5': optional: true - '@rolldown/binding-linux-s390x-gnu@1.1.3': + '@rolldown/binding-linux-s390x-gnu@1.1.5': optional: true - '@rolldown/binding-linux-x64-gnu@1.1.3': + '@rolldown/binding-linux-x64-gnu@1.1.5': optional: true - '@rolldown/binding-linux-x64-musl@1.1.3': + '@rolldown/binding-linux-x64-musl@1.1.5': optional: true - '@rolldown/binding-openharmony-arm64@1.1.3': + '@rolldown/binding-openharmony-arm64@1.1.5': optional: true - '@rolldown/binding-wasm32-wasi@1.1.3': + '@rolldown/binding-wasm32-wasi@1.1.5': dependencies: '@emnapi/core': 1.11.1 '@emnapi/runtime': 1.11.1 '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) optional: true - '@rolldown/binding-win32-arm64-msvc@1.1.3': + '@rolldown/binding-win32-arm64-msvc@1.1.5': optional: true - '@rolldown/binding-win32-x64-msvc@1.1.3': + '@rolldown/binding-win32-x64-msvc@1.1.5': optional: true '@rolldown/pluginutils@1.0.1': {} @@ -12199,8 +11845,6 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} - '@sindresorhus/is@7.2.0': {} - '@sindresorhus/merge-streams@4.0.0': {} '@smithy/core@3.29.1': @@ -12247,26 +11891,7 @@ snapshots: '@supabase/storage-js@2.110.0': dependencies: iceberg-js: 0.8.1 - tslib: 2.8.1 - - '@swc/cli@0.8.1(@swc/core@1.15.43)(chokidar@5.0.0)': - dependencies: - '@swc/core': 1.15.43 - '@swc/counter': 0.1.3 - '@xhmikosr/bin-wrapper': 14.4.0 - commander: 8.3.0 - minimatch: 9.0.9 - piscina: 4.9.3 - semver: 7.8.5 - slash: 3.0.0 - source-map: 0.7.6 - tinyglobby: 0.2.17 - optionalDependencies: - chokidar: 5.0.0 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - - supports-color + tslib: 2.8.1 '@swc/core-darwin-arm64@1.15.43': optional: true @@ -12605,15 +12230,6 @@ snapshots: '@tiptap/extensions': 3.27.1(@tiptap/core@3.27.1(@tiptap/pm@3.27.1))(@tiptap/pm@3.27.1) '@tiptap/pm': 3.27.1 - '@tokenizer/inflate@0.4.1': - dependencies: - debug: 4.4.3 - token-types: 6.1.2 - transitivePeerDependencies: - - supports-color - - '@tokenizer/token@0.3.0': {} - '@ts-morph/common@0.27.0': dependencies: fast-glob: 3.3.3 @@ -12696,8 +12312,6 @@ snapshots: dependencies: '@types/unist': 3.0.3 - '@types/http-cache-semantics@4.2.0': {} - '@types/js-cookie@3.0.6': {} '@types/json-schema@7.0.15': {} @@ -12718,6 +12332,10 @@ snapshots: dependencies: undici-types: 8.3.0 + '@types/node@26.1.1': + dependencies: + undici-types: 8.3.0 + '@types/nodemailer@8.0.1': dependencies: '@types/node': 26.0.1 @@ -12859,7 +12477,7 @@ snapshots: obug: 2.1.3 std-env: 4.1.0 tinyrainbow: 3.1.0 - vitest: 4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.1)(@vitest/coverage-v8@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + vitest: 4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.1)(@vitest/coverage-v8@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) '@vitest/expect@4.1.9': dependencies: @@ -12878,13 +12496,13 @@ snapshots: optionalDependencies: vite: 8.1.0(@types/node@26.0.1)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) - '@vitest/mocker@4.1.9(vite@8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': + '@vitest/mocker@4.1.9(vite@8.1.0(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.9 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) + vite: 8.1.0(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) '@vitest/pretty-format@4.1.9': dependencies: @@ -12910,100 +12528,75 @@ snapshots: convert-source-map: 2.0.0 tinyrainbow: 3.1.0 - '@xhmikosr/archive-type@8.1.0': - dependencies: - file-type: 21.3.4 - transitivePeerDependencies: - - supports-color + '@xobotyi/scrollbar-width@1.9.5': {} - '@xhmikosr/bin-check@8.2.2': - dependencies: - execa: 9.6.1 - isexe: 4.0.0 + '@yuku-codegen/binding-darwin-arm64@0.5.46': + optional: true - '@xhmikosr/bin-wrapper@14.4.0': - dependencies: - '@xhmikosr/bin-check': 8.2.2 - '@xhmikosr/downloader': 16.2.0 - '@xhmikosr/os-filter-obj': 4.1.0 - binary-version-check: 6.1.0 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - - supports-color + '@yuku-codegen/binding-darwin-x64@0.5.46': + optional: true - '@xhmikosr/decompress-tar@9.0.1': - dependencies: - file-type: 21.3.4 - is-stream: 4.0.1 - tar-stream: 3.1.7 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - - supports-color + '@yuku-codegen/binding-freebsd-x64@0.5.46': + optional: true - '@xhmikosr/decompress-tarbz2@9.0.2': - dependencies: - '@xhmikosr/decompress-tar': 9.0.1 - file-type: 21.3.4 - is-stream: 4.0.1 - seek-bzip: 2.0.0 - unbzip2-stream: 1.4.3 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - - supports-color + '@yuku-codegen/binding-linux-arm-gnu@0.5.46': + optional: true - '@xhmikosr/decompress-targz@9.0.1': - dependencies: - '@xhmikosr/decompress-tar': 9.0.1 - file-type: 21.3.4 - is-stream: 4.0.1 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - - supports-color + '@yuku-codegen/binding-linux-arm-musl@0.5.46': + optional: true - '@xhmikosr/decompress-unzip@8.2.1': - dependencies: - file-type: 21.3.4 - get-stream: 9.0.1 - yauzl: 3.4.0 - transitivePeerDependencies: - - supports-color + '@yuku-codegen/binding-linux-arm64-gnu@0.5.46': + optional: true - '@xhmikosr/decompress@11.1.3': - dependencies: - '@xhmikosr/decompress-tar': 9.0.1 - '@xhmikosr/decompress-tarbz2': 9.0.2 - '@xhmikosr/decompress-targz': 9.0.1 - '@xhmikosr/decompress-unzip': 8.2.1 - graceful-fs: 4.2.11 - strip-dirs: 3.0.0 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - - supports-color + '@yuku-codegen/binding-linux-arm64-musl@0.5.46': + optional: true - '@xhmikosr/downloader@16.2.0': - dependencies: - '@xhmikosr/archive-type': 8.1.0 - '@xhmikosr/decompress': 11.1.3 - content-disposition: 2.0.1 - ext-name: 5.0.0 - file-type: 21.3.4 - filenamify: 7.0.2 - got: 14.6.6 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - - supports-color + '@yuku-codegen/binding-linux-x64-gnu@0.5.46': + optional: true - '@xhmikosr/os-filter-obj@4.1.0': - dependencies: - system-architecture: 1.0.0 + '@yuku-codegen/binding-linux-x64-musl@0.5.46': + optional: true - '@xobotyi/scrollbar-width@1.9.5': {} + '@yuku-codegen/binding-win32-arm64@0.5.46': + optional: true + + '@yuku-codegen/binding-win32-x64@0.5.46': + optional: true + + '@yuku-parser/binding-darwin-arm64@0.5.46': + optional: true + + '@yuku-parser/binding-darwin-x64@0.5.46': + optional: true + + '@yuku-parser/binding-freebsd-x64@0.5.46': + optional: true + + '@yuku-parser/binding-linux-arm-gnu@0.5.46': + optional: true + + '@yuku-parser/binding-linux-arm-musl@0.5.46': + optional: true + + '@yuku-parser/binding-linux-arm64-gnu@0.5.46': + optional: true + + '@yuku-parser/binding-linux-arm64-musl@0.5.46': + optional: true + + '@yuku-parser/binding-linux-x64-gnu@0.5.46': + optional: true + + '@yuku-parser/binding-linux-x64-musl@0.5.46': + optional: true + + '@yuku-parser/binding-win32-arm64@0.5.46': + optional: true + + '@yuku-parser/binding-win32-x64@0.5.46': + optional: true + + '@yuku-toolchain/types@0.5.43': {} accepts@1.3.8: dependencies: @@ -13079,6 +12672,8 @@ snapshots: ansi-styles@6.2.3: {} + ansis@4.3.1: {} + any-promise@1.3.0: {} anymatch@3.1.3: @@ -13173,8 +12768,6 @@ snapshots: axobject-query@4.1.0: {} - b4a@1.8.1: {} - babel-plugin-react-compiler@1.0.0: dependencies: '@babel/types': 7.29.7 @@ -13185,10 +12778,6 @@ snapshots: balanced-match@4.0.4: {} - bare-events@2.9.1: {} - - base64-js@1.5.1: {} - base64id@2.0.0: {} baseline-browser-mapping@2.10.40: {} @@ -13199,17 +12788,6 @@ snapshots: binary-extensions@2.3.0: {} - binary-version-check@6.1.0: - dependencies: - binary-version: 7.1.0 - semver: 7.8.5 - semver-truncate: 3.0.0 - - binary-version@7.1.0: - dependencies: - execa: 8.0.1 - find-versions: 6.0.0 - bippy@0.5.42(react@19.2.7): dependencies: react: 19.2.7 @@ -13241,10 +12819,6 @@ snapshots: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.1.1: - dependencies: - balanced-match: 1.0.2 - brace-expansion@5.0.7: dependencies: balanced-match: 4.0.4 @@ -13263,11 +12837,6 @@ snapshots: buffer-from@1.1.2: {} - buffer@5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - bundle-name@4.1.0: dependencies: run-applescript: 7.1.0 @@ -13277,23 +12846,11 @@ snapshots: esbuild: 0.27.7 load-tsconfig: 0.2.5 - byte-counter@0.1.0: {} - bytes@3.1.2: {} cac@6.7.14: {} - cacheable-lookup@7.0.0: {} - - cacheable-request@13.0.19: - dependencies: - '@types/http-cache-semantics': 4.2.0 - get-stream: 9.0.1 - http-cache-semantics: 4.2.0 - keyv: 5.6.0 - mimic-response: 4.0.0 - normalize-url: 8.1.1 - responselike: 4.0.2 + cac@7.0.0: {} call-bind-apply-helpers@1.0.2: dependencies: @@ -13412,12 +12969,8 @@ snapshots: commander@4.1.1: {} - commander@6.2.1: {} - commander@7.2.0: {} - commander@8.3.0: {} - commander@9.5.0: {} compare-versions@6.1.1: {} @@ -13468,14 +13021,10 @@ snapshots: content-disposition@1.1.0: {} - content-disposition@2.0.1: {} - content-type@1.0.5: {} content-type@2.0.0: {} - convert-hrtime@5.0.0: {} - convert-source-map@2.0.0: {} cookie-signature@1.2.2: {} @@ -13619,10 +13168,6 @@ snapshots: dependencies: character-entities: 2.0.2 - decompress-response@10.0.0: - dependencies: - mimic-response: 4.0.0 - dedent@1.7.2: {} deep-is@0.1.4: {} @@ -13652,13 +13197,15 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 + defu@6.1.7: {} + denque@2.1.0: {} depd@2.0.0: {} dequal@2.0.3: {} - deslop-js@0.7.1: + deslop-js@0.7.4: dependencies: '@oxc-project/types': 0.132.0 fast-glob: 3.3.3 @@ -13723,6 +13270,10 @@ snapshots: '@opentelemetry/api': 1.9.1 postgres: 3.4.9 + dts-resolver@3.0.0(oxc-resolver@11.21.3): + optionalDependencies: + oxc-resolver: 11.21.3 + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -13751,6 +13302,8 @@ snapshots: emoji-regex@9.2.2: {} + empathic@2.0.1: {} + encodeurl@2.0.0: {} engine.io-parser@5.2.3: {} @@ -14321,12 +13874,6 @@ snapshots: eventemitter3@5.0.4: {} - events-universal@1.0.1: - dependencies: - bare-events: 2.9.1 - transitivePeerDependencies: - - bare-abort-controller - eventsource-parser@3.1.0: {} eventsource@3.0.7: @@ -14345,18 +13892,6 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - execa@8.0.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - execa@9.6.1: dependencies: '@sindresorhus/merge-streams': 4.0.0 @@ -14412,15 +13947,6 @@ snapshots: transitivePeerDependencies: - supports-color - ext-list@2.2.2: - dependencies: - mime-db: 1.54.0 - - ext-name@5.0.0: - dependencies: - ext-list: 2.2.2 - sort-keys-length: 1.0.1 - extend@3.0.2: {} fast-deep-equal@3.1.3: {} @@ -14429,8 +13955,6 @@ snapshots: fast-equals@5.4.0: {} - fast-fifo@1.3.2: {} - fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -14477,21 +14001,6 @@ snapshots: dependencies: flat-cache: 4.0.1 - file-type@21.3.4: - dependencies: - '@tokenizer/inflate': 0.4.1 - strtok3: 10.3.5 - token-types: 6.1.2 - uint8array-extras: 1.5.0 - transitivePeerDependencies: - - supports-color - - filename-reserved-regex@4.0.0: {} - - filenamify@7.0.2: - dependencies: - filename-reserved-regex: 4.0.0 - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -14516,11 +14025,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - find-versions@6.0.0: - dependencies: - semver-regex: 4.0.5 - super-regex: 1.1.0 - fix-dts-default-cjs-exports@1.0.1: dependencies: magic-string: 0.30.21 @@ -14538,8 +14042,6 @@ snapshots: dependencies: is-callable: 1.2.7 - form-data-encoder@4.1.0: {} - forwarded@0.2.0: {} framer-motion@12.42.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7): @@ -14598,7 +14100,7 @@ snapshots: transitivePeerDependencies: - supports-color - fumadocs-mdx@15.0.13(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.10.7(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.22.0(react@19.2.7))(next@16.3.0-preview.5(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(next@16.3.0-preview.5(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)(rolldown@1.1.3)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)): + fumadocs-mdx@15.0.13(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.10.7(@mdx-js/mdx@3.1.1)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.22.0(react@19.2.7))(next@16.3.0-preview.5(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(next@16.3.0-preview.5(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)(rolldown@1.1.5)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)): dependencies: '@mdx-js/mdx': 3.1.1 '@standard-schema/spec': 1.1.0 @@ -14623,7 +14125,7 @@ snapshots: '@types/react': 19.2.17 next: 16.3.0-preview.5(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) react: 19.2.7 - rolldown: 1.1.3 + rolldown: 1.1.5 vite: 8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) transitivePeerDependencies: - supports-color @@ -14667,8 +14169,6 @@ snapshots: function-bind@1.1.2: {} - function-timeout@1.0.2: {} - function.prototype.name@1.2.0: dependencies: call-bind: 1.0.9 @@ -14717,8 +14217,6 @@ snapshots: get-stream@6.0.1: {} - get-stream@8.0.1: {} - get-stream@9.0.1: dependencies: '@sec-ant/readable-stream': 0.4.1 @@ -14734,6 +14232,10 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + get-tsconfig@5.0.0-beta.5: + dependencies: + resolve-pkg-maps: 1.0.0 + github-slugger@2.0.0: {} glob-parent@5.1.2: @@ -14770,21 +14272,6 @@ snapshots: gopd@1.2.0: {} - got@14.6.6: - dependencies: - '@sindresorhus/is': 7.2.0 - byte-counter: 0.1.0 - cacheable-lookup: 7.0.0 - cacheable-request: 13.0.19 - decompress-response: 10.0.0 - form-data-encoder: 4.1.0 - http2-wrapper: 2.2.1 - keyv: 5.6.0 - lowercase-keys: 3.0.0 - p-cancelable: 4.0.1 - responselike: 4.0.2 - type-fest: 4.41.0 - graceful-fs@4.2.11: {} gzip-size@6.0.0: @@ -14929,6 +14416,8 @@ snapshots: hono@4.12.27: {} + hookable@6.1.1: {} + html-encoding-sniffer@6.0.0: dependencies: '@exodus/bytes': 1.15.1 @@ -14954,8 +14443,6 @@ snapshots: domutils: 3.2.2 entities: 4.5.0 - http-cache-semantics@4.2.0: {} - http-errors@2.0.1: dependencies: depd: 2.0.0 @@ -14964,15 +14451,8 @@ snapshots: statuses: 2.0.2 toidentifier: 1.0.1 - http2-wrapper@2.2.1: - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - human-signals@2.1.0: {} - human-signals@5.0.0: {} - human-signals@8.0.1: {} hyphenate-style-name@1.1.0: {} @@ -14987,8 +14467,6 @@ snapshots: dependencies: '@formatjs/icu-messageformat-parser': 3.5.12 - ieee754@1.2.1: {} - ignore@5.3.2: {} ignore@7.0.5: {} @@ -15009,6 +14487,8 @@ snapshots: cjs-module-lexer: 2.2.0 module-details-from-path: 1.0.4 + import-without-cache@0.4.0: {} + imurmurhash@0.1.4: {} inherits@2.0.4: {} @@ -15024,10 +14504,6 @@ snapshots: react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - inspect-with-kind@1.0.5: - dependencies: - kind-of: 6.0.3 - internal-slot@1.1.0: dependencies: es-errors: 1.3.0 @@ -15159,8 +14635,6 @@ snapshots: is-obj@3.0.0: {} - is-plain-obj@1.1.0: {} - is-plain-obj@4.1.0: {} is-plain-object@5.0.0: {} @@ -15186,8 +14660,6 @@ snapshots: is-stream@2.0.1: {} - is-stream@3.0.0: {} - is-stream@4.0.1: {} is-string@1.1.1: @@ -15234,8 +14706,6 @@ snapshots: isexe@3.1.5: {} - isexe@4.0.0: {} - istanbul-lib-coverage@3.2.2: {} istanbul-lib-report@3.0.1: @@ -15334,12 +14804,6 @@ snapshots: dependencies: json-buffer: 3.0.1 - keyv@5.6.0: - dependencies: - '@keyv/serialize': 1.1.1 - - kind-of@6.0.3: {} - kleur@3.0.3: {} kleur@4.1.5: {} @@ -15435,8 +14899,6 @@ snapshots: longest-streak@3.1.0: {} - lowercase-keys@3.0.0: {} - lru-cache@11.5.1: {} lru-cache@5.1.1: @@ -15461,12 +14923,6 @@ snapshots: '@babel/types': 7.29.7 source-map-js: 1.2.1 - make-asynchronous@1.1.0: - dependencies: - p-event: 6.0.1 - type-fest: 4.41.0 - web-worker: 1.5.0 - make-dir@4.0.0: dependencies: semver: 7.8.5 @@ -15941,12 +15397,8 @@ snapshots: mimic-fn@3.1.0: {} - mimic-fn@4.0.0: {} - mimic-function@5.0.1: {} - mimic-response@4.0.0: {} - minimatch@10.2.5: dependencies: brace-expansion: 5.0.7 @@ -15955,10 +15407,6 @@ snapshots: dependencies: brace-expansion: 1.1.15 - minimatch@9.0.9: - dependencies: - brace-expansion: 2.1.1 - minimist@1.2.8: {} minipass@7.1.3: {} @@ -16111,16 +15559,10 @@ snapshots: normalize-path@3.0.0: {} - normalize-url@8.1.1: {} - npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - npm-run-path@5.3.0: - dependencies: - path-key: 4.0.0 - npm-run-path@6.0.0: dependencies: path-key: 4.0.0 @@ -16177,10 +15619,6 @@ snapshots: dependencies: mimic-fn: 2.1.0 - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - onetime@7.0.0: dependencies: mimic-function: 5.0.1 @@ -16326,7 +15764,7 @@ snapshots: '@oxc-resolver/binding-win32-arm64-msvc': 11.21.3 '@oxc-resolver/binding-win32-x64-msvc': 11.21.3 - oxlint-plugin-react-doctor@0.7.1: + oxlint-plugin-react-doctor@0.7.4: dependencies: '@typescript-eslint/types': 8.62.0 eslint-scope: 9.1.2 @@ -16355,12 +15793,6 @@ snapshots: '@oxlint/binding-win32-ia32-msvc': 1.66.0 '@oxlint/binding-win32-x64-msvc': 1.66.0 - p-cancelable@4.0.1: {} - - p-event@6.0.1: - dependencies: - p-timeout: 6.1.4 - p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -16377,8 +15809,6 @@ snapshots: dependencies: p-limit: 3.1.0 - p-timeout@6.1.4: {} - p-try@2.2.0: {} package-manager-detector@1.6.0: {} @@ -16444,22 +15874,18 @@ snapshots: peberminta@0.9.0: {} - pend@1.2.0: {} - picocolors@1.1.1: {} picomatch@2.3.2: {} picomatch@4.0.4: {} + picomatch@4.0.5: {} + picospinner@3.0.0: {} pirates@4.0.7: {} - piscina@4.9.3: - optionalDependencies: - '@napi-rs/nice': 1.1.1 - pkce-challenge@5.0.1: {} pkg-types@1.3.1: @@ -16645,12 +16071,12 @@ snapshots: es-define-property: 1.0.1 side-channel: 1.1.1 + quansync@1.0.0: {} + queue-lit@1.5.2: {} queue-microtask@1.2.3: {} - quick-lru@5.1.1: {} - range-parser@1.3.0: {} rate-limiter-flexible@11.2.0: {} @@ -16670,19 +16096,19 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 - react-doctor@0.7.1(@opentelemetry/core@2.8.0(@opentelemetry/api@1.9.1))(eslint@10.6.0(jiti@2.7.0)): + react-doctor@0.7.4(@opentelemetry/core@2.8.0(@opentelemetry/api@1.9.1))(eslint@10.6.0(jiti@2.7.0)): dependencies: '@babel/code-frame': 7.29.7 '@sentry/node': 10.62.0(@opentelemetry/core@2.8.0(@opentelemetry/api@1.9.1)) agent-install: 0.0.5 conf: 15.1.0 confbox: 0.2.4 - deslop-js: 0.7.1 + deslop-js: 0.7.4 eslint-plugin-react-hooks: 7.1.1(eslint@10.6.0(jiti@2.7.0)) jiti: 2.7.0 magicast: 0.5.3 oxlint: 1.66.0 - oxlint-plugin-react-doctor: 0.7.1 + oxlint-plugin-react-doctor: 0.7.4 prompts: 2.4.2 typescript: 5.9.3 vscode-languageserver: 9.0.1 @@ -16778,7 +16204,7 @@ snapshots: react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - react-scan@0.5.7(@opentelemetry/core@2.8.0(@opentelemetry/api@1.9.1))(esbuild@0.27.7)(eslint@10.6.0(jiti@2.7.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rolldown@1.1.3)(rollup@4.62.2)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)): + react-scan@0.5.7(@opentelemetry/core@2.8.0(@opentelemetry/api@1.9.1))(esbuild@0.27.7)(eslint@10.6.0(jiti@2.7.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rolldown@1.1.5)(rollup@4.62.2)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)): dependencies: '@babel/core': 7.29.7 '@babel/types': 7.29.7 @@ -16790,12 +16216,12 @@ snapshots: preact: 10.29.3 prompts: 2.4.2 react: 19.2.7 - react-doctor: 0.7.1(@opentelemetry/core@2.8.0(@opentelemetry/api@1.9.1))(eslint@10.6.0(jiti@2.7.0)) + react-doctor: 0.7.4(@opentelemetry/core@2.8.0(@opentelemetry/api@1.9.1))(eslint@10.6.0(jiti@2.7.0)) react-dom: 19.2.7(react@19.2.7) react-grab: 0.1.48(react@19.2.7) optionalDependencies: esbuild: 0.27.7 - unplugin: 3.3.0(esbuild@0.27.7)(rolldown@1.1.3)(rollup@4.62.2)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + unplugin: 3.3.0(esbuild@0.27.7)(rolldown@1.1.5)(rollup@4.62.2)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) transitivePeerDependencies: - '@farmfe/core' - '@opentelemetry/core' @@ -17036,18 +16462,12 @@ snapshots: resize-observer-polyfill@1.5.1: {} - resolve-alpn@1.2.1: {} - resolve-from@4.0.0: {} resolve-from@5.0.0: {} resolve-pkg-maps@1.0.0: {} - responselike@4.0.2: - dependencies: - lowercase-keys: 3.0.0 - restore-cursor@5.1.0: dependencies: onetime: 7.0.0 @@ -17055,26 +16475,40 @@ snapshots: reusify@1.1.0: {} - rolldown@1.1.3: + rolldown-plugin-dts@0.27.4(oxc-resolver@11.21.3)(rolldown@1.1.5)(typescript@6.0.3): + dependencies: + dts-resolver: 3.0.0(oxc-resolver@11.21.3) + get-tsconfig: 5.0.0-beta.5 + obug: 2.1.3 + rolldown: 1.1.5 + yuku-ast: 0.1.7 + yuku-codegen: 0.5.46 + yuku-parser: 0.5.46 + optionalDependencies: + typescript: 6.0.3 + transitivePeerDependencies: + - oxc-resolver + + rolldown@1.1.5: dependencies: - '@oxc-project/types': 0.137.0 + '@oxc-project/types': 0.139.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm64': 1.1.3 - '@rolldown/binding-darwin-arm64': 1.1.3 - '@rolldown/binding-darwin-x64': 1.1.3 - '@rolldown/binding-freebsd-x64': 1.1.3 - '@rolldown/binding-linux-arm-gnueabihf': 1.1.3 - '@rolldown/binding-linux-arm64-gnu': 1.1.3 - '@rolldown/binding-linux-arm64-musl': 1.1.3 - '@rolldown/binding-linux-ppc64-gnu': 1.1.3 - '@rolldown/binding-linux-s390x-gnu': 1.1.3 - '@rolldown/binding-linux-x64-gnu': 1.1.3 - '@rolldown/binding-linux-x64-musl': 1.1.3 - '@rolldown/binding-openharmony-arm64': 1.1.3 - '@rolldown/binding-wasm32-wasi': 1.1.3 - '@rolldown/binding-win32-arm64-msvc': 1.1.3 - '@rolldown/binding-win32-x64-msvc': 1.1.3 + '@rolldown/binding-android-arm64': 1.1.5 + '@rolldown/binding-darwin-arm64': 1.1.5 + '@rolldown/binding-darwin-x64': 1.1.5 + '@rolldown/binding-freebsd-x64': 1.1.5 + '@rolldown/binding-linux-arm-gnueabihf': 1.1.5 + '@rolldown/binding-linux-arm64-gnu': 1.1.5 + '@rolldown/binding-linux-arm64-musl': 1.1.5 + '@rolldown/binding-linux-ppc64-gnu': 1.1.5 + '@rolldown/binding-linux-s390x-gnu': 1.1.5 + '@rolldown/binding-linux-x64-gnu': 1.1.5 + '@rolldown/binding-linux-x64-musl': 1.1.5 + '@rolldown/binding-openharmony-arm64': 1.1.5 + '@rolldown/binding-wasm32-wasi': 1.1.5 + '@rolldown/binding-win32-arm64-msvc': 1.1.5 + '@rolldown/binding-win32-x64-msvc': 1.1.5 rollup@4.62.2: dependencies: @@ -17166,22 +16600,12 @@ snapshots: dependencies: compute-scroll-into-view: 3.1.1 - seek-bzip@2.0.0: - dependencies: - commander: 6.2.1 - selderee@0.11.0: dependencies: parseley: 0.12.1 semifies@1.0.0: {} - semver-regex@4.0.5: {} - - semver-truncate@3.0.0: - dependencies: - semver: 7.8.5 - semver@6.3.1: {} semver@7.8.5: {} @@ -17442,14 +16866,6 @@ snapshots: react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - sort-keys-length@1.0.1: - dependencies: - sort-keys: 1.1.2 - - sort-keys@1.1.2: - dependencies: - is-plain-obj: 1.1.0 - source-map-js@1.2.1: {} source-map-support@0.5.21: @@ -17504,15 +16920,6 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 - streamx@2.28.0: - dependencies: - events-universal: 1.0.1 - fast-fifo: 1.3.2 - text-decoder: 1.2.7 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - string-ts@2.3.1: {} string-width@7.2.0: @@ -17577,21 +16984,10 @@ snapshots: strip-bom@3.0.0: {} - strip-dirs@3.0.0: - dependencies: - inspect-with-kind: 1.0.5 - is-plain-obj: 1.1.0 - strip-final-newline@2.0.0: {} - strip-final-newline@3.0.0: {} - strip-final-newline@4.0.0: {} - strtok3@10.3.5: - dependencies: - '@tokenizer/token': 0.3.0 - stubborn-fs@2.0.0: dependencies: stubborn-utils: 1.0.2 @@ -17625,12 +17021,6 @@ snapshots: tinyglobby: 0.2.17 ts-interface-checker: 0.1.13 - super-regex@1.1.0: - dependencies: - function-timeout: 1.0.2 - make-asynchronous: 1.1.0 - time-span: 5.1.0 - supports-color@10.2.2: {} supports-color@7.2.0: @@ -17643,8 +17033,6 @@ snapshots: dependencies: '@pkgr/core': 0.3.6 - system-architecture@1.0.0: {} - systeminformation@5.31.11: {} tagged-tag@1.0.0: {} @@ -17655,21 +17043,6 @@ snapshots: tapable@2.3.3: {} - tar-stream@3.1.7: - dependencies: - b4a: 1.8.1 - fast-fifo: 1.3.2 - streamx: 2.28.0 - transitivePeerDependencies: - - bare-abort-controller - - react-native-b4a - - text-decoder@1.2.7: - dependencies: - b4a: 1.8.1 - transitivePeerDependencies: - - react-native-b4a - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -17680,12 +17053,6 @@ snapshots: throttle-debounce@3.0.1: {} - through@2.3.8: {} - - time-span@5.1.0: - dependencies: - convert-hrtime: 5.0.0 - tiny-invariant@1.3.3: {} tinybench@2.9.0: {} @@ -17715,12 +17082,6 @@ snapshots: toidentifier@1.0.1: {} - token-types@6.1.2: - dependencies: - '@borewit/text-codec': 0.2.2 - '@tokenizer/token': 0.3.0 - ieee754: 1.2.1 - totalist@3.0.1: {} tough-cookie@6.0.1: @@ -17768,6 +17129,32 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 + tsdown@0.22.4(oxc-resolver@11.21.3)(tsx@4.22.4)(typescript@6.0.3): + dependencies: + ansis: 4.3.1 + cac: 7.0.0 + defu: 6.1.7 + empathic: 2.0.1 + hookable: 6.1.1 + import-without-cache: 0.4.0 + obug: 2.1.3 + picomatch: 4.0.5 + rolldown: 1.1.5 + rolldown-plugin-dts: 0.27.4(oxc-resolver@11.21.3)(rolldown@1.1.5)(typescript@6.0.3) + semver: 7.8.5 + tinyexec: 1.2.4 + tinyglobby: 0.2.17 + tree-kill: 1.2.2 + unconfig-core: 7.5.0 + optionalDependencies: + tsx: 4.22.4 + typescript: 6.0.3 + transitivePeerDependencies: + - '@ts-macro/tsc' + - '@typescript/native-preview' + - oxc-resolver + - vue-tsc + tslib@2.8.1: {} tsup@8.5.1(@swc/core@1.15.43)(jiti@2.7.0)(postcss@8.5.16)(tsx@4.22.4)(typescript@6.0.3)(yaml@2.9.0): @@ -17820,8 +17207,6 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-fest@4.41.0: {} - type-fest@5.7.0: dependencies: tagged-tag: 1.0.0 @@ -17891,10 +17276,10 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 - unbzip2-stream@1.4.3: + unconfig-core@7.5.0: dependencies: - buffer: 5.7.1 - through: 2.3.8 + '@quansync/fs': 1.0.0 + quansync: 1.0.0 undici-types@7.24.6: {} @@ -17950,14 +17335,14 @@ snapshots: unpipe@1.0.0: {} - unplugin@3.3.0(esbuild@0.27.7)(rolldown@1.1.3)(rollup@4.62.2)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)): + unplugin@3.3.0(esbuild@0.27.7)(rolldown@1.1.5)(rollup@4.62.2)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)): dependencies: '@jridgewell/remapping': 2.3.5 picomatch: 4.0.4 webpack-virtual-modules: 0.6.2 optionalDependencies: esbuild: 0.27.7 - rolldown: 1.1.3 + rolldown: 1.1.5 rollup: 4.62.2 vite: 8.1.0(@types/node@26.0.1)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) optional: true @@ -18055,9 +17440,9 @@ snapshots: vite@8.1.0(@types/node@26.0.1)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 - picomatch: 4.0.4 + picomatch: 4.0.5 postcss: 8.5.16 - rolldown: 1.1.3 + rolldown: 1.1.5 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 26.0.1 @@ -18070,9 +17455,9 @@ snapshots: vite@8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 - picomatch: 4.0.4 + picomatch: 4.0.5 postcss: 8.5.16 - rolldown: 1.1.3 + rolldown: 1.1.5 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 26.0.1 @@ -18081,6 +17466,22 @@ snapshots: jiti: 2.7.0 tsx: 4.22.4 yaml: 2.9.0 + optional: true + + vite@8.1.0(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0): + dependencies: + lightningcss: 1.32.0 + picomatch: 4.0.5 + postcss: 8.5.16 + rolldown: 1.1.5 + tinyglobby: 0.2.17 + optionalDependencies: + '@types/node': 26.1.1 + esbuild: 0.28.1 + fsevents: 2.3.3 + jiti: 2.7.0 + tsx: 4.22.4 + yaml: 2.9.0 vitest@4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.1)(@vitest/coverage-v8@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)): dependencies: @@ -18112,10 +17513,10 @@ snapshots: transitivePeerDependencies: - msw - vitest@4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.1)(@vitest/coverage-v8@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)): + vitest@4.1.9(@opentelemetry/api@1.9.1)(@types/node@26.0.1)(@vitest/coverage-v8@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.9 - '@vitest/mocker': 4.1.9(vite@8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + '@vitest/mocker': 4.1.9(vite@8.1.0(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.9 '@vitest/runner': 4.1.9 '@vitest/snapshot': 4.1.9 @@ -18132,7 +17533,7 @@ snapshots: tinyexec: 1.2.4 tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vite: 8.1.0(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) + vite: 8.1.0(@types/node@26.1.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 @@ -18167,8 +17568,6 @@ snapshots: web-namespaces@2.0.1: {} - web-worker@1.5.0: {} - webidl-conversions@8.0.1: {} webpack-bundle-analyzer@4.10.1: @@ -18299,10 +17698,6 @@ snapshots: y18n: 5.0.8 yargs-parser: 22.0.0 - yauzl@3.4.0: - dependencies: - pend: 1.2.0 - yocto-queue@0.1.0: {} yocto-spinner@1.2.0: @@ -18311,6 +17706,42 @@ snapshots: yoctocolors@2.1.2: {} + yuku-ast@0.1.7: + dependencies: + '@yuku-toolchain/types': 0.5.43 + + yuku-codegen@0.5.46: + dependencies: + '@yuku-toolchain/types': 0.5.43 + optionalDependencies: + '@yuku-codegen/binding-darwin-arm64': 0.5.46 + '@yuku-codegen/binding-darwin-x64': 0.5.46 + '@yuku-codegen/binding-freebsd-x64': 0.5.46 + '@yuku-codegen/binding-linux-arm-gnu': 0.5.46 + '@yuku-codegen/binding-linux-arm-musl': 0.5.46 + '@yuku-codegen/binding-linux-arm64-gnu': 0.5.46 + '@yuku-codegen/binding-linux-arm64-musl': 0.5.46 + '@yuku-codegen/binding-linux-x64-gnu': 0.5.46 + '@yuku-codegen/binding-linux-x64-musl': 0.5.46 + '@yuku-codegen/binding-win32-arm64': 0.5.46 + '@yuku-codegen/binding-win32-x64': 0.5.46 + + yuku-parser@0.5.46: + dependencies: + '@yuku-toolchain/types': 0.5.43 + optionalDependencies: + '@yuku-parser/binding-darwin-arm64': 0.5.46 + '@yuku-parser/binding-darwin-x64': 0.5.46 + '@yuku-parser/binding-freebsd-x64': 0.5.46 + '@yuku-parser/binding-linux-arm-gnu': 0.5.46 + '@yuku-parser/binding-linux-arm-musl': 0.5.46 + '@yuku-parser/binding-linux-arm64-gnu': 0.5.46 + '@yuku-parser/binding-linux-arm64-musl': 0.5.46 + '@yuku-parser/binding-linux-x64-gnu': 0.5.46 + '@yuku-parser/binding-linux-x64-musl': 0.5.46 + '@yuku-parser/binding-win32-arm64': 0.5.46 + '@yuku-parser/binding-win32-x64': 0.5.46 + zod-to-json-schema@3.25.2(zod@3.25.76): dependencies: zod: 3.25.76