├── supabase ├── seed.sql ├── .gitignore ├── migrations │ ├── 20240702101455_add_view.sql │ ├── 20240702103517_add_complex_view.sql │ ├── 20250820231414_create_table_with_enum.sql │ └── 20240406110619_create_test_tables.sql └── config.toml ├── tests └── typings │ ├── package.json │ ├── tsconfig.json │ ├── index.d.ts │ └── test-d │ └── kyselify.test-d.ts ├── assets └── banner.jpg ├── tsconfig.json ├── pnpm-workspace.yaml ├── tsup.config.ts ├── .editorconfig ├── src ├── index.mts └── kyselify.mts ├── tsconfig.base.json ├── .github ├── workflows │ ├── dependency-review.yml │ ├── preview.yml │ ├── publish.yml │ ├── codeql.yml │ └── tests.yml └── dependabot.yml ├── biome.jsonc ├── LICENSE ├── package.json ├── .gitignore ├── README.md └── pnpm-lock.yaml /supabase/seed.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /supabase/.gitignore: -------------------------------------------------------------------------------- 1 | # Supabase 2 | .branches 3 | .temp 4 | .env 5 | -------------------------------------------------------------------------------- /tests/typings/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": "index.d.ts" 3 | } 4 | -------------------------------------------------------------------------------- /assets/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kysely-org/kysely-supabase/HEAD/assets/banner.jpg -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.base.json", 3 | "exclude": ["node_modules", "dist"], 4 | "include": ["src"] 5 | } 6 | -------------------------------------------------------------------------------- /tests/typings/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "include": ["./**/*"], 4 | "compilerOptions": { 5 | "rootDir": "../../" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | minimumReleaseAge: 1440 # install package versions that are at least 1 day old (in minutes). 2 | 3 | onlyBuiltDependencies: 4 | - esbuild 5 | - supabase 6 | -------------------------------------------------------------------------------- /tests/typings/index.d.ts: -------------------------------------------------------------------------------- 1 | /** biome-ignore-all lint/performance/noBarrelFile: it's fine */ 2 | /** biome-ignore-all lint/performance/noReExportAll: it's fine */ 3 | export * from '../..' 4 | -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'tsup' 2 | 3 | export default defineConfig({ 4 | clean: true, 5 | dts: true, 6 | entry: ['./src/index.mts'], 7 | format: ['cjs', 'esm'], 8 | }) 9 | -------------------------------------------------------------------------------- /supabase/migrations/20240702101455_add_view.sql: -------------------------------------------------------------------------------- 1 | create view person_owners as 2 | select person.* 3 | from person 4 | where exists ( 5 | select 1 6 | from pet 7 | where pet.owner_id = person.id 8 | ); 9 | -------------------------------------------------------------------------------- /supabase/migrations/20240702103517_add_complex_view.sql: -------------------------------------------------------------------------------- 1 | create view person_owners_and_num_of_pets as 2 | select person.*, count(pet.id) as num_of_pets 3 | from person 4 | inner join pet on pet.owner_id = person.id 5 | group by person.id; -------------------------------------------------------------------------------- /supabase/migrations/20250820231414_create_table_with_enum.sql: -------------------------------------------------------------------------------- 1 | create type my_status as enum ( 2 | 'active', 3 | 'inactive', 4 | 'pending' 5 | ); 6 | 7 | create table statuses ( 8 | id serial primary key, 9 | name text not null, 10 | status my_status not null 11 | ); 12 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | # Biome uses tabs for indentation and spaces for alignment. 6 | # This configuration is the closest representation for most editors. 7 | indent_style = tab 8 | tab_width = 2 9 | 10 | # General settings that align with Biome's defaults 11 | end_of_line = lf 12 | charset = utf-8 13 | trim_trailing_whitespace = true 14 | insert_final_newline = true 15 | max_line_length = 80 16 | -------------------------------------------------------------------------------- /src/index.mts: -------------------------------------------------------------------------------- 1 | /** biome-ignore-all lint/performance/noBarrelFile: it's fine */ 2 | export type { 3 | KyselifyDatabase, 4 | KyselifyMultiSchemaDatabase, 5 | KyselifySingleSchemaDatabase, 6 | KyselifyTable, 7 | SchemafulTableAndViewNames, 8 | } from './kyselify.mjs' 9 | 10 | // biome-ignore lint/suspicious/noConsole: it's fine 11 | console.warn( 12 | '`kysely-supabase` should only be imported with the `type` annotation. It has no runtime exports, for now.', 13 | ) 14 | -------------------------------------------------------------------------------- /tsconfig.base.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./node_modules/@tsconfig/node24/tsconfig.json", 3 | "compilerOptions": { 4 | // overrides 5 | "module": "preserve", 6 | "moduleResolution": "bundler", 7 | 8 | // custom 9 | "allowJs": true, 10 | "resolveJsonModule": true, 11 | "moduleDetection": "force", 12 | "isolatedModules": true, 13 | "verbatimModuleSyntax": true, 14 | "noUncheckedIndexedAccess": true, 15 | "noImplicitOverride": true, 16 | "noEmit": true, 17 | "noFallthroughCasesInSwitch": true, 18 | "noUnusedLocals": true, 19 | "noUnusedParameters": true 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /.github/workflows/dependency-review.yml: -------------------------------------------------------------------------------- 1 | name: dependency review 2 | 3 | on: 4 | pull_request: 5 | 6 | permissions: 7 | contents: read 8 | 9 | jobs: 10 | dependency-review: 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - name: Harden the runner (Audit all outbound calls) 15 | uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 16 | with: 17 | egress-policy: audit 18 | 19 | - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 20 | 21 | - name: Dependency Review 22 | uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 # v4.8.2 23 | -------------------------------------------------------------------------------- /supabase/migrations/20240406110619_create_test_tables.sql: -------------------------------------------------------------------------------- 1 | create table person ( 2 | id serial primary key, 3 | first_name varchar(255), 4 | middle_name varchar(255), 5 | last_name varchar(255), 6 | gender varchar(50) not null, 7 | marital_status varchar(50), 8 | children integer not null default 0 9 | ); 10 | 11 | create table pet ( 12 | id serial primary key, 13 | name varchar(255) unique not null, 14 | owner_id integer not null references person (id) on delete cascade, 15 | species varchar(50) not null 16 | ); 17 | 18 | create table toy ( 19 | id serial primary key, 20 | name varchar(255) not null, 21 | pet_id integer not null references pet (id) 22 | ); 23 | 24 | create index pet_owner_id_index on pet (owner_id); -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: npm 9 | versioning-strategy: increase 10 | directories: 11 | - / 12 | schedule: 13 | interval: daily 14 | cooldown: 15 | default-days: 1 16 | reviewers: 17 | - igalklebanov 18 | 19 | - package-ecosystem: github-actions 20 | directory: / 21 | schedule: 22 | interval: daily 23 | reviewers: 24 | - igalklebanov 25 | -------------------------------------------------------------------------------- /.github/workflows/preview.yml: -------------------------------------------------------------------------------- 1 | name: preview 2 | 3 | on: [push, pull_request] 4 | 5 | permissions: 6 | contents: read 7 | 8 | jobs: 9 | release: 10 | name: Release preview build 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - name: Harden the runner (Audit all outbound calls) 15 | uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 16 | with: 17 | egress-policy: audit 18 | 19 | - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 20 | 21 | - name: Install pnpm 22 | uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 23 | 24 | - name: Use Node.js 25 | uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 26 | with: 27 | node-version: lts/* 28 | cache: "pnpm" 29 | 30 | - name: Install dependencies 31 | run: pnpm i 32 | 33 | - name: Build 34 | run: pnpm build 35 | 36 | - name: Release preview version 37 | run: pnpx pkg-pr-new publish 38 | -------------------------------------------------------------------------------- /biome.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", 3 | "files": { 4 | "includes": ["**", "!**/.vscode", "!**/package.json", "!**/tsconfig*.json"] 5 | }, 6 | "javascript": { 7 | "formatter": { 8 | "quoteStyle": "single", 9 | "semicolons": "asNeeded" 10 | } 11 | }, 12 | "linter": { 13 | "rules": { 14 | "nursery": {}, 15 | "performance": { 16 | "noAccumulatingSpread": "error", 17 | "noBarrelFile": "error", 18 | "noDynamicNamespaceImportAccess": "error", 19 | "noNamespaceImport": "error", 20 | "noReExportAll": "error", 21 | "useTopLevelRegex": "error" 22 | }, 23 | "style": { 24 | "noNonNullAssertion": "warn", 25 | "noParameterAssign": "warn", 26 | "noCommonJs": "error", 27 | "useDeprecatedReason": "error" 28 | }, 29 | "suspicious": { 30 | "noAssignInExpressions": "off", 31 | "noConsole": "error", 32 | "noExplicitAny": "warn" 33 | } 34 | } 35 | }, 36 | "vcs": { 37 | "clientKind": "git", 38 | "defaultBranch": "main", 39 | "enabled": true, 40 | "useIgnoreFile": true 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Kysely 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | # https://docs.npmjs.com/trusted-publishers#github-actions-configuration 2 | name: publish 3 | 4 | on: 5 | push: 6 | tags: 7 | - 'v*' 8 | 9 | permissions: 10 | contents: read 11 | id-token: write # Required for OIDC 12 | 13 | jobs: 14 | npm: 15 | environment: release 16 | runs-on: ubuntu-latest 17 | 18 | steps: 19 | - name: Harden the runner (Audit all outbound calls) 20 | uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 21 | with: 22 | egress-policy: audit 23 | 24 | - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 25 | 26 | - name: Install pnpm 27 | uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 28 | 29 | - name: Use Node.js 30 | uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 31 | with: 32 | node-version: lts/* 33 | cache: "pnpm" 34 | 35 | - name: Install dependencies 36 | run: npm i -g npm@latest && pnpm i 37 | 38 | - name: Publish 39 | run: pnpm publish --no-git-checks # the workflow runs in a detached head state, so git checks fail 40 | -------------------------------------------------------------------------------- /.github/workflows/codeql.yml: -------------------------------------------------------------------------------- 1 | name: codeql 2 | 3 | on: 4 | push: 5 | branches: [main] 6 | pull_request: 7 | branches: [main] 8 | schedule: 9 | - cron: 0 0 * * 1 10 | 11 | permissions: 12 | contents: read 13 | 14 | jobs: 15 | analyze: 16 | runs-on: ubuntu-latest 17 | 18 | permissions: 19 | actions: read 20 | contents: read 21 | security-events: write 22 | 23 | strategy: 24 | fail-fast: false 25 | matrix: 26 | language: [typescript] 27 | 28 | steps: 29 | - name: Harden the runner (Audit all outbound calls) 30 | uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 31 | with: 32 | egress-policy: audit 33 | 34 | - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 35 | 36 | - name: Initialize CodeQL 37 | uses: github/codeql-action/init@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9 38 | with: 39 | languages: ${{ matrix.language }} 40 | 41 | - name: Perform CodeQL Analysis 42 | uses: github/codeql-action/analyze@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9 43 | with: 44 | category: "/language:${{matrix.language}}" 45 | -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- 1 | name: Tests 2 | 3 | on: 4 | pull_request: 5 | branches: [main] 6 | push: 7 | branches: [main] 8 | 9 | permissions: 10 | contents: read 11 | 12 | jobs: 13 | unit: 14 | runs-on: ubuntu-latest 15 | 16 | steps: 17 | - name: Harden the runner (Audit all outbound calls) 18 | uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 19 | with: 20 | egress-policy: audit 21 | 22 | - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 23 | 24 | - name: Install pnpm 25 | uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 26 | 27 | - name: Install Node.js LTS 28 | uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 29 | with: 30 | cache: 'pnpm' 31 | node-version: lts/* 32 | 33 | - name: Install dependencies 34 | run: pnpm i 35 | 36 | - name: Init database 37 | run: pnpm init:db 38 | 39 | - name: Test 40 | run: pnpm test 41 | 42 | misc: 43 | runs-on: ubuntu-latest 44 | 45 | steps: 46 | - name: Harden the runner (Audit all outbound calls) 47 | uses: step-security/harden-runner@20cf305ff2072d973412fa9b1e3a4f227bda3c76 # v2.14.0 48 | with: 49 | egress-policy: audit 50 | 51 | - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 52 | 53 | - name: Install pnpm 54 | uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 55 | 56 | - name: Install Node.js LTS 57 | uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 58 | with: 59 | cache: 'pnpm' 60 | node-version: lts/* 61 | 62 | - name: Install dependencies 63 | run: pnpm i 64 | 65 | - name: Build 66 | run: pnpm build 67 | 68 | - name: Type Check 69 | run: pnpm check:types 70 | 71 | - name: Lint 72 | run: pnpm lint 73 | 74 | - name: Check exports 75 | run: pnpm check:exports 76 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kysely-supabase", 3 | "version": "0.2.1", 4 | "description": "Kysely type translators for Supabase", 5 | "repository": "https://github.com/kysely-org/kysely-supabase.git", 6 | "homepage": "https://github.com/kysely-org/kysely-supabase", 7 | "author": "Igal Klebanov (https://github.com/igalklebanov)", 8 | "license": "MIT", 9 | "main": "./dist/index.js", 10 | "module": "./dist/index.mjs", 11 | "types": "./dist/index.d.ts", 12 | "exports": { 13 | ".": { 14 | "import": { 15 | "types": "./dist/index.d.mts", 16 | "default": "./dist/index.mjs" 17 | }, 18 | "require": { 19 | "types": "./dist/index.d.ts", 20 | "default": "./dist/index.js" 21 | } 22 | } 23 | }, 24 | "files": [ 25 | "dist" 26 | ], 27 | "keywords": [ 28 | "kysely", 29 | "supabase", 30 | "postgres", 31 | "postgresql", 32 | "typescript", 33 | "types" 34 | ], 35 | "scripts": { 36 | "biome": "biome", 37 | "build": "tsup", 38 | "check:exports": "attw --pack .", 39 | "check:types": "tsc --noEmit", 40 | "init:db": "supabase start && supabase db reset && supabase gen types typescript --local > schema.gen.ts", 41 | "lint": "biome check", 42 | "prepublishOnly": "biome check && pnpm build && pnpm check:exports", 43 | "test": "pnpm build && pnpm test:typings", 44 | "test:typings": "tsd tests/typings" 45 | }, 46 | "peerDependencies": { 47 | "kysely": ">= 0.24.0 < 1", 48 | "supabase": ">= 1.0.0 < 3" 49 | }, 50 | "devDependencies": { 51 | "@arethetypeswrong/cli": "^0.18.2", 52 | "@biomejs/biome": "^2.3.10", 53 | "@tsconfig/node24": "^24.0.3", 54 | "@types/node": "^25.0.3", 55 | "kysely": "^0.28.9", 56 | "supabase": "^2.70.4", 57 | "tsd": "^0.33.0", 58 | "tsup": "^8.5.1", 59 | "type-fest": "^5.3.1", 60 | "typescript": "^5.9.3" 61 | }, 62 | "sideEffects": false, 63 | "packageManager": "pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34" 64 | } 65 | -------------------------------------------------------------------------------- /src/kyselify.mts: -------------------------------------------------------------------------------- 1 | import type { ColumnType } from 'kysely' 2 | 3 | type SupabaseInternalSchemas = 'graphql_public' | 'storage' 4 | 5 | export type KyselifyDatabase = keyof Database extends 6 | | 'public' 7 | | SupabaseInternalSchemas 8 | ? KyselifySingleSchemaDatabase 9 | : KyselifySingleSchemaDatabase & 10 | KyselifyMultiSchemaDatabase 11 | 12 | export type KyselifySingleSchemaDatabase = 13 | 'public' extends keyof Database 14 | ? 'Tables' extends keyof Database['public'] 15 | ? { 16 | [TableName in keyof Database['public']['Tables']]: KyselifyTable< 17 | Database['public']['Tables'][TableName] 18 | > 19 | } & ('Views' extends keyof Database['public'] 20 | ? { 21 | [ViewName in keyof Database['public']['Views']]: KyselifyTable< 22 | Database['public']['Views'][ViewName] 23 | > 24 | } 25 | : never) 26 | : never 27 | : never 28 | 29 | export type KyselifyMultiSchemaDatabase = { 30 | [SchemafulTableOrViewName in SchemafulTableAndViewNames]: SchemafulTableOrViewName extends `${infer Schema extends keyof Database & string}.${infer TableOrViewName}` 31 | ? 'Tables' extends keyof Database[Schema] 32 | ? TableOrViewName extends keyof Database[Schema]['Tables'] 33 | ? KyselifyTable 34 | : 'Views' extends keyof Database[Schema] 35 | ? TableOrViewName extends keyof Database[Schema]['Views'] 36 | ? KyselifyTable 37 | : never 38 | : never 39 | : never 40 | : never 41 | } 42 | 43 | export type SchemafulTableAndViewNames = { 44 | [Schema in Exclude]: 45 | | ('Tables' extends keyof Database[Schema] 46 | ? `${Schema & string}.${keyof Database[Schema]['Tables'] & string}` 47 | : never) 48 | | ('Views' extends keyof Database[Schema] 49 | ? `${Schema & string}.${keyof Database[Schema]['Views'] & string}` 50 | : never) 51 | }[Exclude] 52 | 53 | export type KyselifyTable = 'Row' extends keyof Table 54 | ? { 55 | [Column in keyof Table['Row']]: ColumnType< 56 | undefined extends Table['Row'][Column] 57 | ? Exclude | null 58 | : Table['Row'][Column], 59 | 'Insert' extends keyof Table 60 | ? Column extends keyof Table['Insert'] 61 | ? Table['Insert'][Column] 62 | : never 63 | : never, 64 | 'Update' extends keyof Table 65 | ? Column extends keyof Table['Update'] 66 | ? Table['Update'][Column] 67 | : never 68 | : never 69 | > 70 | } 71 | : never 72 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | .pnpm-debug.log* 9 | 10 | # Diagnostic reports (https://nodejs.org/api/report.html) 11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | *.lcov 25 | 26 | # nyc test coverage 27 | .nyc_output 28 | 29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 30 | .grunt 31 | 32 | # Bower dependency directory (https://bower.io/) 33 | bower_components 34 | 35 | # node-waf configuration 36 | .lock-wscript 37 | 38 | # Compiled binary addons (https://nodejs.org/api/addons.html) 39 | build/Release 40 | 41 | # Dependency directories 42 | node_modules/ 43 | jspm_packages/ 44 | 45 | # Snowpack dependency directory (https://snowpack.dev/) 46 | web_modules/ 47 | 48 | # TypeScript cache 49 | *.tsbuildinfo 50 | 51 | # Optional npm cache directory 52 | .npm 53 | 54 | # Optional eslint cache 55 | .eslintcache 56 | 57 | # Optional stylelint cache 58 | .stylelintcache 59 | 60 | # Microbundle cache 61 | .rpt2_cache/ 62 | .rts2_cache_cjs/ 63 | .rts2_cache_es/ 64 | .rts2_cache_umd/ 65 | 66 | # Optional REPL history 67 | .node_repl_history 68 | 69 | # Output of 'npm pack' 70 | *.tgz 71 | 72 | # Yarn Integrity file 73 | .yarn-integrity 74 | 75 | # dotenv environment variable files 76 | .env 77 | .env.development.local 78 | .env.test.local 79 | .env.production.local 80 | .env.local 81 | 82 | # parcel-bundler cache (https://parceljs.org/) 83 | .cache 84 | .parcel-cache 85 | 86 | # Next.js build output 87 | .next 88 | out 89 | 90 | # Nuxt.js build / generate output 91 | .nuxt 92 | dist 93 | 94 | # Gatsby files 95 | .cache/ 96 | # Comment in the public line in if your project uses Gatsby and not Next.js 97 | # https://nextjs.org/blog/next-9-1#public-directory-support 98 | # public 99 | 100 | # vuepress build output 101 | .vuepress/dist 102 | 103 | # vuepress v2.x temp and cache directory 104 | .temp 105 | .cache 106 | 107 | # Docusaurus cache and generated files 108 | .docusaurus 109 | 110 | # Serverless directories 111 | .serverless/ 112 | 113 | # FuseBox cache 114 | .fusebox/ 115 | 116 | # DynamoDB Local files 117 | .dynamodb/ 118 | 119 | # TernJS port file 120 | .tern-port 121 | 122 | # Stores VSCode versions used for testing VSCode extensions 123 | .vscode-test 124 | 125 | # yarn v2 126 | .yarn/cache 127 | .yarn/unplugged 128 | .yarn/build-state.yml 129 | .yarn/install-state.gz 130 | .pnp.* 131 | 132 | # supabase 133 | schema.gen.ts -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Kysely and Supabase mascots floating in the AI bubble created by a wonky open-source stack taped to PostgreSQL](./assets/banner.jpg) 2 | 3 | [![NPM Version](https://img.shields.io/npm/v/kysely-supabase?style=flat&label=latest)](https://github.com/kysely-org/kysely-supabase/releases/latest) 4 | [![Tests](https://github.com/kysely-org/kysely-supabase/actions/workflows/tests.yml/badge.svg)](https://github.com/kysely-org/kysely-supabase) 5 | [![License](https://img.shields.io/github/license/kysely-org/kysely-supabase?style=flat)](https://github.com/kysely-org/kysely-supabase/blob/main/LICENSE) 6 | [![Issues](https://img.shields.io/github/issues-closed/kysely-org/kysely-supabase?logo=github)](https://github.com/kysely-org/kysely-supabase/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc) 7 | [![Pull Requests](https://img.shields.io/github/issues-pr-closed/kysely-org/kysely-supabase?label=PRs&logo=github&style=flat)](https://github.com/kysely-org/kysely-supabase/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc) 8 | ![GitHub contributors](https://img.shields.io/github/contributors/kysely-org/kysely-supabase) 9 | [![Downloads](https://img.shields.io/npm/dw/kysely-supabase?logo=npm)](https://www.npmjs.com/package/kysely-supabase) 10 | 11 | ###### Join the discussion ⠀⠀⠀⠀⠀⠀⠀ 12 | 13 | [![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=flat&logo=discord&logoColor=white)](https://discord.gg/xyBJ3GwvAm) 14 | [![Bluesky](https://img.shields.io/badge/Bluesky-0285FF?style=flat&logo=Bluesky&logoColor=white)](https://bsky.app/profile/kysely.dev) 15 | 16 | Supabase is a combination of open-source tools. They're building the features of Firebase using enterprise-grade, open-source products. If the tools and communities exist, with an MIT, Apache 2, or equivalent open license, they will use and support that tool. If the tool doesn't exist, they build and open-source it themselves. Supabase is not a 1-to-1 mapping of Firebase. Their aim is to give developers a Firebase-like developer experience using open-source tools. 17 | 18 | As of Oct 7, 2025, `@supabase/supabase-js` (the client library) has 4,134,937 weekly downloads on npm, while `supabase` (the CLI) has 475,282 weekly downloads on npm. It is a popular all-in-one development platform for Node.js and TypeScript. 19 | 20 | Their CLI supports TypeScript type generation from your Supabase-managed PostgreSQL database, and their client library provides a nice, albeit restrictive, auto-completion friendly, and type-safe developer experience. For anything beyond what the client library's API offers, you're left with writing raw SQL and using PostgreSQL drivers like `pg` or `postgres`, or some abstraction where you codegen or define schema/types again. 21 | 22 | Kysely (pronounced “Key-Seh-Lee”) is a type-safe and autocompletion-friendly TypeScript SQL query builder. Inspired by Knex. Mainly developed for Node.js but also runs on Deno and in the browser. 23 | 24 | `kysely-supabase` is a toolkit (type translators for now) that allows using your existing Supabase setup with Kysely. 25 | 26 | ## Installation 27 | 28 | ```sh 29 | npm i kysely @supabase/supabase-js 30 | npm i -D kysely-supabase supabase 31 | ``` 32 | 33 | For PostgreSQL: 34 | 35 | ```sh 36 | npm i pg 37 | ``` 38 | 39 | or 40 | 41 | ```sh 42 | npm i kysely-postgres-js postgres 43 | ``` 44 | 45 | ## Usage 46 | 47 | ### Types 48 | 49 | Translate your Supabase-generated `Database` type to Kysely's `Database` interface via the `KyselifyDatabase` helper type. 50 | 51 | `src/types/database.ts`: 52 | 53 | ```ts 54 | import type { Database as SupabaseDatabase } from "path/to/supabase/generated/types/file"; 55 | import type { KyselifyDatabase } from "kysely-supabase"; 56 | 57 | export type Database = KyselifyDatabase; 58 | ``` 59 | 60 | ### Kysely Instance 61 | 62 | Create a Kysely instance. Pass to it your `Database` type. 63 | 64 | `src/kysely.ts`: 65 | 66 | ```ts 67 | import { Kysely, PostgresDialect } from "kysely"; 68 | import { Pool } from "pg"; 69 | import type { Database } from "./types/database"; 70 | 71 | export const kysely = new Kysely({ 72 | dialect: new PostgresDialect({ 73 | pool: new Pool({ 74 | connectionString: process.env.DATABASE_URL, 75 | }), 76 | }), 77 | }); 78 | ``` 79 | 80 | or when using `postgres` instead of `pg` as the underlying driver: 81 | 82 | ```ts 83 | import { Kysely } from "kysely"; 84 | import { PostgresJSDialect } from "kysely-postgres-js"; 85 | import postgres from "postgres"; 86 | import type { Database } from "./types/database"; 87 | 88 | export const kysely = new Kysely({ 89 | dialect: new PostgresJSDialect({ 90 | postgres: postgres(process.env.DATABASE_URL), 91 | }), 92 | }); 93 | ``` 94 | 95 | ## Acknowledgements 96 | 97 | `KyselifyDatabase` helper type was inspired by [Gilbert](https://github.com/gilbert)'s [issue](https://github.com/kysely-org/kysely/issues/461). 98 | -------------------------------------------------------------------------------- /supabase/config.toml: -------------------------------------------------------------------------------- 1 | # A string used to distinguish different Supabase projects on the same host. Defaults to the 2 | # working directory name when running `supabase init`. 3 | project_id = "kysely-supabase" 4 | 5 | [api] 6 | enabled = true 7 | # Port to use for the API URL. 8 | port = 54321 9 | # Schemas to expose in your API. Tables, views and stored procedures in this schema will get API 10 | # endpoints. public and storage are always included. 11 | schemas = ["public", "storage", "graphql_public"] 12 | # Extra schemas to add to the search_path of every request. public is always included. 13 | extra_search_path = ["public", "extensions"] 14 | # The maximum number of rows returns from a view, table, or stored procedure. Limits payload size 15 | # for accidental or malicious requests. 16 | max_rows = 1000 17 | 18 | [db] 19 | # Port to use for the local database URL. 20 | port = 54322 21 | # Port used by db diff command to initialize the shadow database. 22 | shadow_port = 54320 23 | # The database major version to use. This has to be the same as your remote database's. Run `SHOW 24 | # server_version;` on the remote database to check. 25 | major_version = 15 26 | 27 | [db.pooler] 28 | enabled = false 29 | # Port to use for the local connection pooler. 30 | port = 54329 31 | # Specifies when a server connection can be reused by other clients. 32 | # Configure one of the supported pooler modes: `transaction`, `session`. 33 | pool_mode = "transaction" 34 | # How many server connections to allow per user/database pair. 35 | default_pool_size = 20 36 | # Maximum number of client connections allowed. 37 | max_client_conn = 100 38 | 39 | [realtime] 40 | enabled = true 41 | # Bind realtime via either IPv4 or IPv6. (default: IPv6) 42 | # ip_version = "IPv6" 43 | # The maximum length in bytes of HTTP request headers. (default: 4096) 44 | # max_header_length = 4096 45 | 46 | [studio] 47 | enabled = true 48 | # Port to use for Supabase Studio. 49 | port = 54323 50 | # External URL of the API server that frontend connects to. 51 | api_url = "http://127.0.0.1" 52 | # OpenAI API Key to use for Supabase AI in the Supabase Studio. 53 | openai_api_key = "env(OPENAI_API_KEY)" 54 | 55 | # Email testing server. Emails sent with the local dev setup are not actually sent - rather, they 56 | # are monitored, and you can view the emails that would have been sent from the web interface. 57 | [inbucket] 58 | enabled = true 59 | # Port to use for the email testing server web interface. 60 | port = 54324 61 | # Uncomment to expose additional ports for testing user applications that send emails. 62 | # smtp_port = 54325 63 | # pop3_port = 54326 64 | 65 | [storage] 66 | enabled = true 67 | # The maximum file size allowed (e.g. "5MB", "500KB"). 68 | file_size_limit = "50MiB" 69 | 70 | [auth] 71 | enabled = true 72 | # The base URL of your website. Used as an allow-list for redirects and for constructing URLs used 73 | # in emails. 74 | site_url = "http://127.0.0.1:3000" 75 | # A list of *exact* URLs that auth providers are permitted to redirect to post authentication. 76 | additional_redirect_urls = ["https://127.0.0.1:3000"] 77 | # How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 (1 week). 78 | jwt_expiry = 3600 79 | # If disabled, the refresh token will never expire. 80 | enable_refresh_token_rotation = true 81 | # Allows refresh tokens to be reused after expiry, up to the specified interval in seconds. 82 | # Requires enable_refresh_token_rotation = true. 83 | refresh_token_reuse_interval = 10 84 | # Allow/disallow new user signups to your project. 85 | enable_signup = true 86 | # Allow/disallow testing manual linking of accounts 87 | enable_manual_linking = false 88 | 89 | [auth.email] 90 | # Allow/disallow new user signups via email to your project. 91 | enable_signup = true 92 | # If enabled, a user will be required to confirm any email change on both the old, and new email 93 | # addresses. If disabled, only the new email is required to confirm. 94 | double_confirm_changes = true 95 | # If enabled, users need to confirm their email address before signing in. 96 | enable_confirmations = false 97 | 98 | # Uncomment to customize email template 99 | # [auth.email.template.invite] 100 | # subject = "You have been invited" 101 | # content_path = "./supabase/templates/invite.html" 102 | 103 | [auth.sms] 104 | # Allow/disallow new user signups via SMS to your project. 105 | enable_signup = true 106 | # If enabled, users need to confirm their phone number before signing in. 107 | enable_confirmations = false 108 | # Template for sending OTP to users 109 | template = "Your code is {{ .Code }} ." 110 | 111 | # Use pre-defined map of phone number to OTP for testing. 112 | [auth.sms.test_otp] 113 | # 4152127777 = "123456" 114 | 115 | # This hook runs before a token is issued and allows you to add additional claims based on the authentication method used. 116 | [auth.hook.custom_access_token] 117 | # enabled = true 118 | # uri = "pg-functions:////" 119 | 120 | 121 | # Configure one of the supported SMS providers: `twilio`, `twilio_verify`, `messagebird`, `textlocal`, `vonage`. 122 | [auth.sms.twilio] 123 | enabled = false 124 | account_sid = "" 125 | message_service_sid = "" 126 | # DO NOT commit your Twilio auth token to git. Use environment variable substitution instead: 127 | auth_token = "env(SUPABASE_AUTH_SMS_TWILIO_AUTH_TOKEN)" 128 | 129 | # Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`, 130 | # `discord`, `facebook`, `github`, `gitlab`, `google`, `keycloak`, `linkedin_oidc`, `notion`, `twitch`, 131 | # `twitter`, `slack`, `spotify`, `workos`, `zoom`. 132 | [auth.external.apple] 133 | enabled = false 134 | client_id = "" 135 | # DO NOT commit your OAuth provider secret to git. Use environment variable substitution instead: 136 | secret = "env(SUPABASE_AUTH_EXTERNAL_APPLE_SECRET)" 137 | # Overrides the default auth redirectUrl. 138 | redirect_uri = "" 139 | # Overrides the default auth provider URL. Used to support self-hosted gitlab, single-tenant Azure, 140 | # or any other third-party OIDC providers. 141 | url = "" 142 | 143 | [analytics] 144 | enabled = false 145 | port = 54327 146 | vector_port = 54328 147 | # Configure one of the supported backends: `postgres`, `bigquery`. 148 | backend = "postgres" 149 | 150 | # Experimental features may be deprecated any time 151 | [experimental] 152 | # Configures Postgres storage engine to use OrioleDB (S3) 153 | orioledb_version = "" 154 | # Configures S3 bucket URL, eg. .s3-.amazonaws.com 155 | s3_host = "env(S3_HOST)" 156 | # Configures S3 bucket region, eg. us-east-1 157 | s3_region = "env(S3_REGION)" 158 | # Configures AWS_ACCESS_KEY_ID for S3 bucket 159 | s3_access_key = "env(S3_ACCESS_KEY)" 160 | # Configures AWS_SECRET_ACCESS_KEY for S3 bucket 161 | s3_secret_key = "env(S3_SECRET_KEY)" 162 | -------------------------------------------------------------------------------- /tests/typings/test-d/kyselify.test-d.ts: -------------------------------------------------------------------------------- 1 | import type { ColumnType } from 'kysely' 2 | import { expectType } from 'tsd' 3 | import type { IsEqual } from 'type-fest' 4 | import type { Database as SupabaseDatabase } from '../../../schema.gen' 5 | import type { KyselifyDatabase } from '..' 6 | 7 | // biome-ignore lint/correctness/noUnusedVariables: it's fine 8 | function testSingleSchemaDatabase() { 9 | type Actual = KyselifyDatabase 10 | type Expected = { 11 | person: { 12 | id: ColumnType 13 | first_name: ColumnType< 14 | string | null, 15 | string | null | undefined, 16 | string | null | undefined 17 | > 18 | middle_name: ColumnType< 19 | string | null, 20 | string | null | undefined, 21 | string | null | undefined 22 | > 23 | last_name: ColumnType< 24 | string | null, 25 | string | null | undefined, 26 | string | null | undefined 27 | > 28 | gender: ColumnType 29 | marital_status: ColumnType< 30 | string | null, 31 | string | null | undefined, 32 | string | null | undefined 33 | > 34 | children: ColumnType 35 | } 36 | pet: { 37 | id: ColumnType 38 | name: ColumnType 39 | species: ColumnType 40 | owner_id: ColumnType 41 | } 42 | statuses: { 43 | id: ColumnType 44 | name: ColumnType 45 | status: ColumnType< 46 | 'active' | 'inactive' | 'pending', 47 | 'active' | 'inactive' | 'pending', 48 | 'active' | 'inactive' | 'pending' | undefined 49 | > 50 | } 51 | toy: { 52 | id: ColumnType 53 | name: ColumnType 54 | pet_id: ColumnType 55 | } 56 | } & { 57 | person_owners: { 58 | id: ColumnType< 59 | number | null, 60 | number | null | undefined, 61 | number | null | undefined 62 | > 63 | first_name: ColumnType< 64 | string | null, 65 | string | null | undefined, 66 | string | null | undefined 67 | > 68 | middle_name: ColumnType< 69 | string | null, 70 | string | null | undefined, 71 | string | null | undefined 72 | > 73 | last_name: ColumnType< 74 | string | null, 75 | string | null | undefined, 76 | string | null | undefined 77 | > 78 | gender: ColumnType< 79 | string | null, 80 | string | null | undefined, 81 | string | null | undefined 82 | > 83 | marital_status: ColumnType< 84 | string | null, 85 | string | null | undefined, 86 | string | null | undefined 87 | > 88 | children: ColumnType< 89 | number | null, 90 | number | null | undefined, 91 | number | null | undefined 92 | > 93 | } 94 | person_owners_and_num_of_pets: { 95 | id: ColumnType 96 | first_name: ColumnType 97 | middle_name: ColumnType 98 | last_name: ColumnType 99 | gender: ColumnType 100 | marital_status: ColumnType 101 | children: ColumnType 102 | num_of_pets: ColumnType 103 | } 104 | } 105 | 106 | expectType>(true) 107 | expectType>(true) 108 | expectType>(true) 109 | expectType>(true) 110 | expectType>(true) 111 | expectType< 112 | IsEqual< 113 | Actual['person_owners_and_num_of_pets'], 114 | Expected['person_owners_and_num_of_pets'] 115 | > 116 | >(true) 117 | expectType>(true) 118 | } 119 | 120 | // biome-ignore lint/correctness/noUnusedVariables: it's fine 121 | function testMultiSchemaDatabase() { 122 | type Actual = KyselifyDatabase< 123 | SupabaseDatabase & { 124 | my_schema: { 125 | Tables: { 126 | toy: SupabaseDatabase['public']['Tables']['toy'] 127 | } 128 | Views: { 129 | [_ in never]: never 130 | } 131 | } 132 | another_schema: { 133 | Tables: { 134 | pet: SupabaseDatabase['public']['Tables']['pet'] 135 | toy: SupabaseDatabase['public']['Tables']['toy'] 136 | } 137 | Views: { 138 | pets_with_toys: SupabaseDatabase['public']['Tables']['pet'] 139 | } 140 | } 141 | } 142 | > 143 | type Expected = { 144 | person: { 145 | id: ColumnType 146 | first_name: ColumnType< 147 | string | null, 148 | string | null | undefined, 149 | string | null | undefined 150 | > 151 | middle_name: ColumnType< 152 | string | null, 153 | string | null | undefined, 154 | string | null | undefined 155 | > 156 | last_name: ColumnType< 157 | string | null, 158 | string | null | undefined, 159 | string | null | undefined 160 | > 161 | gender: ColumnType 162 | marital_status: ColumnType< 163 | string | null, 164 | string | null | undefined, 165 | string | null | undefined 166 | > 167 | children: ColumnType 168 | } 169 | pet: { 170 | id: ColumnType 171 | name: ColumnType 172 | species: ColumnType 173 | owner_id: ColumnType 174 | } 175 | statuses: { 176 | id: ColumnType 177 | name: ColumnType 178 | status: ColumnType< 179 | 'active' | 'inactive' | 'pending', 180 | 'active' | 'inactive' | 'pending', 181 | 'active' | 'inactive' | 'pending' | undefined 182 | > 183 | } 184 | toy: { 185 | id: ColumnType 186 | name: ColumnType 187 | pet_id: ColumnType 188 | } 189 | } & { 190 | person_owners: { 191 | id: ColumnType< 192 | number | null, 193 | number | null | undefined, 194 | number | null | undefined 195 | > 196 | first_name: ColumnType< 197 | string | null, 198 | string | null | undefined, 199 | string | null | undefined 200 | > 201 | middle_name: ColumnType< 202 | string | null, 203 | string | null | undefined, 204 | string | null | undefined 205 | > 206 | last_name: ColumnType< 207 | string | null, 208 | string | null | undefined, 209 | string | null | undefined 210 | > 211 | gender: ColumnType< 212 | string | null, 213 | string | null | undefined, 214 | string | null | undefined 215 | > 216 | marital_status: ColumnType< 217 | string | null, 218 | string | null | undefined, 219 | string | null | undefined 220 | > 221 | children: ColumnType< 222 | number | null, 223 | number | null | undefined, 224 | number | null | undefined 225 | > 226 | } 227 | person_owners_and_num_of_pets: { 228 | id: ColumnType 229 | first_name: ColumnType 230 | middle_name: ColumnType 231 | last_name: ColumnType 232 | gender: ColumnType 233 | marital_status: ColumnType 234 | children: ColumnType 235 | num_of_pets: ColumnType 236 | } 237 | } & { 238 | 'public.person': { 239 | id: ColumnType 240 | first_name: ColumnType< 241 | string | null, 242 | string | null | undefined, 243 | string | null | undefined 244 | > 245 | middle_name: ColumnType< 246 | string | null, 247 | string | null | undefined, 248 | string | null | undefined 249 | > 250 | last_name: ColumnType< 251 | string | null, 252 | string | null | undefined, 253 | string | null | undefined 254 | > 255 | gender: ColumnType 256 | marital_status: ColumnType< 257 | string | null, 258 | string | null | undefined, 259 | string | null | undefined 260 | > 261 | children: ColumnType 262 | } 263 | 'public.pet': { 264 | id: ColumnType 265 | name: ColumnType 266 | species: ColumnType 267 | owner_id: ColumnType 268 | } 269 | 'public.statuses': { 270 | id: ColumnType 271 | name: ColumnType 272 | status: ColumnType< 273 | 'active' | 'inactive' | 'pending', 274 | 'active' | 'inactive' | 'pending', 275 | 'active' | 'inactive' | 'pending' | undefined 276 | > 277 | } 278 | 'public.toy': { 279 | id: ColumnType 280 | name: ColumnType 281 | pet_id: ColumnType 282 | } 283 | 'public.person_owners': { 284 | id: ColumnType< 285 | number | null, 286 | number | null | undefined, 287 | number | null | undefined 288 | > 289 | first_name: ColumnType< 290 | string | null, 291 | string | null | undefined, 292 | string | null | undefined 293 | > 294 | middle_name: ColumnType< 295 | string | null, 296 | string | null | undefined, 297 | string | null | undefined 298 | > 299 | last_name: ColumnType< 300 | string | null, 301 | string | null | undefined, 302 | string | null | undefined 303 | > 304 | gender: ColumnType< 305 | string | null, 306 | string | null | undefined, 307 | string | null | undefined 308 | > 309 | marital_status: ColumnType< 310 | string | null, 311 | string | null | undefined, 312 | string | null | undefined 313 | > 314 | children: ColumnType< 315 | number | null, 316 | number | null | undefined, 317 | number | null | undefined 318 | > 319 | } 320 | 'public.person_owners_and_num_of_pets': { 321 | id: ColumnType 322 | first_name: ColumnType 323 | middle_name: ColumnType 324 | last_name: ColumnType 325 | gender: ColumnType 326 | marital_status: ColumnType 327 | children: ColumnType 328 | num_of_pets: ColumnType 329 | } 330 | 'my_schema.toy': { 331 | id: ColumnType 332 | name: ColumnType 333 | pet_id: ColumnType 334 | } 335 | 'another_schema.pet': { 336 | id: ColumnType 337 | name: ColumnType 338 | species: ColumnType 339 | owner_id: ColumnType 340 | } 341 | 'another_schema.toy': { 342 | id: ColumnType 343 | name: ColumnType 344 | pet_id: ColumnType 345 | } 346 | 'another_schema.pets_with_toys': { 347 | id: ColumnType 348 | name: ColumnType 349 | species: ColumnType 350 | owner_id: ColumnType 351 | } 352 | } 353 | 354 | expectType>(true) 355 | expectType>(true) 356 | expectType>(true) 357 | expectType>(true) 358 | expectType>(true) 359 | expectType< 360 | IsEqual< 361 | Actual['person_owners_and_num_of_pets'], 362 | Expected['person_owners_and_num_of_pets'] 363 | > 364 | >(true) 365 | expectType>(true) 366 | expectType>(true) 367 | expectType>(true) 368 | expectType< 369 | IsEqual 370 | >(true) 371 | expectType< 372 | IsEqual< 373 | Actual['public.person_owners_and_num_of_pets'], 374 | Expected['public.person_owners_and_num_of_pets'] 375 | > 376 | >(true) 377 | expectType> 378 | expectType< 379 | IsEqual 380 | >(true) 381 | expectType< 382 | IsEqual 383 | >(true) 384 | expectType< 385 | IsEqual< 386 | Actual['another_schema.pets_with_toys'], 387 | Expected['another_schema.pets_with_toys'] 388 | > 389 | >(true) 390 | expectType>(true) 391 | } 392 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | devDependencies: 11 | '@arethetypeswrong/cli': 12 | specifier: ^0.18.2 13 | version: 0.18.2 14 | '@biomejs/biome': 15 | specifier: ^2.3.10 16 | version: 2.3.10 17 | '@tsconfig/node24': 18 | specifier: ^24.0.3 19 | version: 24.0.3 20 | '@types/node': 21 | specifier: ^25.0.3 22 | version: 25.0.3 23 | kysely: 24 | specifier: ^0.28.9 25 | version: 0.28.9 26 | supabase: 27 | specifier: ^2.70.4 28 | version: 2.70.4 29 | tsd: 30 | specifier: ^0.33.0 31 | version: 0.33.0 32 | tsup: 33 | specifier: ^8.5.1 34 | version: 8.5.1(typescript@5.9.3) 35 | type-fest: 36 | specifier: ^5.3.1 37 | version: 5.3.1 38 | typescript: 39 | specifier: ^5.9.3 40 | version: 5.9.3 41 | 42 | packages: 43 | 44 | '@andrewbranch/untar.js@1.0.3': 45 | resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} 46 | 47 | '@arethetypeswrong/cli@0.18.2': 48 | resolution: {integrity: sha512-PcFM20JNlevEDKBg4Re29Rtv2xvjvQZzg7ENnrWFSS0PHgdP2njibVFw+dRUhNkPgNfac9iUqO0ohAXqQL4hbw==} 49 | engines: {node: '>=20'} 50 | hasBin: true 51 | 52 | '@arethetypeswrong/core@0.18.2': 53 | resolution: {integrity: sha512-GiwTmBFOU1/+UVNqqCGzFJYfBXEytUkiI+iRZ6Qx7KmUVtLm00sYySkfe203C9QtPG11yOz1ZaMek8dT/xnlgg==} 54 | engines: {node: '>=20'} 55 | 56 | '@babel/code-frame@7.27.1': 57 | resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} 58 | engines: {node: '>=6.9.0'} 59 | 60 | '@babel/helper-validator-identifier@7.27.1': 61 | resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} 62 | engines: {node: '>=6.9.0'} 63 | 64 | '@biomejs/biome@2.3.10': 65 | resolution: {integrity: sha512-/uWSUd1MHX2fjqNLHNL6zLYWBbrJeG412/8H7ESuK8ewoRoMPUgHDebqKrPTx/5n6f17Xzqc9hdg3MEqA5hXnQ==} 66 | engines: {node: '>=14.21.3'} 67 | hasBin: true 68 | 69 | '@biomejs/cli-darwin-arm64@2.3.10': 70 | resolution: {integrity: sha512-M6xUjtCVnNGFfK7HMNKa593nb7fwNm43fq1Mt71kpLpb+4mE7odO8W/oWVDyBVO4ackhresy1ZYO7OJcVo/B7w==} 71 | engines: {node: '>=14.21.3'} 72 | cpu: [arm64] 73 | os: [darwin] 74 | 75 | '@biomejs/cli-darwin-x64@2.3.10': 76 | resolution: {integrity: sha512-Vae7+V6t/Avr8tVbFNjnFSTKZogZHFYl7MMH62P/J1kZtr0tyRQ9Fe0onjqjS2Ek9lmNLmZc/VR5uSekh+p1fg==} 77 | engines: {node: '>=14.21.3'} 78 | cpu: [x64] 79 | os: [darwin] 80 | 81 | '@biomejs/cli-linux-arm64-musl@2.3.10': 82 | resolution: {integrity: sha512-B9DszIHkuKtOH2IFeeVkQmSMVUjss9KtHaNXquYYWCjH8IstNgXgx5B0aSBQNr6mn4RcKKRQZXn9Zu1rM3O0/A==} 83 | engines: {node: '>=14.21.3'} 84 | cpu: [arm64] 85 | os: [linux] 86 | libc: [musl] 87 | 88 | '@biomejs/cli-linux-arm64@2.3.10': 89 | resolution: {integrity: sha512-hhPw2V3/EpHKsileVOFynuWiKRgFEV48cLe0eA+G2wO4SzlwEhLEB9LhlSrVeu2mtSn205W283LkX7Fh48CaxA==} 90 | engines: {node: '>=14.21.3'} 91 | cpu: [arm64] 92 | os: [linux] 93 | libc: [glibc] 94 | 95 | '@biomejs/cli-linux-x64-musl@2.3.10': 96 | resolution: {integrity: sha512-QTfHZQh62SDFdYc2nfmZFuTm5yYb4eO1zwfB+90YxUumRCR171tS1GoTX5OD0wrv4UsziMPmrePMtkTnNyYG3g==} 97 | engines: {node: '>=14.21.3'} 98 | cpu: [x64] 99 | os: [linux] 100 | libc: [musl] 101 | 102 | '@biomejs/cli-linux-x64@2.3.10': 103 | resolution: {integrity: sha512-wwAkWD1MR95u+J4LkWP74/vGz+tRrIQvr8kfMMJY8KOQ8+HMVleREOcPYsQX82S7uueco60L58Wc6M1I9WA9Dw==} 104 | engines: {node: '>=14.21.3'} 105 | cpu: [x64] 106 | os: [linux] 107 | libc: [glibc] 108 | 109 | '@biomejs/cli-win32-arm64@2.3.10': 110 | resolution: {integrity: sha512-o7lYc9n+CfRbHvkjPhm8s9FgbKdYZu5HCcGVMItLjz93EhgJ8AM44W+QckDqLA9MKDNFrR8nPbO4b73VC5kGGQ==} 111 | engines: {node: '>=14.21.3'} 112 | cpu: [arm64] 113 | os: [win32] 114 | 115 | '@biomejs/cli-win32-x64@2.3.10': 116 | resolution: {integrity: sha512-pHEFgq7dUEsKnqG9mx9bXihxGI49X+ar+UBrEIj3Wqj3UCZp1rNgV+OoyjFgcXsjCWpuEAF4VJdkZr3TrWdCbQ==} 117 | engines: {node: '>=14.21.3'} 118 | cpu: [x64] 119 | os: [win32] 120 | 121 | '@braidai/lang@1.1.2': 122 | resolution: {integrity: sha512-qBcknbBufNHlui137Hft8xauQMTZDKdophmLFv05r2eNmdIv/MlPuP4TdUknHG68UdWLgVZwgxVe735HzJNIwA==} 123 | 124 | '@colors/colors@1.5.0': 125 | resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} 126 | engines: {node: '>=0.1.90'} 127 | 128 | '@esbuild/aix-ppc64@0.27.0': 129 | resolution: {integrity: sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A==} 130 | engines: {node: '>=18'} 131 | cpu: [ppc64] 132 | os: [aix] 133 | 134 | '@esbuild/android-arm64@0.27.0': 135 | resolution: {integrity: sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ==} 136 | engines: {node: '>=18'} 137 | cpu: [arm64] 138 | os: [android] 139 | 140 | '@esbuild/android-arm@0.27.0': 141 | resolution: {integrity: sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ==} 142 | engines: {node: '>=18'} 143 | cpu: [arm] 144 | os: [android] 145 | 146 | '@esbuild/android-x64@0.27.0': 147 | resolution: {integrity: sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q==} 148 | engines: {node: '>=18'} 149 | cpu: [x64] 150 | os: [android] 151 | 152 | '@esbuild/darwin-arm64@0.27.0': 153 | resolution: {integrity: sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg==} 154 | engines: {node: '>=18'} 155 | cpu: [arm64] 156 | os: [darwin] 157 | 158 | '@esbuild/darwin-x64@0.27.0': 159 | resolution: {integrity: sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g==} 160 | engines: {node: '>=18'} 161 | cpu: [x64] 162 | os: [darwin] 163 | 164 | '@esbuild/freebsd-arm64@0.27.0': 165 | resolution: {integrity: sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw==} 166 | engines: {node: '>=18'} 167 | cpu: [arm64] 168 | os: [freebsd] 169 | 170 | '@esbuild/freebsd-x64@0.27.0': 171 | resolution: {integrity: sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g==} 172 | engines: {node: '>=18'} 173 | cpu: [x64] 174 | os: [freebsd] 175 | 176 | '@esbuild/linux-arm64@0.27.0': 177 | resolution: {integrity: sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ==} 178 | engines: {node: '>=18'} 179 | cpu: [arm64] 180 | os: [linux] 181 | 182 | '@esbuild/linux-arm@0.27.0': 183 | resolution: {integrity: sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ==} 184 | engines: {node: '>=18'} 185 | cpu: [arm] 186 | os: [linux] 187 | 188 | '@esbuild/linux-ia32@0.27.0': 189 | resolution: {integrity: sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw==} 190 | engines: {node: '>=18'} 191 | cpu: [ia32] 192 | os: [linux] 193 | 194 | '@esbuild/linux-loong64@0.27.0': 195 | resolution: {integrity: sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg==} 196 | engines: {node: '>=18'} 197 | cpu: [loong64] 198 | os: [linux] 199 | 200 | '@esbuild/linux-mips64el@0.27.0': 201 | resolution: {integrity: sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg==} 202 | engines: {node: '>=18'} 203 | cpu: [mips64el] 204 | os: [linux] 205 | 206 | '@esbuild/linux-ppc64@0.27.0': 207 | resolution: {integrity: sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA==} 208 | engines: {node: '>=18'} 209 | cpu: [ppc64] 210 | os: [linux] 211 | 212 | '@esbuild/linux-riscv64@0.27.0': 213 | resolution: {integrity: sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ==} 214 | engines: {node: '>=18'} 215 | cpu: [riscv64] 216 | os: [linux] 217 | 218 | '@esbuild/linux-s390x@0.27.0': 219 | resolution: {integrity: sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w==} 220 | engines: {node: '>=18'} 221 | cpu: [s390x] 222 | os: [linux] 223 | 224 | '@esbuild/linux-x64@0.27.0': 225 | resolution: {integrity: sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw==} 226 | engines: {node: '>=18'} 227 | cpu: [x64] 228 | os: [linux] 229 | 230 | '@esbuild/netbsd-arm64@0.27.0': 231 | resolution: {integrity: sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w==} 232 | engines: {node: '>=18'} 233 | cpu: [arm64] 234 | os: [netbsd] 235 | 236 | '@esbuild/netbsd-x64@0.27.0': 237 | resolution: {integrity: sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA==} 238 | engines: {node: '>=18'} 239 | cpu: [x64] 240 | os: [netbsd] 241 | 242 | '@esbuild/openbsd-arm64@0.27.0': 243 | resolution: {integrity: sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ==} 244 | engines: {node: '>=18'} 245 | cpu: [arm64] 246 | os: [openbsd] 247 | 248 | '@esbuild/openbsd-x64@0.27.0': 249 | resolution: {integrity: sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A==} 250 | engines: {node: '>=18'} 251 | cpu: [x64] 252 | os: [openbsd] 253 | 254 | '@esbuild/openharmony-arm64@0.27.0': 255 | resolution: {integrity: sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==} 256 | engines: {node: '>=18'} 257 | cpu: [arm64] 258 | os: [openharmony] 259 | 260 | '@esbuild/sunos-x64@0.27.0': 261 | resolution: {integrity: sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA==} 262 | engines: {node: '>=18'} 263 | cpu: [x64] 264 | os: [sunos] 265 | 266 | '@esbuild/win32-arm64@0.27.0': 267 | resolution: {integrity: sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg==} 268 | engines: {node: '>=18'} 269 | cpu: [arm64] 270 | os: [win32] 271 | 272 | '@esbuild/win32-ia32@0.27.0': 273 | resolution: {integrity: sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ==} 274 | engines: {node: '>=18'} 275 | cpu: [ia32] 276 | os: [win32] 277 | 278 | '@esbuild/win32-x64@0.27.0': 279 | resolution: {integrity: sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg==} 280 | engines: {node: '>=18'} 281 | cpu: [x64] 282 | os: [win32] 283 | 284 | '@isaacs/cliui@8.0.2': 285 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 286 | engines: {node: '>=12'} 287 | 288 | '@isaacs/fs-minipass@4.0.1': 289 | resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} 290 | engines: {node: '>=18.0.0'} 291 | 292 | '@jest/schemas@29.6.3': 293 | resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} 294 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 295 | 296 | '@jridgewell/gen-mapping@0.3.13': 297 | resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} 298 | 299 | '@jridgewell/resolve-uri@3.1.2': 300 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 301 | engines: {node: '>=6.0.0'} 302 | 303 | '@jridgewell/sourcemap-codec@1.5.5': 304 | resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} 305 | 306 | '@jridgewell/trace-mapping@0.3.31': 307 | resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} 308 | 309 | '@loaderkit/resolve@1.0.4': 310 | resolution: {integrity: sha512-rJzYKVcV4dxJv+vW6jlvagF8zvGxHJ2+HTr1e2qOejfmGhAApgJHl8Aog4mMszxceTRiKTTbnpgmTO1bEZHV/A==} 311 | 312 | '@nodelib/fs.scandir@2.1.5': 313 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 314 | engines: {node: '>= 8'} 315 | 316 | '@nodelib/fs.stat@2.0.5': 317 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 318 | engines: {node: '>= 8'} 319 | 320 | '@nodelib/fs.walk@1.2.8': 321 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 322 | engines: {node: '>= 8'} 323 | 324 | '@pkgjs/parseargs@0.11.0': 325 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 326 | engines: {node: '>=14'} 327 | 328 | '@rollup/rollup-android-arm-eabi@4.53.2': 329 | resolution: {integrity: sha512-yDPzwsgiFO26RJA4nZo8I+xqzh7sJTZIWQOxn+/XOdPE31lAvLIYCKqjV+lNH/vxE2L2iH3plKxDCRK6i+CwhA==} 330 | cpu: [arm] 331 | os: [android] 332 | 333 | '@rollup/rollup-android-arm64@4.53.2': 334 | resolution: {integrity: sha512-k8FontTxIE7b0/OGKeSN5B6j25EuppBcWM33Z19JoVT7UTXFSo3D9CdU39wGTeb29NO3XxpMNauh09B+Ibw+9g==} 335 | cpu: [arm64] 336 | os: [android] 337 | 338 | '@rollup/rollup-darwin-arm64@4.53.2': 339 | resolution: {integrity: sha512-A6s4gJpomNBtJ2yioj8bflM2oogDwzUiMl2yNJ2v9E7++sHrSrsQ29fOfn5DM/iCzpWcebNYEdXpaK4tr2RhfQ==} 340 | cpu: [arm64] 341 | os: [darwin] 342 | 343 | '@rollup/rollup-darwin-x64@4.53.2': 344 | resolution: {integrity: sha512-e6XqVmXlHrBlG56obu9gDRPW3O3hLxpwHpLsBJvuI8qqnsrtSZ9ERoWUXtPOkY8c78WghyPHZdmPhHLWNdAGEw==} 345 | cpu: [x64] 346 | os: [darwin] 347 | 348 | '@rollup/rollup-freebsd-arm64@4.53.2': 349 | resolution: {integrity: sha512-v0E9lJW8VsrwPux5Qe5CwmH/CF/2mQs6xU1MF3nmUxmZUCHazCjLgYvToOk+YuuUqLQBio1qkkREhxhc656ViA==} 350 | cpu: [arm64] 351 | os: [freebsd] 352 | 353 | '@rollup/rollup-freebsd-x64@4.53.2': 354 | resolution: {integrity: sha512-ClAmAPx3ZCHtp6ysl4XEhWU69GUB1D+s7G9YjHGhIGCSrsg00nEGRRZHmINYxkdoJehde8VIsDC5t9C0gb6yqA==} 355 | cpu: [x64] 356 | os: [freebsd] 357 | 358 | '@rollup/rollup-linux-arm-gnueabihf@4.53.2': 359 | resolution: {integrity: sha512-EPlb95nUsz6Dd9Qy13fI5kUPXNSljaG9FiJ4YUGU1O/Q77i5DYFW5KR8g1OzTcdZUqQQ1KdDqsTohdFVwCwjqg==} 360 | cpu: [arm] 361 | os: [linux] 362 | libc: [glibc] 363 | 364 | '@rollup/rollup-linux-arm-musleabihf@4.53.2': 365 | resolution: {integrity: sha512-BOmnVW+khAUX+YZvNfa0tGTEMVVEerOxN0pDk2E6N6DsEIa2Ctj48FOMfNDdrwinocKaC7YXUZ1pHlKpnkja/Q==} 366 | cpu: [arm] 367 | os: [linux] 368 | libc: [musl] 369 | 370 | '@rollup/rollup-linux-arm64-gnu@4.53.2': 371 | resolution: {integrity: sha512-Xt2byDZ+6OVNuREgBXr4+CZDJtrVso5woFtpKdGPhpTPHcNG7D8YXeQzpNbFRxzTVqJf7kvPMCub/pcGUWgBjA==} 372 | cpu: [arm64] 373 | os: [linux] 374 | libc: [glibc] 375 | 376 | '@rollup/rollup-linux-arm64-musl@4.53.2': 377 | resolution: {integrity: sha512-+LdZSldy/I9N8+klim/Y1HsKbJ3BbInHav5qE9Iy77dtHC/pibw1SR/fXlWyAk0ThnpRKoODwnAuSjqxFRDHUQ==} 378 | cpu: [arm64] 379 | os: [linux] 380 | libc: [musl] 381 | 382 | '@rollup/rollup-linux-loong64-gnu@4.53.2': 383 | resolution: {integrity: sha512-8ms8sjmyc1jWJS6WdNSA23rEfdjWB30LH8Wqj0Cqvv7qSHnvw6kgMMXRdop6hkmGPlyYBdRPkjJnj3KCUHV/uQ==} 384 | cpu: [loong64] 385 | os: [linux] 386 | libc: [glibc] 387 | 388 | '@rollup/rollup-linux-ppc64-gnu@4.53.2': 389 | resolution: {integrity: sha512-3HRQLUQbpBDMmzoxPJYd3W6vrVHOo2cVW8RUo87Xz0JPJcBLBr5kZ1pGcQAhdZgX9VV7NbGNipah1omKKe23/g==} 390 | cpu: [ppc64] 391 | os: [linux] 392 | libc: [glibc] 393 | 394 | '@rollup/rollup-linux-riscv64-gnu@4.53.2': 395 | resolution: {integrity: sha512-fMjKi+ojnmIvhk34gZP94vjogXNNUKMEYs+EDaB/5TG/wUkoeua7p7VCHnE6T2Tx+iaghAqQX8teQzcvrYpaQA==} 396 | cpu: [riscv64] 397 | os: [linux] 398 | libc: [glibc] 399 | 400 | '@rollup/rollup-linux-riscv64-musl@4.53.2': 401 | resolution: {integrity: sha512-XuGFGU+VwUUV5kLvoAdi0Wz5Xbh2SrjIxCtZj6Wq8MDp4bflb/+ThZsVxokM7n0pcbkEr2h5/pzqzDYI7cCgLQ==} 402 | cpu: [riscv64] 403 | os: [linux] 404 | libc: [musl] 405 | 406 | '@rollup/rollup-linux-s390x-gnu@4.53.2': 407 | resolution: {integrity: sha512-w6yjZF0P+NGzWR3AXWX9zc0DNEGdtvykB03uhonSHMRa+oWA6novflo2WaJr6JZakG2ucsyb+rvhrKac6NIy+w==} 408 | cpu: [s390x] 409 | os: [linux] 410 | libc: [glibc] 411 | 412 | '@rollup/rollup-linux-x64-gnu@4.53.2': 413 | resolution: {integrity: sha512-yo8d6tdfdeBArzC7T/PnHd7OypfI9cbuZzPnzLJIyKYFhAQ8SvlkKtKBMbXDxe1h03Rcr7u++nFS7tqXz87Gtw==} 414 | cpu: [x64] 415 | os: [linux] 416 | libc: [glibc] 417 | 418 | '@rollup/rollup-linux-x64-musl@4.53.2': 419 | resolution: {integrity: sha512-ah59c1YkCxKExPP8O9PwOvs+XRLKwh/mV+3YdKqQ5AMQ0r4M4ZDuOrpWkUaqO7fzAHdINzV9tEVu8vNw48z0lA==} 420 | cpu: [x64] 421 | os: [linux] 422 | libc: [musl] 423 | 424 | '@rollup/rollup-openharmony-arm64@4.53.2': 425 | resolution: {integrity: sha512-4VEd19Wmhr+Zy7hbUsFZ6YXEiP48hE//KPLCSVNY5RMGX2/7HZ+QkN55a3atM1C/BZCGIgqN+xrVgtdak2S9+A==} 426 | cpu: [arm64] 427 | os: [openharmony] 428 | 429 | '@rollup/rollup-win32-arm64-msvc@4.53.2': 430 | resolution: {integrity: sha512-IlbHFYc/pQCgew/d5fslcy1KEaYVCJ44G8pajugd8VoOEI8ODhtb/j8XMhLpwHCMB3yk2J07ctup10gpw2nyMA==} 431 | cpu: [arm64] 432 | os: [win32] 433 | 434 | '@rollup/rollup-win32-ia32-msvc@4.53.2': 435 | resolution: {integrity: sha512-lNlPEGgdUfSzdCWU176ku/dQRnA7W+Gp8d+cWv73jYrb8uT7HTVVxq62DUYxjbaByuf1Yk0RIIAbDzp+CnOTFg==} 436 | cpu: [ia32] 437 | os: [win32] 438 | 439 | '@rollup/rollup-win32-x64-gnu@4.53.2': 440 | resolution: {integrity: sha512-S6YojNVrHybQis2lYov1sd+uj7K0Q05NxHcGktuMMdIQ2VixGwAfbJ23NnlvvVV1bdpR2m5MsNBViHJKcA4ADw==} 441 | cpu: [x64] 442 | os: [win32] 443 | 444 | '@rollup/rollup-win32-x64-msvc@4.53.2': 445 | resolution: {integrity: sha512-k+/Rkcyx//P6fetPoLMb8pBeqJBNGx81uuf7iljX9++yNBVRDQgD04L+SVXmXmh5ZP4/WOp4mWF0kmi06PW2tA==} 446 | cpu: [x64] 447 | os: [win32] 448 | 449 | '@sinclair/typebox@0.27.8': 450 | resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} 451 | 452 | '@sindresorhus/is@4.6.0': 453 | resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} 454 | engines: {node: '>=10'} 455 | 456 | '@tsconfig/node24@24.0.3': 457 | resolution: {integrity: sha512-vcERKtKQKHgzt/vfS3Gjasd8SUI2a0WZXpgJURdJsMySpS5+ctgbPfuLj2z/W+w4lAfTWxoN4upKfu2WzIRYnw==} 458 | 459 | '@tsd/typescript@5.9.2': 460 | resolution: {integrity: sha512-mSMM0QtEPdMd+rdMDd17yCUYD4yI3pKHap89+jEZrZ3KIO5PhDofBjER0OtgHdvOXF74KMLO3fyD6k3Hz0v03A==} 461 | engines: {node: '>=14.17'} 462 | 463 | '@types/eslint@7.29.0': 464 | resolution: {integrity: sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==} 465 | 466 | '@types/estree@1.0.8': 467 | resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 468 | 469 | '@types/json-schema@7.0.15': 470 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 471 | 472 | '@types/minimist@1.2.5': 473 | resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} 474 | 475 | '@types/node@25.0.3': 476 | resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} 477 | 478 | '@types/normalize-package-data@2.4.4': 479 | resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} 480 | 481 | acorn@8.15.0: 482 | resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} 483 | engines: {node: '>=0.4.0'} 484 | hasBin: true 485 | 486 | agent-base@7.1.4: 487 | resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} 488 | engines: {node: '>= 14'} 489 | 490 | ansi-escapes@4.3.2: 491 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 492 | engines: {node: '>=8'} 493 | 494 | ansi-escapes@7.0.0: 495 | resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} 496 | engines: {node: '>=18'} 497 | 498 | ansi-regex@5.0.1: 499 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 500 | engines: {node: '>=8'} 501 | 502 | ansi-regex@6.1.0: 503 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 504 | engines: {node: '>=12'} 505 | 506 | ansi-regex@6.2.2: 507 | resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} 508 | engines: {node: '>=12'} 509 | 510 | ansi-styles@4.3.0: 511 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 512 | engines: {node: '>=8'} 513 | 514 | ansi-styles@5.2.0: 515 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 516 | engines: {node: '>=10'} 517 | 518 | ansi-styles@6.2.3: 519 | resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} 520 | engines: {node: '>=12'} 521 | 522 | any-promise@1.3.0: 523 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 524 | 525 | array-union@2.1.0: 526 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 527 | engines: {node: '>=8'} 528 | 529 | arrify@1.0.1: 530 | resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} 531 | engines: {node: '>=0.10.0'} 532 | 533 | balanced-match@1.0.2: 534 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 535 | 536 | bin-links@6.0.0: 537 | resolution: {integrity: sha512-X4CiKlcV2GjnCMwnKAfbVWpHa++65th9TuzAEYtZoATiOE2DQKhSp4CJlyLoTqdhBKlXjpXjCTYPNNFS33Fi6w==} 538 | engines: {node: ^20.17.0 || >=22.9.0} 539 | 540 | brace-expansion@2.0.2: 541 | resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} 542 | 543 | braces@3.0.3: 544 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 545 | engines: {node: '>=8'} 546 | 547 | bundle-require@5.1.0: 548 | resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} 549 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 550 | peerDependencies: 551 | esbuild: '>=0.18' 552 | 553 | cac@6.7.14: 554 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 555 | engines: {node: '>=8'} 556 | 557 | camelcase-keys@6.2.2: 558 | resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} 559 | engines: {node: '>=8'} 560 | 561 | camelcase@5.3.1: 562 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 563 | engines: {node: '>=6'} 564 | 565 | chalk@4.1.2: 566 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 567 | engines: {node: '>=10'} 568 | 569 | chalk@5.6.0: 570 | resolution: {integrity: sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==} 571 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 572 | 573 | char-regex@1.0.2: 574 | resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} 575 | engines: {node: '>=10'} 576 | 577 | chokidar@4.0.3: 578 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 579 | engines: {node: '>= 14.16.0'} 580 | 581 | chownr@3.0.0: 582 | resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} 583 | engines: {node: '>=18'} 584 | 585 | cjs-module-lexer@1.4.3: 586 | resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} 587 | 588 | cli-highlight@2.1.11: 589 | resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} 590 | engines: {node: '>=8.0.0', npm: '>=5.0.0'} 591 | hasBin: true 592 | 593 | cli-table3@0.6.5: 594 | resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} 595 | engines: {node: 10.* || >= 12.*} 596 | 597 | cliui@7.0.4: 598 | resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} 599 | 600 | cmd-shim@8.0.0: 601 | resolution: {integrity: sha512-Jk/BK6NCapZ58BKUxlSI+ouKRbjH1NLZCgJkYoab+vEHUY3f6OzpNBN9u7HFSv9J6TRDGs4PLOHezoKGaFRSCA==} 602 | engines: {node: ^20.17.0 || >=22.9.0} 603 | 604 | color-convert@2.0.1: 605 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 606 | engines: {node: '>=7.0.0'} 607 | 608 | color-name@1.1.4: 609 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 610 | 611 | commander@10.0.1: 612 | resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} 613 | engines: {node: '>=14'} 614 | 615 | commander@4.1.1: 616 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 617 | engines: {node: '>= 6'} 618 | 619 | confbox@0.1.8: 620 | resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} 621 | 622 | consola@3.4.2: 623 | resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} 624 | engines: {node: ^14.18.0 || >=16.10.0} 625 | 626 | cross-spawn@7.0.6: 627 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 628 | engines: {node: '>= 8'} 629 | 630 | data-uri-to-buffer@4.0.1: 631 | resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} 632 | engines: {node: '>= 12'} 633 | 634 | debug@4.4.3: 635 | resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} 636 | engines: {node: '>=6.0'} 637 | peerDependencies: 638 | supports-color: '*' 639 | peerDependenciesMeta: 640 | supports-color: 641 | optional: true 642 | 643 | decamelize-keys@1.1.1: 644 | resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} 645 | engines: {node: '>=0.10.0'} 646 | 647 | decamelize@1.2.0: 648 | resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} 649 | engines: {node: '>=0.10.0'} 650 | 651 | diff-sequences@29.6.3: 652 | resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} 653 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 654 | 655 | dir-glob@3.0.1: 656 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 657 | engines: {node: '>=8'} 658 | 659 | eastasianwidth@0.2.0: 660 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 661 | 662 | emoji-regex@8.0.0: 663 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 664 | 665 | emoji-regex@9.2.2: 666 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 667 | 668 | emojilib@2.4.0: 669 | resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} 670 | 671 | environment@1.1.0: 672 | resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} 673 | engines: {node: '>=18'} 674 | 675 | error-ex@1.3.2: 676 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 677 | 678 | esbuild@0.27.0: 679 | resolution: {integrity: sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA==} 680 | engines: {node: '>=18'} 681 | hasBin: true 682 | 683 | escalade@3.2.0: 684 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 685 | engines: {node: '>=6'} 686 | 687 | eslint-formatter-pretty@4.1.0: 688 | resolution: {integrity: sha512-IsUTtGxF1hrH6lMWiSl1WbGaiP01eT6kzywdY1U+zLc0MP+nwEnUiS9UI8IaOTUhTeQJLlCEWIbXINBH4YJbBQ==} 689 | engines: {node: '>=10'} 690 | 691 | eslint-rule-docs@1.1.235: 692 | resolution: {integrity: sha512-+TQ+x4JdTnDoFEXXb3fDvfGOwnyNV7duH8fXWTPD1ieaBmB8omj7Gw/pMBBu4uI2uJCCU8APDaQJzWuXnTsH4A==} 693 | 694 | fast-glob@3.3.3: 695 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 696 | engines: {node: '>=8.6.0'} 697 | 698 | fastq@1.17.1: 699 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 700 | 701 | fdir@6.5.0: 702 | resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} 703 | engines: {node: '>=12.0.0'} 704 | peerDependencies: 705 | picomatch: ^3 || ^4 706 | peerDependenciesMeta: 707 | picomatch: 708 | optional: true 709 | 710 | fetch-blob@3.2.0: 711 | resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} 712 | engines: {node: ^12.20 || >= 14.13} 713 | 714 | fflate@0.8.2: 715 | resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} 716 | 717 | fill-range@7.1.1: 718 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 719 | engines: {node: '>=8'} 720 | 721 | find-up@4.1.0: 722 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 723 | engines: {node: '>=8'} 724 | 725 | fix-dts-default-cjs-exports@1.0.1: 726 | resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} 727 | 728 | foreground-child@3.3.1: 729 | resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} 730 | engines: {node: '>=14'} 731 | 732 | formdata-polyfill@4.0.10: 733 | resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} 734 | engines: {node: '>=12.20.0'} 735 | 736 | fsevents@2.3.3: 737 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 738 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 739 | os: [darwin] 740 | 741 | function-bind@1.1.2: 742 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 743 | 744 | get-caller-file@2.0.5: 745 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 746 | engines: {node: 6.* || 8.* || >= 10.*} 747 | 748 | glob-parent@5.1.2: 749 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 750 | engines: {node: '>= 6'} 751 | 752 | glob@10.4.5: 753 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 754 | hasBin: true 755 | 756 | globby@11.1.0: 757 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 758 | engines: {node: '>=10'} 759 | 760 | hard-rejection@2.1.0: 761 | resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} 762 | engines: {node: '>=6'} 763 | 764 | has-flag@4.0.0: 765 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 766 | engines: {node: '>=8'} 767 | 768 | hasown@2.0.2: 769 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 770 | engines: {node: '>= 0.4'} 771 | 772 | highlight.js@10.7.3: 773 | resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} 774 | 775 | hosted-git-info@2.8.9: 776 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 777 | 778 | hosted-git-info@4.1.0: 779 | resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} 780 | engines: {node: '>=10'} 781 | 782 | https-proxy-agent@7.0.6: 783 | resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} 784 | engines: {node: '>= 14'} 785 | 786 | ignore@5.3.2: 787 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 788 | engines: {node: '>= 4'} 789 | 790 | imurmurhash@0.1.4: 791 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 792 | engines: {node: '>=0.8.19'} 793 | 794 | indent-string@4.0.0: 795 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 796 | engines: {node: '>=8'} 797 | 798 | irregular-plurals@3.5.0: 799 | resolution: {integrity: sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==} 800 | engines: {node: '>=8'} 801 | 802 | is-arrayish@0.2.1: 803 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 804 | 805 | is-core-module@2.16.1: 806 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 807 | engines: {node: '>= 0.4'} 808 | 809 | is-extglob@2.1.1: 810 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 811 | engines: {node: '>=0.10.0'} 812 | 813 | is-fullwidth-code-point@3.0.0: 814 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 815 | engines: {node: '>=8'} 816 | 817 | is-glob@4.0.3: 818 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 819 | engines: {node: '>=0.10.0'} 820 | 821 | is-number@7.0.0: 822 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 823 | engines: {node: '>=0.12.0'} 824 | 825 | is-plain-obj@1.1.0: 826 | resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} 827 | engines: {node: '>=0.10.0'} 828 | 829 | is-unicode-supported@0.1.0: 830 | resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 831 | engines: {node: '>=10'} 832 | 833 | isexe@2.0.0: 834 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 835 | 836 | jackspeak@3.4.3: 837 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 838 | 839 | jest-diff@29.7.0: 840 | resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} 841 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 842 | 843 | jest-get-type@29.6.3: 844 | resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} 845 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 846 | 847 | joycon@3.1.1: 848 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 849 | engines: {node: '>=10'} 850 | 851 | js-tokens@4.0.0: 852 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 853 | 854 | json-parse-even-better-errors@2.3.1: 855 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 856 | 857 | kind-of@6.0.3: 858 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 859 | engines: {node: '>=0.10.0'} 860 | 861 | kysely@0.28.9: 862 | resolution: {integrity: sha512-3BeXMoiOhpOwu62CiVpO6lxfq4eS6KMYfQdMsN/2kUCRNuF2YiEr7u0HLHaQU+O4Xu8YXE3bHVkwaQ85i72EuA==} 863 | engines: {node: '>=20.0.0'} 864 | 865 | lilconfig@3.1.3: 866 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 867 | engines: {node: '>=14'} 868 | 869 | lines-and-columns@1.2.4: 870 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 871 | 872 | load-tsconfig@0.2.5: 873 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 874 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 875 | 876 | locate-path@5.0.0: 877 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 878 | engines: {node: '>=8'} 879 | 880 | log-symbols@4.1.0: 881 | resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 882 | engines: {node: '>=10'} 883 | 884 | lru-cache@10.4.3: 885 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 886 | 887 | lru-cache@11.1.0: 888 | resolution: {integrity: sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==} 889 | engines: {node: 20 || >=22} 890 | 891 | lru-cache@6.0.0: 892 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 893 | engines: {node: '>=10'} 894 | 895 | magic-string@0.30.21: 896 | resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} 897 | 898 | map-obj@1.0.1: 899 | resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} 900 | engines: {node: '>=0.10.0'} 901 | 902 | map-obj@4.3.0: 903 | resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} 904 | engines: {node: '>=8'} 905 | 906 | marked-terminal@7.3.0: 907 | resolution: {integrity: sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==} 908 | engines: {node: '>=16.0.0'} 909 | peerDependencies: 910 | marked: '>=1 <16' 911 | 912 | marked@9.1.6: 913 | resolution: {integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==} 914 | engines: {node: '>= 16'} 915 | hasBin: true 916 | 917 | meow@9.0.0: 918 | resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} 919 | engines: {node: '>=10'} 920 | 921 | merge2@1.4.1: 922 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 923 | engines: {node: '>= 8'} 924 | 925 | micromatch@4.0.8: 926 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 927 | engines: {node: '>=8.6'} 928 | 929 | min-indent@1.0.1: 930 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 931 | engines: {node: '>=4'} 932 | 933 | minimatch@9.0.5: 934 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 935 | engines: {node: '>=16 || 14 >=14.17'} 936 | 937 | minimist-options@4.1.0: 938 | resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} 939 | engines: {node: '>= 6'} 940 | 941 | minipass@7.1.2: 942 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 943 | engines: {node: '>=16 || 14 >=14.17'} 944 | 945 | minizlib@3.1.0: 946 | resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} 947 | engines: {node: '>= 18'} 948 | 949 | mlly@1.8.0: 950 | resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} 951 | 952 | ms@2.1.3: 953 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 954 | 955 | mz@2.7.0: 956 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 957 | 958 | node-domexception@1.0.0: 959 | resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} 960 | engines: {node: '>=10.5.0'} 961 | deprecated: Use your platform's native DOMException instead 962 | 963 | node-emoji@2.2.0: 964 | resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} 965 | engines: {node: '>=18'} 966 | 967 | node-fetch@3.3.2: 968 | resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} 969 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 970 | 971 | normalize-package-data@2.5.0: 972 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 973 | 974 | normalize-package-data@3.0.3: 975 | resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} 976 | engines: {node: '>=10'} 977 | 978 | npm-normalize-package-bin@5.0.0: 979 | resolution: {integrity: sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==} 980 | engines: {node: ^20.17.0 || >=22.9.0} 981 | 982 | object-assign@4.1.1: 983 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 984 | engines: {node: '>=0.10.0'} 985 | 986 | p-limit@2.3.0: 987 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 988 | engines: {node: '>=6'} 989 | 990 | p-locate@4.1.0: 991 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 992 | engines: {node: '>=8'} 993 | 994 | p-try@2.2.0: 995 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 996 | engines: {node: '>=6'} 997 | 998 | package-json-from-dist@1.0.1: 999 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1000 | 1001 | parse-json@5.2.0: 1002 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1003 | engines: {node: '>=8'} 1004 | 1005 | parse5-htmlparser2-tree-adapter@6.0.1: 1006 | resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} 1007 | 1008 | parse5@5.1.1: 1009 | resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} 1010 | 1011 | parse5@6.0.1: 1012 | resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} 1013 | 1014 | path-exists@4.0.0: 1015 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1016 | engines: {node: '>=8'} 1017 | 1018 | path-key@3.1.1: 1019 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1020 | engines: {node: '>=8'} 1021 | 1022 | path-parse@1.0.7: 1023 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1024 | 1025 | path-scurry@1.11.1: 1026 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1027 | engines: {node: '>=16 || 14 >=14.18'} 1028 | 1029 | path-type@4.0.0: 1030 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1031 | engines: {node: '>=8'} 1032 | 1033 | pathe@2.0.3: 1034 | resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} 1035 | 1036 | picocolors@1.1.1: 1037 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1038 | 1039 | picomatch@2.3.1: 1040 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1041 | engines: {node: '>=8.6'} 1042 | 1043 | picomatch@4.0.3: 1044 | resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 1045 | engines: {node: '>=12'} 1046 | 1047 | pirates@4.0.7: 1048 | resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} 1049 | engines: {node: '>= 6'} 1050 | 1051 | pkg-types@1.3.1: 1052 | resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} 1053 | 1054 | plur@4.0.0: 1055 | resolution: {integrity: sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==} 1056 | engines: {node: '>=10'} 1057 | 1058 | postcss-load-config@6.0.1: 1059 | resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} 1060 | engines: {node: '>= 18'} 1061 | peerDependencies: 1062 | jiti: '>=1.21.0' 1063 | postcss: '>=8.0.9' 1064 | tsx: ^4.8.1 1065 | yaml: ^2.4.2 1066 | peerDependenciesMeta: 1067 | jiti: 1068 | optional: true 1069 | postcss: 1070 | optional: true 1071 | tsx: 1072 | optional: true 1073 | yaml: 1074 | optional: true 1075 | 1076 | pretty-format@29.7.0: 1077 | resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} 1078 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1079 | 1080 | proc-log@6.1.0: 1081 | resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==} 1082 | engines: {node: ^20.17.0 || >=22.9.0} 1083 | 1084 | queue-microtask@1.2.3: 1085 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1086 | 1087 | quick-lru@4.0.1: 1088 | resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} 1089 | engines: {node: '>=8'} 1090 | 1091 | react-is@18.3.1: 1092 | resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} 1093 | 1094 | read-cmd-shim@6.0.0: 1095 | resolution: {integrity: sha512-1zM5HuOfagXCBWMN83fuFI/x+T/UhZ7k+KIzhrHXcQoeX5+7gmaDYjELQHmmzIodumBHeByBJT4QYS7ufAgs7A==} 1096 | engines: {node: ^20.17.0 || >=22.9.0} 1097 | 1098 | read-pkg-up@7.0.1: 1099 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} 1100 | engines: {node: '>=8'} 1101 | 1102 | read-pkg@5.2.0: 1103 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} 1104 | engines: {node: '>=8'} 1105 | 1106 | readdirp@4.1.2: 1107 | resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} 1108 | engines: {node: '>= 14.18.0'} 1109 | 1110 | redent@3.0.0: 1111 | resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} 1112 | engines: {node: '>=8'} 1113 | 1114 | require-directory@2.1.1: 1115 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1116 | engines: {node: '>=0.10.0'} 1117 | 1118 | resolve-from@5.0.0: 1119 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1120 | engines: {node: '>=8'} 1121 | 1122 | resolve@1.22.10: 1123 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} 1124 | engines: {node: '>= 0.4'} 1125 | hasBin: true 1126 | 1127 | reusify@1.0.4: 1128 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1129 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1130 | 1131 | rollup@4.53.2: 1132 | resolution: {integrity: sha512-MHngMYwGJVi6Fmnk6ISmnk7JAHRNF0UkuucA0CUW3N3a4KnONPEZz+vUanQP/ZC/iY1Qkf3bwPWzyY84wEks1g==} 1133 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1134 | hasBin: true 1135 | 1136 | run-parallel@1.2.0: 1137 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1138 | 1139 | semver@5.7.2: 1140 | resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} 1141 | hasBin: true 1142 | 1143 | semver@7.7.2: 1144 | resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} 1145 | engines: {node: '>=10'} 1146 | hasBin: true 1147 | 1148 | shebang-command@2.0.0: 1149 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1150 | engines: {node: '>=8'} 1151 | 1152 | shebang-regex@3.0.0: 1153 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1154 | engines: {node: '>=8'} 1155 | 1156 | signal-exit@4.1.0: 1157 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1158 | engines: {node: '>=14'} 1159 | 1160 | skin-tone@2.0.0: 1161 | resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} 1162 | engines: {node: '>=8'} 1163 | 1164 | slash@3.0.0: 1165 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1166 | engines: {node: '>=8'} 1167 | 1168 | source-map@0.7.6: 1169 | resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} 1170 | engines: {node: '>= 12'} 1171 | 1172 | spdx-correct@3.2.0: 1173 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 1174 | 1175 | spdx-exceptions@2.5.0: 1176 | resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} 1177 | 1178 | spdx-expression-parse@3.0.1: 1179 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 1180 | 1181 | spdx-license-ids@3.0.21: 1182 | resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} 1183 | 1184 | string-width@4.2.3: 1185 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1186 | engines: {node: '>=8'} 1187 | 1188 | string-width@5.1.2: 1189 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1190 | engines: {node: '>=12'} 1191 | 1192 | strip-ansi@6.0.1: 1193 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1194 | engines: {node: '>=8'} 1195 | 1196 | strip-ansi@7.1.2: 1197 | resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} 1198 | engines: {node: '>=12'} 1199 | 1200 | strip-indent@3.0.0: 1201 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 1202 | engines: {node: '>=8'} 1203 | 1204 | sucrase@3.35.0: 1205 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1206 | engines: {node: '>=16 || 14 >=14.17'} 1207 | hasBin: true 1208 | 1209 | supabase@2.70.4: 1210 | resolution: {integrity: sha512-6Z5d0Snq5dxjL2K6XY89fPd9PNUJi83p7UpwlurPeSOHYhJfX9DbhzLhBGygrGigLST3M97ITgp4sFDXPd77Iw==} 1211 | engines: {npm: '>=8'} 1212 | hasBin: true 1213 | 1214 | supports-color@7.2.0: 1215 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1216 | engines: {node: '>=8'} 1217 | 1218 | supports-hyperlinks@2.3.0: 1219 | resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} 1220 | engines: {node: '>=8'} 1221 | 1222 | supports-hyperlinks@3.2.0: 1223 | resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==} 1224 | engines: {node: '>=14.18'} 1225 | 1226 | supports-preserve-symlinks-flag@1.0.0: 1227 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1228 | engines: {node: '>= 0.4'} 1229 | 1230 | tagged-tag@1.0.0: 1231 | resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} 1232 | engines: {node: '>=20'} 1233 | 1234 | tar@7.5.2: 1235 | resolution: {integrity: sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==} 1236 | engines: {node: '>=18'} 1237 | 1238 | thenify-all@1.6.0: 1239 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1240 | engines: {node: '>=0.8'} 1241 | 1242 | thenify@3.3.1: 1243 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1244 | 1245 | tinyexec@0.3.2: 1246 | resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} 1247 | 1248 | tinyglobby@0.2.15: 1249 | resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} 1250 | engines: {node: '>=12.0.0'} 1251 | 1252 | to-regex-range@5.0.1: 1253 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1254 | engines: {node: '>=8.0'} 1255 | 1256 | tree-kill@1.2.2: 1257 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 1258 | hasBin: true 1259 | 1260 | trim-newlines@3.0.1: 1261 | resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} 1262 | engines: {node: '>=8'} 1263 | 1264 | ts-interface-checker@0.1.13: 1265 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1266 | 1267 | tsd@0.33.0: 1268 | resolution: {integrity: sha512-/PQtykJFVw90QICG7zyPDMIyueOXKL7jOJVoX5pILnb3Ux+7QqynOxfVvarE+K+yi7BZyOSY4r+OZNWSWRiEwQ==} 1269 | engines: {node: '>=14.16'} 1270 | hasBin: true 1271 | 1272 | tsup@8.5.1: 1273 | resolution: {integrity: sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing==} 1274 | engines: {node: '>=18'} 1275 | hasBin: true 1276 | peerDependencies: 1277 | '@microsoft/api-extractor': ^7.36.0 1278 | '@swc/core': ^1 1279 | postcss: ^8.4.12 1280 | typescript: '>=4.5.0' 1281 | peerDependenciesMeta: 1282 | '@microsoft/api-extractor': 1283 | optional: true 1284 | '@swc/core': 1285 | optional: true 1286 | postcss: 1287 | optional: true 1288 | typescript: 1289 | optional: true 1290 | 1291 | type-fest@0.18.1: 1292 | resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} 1293 | engines: {node: '>=10'} 1294 | 1295 | type-fest@0.21.3: 1296 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 1297 | engines: {node: '>=10'} 1298 | 1299 | type-fest@0.6.0: 1300 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} 1301 | engines: {node: '>=8'} 1302 | 1303 | type-fest@0.8.1: 1304 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} 1305 | engines: {node: '>=8'} 1306 | 1307 | type-fest@5.3.1: 1308 | resolution: {integrity: sha512-VCn+LMHbd4t6sF3wfU/+HKT63C9OoyrSIf4b+vtWHpt2U7/4InZG467YDNMFMR70DdHjAdpPWmw2lzRdg0Xqqg==} 1309 | engines: {node: '>=20'} 1310 | 1311 | typescript@5.6.1-rc: 1312 | resolution: {integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==} 1313 | engines: {node: '>=14.17'} 1314 | hasBin: true 1315 | 1316 | typescript@5.9.3: 1317 | resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 1318 | engines: {node: '>=14.17'} 1319 | hasBin: true 1320 | 1321 | ufo@1.6.1: 1322 | resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} 1323 | 1324 | undici-types@7.16.0: 1325 | resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} 1326 | 1327 | unicode-emoji-modifier-base@1.0.0: 1328 | resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} 1329 | engines: {node: '>=4'} 1330 | 1331 | validate-npm-package-license@3.0.4: 1332 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 1333 | 1334 | validate-npm-package-name@5.0.1: 1335 | resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} 1336 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1337 | 1338 | web-streams-polyfill@3.3.3: 1339 | resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} 1340 | engines: {node: '>= 8'} 1341 | 1342 | which@2.0.2: 1343 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1344 | engines: {node: '>= 8'} 1345 | hasBin: true 1346 | 1347 | wrap-ansi@7.0.0: 1348 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1349 | engines: {node: '>=10'} 1350 | 1351 | wrap-ansi@8.1.0: 1352 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1353 | engines: {node: '>=12'} 1354 | 1355 | write-file-atomic@7.0.0: 1356 | resolution: {integrity: sha512-YnlPC6JqnZl6aO4uRc+dx5PHguiR9S6WeoLtpxNT9wIG+BDya7ZNE1q7KOjVgaA73hKhKLpVPgJ5QA9THQ5BRg==} 1357 | engines: {node: ^20.17.0 || >=22.9.0} 1358 | 1359 | y18n@5.0.8: 1360 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 1361 | engines: {node: '>=10'} 1362 | 1363 | yallist@4.0.0: 1364 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 1365 | 1366 | yallist@5.0.0: 1367 | resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} 1368 | engines: {node: '>=18'} 1369 | 1370 | yargs-parser@20.2.9: 1371 | resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} 1372 | engines: {node: '>=10'} 1373 | 1374 | yargs@16.2.0: 1375 | resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} 1376 | engines: {node: '>=10'} 1377 | 1378 | snapshots: 1379 | 1380 | '@andrewbranch/untar.js@1.0.3': {} 1381 | 1382 | '@arethetypeswrong/cli@0.18.2': 1383 | dependencies: 1384 | '@arethetypeswrong/core': 0.18.2 1385 | chalk: 4.1.2 1386 | cli-table3: 0.6.5 1387 | commander: 10.0.1 1388 | marked: 9.1.6 1389 | marked-terminal: 7.3.0(marked@9.1.6) 1390 | semver: 7.7.2 1391 | 1392 | '@arethetypeswrong/core@0.18.2': 1393 | dependencies: 1394 | '@andrewbranch/untar.js': 1.0.3 1395 | '@loaderkit/resolve': 1.0.4 1396 | cjs-module-lexer: 1.4.3 1397 | fflate: 0.8.2 1398 | lru-cache: 11.1.0 1399 | semver: 7.7.2 1400 | typescript: 5.6.1-rc 1401 | validate-npm-package-name: 5.0.1 1402 | 1403 | '@babel/code-frame@7.27.1': 1404 | dependencies: 1405 | '@babel/helper-validator-identifier': 7.27.1 1406 | js-tokens: 4.0.0 1407 | picocolors: 1.1.1 1408 | 1409 | '@babel/helper-validator-identifier@7.27.1': {} 1410 | 1411 | '@biomejs/biome@2.3.10': 1412 | optionalDependencies: 1413 | '@biomejs/cli-darwin-arm64': 2.3.10 1414 | '@biomejs/cli-darwin-x64': 2.3.10 1415 | '@biomejs/cli-linux-arm64': 2.3.10 1416 | '@biomejs/cli-linux-arm64-musl': 2.3.10 1417 | '@biomejs/cli-linux-x64': 2.3.10 1418 | '@biomejs/cli-linux-x64-musl': 2.3.10 1419 | '@biomejs/cli-win32-arm64': 2.3.10 1420 | '@biomejs/cli-win32-x64': 2.3.10 1421 | 1422 | '@biomejs/cli-darwin-arm64@2.3.10': 1423 | optional: true 1424 | 1425 | '@biomejs/cli-darwin-x64@2.3.10': 1426 | optional: true 1427 | 1428 | '@biomejs/cli-linux-arm64-musl@2.3.10': 1429 | optional: true 1430 | 1431 | '@biomejs/cli-linux-arm64@2.3.10': 1432 | optional: true 1433 | 1434 | '@biomejs/cli-linux-x64-musl@2.3.10': 1435 | optional: true 1436 | 1437 | '@biomejs/cli-linux-x64@2.3.10': 1438 | optional: true 1439 | 1440 | '@biomejs/cli-win32-arm64@2.3.10': 1441 | optional: true 1442 | 1443 | '@biomejs/cli-win32-x64@2.3.10': 1444 | optional: true 1445 | 1446 | '@braidai/lang@1.1.2': {} 1447 | 1448 | '@colors/colors@1.5.0': 1449 | optional: true 1450 | 1451 | '@esbuild/aix-ppc64@0.27.0': 1452 | optional: true 1453 | 1454 | '@esbuild/android-arm64@0.27.0': 1455 | optional: true 1456 | 1457 | '@esbuild/android-arm@0.27.0': 1458 | optional: true 1459 | 1460 | '@esbuild/android-x64@0.27.0': 1461 | optional: true 1462 | 1463 | '@esbuild/darwin-arm64@0.27.0': 1464 | optional: true 1465 | 1466 | '@esbuild/darwin-x64@0.27.0': 1467 | optional: true 1468 | 1469 | '@esbuild/freebsd-arm64@0.27.0': 1470 | optional: true 1471 | 1472 | '@esbuild/freebsd-x64@0.27.0': 1473 | optional: true 1474 | 1475 | '@esbuild/linux-arm64@0.27.0': 1476 | optional: true 1477 | 1478 | '@esbuild/linux-arm@0.27.0': 1479 | optional: true 1480 | 1481 | '@esbuild/linux-ia32@0.27.0': 1482 | optional: true 1483 | 1484 | '@esbuild/linux-loong64@0.27.0': 1485 | optional: true 1486 | 1487 | '@esbuild/linux-mips64el@0.27.0': 1488 | optional: true 1489 | 1490 | '@esbuild/linux-ppc64@0.27.0': 1491 | optional: true 1492 | 1493 | '@esbuild/linux-riscv64@0.27.0': 1494 | optional: true 1495 | 1496 | '@esbuild/linux-s390x@0.27.0': 1497 | optional: true 1498 | 1499 | '@esbuild/linux-x64@0.27.0': 1500 | optional: true 1501 | 1502 | '@esbuild/netbsd-arm64@0.27.0': 1503 | optional: true 1504 | 1505 | '@esbuild/netbsd-x64@0.27.0': 1506 | optional: true 1507 | 1508 | '@esbuild/openbsd-arm64@0.27.0': 1509 | optional: true 1510 | 1511 | '@esbuild/openbsd-x64@0.27.0': 1512 | optional: true 1513 | 1514 | '@esbuild/openharmony-arm64@0.27.0': 1515 | optional: true 1516 | 1517 | '@esbuild/sunos-x64@0.27.0': 1518 | optional: true 1519 | 1520 | '@esbuild/win32-arm64@0.27.0': 1521 | optional: true 1522 | 1523 | '@esbuild/win32-ia32@0.27.0': 1524 | optional: true 1525 | 1526 | '@esbuild/win32-x64@0.27.0': 1527 | optional: true 1528 | 1529 | '@isaacs/cliui@8.0.2': 1530 | dependencies: 1531 | string-width: 5.1.2 1532 | string-width-cjs: string-width@4.2.3 1533 | strip-ansi: 7.1.2 1534 | strip-ansi-cjs: strip-ansi@6.0.1 1535 | wrap-ansi: 8.1.0 1536 | wrap-ansi-cjs: wrap-ansi@7.0.0 1537 | 1538 | '@isaacs/fs-minipass@4.0.1': 1539 | dependencies: 1540 | minipass: 7.1.2 1541 | 1542 | '@jest/schemas@29.6.3': 1543 | dependencies: 1544 | '@sinclair/typebox': 0.27.8 1545 | 1546 | '@jridgewell/gen-mapping@0.3.13': 1547 | dependencies: 1548 | '@jridgewell/sourcemap-codec': 1.5.5 1549 | '@jridgewell/trace-mapping': 0.3.31 1550 | 1551 | '@jridgewell/resolve-uri@3.1.2': {} 1552 | 1553 | '@jridgewell/sourcemap-codec@1.5.5': {} 1554 | 1555 | '@jridgewell/trace-mapping@0.3.31': 1556 | dependencies: 1557 | '@jridgewell/resolve-uri': 3.1.2 1558 | '@jridgewell/sourcemap-codec': 1.5.5 1559 | 1560 | '@loaderkit/resolve@1.0.4': 1561 | dependencies: 1562 | '@braidai/lang': 1.1.2 1563 | 1564 | '@nodelib/fs.scandir@2.1.5': 1565 | dependencies: 1566 | '@nodelib/fs.stat': 2.0.5 1567 | run-parallel: 1.2.0 1568 | 1569 | '@nodelib/fs.stat@2.0.5': {} 1570 | 1571 | '@nodelib/fs.walk@1.2.8': 1572 | dependencies: 1573 | '@nodelib/fs.scandir': 2.1.5 1574 | fastq: 1.17.1 1575 | 1576 | '@pkgjs/parseargs@0.11.0': 1577 | optional: true 1578 | 1579 | '@rollup/rollup-android-arm-eabi@4.53.2': 1580 | optional: true 1581 | 1582 | '@rollup/rollup-android-arm64@4.53.2': 1583 | optional: true 1584 | 1585 | '@rollup/rollup-darwin-arm64@4.53.2': 1586 | optional: true 1587 | 1588 | '@rollup/rollup-darwin-x64@4.53.2': 1589 | optional: true 1590 | 1591 | '@rollup/rollup-freebsd-arm64@4.53.2': 1592 | optional: true 1593 | 1594 | '@rollup/rollup-freebsd-x64@4.53.2': 1595 | optional: true 1596 | 1597 | '@rollup/rollup-linux-arm-gnueabihf@4.53.2': 1598 | optional: true 1599 | 1600 | '@rollup/rollup-linux-arm-musleabihf@4.53.2': 1601 | optional: true 1602 | 1603 | '@rollup/rollup-linux-arm64-gnu@4.53.2': 1604 | optional: true 1605 | 1606 | '@rollup/rollup-linux-arm64-musl@4.53.2': 1607 | optional: true 1608 | 1609 | '@rollup/rollup-linux-loong64-gnu@4.53.2': 1610 | optional: true 1611 | 1612 | '@rollup/rollup-linux-ppc64-gnu@4.53.2': 1613 | optional: true 1614 | 1615 | '@rollup/rollup-linux-riscv64-gnu@4.53.2': 1616 | optional: true 1617 | 1618 | '@rollup/rollup-linux-riscv64-musl@4.53.2': 1619 | optional: true 1620 | 1621 | '@rollup/rollup-linux-s390x-gnu@4.53.2': 1622 | optional: true 1623 | 1624 | '@rollup/rollup-linux-x64-gnu@4.53.2': 1625 | optional: true 1626 | 1627 | '@rollup/rollup-linux-x64-musl@4.53.2': 1628 | optional: true 1629 | 1630 | '@rollup/rollup-openharmony-arm64@4.53.2': 1631 | optional: true 1632 | 1633 | '@rollup/rollup-win32-arm64-msvc@4.53.2': 1634 | optional: true 1635 | 1636 | '@rollup/rollup-win32-ia32-msvc@4.53.2': 1637 | optional: true 1638 | 1639 | '@rollup/rollup-win32-x64-gnu@4.53.2': 1640 | optional: true 1641 | 1642 | '@rollup/rollup-win32-x64-msvc@4.53.2': 1643 | optional: true 1644 | 1645 | '@sinclair/typebox@0.27.8': {} 1646 | 1647 | '@sindresorhus/is@4.6.0': {} 1648 | 1649 | '@tsconfig/node24@24.0.3': {} 1650 | 1651 | '@tsd/typescript@5.9.2': {} 1652 | 1653 | '@types/eslint@7.29.0': 1654 | dependencies: 1655 | '@types/estree': 1.0.8 1656 | '@types/json-schema': 7.0.15 1657 | 1658 | '@types/estree@1.0.8': {} 1659 | 1660 | '@types/json-schema@7.0.15': {} 1661 | 1662 | '@types/minimist@1.2.5': {} 1663 | 1664 | '@types/node@25.0.3': 1665 | dependencies: 1666 | undici-types: 7.16.0 1667 | 1668 | '@types/normalize-package-data@2.4.4': {} 1669 | 1670 | acorn@8.15.0: {} 1671 | 1672 | agent-base@7.1.4: {} 1673 | 1674 | ansi-escapes@4.3.2: 1675 | dependencies: 1676 | type-fest: 0.21.3 1677 | 1678 | ansi-escapes@7.0.0: 1679 | dependencies: 1680 | environment: 1.1.0 1681 | 1682 | ansi-regex@5.0.1: {} 1683 | 1684 | ansi-regex@6.1.0: {} 1685 | 1686 | ansi-regex@6.2.2: {} 1687 | 1688 | ansi-styles@4.3.0: 1689 | dependencies: 1690 | color-convert: 2.0.1 1691 | 1692 | ansi-styles@5.2.0: {} 1693 | 1694 | ansi-styles@6.2.3: {} 1695 | 1696 | any-promise@1.3.0: {} 1697 | 1698 | array-union@2.1.0: {} 1699 | 1700 | arrify@1.0.1: {} 1701 | 1702 | balanced-match@1.0.2: {} 1703 | 1704 | bin-links@6.0.0: 1705 | dependencies: 1706 | cmd-shim: 8.0.0 1707 | npm-normalize-package-bin: 5.0.0 1708 | proc-log: 6.1.0 1709 | read-cmd-shim: 6.0.0 1710 | write-file-atomic: 7.0.0 1711 | 1712 | brace-expansion@2.0.2: 1713 | dependencies: 1714 | balanced-match: 1.0.2 1715 | 1716 | braces@3.0.3: 1717 | dependencies: 1718 | fill-range: 7.1.1 1719 | 1720 | bundle-require@5.1.0(esbuild@0.27.0): 1721 | dependencies: 1722 | esbuild: 0.27.0 1723 | load-tsconfig: 0.2.5 1724 | 1725 | cac@6.7.14: {} 1726 | 1727 | camelcase-keys@6.2.2: 1728 | dependencies: 1729 | camelcase: 5.3.1 1730 | map-obj: 4.3.0 1731 | quick-lru: 4.0.1 1732 | 1733 | camelcase@5.3.1: {} 1734 | 1735 | chalk@4.1.2: 1736 | dependencies: 1737 | ansi-styles: 4.3.0 1738 | supports-color: 7.2.0 1739 | 1740 | chalk@5.6.0: {} 1741 | 1742 | char-regex@1.0.2: {} 1743 | 1744 | chokidar@4.0.3: 1745 | dependencies: 1746 | readdirp: 4.1.2 1747 | 1748 | chownr@3.0.0: {} 1749 | 1750 | cjs-module-lexer@1.4.3: {} 1751 | 1752 | cli-highlight@2.1.11: 1753 | dependencies: 1754 | chalk: 4.1.2 1755 | highlight.js: 10.7.3 1756 | mz: 2.7.0 1757 | parse5: 5.1.1 1758 | parse5-htmlparser2-tree-adapter: 6.0.1 1759 | yargs: 16.2.0 1760 | 1761 | cli-table3@0.6.5: 1762 | dependencies: 1763 | string-width: 4.2.3 1764 | optionalDependencies: 1765 | '@colors/colors': 1.5.0 1766 | 1767 | cliui@7.0.4: 1768 | dependencies: 1769 | string-width: 4.2.3 1770 | strip-ansi: 6.0.1 1771 | wrap-ansi: 7.0.0 1772 | 1773 | cmd-shim@8.0.0: {} 1774 | 1775 | color-convert@2.0.1: 1776 | dependencies: 1777 | color-name: 1.1.4 1778 | 1779 | color-name@1.1.4: {} 1780 | 1781 | commander@10.0.1: {} 1782 | 1783 | commander@4.1.1: {} 1784 | 1785 | confbox@0.1.8: {} 1786 | 1787 | consola@3.4.2: {} 1788 | 1789 | cross-spawn@7.0.6: 1790 | dependencies: 1791 | path-key: 3.1.1 1792 | shebang-command: 2.0.0 1793 | which: 2.0.2 1794 | 1795 | data-uri-to-buffer@4.0.1: {} 1796 | 1797 | debug@4.4.3: 1798 | dependencies: 1799 | ms: 2.1.3 1800 | 1801 | decamelize-keys@1.1.1: 1802 | dependencies: 1803 | decamelize: 1.2.0 1804 | map-obj: 1.0.1 1805 | 1806 | decamelize@1.2.0: {} 1807 | 1808 | diff-sequences@29.6.3: {} 1809 | 1810 | dir-glob@3.0.1: 1811 | dependencies: 1812 | path-type: 4.0.0 1813 | 1814 | eastasianwidth@0.2.0: {} 1815 | 1816 | emoji-regex@8.0.0: {} 1817 | 1818 | emoji-regex@9.2.2: {} 1819 | 1820 | emojilib@2.4.0: {} 1821 | 1822 | environment@1.1.0: {} 1823 | 1824 | error-ex@1.3.2: 1825 | dependencies: 1826 | is-arrayish: 0.2.1 1827 | 1828 | esbuild@0.27.0: 1829 | optionalDependencies: 1830 | '@esbuild/aix-ppc64': 0.27.0 1831 | '@esbuild/android-arm': 0.27.0 1832 | '@esbuild/android-arm64': 0.27.0 1833 | '@esbuild/android-x64': 0.27.0 1834 | '@esbuild/darwin-arm64': 0.27.0 1835 | '@esbuild/darwin-x64': 0.27.0 1836 | '@esbuild/freebsd-arm64': 0.27.0 1837 | '@esbuild/freebsd-x64': 0.27.0 1838 | '@esbuild/linux-arm': 0.27.0 1839 | '@esbuild/linux-arm64': 0.27.0 1840 | '@esbuild/linux-ia32': 0.27.0 1841 | '@esbuild/linux-loong64': 0.27.0 1842 | '@esbuild/linux-mips64el': 0.27.0 1843 | '@esbuild/linux-ppc64': 0.27.0 1844 | '@esbuild/linux-riscv64': 0.27.0 1845 | '@esbuild/linux-s390x': 0.27.0 1846 | '@esbuild/linux-x64': 0.27.0 1847 | '@esbuild/netbsd-arm64': 0.27.0 1848 | '@esbuild/netbsd-x64': 0.27.0 1849 | '@esbuild/openbsd-arm64': 0.27.0 1850 | '@esbuild/openbsd-x64': 0.27.0 1851 | '@esbuild/openharmony-arm64': 0.27.0 1852 | '@esbuild/sunos-x64': 0.27.0 1853 | '@esbuild/win32-arm64': 0.27.0 1854 | '@esbuild/win32-ia32': 0.27.0 1855 | '@esbuild/win32-x64': 0.27.0 1856 | 1857 | escalade@3.2.0: {} 1858 | 1859 | eslint-formatter-pretty@4.1.0: 1860 | dependencies: 1861 | '@types/eslint': 7.29.0 1862 | ansi-escapes: 4.3.2 1863 | chalk: 4.1.2 1864 | eslint-rule-docs: 1.1.235 1865 | log-symbols: 4.1.0 1866 | plur: 4.0.0 1867 | string-width: 4.2.3 1868 | supports-hyperlinks: 2.3.0 1869 | 1870 | eslint-rule-docs@1.1.235: {} 1871 | 1872 | fast-glob@3.3.3: 1873 | dependencies: 1874 | '@nodelib/fs.stat': 2.0.5 1875 | '@nodelib/fs.walk': 1.2.8 1876 | glob-parent: 5.1.2 1877 | merge2: 1.4.1 1878 | micromatch: 4.0.8 1879 | 1880 | fastq@1.17.1: 1881 | dependencies: 1882 | reusify: 1.0.4 1883 | 1884 | fdir@6.5.0(picomatch@4.0.3): 1885 | optionalDependencies: 1886 | picomatch: 4.0.3 1887 | 1888 | fetch-blob@3.2.0: 1889 | dependencies: 1890 | node-domexception: 1.0.0 1891 | web-streams-polyfill: 3.3.3 1892 | 1893 | fflate@0.8.2: {} 1894 | 1895 | fill-range@7.1.1: 1896 | dependencies: 1897 | to-regex-range: 5.0.1 1898 | 1899 | find-up@4.1.0: 1900 | dependencies: 1901 | locate-path: 5.0.0 1902 | path-exists: 4.0.0 1903 | 1904 | fix-dts-default-cjs-exports@1.0.1: 1905 | dependencies: 1906 | magic-string: 0.30.21 1907 | mlly: 1.8.0 1908 | rollup: 4.53.2 1909 | 1910 | foreground-child@3.3.1: 1911 | dependencies: 1912 | cross-spawn: 7.0.6 1913 | signal-exit: 4.1.0 1914 | 1915 | formdata-polyfill@4.0.10: 1916 | dependencies: 1917 | fetch-blob: 3.2.0 1918 | 1919 | fsevents@2.3.3: 1920 | optional: true 1921 | 1922 | function-bind@1.1.2: {} 1923 | 1924 | get-caller-file@2.0.5: {} 1925 | 1926 | glob-parent@5.1.2: 1927 | dependencies: 1928 | is-glob: 4.0.3 1929 | 1930 | glob@10.4.5: 1931 | dependencies: 1932 | foreground-child: 3.3.1 1933 | jackspeak: 3.4.3 1934 | minimatch: 9.0.5 1935 | minipass: 7.1.2 1936 | package-json-from-dist: 1.0.1 1937 | path-scurry: 1.11.1 1938 | 1939 | globby@11.1.0: 1940 | dependencies: 1941 | array-union: 2.1.0 1942 | dir-glob: 3.0.1 1943 | fast-glob: 3.3.3 1944 | ignore: 5.3.2 1945 | merge2: 1.4.1 1946 | slash: 3.0.0 1947 | 1948 | hard-rejection@2.1.0: {} 1949 | 1950 | has-flag@4.0.0: {} 1951 | 1952 | hasown@2.0.2: 1953 | dependencies: 1954 | function-bind: 1.1.2 1955 | 1956 | highlight.js@10.7.3: {} 1957 | 1958 | hosted-git-info@2.8.9: {} 1959 | 1960 | hosted-git-info@4.1.0: 1961 | dependencies: 1962 | lru-cache: 6.0.0 1963 | 1964 | https-proxy-agent@7.0.6: 1965 | dependencies: 1966 | agent-base: 7.1.4 1967 | debug: 4.4.3 1968 | transitivePeerDependencies: 1969 | - supports-color 1970 | 1971 | ignore@5.3.2: {} 1972 | 1973 | imurmurhash@0.1.4: {} 1974 | 1975 | indent-string@4.0.0: {} 1976 | 1977 | irregular-plurals@3.5.0: {} 1978 | 1979 | is-arrayish@0.2.1: {} 1980 | 1981 | is-core-module@2.16.1: 1982 | dependencies: 1983 | hasown: 2.0.2 1984 | 1985 | is-extglob@2.1.1: {} 1986 | 1987 | is-fullwidth-code-point@3.0.0: {} 1988 | 1989 | is-glob@4.0.3: 1990 | dependencies: 1991 | is-extglob: 2.1.1 1992 | 1993 | is-number@7.0.0: {} 1994 | 1995 | is-plain-obj@1.1.0: {} 1996 | 1997 | is-unicode-supported@0.1.0: {} 1998 | 1999 | isexe@2.0.0: {} 2000 | 2001 | jackspeak@3.4.3: 2002 | dependencies: 2003 | '@isaacs/cliui': 8.0.2 2004 | optionalDependencies: 2005 | '@pkgjs/parseargs': 0.11.0 2006 | 2007 | jest-diff@29.7.0: 2008 | dependencies: 2009 | chalk: 4.1.2 2010 | diff-sequences: 29.6.3 2011 | jest-get-type: 29.6.3 2012 | pretty-format: 29.7.0 2013 | 2014 | jest-get-type@29.6.3: {} 2015 | 2016 | joycon@3.1.1: {} 2017 | 2018 | js-tokens@4.0.0: {} 2019 | 2020 | json-parse-even-better-errors@2.3.1: {} 2021 | 2022 | kind-of@6.0.3: {} 2023 | 2024 | kysely@0.28.9: {} 2025 | 2026 | lilconfig@3.1.3: {} 2027 | 2028 | lines-and-columns@1.2.4: {} 2029 | 2030 | load-tsconfig@0.2.5: {} 2031 | 2032 | locate-path@5.0.0: 2033 | dependencies: 2034 | p-locate: 4.1.0 2035 | 2036 | log-symbols@4.1.0: 2037 | dependencies: 2038 | chalk: 4.1.2 2039 | is-unicode-supported: 0.1.0 2040 | 2041 | lru-cache@10.4.3: {} 2042 | 2043 | lru-cache@11.1.0: {} 2044 | 2045 | lru-cache@6.0.0: 2046 | dependencies: 2047 | yallist: 4.0.0 2048 | 2049 | magic-string@0.30.21: 2050 | dependencies: 2051 | '@jridgewell/sourcemap-codec': 1.5.5 2052 | 2053 | map-obj@1.0.1: {} 2054 | 2055 | map-obj@4.3.0: {} 2056 | 2057 | marked-terminal@7.3.0(marked@9.1.6): 2058 | dependencies: 2059 | ansi-escapes: 7.0.0 2060 | ansi-regex: 6.1.0 2061 | chalk: 5.6.0 2062 | cli-highlight: 2.1.11 2063 | cli-table3: 0.6.5 2064 | marked: 9.1.6 2065 | node-emoji: 2.2.0 2066 | supports-hyperlinks: 3.2.0 2067 | 2068 | marked@9.1.6: {} 2069 | 2070 | meow@9.0.0: 2071 | dependencies: 2072 | '@types/minimist': 1.2.5 2073 | camelcase-keys: 6.2.2 2074 | decamelize: 1.2.0 2075 | decamelize-keys: 1.1.1 2076 | hard-rejection: 2.1.0 2077 | minimist-options: 4.1.0 2078 | normalize-package-data: 3.0.3 2079 | read-pkg-up: 7.0.1 2080 | redent: 3.0.0 2081 | trim-newlines: 3.0.1 2082 | type-fest: 0.18.1 2083 | yargs-parser: 20.2.9 2084 | 2085 | merge2@1.4.1: {} 2086 | 2087 | micromatch@4.0.8: 2088 | dependencies: 2089 | braces: 3.0.3 2090 | picomatch: 2.3.1 2091 | 2092 | min-indent@1.0.1: {} 2093 | 2094 | minimatch@9.0.5: 2095 | dependencies: 2096 | brace-expansion: 2.0.2 2097 | 2098 | minimist-options@4.1.0: 2099 | dependencies: 2100 | arrify: 1.0.1 2101 | is-plain-obj: 1.1.0 2102 | kind-of: 6.0.3 2103 | 2104 | minipass@7.1.2: {} 2105 | 2106 | minizlib@3.1.0: 2107 | dependencies: 2108 | minipass: 7.1.2 2109 | 2110 | mlly@1.8.0: 2111 | dependencies: 2112 | acorn: 8.15.0 2113 | pathe: 2.0.3 2114 | pkg-types: 1.3.1 2115 | ufo: 1.6.1 2116 | 2117 | ms@2.1.3: {} 2118 | 2119 | mz@2.7.0: 2120 | dependencies: 2121 | any-promise: 1.3.0 2122 | object-assign: 4.1.1 2123 | thenify-all: 1.6.0 2124 | 2125 | node-domexception@1.0.0: {} 2126 | 2127 | node-emoji@2.2.0: 2128 | dependencies: 2129 | '@sindresorhus/is': 4.6.0 2130 | char-regex: 1.0.2 2131 | emojilib: 2.4.0 2132 | skin-tone: 2.0.0 2133 | 2134 | node-fetch@3.3.2: 2135 | dependencies: 2136 | data-uri-to-buffer: 4.0.1 2137 | fetch-blob: 3.2.0 2138 | formdata-polyfill: 4.0.10 2139 | 2140 | normalize-package-data@2.5.0: 2141 | dependencies: 2142 | hosted-git-info: 2.8.9 2143 | resolve: 1.22.10 2144 | semver: 5.7.2 2145 | validate-npm-package-license: 3.0.4 2146 | 2147 | normalize-package-data@3.0.3: 2148 | dependencies: 2149 | hosted-git-info: 4.1.0 2150 | is-core-module: 2.16.1 2151 | semver: 7.7.2 2152 | validate-npm-package-license: 3.0.4 2153 | 2154 | npm-normalize-package-bin@5.0.0: {} 2155 | 2156 | object-assign@4.1.1: {} 2157 | 2158 | p-limit@2.3.0: 2159 | dependencies: 2160 | p-try: 2.2.0 2161 | 2162 | p-locate@4.1.0: 2163 | dependencies: 2164 | p-limit: 2.3.0 2165 | 2166 | p-try@2.2.0: {} 2167 | 2168 | package-json-from-dist@1.0.1: {} 2169 | 2170 | parse-json@5.2.0: 2171 | dependencies: 2172 | '@babel/code-frame': 7.27.1 2173 | error-ex: 1.3.2 2174 | json-parse-even-better-errors: 2.3.1 2175 | lines-and-columns: 1.2.4 2176 | 2177 | parse5-htmlparser2-tree-adapter@6.0.1: 2178 | dependencies: 2179 | parse5: 6.0.1 2180 | 2181 | parse5@5.1.1: {} 2182 | 2183 | parse5@6.0.1: {} 2184 | 2185 | path-exists@4.0.0: {} 2186 | 2187 | path-key@3.1.1: {} 2188 | 2189 | path-parse@1.0.7: {} 2190 | 2191 | path-scurry@1.11.1: 2192 | dependencies: 2193 | lru-cache: 10.4.3 2194 | minipass: 7.1.2 2195 | 2196 | path-type@4.0.0: {} 2197 | 2198 | pathe@2.0.3: {} 2199 | 2200 | picocolors@1.1.1: {} 2201 | 2202 | picomatch@2.3.1: {} 2203 | 2204 | picomatch@4.0.3: {} 2205 | 2206 | pirates@4.0.7: {} 2207 | 2208 | pkg-types@1.3.1: 2209 | dependencies: 2210 | confbox: 0.1.8 2211 | mlly: 1.8.0 2212 | pathe: 2.0.3 2213 | 2214 | plur@4.0.0: 2215 | dependencies: 2216 | irregular-plurals: 3.5.0 2217 | 2218 | postcss-load-config@6.0.1: 2219 | dependencies: 2220 | lilconfig: 3.1.3 2221 | 2222 | pretty-format@29.7.0: 2223 | dependencies: 2224 | '@jest/schemas': 29.6.3 2225 | ansi-styles: 5.2.0 2226 | react-is: 18.3.1 2227 | 2228 | proc-log@6.1.0: {} 2229 | 2230 | queue-microtask@1.2.3: {} 2231 | 2232 | quick-lru@4.0.1: {} 2233 | 2234 | react-is@18.3.1: {} 2235 | 2236 | read-cmd-shim@6.0.0: {} 2237 | 2238 | read-pkg-up@7.0.1: 2239 | dependencies: 2240 | find-up: 4.1.0 2241 | read-pkg: 5.2.0 2242 | type-fest: 0.8.1 2243 | 2244 | read-pkg@5.2.0: 2245 | dependencies: 2246 | '@types/normalize-package-data': 2.4.4 2247 | normalize-package-data: 2.5.0 2248 | parse-json: 5.2.0 2249 | type-fest: 0.6.0 2250 | 2251 | readdirp@4.1.2: {} 2252 | 2253 | redent@3.0.0: 2254 | dependencies: 2255 | indent-string: 4.0.0 2256 | strip-indent: 3.0.0 2257 | 2258 | require-directory@2.1.1: {} 2259 | 2260 | resolve-from@5.0.0: {} 2261 | 2262 | resolve@1.22.10: 2263 | dependencies: 2264 | is-core-module: 2.16.1 2265 | path-parse: 1.0.7 2266 | supports-preserve-symlinks-flag: 1.0.0 2267 | 2268 | reusify@1.0.4: {} 2269 | 2270 | rollup@4.53.2: 2271 | dependencies: 2272 | '@types/estree': 1.0.8 2273 | optionalDependencies: 2274 | '@rollup/rollup-android-arm-eabi': 4.53.2 2275 | '@rollup/rollup-android-arm64': 4.53.2 2276 | '@rollup/rollup-darwin-arm64': 4.53.2 2277 | '@rollup/rollup-darwin-x64': 4.53.2 2278 | '@rollup/rollup-freebsd-arm64': 4.53.2 2279 | '@rollup/rollup-freebsd-x64': 4.53.2 2280 | '@rollup/rollup-linux-arm-gnueabihf': 4.53.2 2281 | '@rollup/rollup-linux-arm-musleabihf': 4.53.2 2282 | '@rollup/rollup-linux-arm64-gnu': 4.53.2 2283 | '@rollup/rollup-linux-arm64-musl': 4.53.2 2284 | '@rollup/rollup-linux-loong64-gnu': 4.53.2 2285 | '@rollup/rollup-linux-ppc64-gnu': 4.53.2 2286 | '@rollup/rollup-linux-riscv64-gnu': 4.53.2 2287 | '@rollup/rollup-linux-riscv64-musl': 4.53.2 2288 | '@rollup/rollup-linux-s390x-gnu': 4.53.2 2289 | '@rollup/rollup-linux-x64-gnu': 4.53.2 2290 | '@rollup/rollup-linux-x64-musl': 4.53.2 2291 | '@rollup/rollup-openharmony-arm64': 4.53.2 2292 | '@rollup/rollup-win32-arm64-msvc': 4.53.2 2293 | '@rollup/rollup-win32-ia32-msvc': 4.53.2 2294 | '@rollup/rollup-win32-x64-gnu': 4.53.2 2295 | '@rollup/rollup-win32-x64-msvc': 4.53.2 2296 | fsevents: 2.3.3 2297 | 2298 | run-parallel@1.2.0: 2299 | dependencies: 2300 | queue-microtask: 1.2.3 2301 | 2302 | semver@5.7.2: {} 2303 | 2304 | semver@7.7.2: {} 2305 | 2306 | shebang-command@2.0.0: 2307 | dependencies: 2308 | shebang-regex: 3.0.0 2309 | 2310 | shebang-regex@3.0.0: {} 2311 | 2312 | signal-exit@4.1.0: {} 2313 | 2314 | skin-tone@2.0.0: 2315 | dependencies: 2316 | unicode-emoji-modifier-base: 1.0.0 2317 | 2318 | slash@3.0.0: {} 2319 | 2320 | source-map@0.7.6: {} 2321 | 2322 | spdx-correct@3.2.0: 2323 | dependencies: 2324 | spdx-expression-parse: 3.0.1 2325 | spdx-license-ids: 3.0.21 2326 | 2327 | spdx-exceptions@2.5.0: {} 2328 | 2329 | spdx-expression-parse@3.0.1: 2330 | dependencies: 2331 | spdx-exceptions: 2.5.0 2332 | spdx-license-ids: 3.0.21 2333 | 2334 | spdx-license-ids@3.0.21: {} 2335 | 2336 | string-width@4.2.3: 2337 | dependencies: 2338 | emoji-regex: 8.0.0 2339 | is-fullwidth-code-point: 3.0.0 2340 | strip-ansi: 6.0.1 2341 | 2342 | string-width@5.1.2: 2343 | dependencies: 2344 | eastasianwidth: 0.2.0 2345 | emoji-regex: 9.2.2 2346 | strip-ansi: 7.1.2 2347 | 2348 | strip-ansi@6.0.1: 2349 | dependencies: 2350 | ansi-regex: 5.0.1 2351 | 2352 | strip-ansi@7.1.2: 2353 | dependencies: 2354 | ansi-regex: 6.2.2 2355 | 2356 | strip-indent@3.0.0: 2357 | dependencies: 2358 | min-indent: 1.0.1 2359 | 2360 | sucrase@3.35.0: 2361 | dependencies: 2362 | '@jridgewell/gen-mapping': 0.3.13 2363 | commander: 4.1.1 2364 | glob: 10.4.5 2365 | lines-and-columns: 1.2.4 2366 | mz: 2.7.0 2367 | pirates: 4.0.7 2368 | ts-interface-checker: 0.1.13 2369 | 2370 | supabase@2.70.4: 2371 | dependencies: 2372 | bin-links: 6.0.0 2373 | https-proxy-agent: 7.0.6 2374 | node-fetch: 3.3.2 2375 | tar: 7.5.2 2376 | transitivePeerDependencies: 2377 | - supports-color 2378 | 2379 | supports-color@7.2.0: 2380 | dependencies: 2381 | has-flag: 4.0.0 2382 | 2383 | supports-hyperlinks@2.3.0: 2384 | dependencies: 2385 | has-flag: 4.0.0 2386 | supports-color: 7.2.0 2387 | 2388 | supports-hyperlinks@3.2.0: 2389 | dependencies: 2390 | has-flag: 4.0.0 2391 | supports-color: 7.2.0 2392 | 2393 | supports-preserve-symlinks-flag@1.0.0: {} 2394 | 2395 | tagged-tag@1.0.0: {} 2396 | 2397 | tar@7.5.2: 2398 | dependencies: 2399 | '@isaacs/fs-minipass': 4.0.1 2400 | chownr: 3.0.0 2401 | minipass: 7.1.2 2402 | minizlib: 3.1.0 2403 | yallist: 5.0.0 2404 | 2405 | thenify-all@1.6.0: 2406 | dependencies: 2407 | thenify: 3.3.1 2408 | 2409 | thenify@3.3.1: 2410 | dependencies: 2411 | any-promise: 1.3.0 2412 | 2413 | tinyexec@0.3.2: {} 2414 | 2415 | tinyglobby@0.2.15: 2416 | dependencies: 2417 | fdir: 6.5.0(picomatch@4.0.3) 2418 | picomatch: 4.0.3 2419 | 2420 | to-regex-range@5.0.1: 2421 | dependencies: 2422 | is-number: 7.0.0 2423 | 2424 | tree-kill@1.2.2: {} 2425 | 2426 | trim-newlines@3.0.1: {} 2427 | 2428 | ts-interface-checker@0.1.13: {} 2429 | 2430 | tsd@0.33.0: 2431 | dependencies: 2432 | '@tsd/typescript': 5.9.2 2433 | eslint-formatter-pretty: 4.1.0 2434 | globby: 11.1.0 2435 | jest-diff: 29.7.0 2436 | meow: 9.0.0 2437 | path-exists: 4.0.0 2438 | read-pkg-up: 7.0.1 2439 | 2440 | tsup@8.5.1(typescript@5.9.3): 2441 | dependencies: 2442 | bundle-require: 5.1.0(esbuild@0.27.0) 2443 | cac: 6.7.14 2444 | chokidar: 4.0.3 2445 | consola: 3.4.2 2446 | debug: 4.4.3 2447 | esbuild: 0.27.0 2448 | fix-dts-default-cjs-exports: 1.0.1 2449 | joycon: 3.1.1 2450 | picocolors: 1.1.1 2451 | postcss-load-config: 6.0.1 2452 | resolve-from: 5.0.0 2453 | rollup: 4.53.2 2454 | source-map: 0.7.6 2455 | sucrase: 3.35.0 2456 | tinyexec: 0.3.2 2457 | tinyglobby: 0.2.15 2458 | tree-kill: 1.2.2 2459 | optionalDependencies: 2460 | typescript: 5.9.3 2461 | transitivePeerDependencies: 2462 | - jiti 2463 | - supports-color 2464 | - tsx 2465 | - yaml 2466 | 2467 | type-fest@0.18.1: {} 2468 | 2469 | type-fest@0.21.3: {} 2470 | 2471 | type-fest@0.6.0: {} 2472 | 2473 | type-fest@0.8.1: {} 2474 | 2475 | type-fest@5.3.1: 2476 | dependencies: 2477 | tagged-tag: 1.0.0 2478 | 2479 | typescript@5.6.1-rc: {} 2480 | 2481 | typescript@5.9.3: {} 2482 | 2483 | ufo@1.6.1: {} 2484 | 2485 | undici-types@7.16.0: {} 2486 | 2487 | unicode-emoji-modifier-base@1.0.0: {} 2488 | 2489 | validate-npm-package-license@3.0.4: 2490 | dependencies: 2491 | spdx-correct: 3.2.0 2492 | spdx-expression-parse: 3.0.1 2493 | 2494 | validate-npm-package-name@5.0.1: {} 2495 | 2496 | web-streams-polyfill@3.3.3: {} 2497 | 2498 | which@2.0.2: 2499 | dependencies: 2500 | isexe: 2.0.0 2501 | 2502 | wrap-ansi@7.0.0: 2503 | dependencies: 2504 | ansi-styles: 4.3.0 2505 | string-width: 4.2.3 2506 | strip-ansi: 6.0.1 2507 | 2508 | wrap-ansi@8.1.0: 2509 | dependencies: 2510 | ansi-styles: 6.2.3 2511 | string-width: 5.1.2 2512 | strip-ansi: 7.1.2 2513 | 2514 | write-file-atomic@7.0.0: 2515 | dependencies: 2516 | imurmurhash: 0.1.4 2517 | signal-exit: 4.1.0 2518 | 2519 | y18n@5.0.8: {} 2520 | 2521 | yallist@4.0.0: {} 2522 | 2523 | yallist@5.0.0: {} 2524 | 2525 | yargs-parser@20.2.9: {} 2526 | 2527 | yargs@16.2.0: 2528 | dependencies: 2529 | cliui: 7.0.4 2530 | escalade: 3.2.0 2531 | get-caller-file: 2.0.5 2532 | require-directory: 2.1.1 2533 | string-width: 4.2.3 2534 | y18n: 5.0.8 2535 | yargs-parser: 20.2.9 2536 | --------------------------------------------------------------------------------