├── .github └── workflows │ ├── build_release.yml │ ├── check_fix_push.yml │ └── pull_request_check.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc.mjs ├── README.md ├── dist ├── CHANGELOG.md ├── README.md ├── gkd.json5 └── gkd.version.json5 ├── eslint.config.mjs ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── scripts ├── build.ts └── check.ts ├── src ├── apps │ ├── com.tencent.mm.ts │ ├── com.tencent.mobileqq.ts │ └── li.songe.gkd.ts ├── categories.ts ├── globalGroups.ts └── subscription.ts └── tsconfig.json /.github/workflows/build_release.yml: -------------------------------------------------------------------------------- 1 | name: build_release 2 | 3 | on: workflow_dispatch 4 | 5 | jobs: 6 | build_release: 7 | runs-on: ubuntu-latest 8 | outputs: 9 | version: ${{ steps.version.outputs.version }} 10 | steps: 11 | - uses: actions/checkout@v4 12 | with: 13 | fetch-depth: 0 14 | 15 | - uses: actions/setup-node@v4 16 | with: 17 | node-version: 22 18 | 19 | - uses: pnpm/action-setup@v4 20 | 21 | - run: pnpm install 22 | 23 | - run: pnpm run build 24 | 25 | - id: version 26 | run: | 27 | version=$(node -e "import('@gkd-kit/tools').then((m) => m.stdoutGkdVersion());") 28 | echo "version=${version}" >> "$GITHUB_OUTPUT" 29 | 30 | - name: Git commit 31 | id: commit 32 | run: | 33 | git config --local user.email github-actions[bot]@users.noreply.github.com 34 | git config --local user.name github-actions[bot] 35 | git status 36 | git add . 37 | git commit -a -m "chore: v${{steps.version.outputs.version}}" 38 | continue-on-error: true 39 | 40 | - name: Git push 41 | if: ${{ steps.commit.outcome == 'success' }} 42 | uses: ad-m/github-push-action@master 43 | with: 44 | github_token: ${{ secrets.GITHUB_TOKEN }} 45 | branch: ${{ github.ref }} 46 | tags: true 47 | 48 | - name: Create Release 49 | if: ${{ steps.commit.outcome == 'success' }} 50 | uses: actions/create-release@v1 51 | env: 52 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 53 | with: 54 | tag_name: v${{ steps.version.outputs.version }} 55 | release_name: Release ${{ steps.version.outputs.version }} 56 | body_path: ./dist/CHANGELOG.md 57 | 58 | - name: Publish package 59 | env: 60 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 61 | if: ${{ steps.commit.outcome == 'success' && env.NPM_TOKEN != '' }} 62 | run: | 63 | pnpm config set //registry.npmjs.org/:_authToken ${{ secrets.NPM_TOKEN }} 64 | node -e "import('@gkd-kit/tools').then((m) => m.updatePkgVersion());" 65 | pnpm publish --no-git-checks 66 | node -e "import('@gkd-kit/tools').then((m) => m.syncNpmmirror());" 67 | -------------------------------------------------------------------------------- /.github/workflows/check_fix_push.yml: -------------------------------------------------------------------------------- 1 | name: check_fix_push 2 | 3 | on: 4 | push: 5 | branches: 6 | - '**' 7 | 8 | permissions: write-all 9 | 10 | jobs: 11 | check: 12 | runs-on: ubuntu-latest 13 | if: | 14 | ${{ github.event.head_commit.message!='chore(actions): check_format_lint' }} 15 | steps: 16 | - uses: actions/checkout@v4 17 | 18 | - uses: actions/setup-node@v4 19 | with: 20 | node-version: 22 21 | 22 | - uses: pnpm/action-setup@v4 23 | 24 | - run: pnpm install 25 | 26 | - run: pnpm run check 27 | 28 | - run: pnpm run format 29 | 30 | - run: pnpm run lint 31 | 32 | - name: Git commit 33 | id: commit 34 | run: | 35 | git config --local user.email github-actions[bot]@users.noreply.github.com 36 | git config --local user.name github-actions[bot] 37 | git status --porcelain 38 | git --no-pager diff 39 | git commit -a -m "chore(actions): check_format_lint" 40 | continue-on-error: true 41 | 42 | - name: Git push 43 | uses: ad-m/github-push-action@master 44 | if: ${{ steps.commit.outcome == 'success' }} 45 | with: 46 | branch: ${{ github.ref }} 47 | -------------------------------------------------------------------------------- /.github/workflows/pull_request_check.yml: -------------------------------------------------------------------------------- 1 | name: pull_request_check 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | check: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v4 13 | 14 | - name: Get changed files 15 | id: changed_files 16 | uses: tj-actions/changed-files@v44 17 | with: 18 | files: | 19 | src/apps/*.ts 20 | src/categories.ts 21 | src/globalGroups.ts 22 | src/subscription.ts 23 | 24 | - name: Check changed files 25 | run: | 26 | for file in ${{ steps.changed_files.outputs.all_changed_files }}; do 27 | echo "$file was changed" 28 | done 29 | if [ ${{ steps.changed_files.outputs.all_changed_files_count }} -gt 1 ]; then 30 | echo "your src subscription changed files count must <= 1" 31 | exit 1 32 | fi 33 | 34 | - uses: actions/setup-node@v4 35 | with: 36 | node-version: 22 37 | 38 | - uses: pnpm/action-setup@v4 39 | 40 | - run: pnpm install 41 | 42 | - run: pnpm run check 43 | 44 | - run: pnpm run format 45 | 46 | - run: pnpm run lint 47 | 48 | - name: check format status 49 | run: | 50 | status=$(git status --porcelain) 51 | if [ -n "$status" ]; then 52 | echo "Something wasn’t formatted properly" 53 | git --no-pager diff 54 | exit 1 55 | fi 56 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | logs 2 | *.log 3 | npm-debug.log* 4 | yarn-debug.log* 5 | yarn-error.log* 6 | pnpm-debug.log* 7 | lerna-debug.log* 8 | 9 | .env 10 | .vscode 11 | .eslintcache 12 | 13 | .idea 14 | .DS_Store 15 | *.suo 16 | *.ntvs* 17 | *.njsproj 18 | *.sln 19 | *.sw? 20 | 21 | node_modules 22 | package-lock.json 23 | yarn.lock 24 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | package-manager-strict=false 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | pnpm-lock.yaml 2 | pnpm-workspace.yaml 3 | LICENCE 4 | 5 | dist 6 | 7 | README.md 8 | CHANGELOG.md 9 | -------------------------------------------------------------------------------- /.prettierrc.mjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | /** 3 | * @type {import('prettier').Config} 4 | */ 5 | export default { 6 | tabWidth: 2, 7 | singleQuote: true, 8 | trailingComma: 'all', 9 | }; 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # subscription-template 2 | 3 | GKD 订阅模板, 此仓库方便您直接构建自己订阅, 点击右上角 [Use this template](https://github.com/new?template_name=subscription-template&template_owner=gkd-kit) 即可使用 4 | 5 | ## 配置环境 6 | 7 | 请安装最新版 nodejs 和 pnpm 运行, 以及使用 vscode 打开项目 8 | 9 | > [!IMPORTANT] 10 | > 选择器需要使用 nodejs@22 的 WasmGc 来校验 Java/Kotlin 正则表达式, 确保使用 nodejs>=22 11 | 12 | - nodejs>=**22** 13 | - pnpm>=9 14 | - vscode 15 | 16 | 安装好后使用模板, 假设您刚刚使用 `Use this template` 创建的仓库是 `https://github.com/username/subscription` 17 | 18 | 接下来下载并初始化环境 19 | 20 | ```shell 21 | git clone https://github.com/username/subscription 22 | cd subscription 23 | pnpm install 24 | ``` 25 | 26 | 如果因为网络问题安装失败, 将上面的 `pnpm install` 换成下面命令使用 阿里镜像源 重新安装即可 27 | 28 | ```sh 29 | pnpm install --registry=https://registry.npmmirror.com 30 | ``` 31 | 32 | ![image](https://github.com/gkd-kit/gkd/assets/38517192/64f9da9d-8c6b-4a57-8fe8-ef13ef91346a) 33 | 34 | 至此环境已在 `subscription` 目录下初始化完毕, 使用 vscode 打开目录即可开始开发 35 | 36 | 接下来下面所有的示例链接都基于 `username/subscription`, 请自行替换后打开 37 | 38 | `pnpm install` 用于安装依赖, 如果您的 [./package.json](./package.json) 发生变化, 则需要再次运行 `pnpm install` 39 | 40 | --- 41 | 42 | 如果您无法初始化 nodejs 环境, 那可以直接使用 github 网页编辑文件后在线提交, 点击下面链接即可在线编辑 43 | 44 | 45 | 46 | ![image](https://github.com/gkd-kit/gkd/assets/38517192/6a724cd9-b2cd-429d-bf2e-87f2c8b3d566) 47 | 48 | ## 目录结构 49 | 50 | - 订阅详情 [./src/subscription.ts](./src/subscription.ts) 51 | - 全局规则 [./src/globalGroups.ts](./src/globalGroups.ts) 52 | - 规则分类 [./src/categories.ts](./src/categories.ts) 53 | - 应用规则 [./src/apps](./src/apps/) 54 | 55 | 在 vscode 内使用鼠标悬浮在任意字段上即可查看注释说明, 也可在 搜索查看 56 | 57 | ![image](https://github.com/gkd-kit/gkd/assets/38517192/35400b43-0d79-4a67-bd4c-6915613488db) 58 | 59 | 现在您可编辑 [./src](./src/) 下的文件来自定义您的订阅, 构建后的订阅文件处于 [./dist](./dist/) 目录下 60 | 61 | 另外您必须修改 订阅详情 [./src/subscription.ts](./src/subscription.ts) 下的 id 字段, 否则可能会和其它订阅冲突, 填一个较大的随机数字即可 62 | 63 | ## 格式修复 64 | 65 | 我们使用 [prettier](https://github.com/prettier/prettier) 来格式化代码 和 [eslint](https://github.com/eslint/eslint) 来检测并修复代码错误 66 | 67 | 同时使用 [simple-git-hooks](https://github.com/toplenboren/simple-git-hooks) 在您提交代码时运行格式化和代码检测修复脚本 68 | 69 | 当您的代码存在错误时, 它会阻止您提交代码并输出具体错误以供您手动修复后再次提交 70 | 71 | 当提交代码到仓库时, 我们也需要使用 github actions 来帮助自动格式化并修复代码, 因此您需要开启仓库的此项权限 72 | 73 | 打开 74 | 75 | 然后找到 Workflow permissions 点击 Read and write permissions 然后点击下方的 Save 即可 76 | 77 | ![image](https://github.com/gkd-kit/gkd/assets/38517192/e3bbefe3-7745-42c7-adc8-3cfe2757c9cf) 78 | 79 | ## 构建订阅 80 | 81 | 我们需要将 [./src](./src/) 分散的文件合并为一个 gkd.json5 的最终订阅文件并输出到 [./dist](./dist/) 目录下 82 | 83 | 推荐使用 github actions 进行构建, 在 [./.github/workflows](./.github/workflows) 下有 3 个工作流 84 | 85 | 我们使用其中的 `build_release.yml` 构建并发布 86 | 87 | 打开 88 | 89 | 然后点击右侧的 `Run workflow` 即可运行并发布 90 | 91 | ![image](https://github.com/gkd-kit/gkd/assets/38517192/bbaf5113-8ab3-4be0-9a79-ee7a7389a58c) 92 | 93 | 构建后订阅将输出到 dist 目录下, gkd.json 的文件订阅地址如下, 复制后到 GKD 添加即可 94 | 95 | ```txt 96 | https://raw.githubusercontent.com/username/subscription/main/dist/gkd.json5 97 | ``` 98 | 99 | ## 镜像加速 100 | 101 | raw.githubusercontent.com 在大陆的访问常常无法访问 102 | 103 | 您可以换成 加速访问 104 | 105 | 如果无法访问 raw.githubusercontent.com 和 fastly.jsdelivr.net 106 | 107 | 您可以将本仓库发布到 npm 上, 然后通过 registry.npmmirror.com 加速访问 108 | 109 | 要发布到 npm 上, 必须先将 [./package.json](./package.json) 的 name 字段改成未使用的包名, 否则发布失败 110 | 111 | 您可以改成 `gkd-subscription-xxxx` 其中 `xxxx` 是订阅的 id 或者随机字母数字, 总之不冲突就行 112 | 113 | 或者改成 `@your_npm_name/subscription`, 这种类型是 scope 名称, 其中 `your_npm_name` 是你下面要注册的 npm 用户名 114 | 115 | ![image](https://github.com/gkd-kit/gkd/assets/38517192/79817967-6f97-4935-9bf3-179bbf50b3aa) 116 | 117 | 接下来获取 token, 你需要先注册 , 然后到 Access Tokens 界面点击 Generate New Token 选择 Classic Token 后随便输入 Name 选择 Publish 即可生成并复制 118 | 119 | ![image](https://github.com/gkd-kit/gkd/assets/38517192/ca5eaf26-3705-4dc7-9584-4a235bbefde2) 120 | 121 | ![image](https://github.com/gkd-kit/gkd/assets/38517192/6da188ab-e415-44de-b2f7-3f985ab4d401) 122 | 123 | ![image](https://github.com/gkd-kit/gkd/assets/38517192/55db57f6-1021-4d85-afd0-fe7df1f9bbcf) 124 | 125 | 复制后打开 126 | 127 | 在 Name 输入 `NPM_TOKEN`, 在 Secret 输入刚刚复制的 token, 点击 Add secret 即可添加成功 128 | 129 | ![image](https://github.com/gkd-kit/gkd/assets/38517192/72b062d8-4540-4602-82fe-416ea5348014) 130 | 131 | 然后只需要重复上面的 构建订阅 步骤即可发布, 发布后得到的镜像加速链接如下 132 | 133 | ```txt 134 | https://registry.npmmirror.com/gkd-subscription-xxxx/latest/files/dist/gkd.json5 135 | ``` 136 | 137 | 注: 将 gkd-subscription-xxxx 换成您的包名 138 | 139 | 如果你的包名是 `@your_npm_name/subscription` 这种类型, 加速链接是 140 | 141 | ```txt 142 | https://registry.npmmirror.com/@your_npm_name/subscription/latest/files/dist/gkd.json5 143 | ``` 144 | 145 | 由于 npmmirror 被恶意刷流量后已经改为白名单模式, 不在白名单内的包, 上面的链接无法正常加速访问 146 | 147 | 因此要使上面的链接被正常访问, 你需要向 提交 pr 将你的包添加到白名单 148 | 149 | ## 自定义配置文件 150 | 151 | 注意: **大多数情况下, 你不需要自定义, 使用默认配置时, 下面此节教程无需了解** 152 | 153 | 你可以在 [./package.json](./package.json) 下添加 gkd 属性配置自定义构建选项 154 | 155 | ```json 156 | { 157 | "gkd": { 158 | "outDir": "dist", 159 | "file": "gkd.json5", 160 | "versionFile": "gkd.version.json5", 161 | "changelog": "CHANGELOG.md", 162 | "README.md": "README.md" 163 | } 164 | } 165 | ``` 166 | 167 | 这个 gkd 属性的类型如下 168 | 169 | ```ts 170 | /** 171 | * @default package.json.gkd 172 | */ 173 | type GkdConfig = { 174 | /** 175 | * @default 'dist' 176 | */ 177 | outDir?: string; 178 | /** 179 | * @default 'gkd.json5' 180 | */ 181 | file?: string; 182 | /** 183 | * @default 'gkd.version.json5' 184 | */ 185 | versionFile?: string; 186 | /** 187 | * @default 'CHANGELOG.md' 188 | */ 189 | changelog?: string; 190 | /** 191 | * @default 'README.md' 192 | */ 193 | readme?: string; 194 | }; 195 | ``` 196 | 197 | 如果不想写配置文件, 也可以将这个参数直接传递给 `@gkd-kit/tools` 的 `updateDist` 函数 198 | 199 | 手动传递参数的时候, 你必须显式将路径(非文件名)参数传递给 [./.github/workflows/build_release.yml](./.github/workflows/build_release.yml) 下的 `updatePkgVersion` 和 `stdoutGkdVersion` 函数 200 | -------------------------------------------------------------------------------- /dist/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 变更记录 2 | 3 | v0 4 | 5 | |||||| 6 | |-|:-:|:-:|:-:|:-:| 7 | |应用|+3|||0 -> 3| 8 | 9 | ## 应用规则 10 | 11 | ||+|~|-| 12 | |:-:|-|-|-| 13 | |GKD
+0|||| 14 | |QQ
+0|||| 15 | |微信
+0|||| 16 | -------------------------------------------------------------------------------- /dist/README.md: -------------------------------------------------------------------------------- 1 | # 订阅 2 | 3 | v0 4 | 5 | ||| 6 | | - |:-:| 7 | |类别|0| 8 | |全局规则|0| 9 | |应用|3| 10 | |应用规则|0| 11 | 12 | ## 规则类别 13 | 14 | ||| 15 | | - |:-:| 16 | 17 | 18 | ## 全局规则 19 | 20 | 21 | 22 | ## 应用规则 23 | 24 | |||| 25 | | - |:-:|-| 26 | |GKD|0|| 27 | |QQ|0|| 28 | |微信|0|| 29 | -------------------------------------------------------------------------------- /dist/gkd.json5: -------------------------------------------------------------------------------- 1 | {id:233,name:'Subscription',version:0,author:'author',checkUpdateUrl:'./gkd.version.json5',supportUri:'https://github.com/gkd-kit/subscription-template',categories:[],globalGroups:[],apps:[{id:'li.songe.gkd',name:'GKD',groups:[]},{id:'com.tencent.mobileqq',name:'QQ',groups:[]},{id:'com.tencent.mm',name:'微信',groups:[]}]} -------------------------------------------------------------------------------- /dist/gkd.version.json5: -------------------------------------------------------------------------------- 1 | {id:233,version:0} -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | import eslint from '@eslint/js'; 3 | import tsEslint from 'typescript-eslint'; 4 | import unusedImports from 'eslint-plugin-unused-imports'; 5 | import eslintConfigPrettier from 'eslint-config-prettier'; 6 | 7 | export default tsEslint.config( 8 | eslint.configs.recommended, 9 | ...tsEslint.configs.recommended, 10 | eslintConfigPrettier, 11 | { 12 | plugins: { 13 | 'unused-imports': unusedImports, 14 | }, 15 | }, 16 | { 17 | rules: { 18 | quotes: ['error', 'single', { allowTemplateLiterals: false }], 19 | 'no-unused-vars': 'off', 20 | '@typescript-eslint/no-unused-vars': 'off', 21 | 'unused-imports/no-unused-imports': 'error', 22 | 'unused-imports/no-unused-vars': 'error', 23 | }, 24 | }, 25 | ); 26 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@gkd-kit/subscription-template", 3 | "version": "0.0.0", 4 | "type": "module", 5 | "scripts": { 6 | "postinstall": "simple-git-hooks", 7 | "format": "prettier --cache --write ./**/*.{js,cjs,mjs,ts,jsx,tsx,json}", 8 | "lint": "eslint --cache --fix ./**/*.{js,cjs,mjs,ts,jsx,tsx}", 9 | "check": "tsc --noEmit && tsx ./scripts/check.ts", 10 | "build": "tsc --noEmit && tsx ./scripts/build.ts" 11 | }, 12 | "simple-git-hooks": { 13 | "pre-commit": "pnpm exec lint-staged", 14 | "pre-push": "pnpm run check" 15 | }, 16 | "lint-staged": { 17 | "*.{js,cjs,mjs,ts,jsx,tsx}": [ 18 | "eslint --cache --fix", 19 | "prettier --cache --write" 20 | ], 21 | "*.json": [ 22 | "prettier --cache --write" 23 | ] 24 | }, 25 | "publishConfig": { 26 | "access": "public", 27 | "registry": "https://registry.npmjs.org/" 28 | }, 29 | "files": [ 30 | "./dist" 31 | ], 32 | "dependencies": { 33 | "@eslint/js": "9.27.0", 34 | "@gkd-kit/api": "0.7.2", 35 | "@gkd-kit/define": "0.0.1", 36 | "@gkd-kit/tools": "0.6.0", 37 | "@types/node": "22.15.18", 38 | "eslint": "9.27.0", 39 | "eslint-config-prettier": "10.1.5", 40 | "eslint-plugin-unused-imports": "4.1.4", 41 | "json5": "2.2.3", 42 | "lint-staged": "16.0.0", 43 | "prettier": "3.5.3", 44 | "simple-git-hooks": "2.13.0", 45 | "tsx": "4.19.4", 46 | "typescript": "5.8.3", 47 | "typescript-eslint": "8.32.1" 48 | }, 49 | "volta": { 50 | "node": "22.15.1", 51 | "pnpm": "10.11.0" 52 | }, 53 | "packageManager": "pnpm@10.11.0", 54 | "engines": { 55 | "node": ">=22" 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@eslint/js': 12 | specifier: 9.27.0 13 | version: 9.27.0 14 | '@gkd-kit/api': 15 | specifier: 0.7.2 16 | version: 0.7.2 17 | '@gkd-kit/define': 18 | specifier: 0.0.1 19 | version: 0.0.1(@gkd-kit/api@0.7.2) 20 | '@gkd-kit/tools': 21 | specifier: 0.6.0 22 | version: 0.6.0(@gkd-kit/api@0.7.2)(json5@2.2.3) 23 | '@types/node': 24 | specifier: 22.15.18 25 | version: 22.15.18 26 | eslint: 27 | specifier: 9.27.0 28 | version: 9.27.0(jiti@1.21.0) 29 | eslint-config-prettier: 30 | specifier: 10.1.5 31 | version: 10.1.5(eslint@9.27.0(jiti@1.21.0)) 32 | eslint-plugin-unused-imports: 33 | specifier: 4.1.4 34 | version: 4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3))(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3))(eslint@9.27.0(jiti@1.21.0)) 35 | json5: 36 | specifier: 2.2.3 37 | version: 2.2.3 38 | lint-staged: 39 | specifier: 16.0.0 40 | version: 16.0.0 41 | prettier: 42 | specifier: 3.5.3 43 | version: 3.5.3 44 | simple-git-hooks: 45 | specifier: 2.13.0 46 | version: 2.13.0 47 | tsx: 48 | specifier: 4.19.4 49 | version: 4.19.4 50 | typescript: 51 | specifier: 5.8.3 52 | version: 5.8.3 53 | typescript-eslint: 54 | specifier: 8.32.1 55 | version: 8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3) 56 | 57 | packages: 58 | 59 | '@esbuild/aix-ppc64@0.25.2': 60 | resolution: {integrity: sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==} 61 | engines: {node: '>=18'} 62 | cpu: [ppc64] 63 | os: [aix] 64 | 65 | '@esbuild/android-arm64@0.25.2': 66 | resolution: {integrity: sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==} 67 | engines: {node: '>=18'} 68 | cpu: [arm64] 69 | os: [android] 70 | 71 | '@esbuild/android-arm@0.25.2': 72 | resolution: {integrity: sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==} 73 | engines: {node: '>=18'} 74 | cpu: [arm] 75 | os: [android] 76 | 77 | '@esbuild/android-x64@0.25.2': 78 | resolution: {integrity: sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==} 79 | engines: {node: '>=18'} 80 | cpu: [x64] 81 | os: [android] 82 | 83 | '@esbuild/darwin-arm64@0.25.2': 84 | resolution: {integrity: sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==} 85 | engines: {node: '>=18'} 86 | cpu: [arm64] 87 | os: [darwin] 88 | 89 | '@esbuild/darwin-x64@0.25.2': 90 | resolution: {integrity: sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==} 91 | engines: {node: '>=18'} 92 | cpu: [x64] 93 | os: [darwin] 94 | 95 | '@esbuild/freebsd-arm64@0.25.2': 96 | resolution: {integrity: sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==} 97 | engines: {node: '>=18'} 98 | cpu: [arm64] 99 | os: [freebsd] 100 | 101 | '@esbuild/freebsd-x64@0.25.2': 102 | resolution: {integrity: sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==} 103 | engines: {node: '>=18'} 104 | cpu: [x64] 105 | os: [freebsd] 106 | 107 | '@esbuild/linux-arm64@0.25.2': 108 | resolution: {integrity: sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==} 109 | engines: {node: '>=18'} 110 | cpu: [arm64] 111 | os: [linux] 112 | 113 | '@esbuild/linux-arm@0.25.2': 114 | resolution: {integrity: sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==} 115 | engines: {node: '>=18'} 116 | cpu: [arm] 117 | os: [linux] 118 | 119 | '@esbuild/linux-ia32@0.25.2': 120 | resolution: {integrity: sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==} 121 | engines: {node: '>=18'} 122 | cpu: [ia32] 123 | os: [linux] 124 | 125 | '@esbuild/linux-loong64@0.25.2': 126 | resolution: {integrity: sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==} 127 | engines: {node: '>=18'} 128 | cpu: [loong64] 129 | os: [linux] 130 | 131 | '@esbuild/linux-mips64el@0.25.2': 132 | resolution: {integrity: sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==} 133 | engines: {node: '>=18'} 134 | cpu: [mips64el] 135 | os: [linux] 136 | 137 | '@esbuild/linux-ppc64@0.25.2': 138 | resolution: {integrity: sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==} 139 | engines: {node: '>=18'} 140 | cpu: [ppc64] 141 | os: [linux] 142 | 143 | '@esbuild/linux-riscv64@0.25.2': 144 | resolution: {integrity: sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==} 145 | engines: {node: '>=18'} 146 | cpu: [riscv64] 147 | os: [linux] 148 | 149 | '@esbuild/linux-s390x@0.25.2': 150 | resolution: {integrity: sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==} 151 | engines: {node: '>=18'} 152 | cpu: [s390x] 153 | os: [linux] 154 | 155 | '@esbuild/linux-x64@0.25.2': 156 | resolution: {integrity: sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==} 157 | engines: {node: '>=18'} 158 | cpu: [x64] 159 | os: [linux] 160 | 161 | '@esbuild/netbsd-arm64@0.25.2': 162 | resolution: {integrity: sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==} 163 | engines: {node: '>=18'} 164 | cpu: [arm64] 165 | os: [netbsd] 166 | 167 | '@esbuild/netbsd-x64@0.25.2': 168 | resolution: {integrity: sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==} 169 | engines: {node: '>=18'} 170 | cpu: [x64] 171 | os: [netbsd] 172 | 173 | '@esbuild/openbsd-arm64@0.25.2': 174 | resolution: {integrity: sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==} 175 | engines: {node: '>=18'} 176 | cpu: [arm64] 177 | os: [openbsd] 178 | 179 | '@esbuild/openbsd-x64@0.25.2': 180 | resolution: {integrity: sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==} 181 | engines: {node: '>=18'} 182 | cpu: [x64] 183 | os: [openbsd] 184 | 185 | '@esbuild/sunos-x64@0.25.2': 186 | resolution: {integrity: sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==} 187 | engines: {node: '>=18'} 188 | cpu: [x64] 189 | os: [sunos] 190 | 191 | '@esbuild/win32-arm64@0.25.2': 192 | resolution: {integrity: sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==} 193 | engines: {node: '>=18'} 194 | cpu: [arm64] 195 | os: [win32] 196 | 197 | '@esbuild/win32-ia32@0.25.2': 198 | resolution: {integrity: sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==} 199 | engines: {node: '>=18'} 200 | cpu: [ia32] 201 | os: [win32] 202 | 203 | '@esbuild/win32-x64@0.25.2': 204 | resolution: {integrity: sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==} 205 | engines: {node: '>=18'} 206 | cpu: [x64] 207 | os: [win32] 208 | 209 | '@eslint-community/eslint-utils@4.4.0': 210 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 211 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 212 | peerDependencies: 213 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 214 | 215 | '@eslint-community/eslint-utils@4.7.0': 216 | resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} 217 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 218 | peerDependencies: 219 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 220 | 221 | '@eslint-community/regexpp@4.12.1': 222 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 223 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 224 | 225 | '@eslint/config-array@0.20.0': 226 | resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} 227 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 228 | 229 | '@eslint/config-helpers@0.2.1': 230 | resolution: {integrity: sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==} 231 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 232 | 233 | '@eslint/core@0.14.0': 234 | resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} 235 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 236 | 237 | '@eslint/eslintrc@3.3.1': 238 | resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} 239 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 240 | 241 | '@eslint/js@9.27.0': 242 | resolution: {integrity: sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==} 243 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 244 | 245 | '@eslint/object-schema@2.1.6': 246 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} 247 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 248 | 249 | '@eslint/plugin-kit@0.3.1': 250 | resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==} 251 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 252 | 253 | '@gkd-kit/api@0.7.2': 254 | resolution: {integrity: sha512-bpMVMVfBvs2lHH/5khpBr79ULSHreRCpL488CQbhaWziJ3WzWI4AYaLn/Jw+ETukhvv5y9Y+PxdJzoct8BAAcQ==} 255 | 256 | '@gkd-kit/define@0.0.1': 257 | resolution: {integrity: sha512-ql/f0TIlBQOSaJS6e9c8B4rLHYWyCzDctP0vRpc6aYaWGJXnZKZIbuTUr2ET45eNzD4dviCjTU6cSv/wcA07IQ==} 258 | peerDependencies: 259 | '@gkd-kit/api': '*' 260 | 261 | '@gkd-kit/selector@0.5.4': 262 | resolution: {integrity: sha512-lEm9A67nqNC3/fPvWS4t+YoqXb4TFB3P9AevDdNP7RyIJTXs8piSqr0Wc/Tqwgy+VNNpZmkUygu0LNbWSMbtSg==} 263 | 264 | '@gkd-kit/tools@0.6.0': 265 | resolution: {integrity: sha512-A+q/+X+Z55JeM/9IW84Zrt5I24uZzGxSn1VPwnCvhmCWDyV0XGljc7yK5wNmrUypTrLDgNvwiYXoEB+xZpJcqw==} 266 | peerDependencies: 267 | '@gkd-kit/api': '*' 268 | json5: '*' 269 | 270 | '@gkd-kit/wasm_matches@0.0.1': 271 | resolution: {integrity: sha512-PUYa98MXyumiIVuYHozbYThhPnYwrdvEwyL+tBmneonIq1Vm2CmeUfk3FbJXxaMQE2/3JBa7utfk0HAu/03xDQ==} 272 | 273 | '@humanfs/core@0.19.1': 274 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 275 | engines: {node: '>=18.18.0'} 276 | 277 | '@humanfs/node@0.16.6': 278 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} 279 | engines: {node: '>=18.18.0'} 280 | 281 | '@humanwhocodes/module-importer@1.0.1': 282 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 283 | engines: {node: '>=12.22'} 284 | 285 | '@humanwhocodes/retry@0.3.1': 286 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 287 | engines: {node: '>=18.18'} 288 | 289 | '@humanwhocodes/retry@0.4.2': 290 | resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} 291 | engines: {node: '>=18.18'} 292 | 293 | '@nodelib/fs.scandir@2.1.5': 294 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 295 | engines: {node: '>= 8'} 296 | 297 | '@nodelib/fs.stat@2.0.5': 298 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 299 | engines: {node: '>= 8'} 300 | 301 | '@nodelib/fs.walk@1.2.8': 302 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 303 | engines: {node: '>= 8'} 304 | 305 | '@types/estree@1.0.6': 306 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 307 | 308 | '@types/json-schema@7.0.15': 309 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 310 | 311 | '@types/node@22.15.18': 312 | resolution: {integrity: sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==} 313 | 314 | '@typescript-eslint/eslint-plugin@8.32.1': 315 | resolution: {integrity: sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==} 316 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 317 | peerDependencies: 318 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 319 | eslint: ^8.57.0 || ^9.0.0 320 | typescript: '>=4.8.4 <5.9.0' 321 | 322 | '@typescript-eslint/parser@8.32.1': 323 | resolution: {integrity: sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg==} 324 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 325 | peerDependencies: 326 | eslint: ^8.57.0 || ^9.0.0 327 | typescript: '>=4.8.4 <5.9.0' 328 | 329 | '@typescript-eslint/scope-manager@8.32.1': 330 | resolution: {integrity: sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA==} 331 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 332 | 333 | '@typescript-eslint/type-utils@8.32.1': 334 | resolution: {integrity: sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA==} 335 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 336 | peerDependencies: 337 | eslint: ^8.57.0 || ^9.0.0 338 | typescript: '>=4.8.4 <5.9.0' 339 | 340 | '@typescript-eslint/types@8.32.1': 341 | resolution: {integrity: sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg==} 342 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 343 | 344 | '@typescript-eslint/typescript-estree@8.32.1': 345 | resolution: {integrity: sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg==} 346 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 347 | peerDependencies: 348 | typescript: '>=4.8.4 <5.9.0' 349 | 350 | '@typescript-eslint/utils@8.32.1': 351 | resolution: {integrity: sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA==} 352 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 353 | peerDependencies: 354 | eslint: ^8.57.0 || ^9.0.0 355 | typescript: '>=4.8.4 <5.9.0' 356 | 357 | '@typescript-eslint/visitor-keys@8.32.1': 358 | resolution: {integrity: sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==} 359 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 360 | 361 | acorn-jsx@5.3.2: 362 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 363 | peerDependencies: 364 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 365 | 366 | acorn@8.14.0: 367 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} 368 | engines: {node: '>=0.4.0'} 369 | hasBin: true 370 | 371 | ajv@6.12.6: 372 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 373 | 374 | ansi-escapes@7.0.0: 375 | resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} 376 | engines: {node: '>=18'} 377 | 378 | ansi-regex@6.0.1: 379 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 380 | engines: {node: '>=12'} 381 | 382 | ansi-styles@4.3.0: 383 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 384 | engines: {node: '>=8'} 385 | 386 | ansi-styles@6.2.1: 387 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 388 | engines: {node: '>=12'} 389 | 390 | argparse@2.0.1: 391 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 392 | 393 | balanced-match@1.0.2: 394 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 395 | 396 | brace-expansion@1.1.11: 397 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 398 | 399 | brace-expansion@2.0.1: 400 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 401 | 402 | braces@3.0.3: 403 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 404 | engines: {node: '>=8'} 405 | 406 | callsites@3.1.0: 407 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 408 | engines: {node: '>=6'} 409 | 410 | chalk@4.1.2: 411 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 412 | engines: {node: '>=10'} 413 | 414 | chalk@5.4.1: 415 | resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} 416 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 417 | 418 | cli-cursor@5.0.0: 419 | resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} 420 | engines: {node: '>=18'} 421 | 422 | cli-truncate@4.0.0: 423 | resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} 424 | engines: {node: '>=18'} 425 | 426 | color-convert@2.0.1: 427 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 428 | engines: {node: '>=7.0.0'} 429 | 430 | color-name@1.1.4: 431 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 432 | 433 | colorette@2.0.20: 434 | resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} 435 | 436 | commander@13.1.0: 437 | resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} 438 | engines: {node: '>=18'} 439 | 440 | concat-map@0.0.1: 441 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 442 | 443 | cross-spawn@7.0.6: 444 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 445 | engines: {node: '>= 8'} 446 | 447 | debug@4.4.0: 448 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 449 | engines: {node: '>=6.0'} 450 | peerDependencies: 451 | supports-color: '*' 452 | peerDependenciesMeta: 453 | supports-color: 454 | optional: true 455 | 456 | deep-is@0.1.4: 457 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 458 | 459 | emoji-regex@10.3.0: 460 | resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} 461 | 462 | environment@1.1.0: 463 | resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} 464 | engines: {node: '>=18'} 465 | 466 | esbuild@0.25.2: 467 | resolution: {integrity: sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==} 468 | engines: {node: '>=18'} 469 | hasBin: true 470 | 471 | escape-string-regexp@4.0.0: 472 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 473 | engines: {node: '>=10'} 474 | 475 | eslint-config-prettier@10.1.5: 476 | resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==} 477 | hasBin: true 478 | peerDependencies: 479 | eslint: '>=7.0.0' 480 | 481 | eslint-plugin-unused-imports@4.1.4: 482 | resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==} 483 | peerDependencies: 484 | '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 485 | eslint: ^9.0.0 || ^8.0.0 486 | peerDependenciesMeta: 487 | '@typescript-eslint/eslint-plugin': 488 | optional: true 489 | 490 | eslint-scope@8.3.0: 491 | resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} 492 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 493 | 494 | eslint-visitor-keys@3.4.3: 495 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 496 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 497 | 498 | eslint-visitor-keys@4.2.0: 499 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} 500 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 501 | 502 | eslint@9.27.0: 503 | resolution: {integrity: sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==} 504 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 505 | hasBin: true 506 | peerDependencies: 507 | jiti: '*' 508 | peerDependenciesMeta: 509 | jiti: 510 | optional: true 511 | 512 | espree@10.3.0: 513 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} 514 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 515 | 516 | esquery@1.5.0: 517 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 518 | engines: {node: '>=0.10'} 519 | 520 | esrecurse@4.3.0: 521 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 522 | engines: {node: '>=4.0'} 523 | 524 | estraverse@5.3.0: 525 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 526 | engines: {node: '>=4.0'} 527 | 528 | esutils@2.0.3: 529 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 530 | engines: {node: '>=0.10.0'} 531 | 532 | eventemitter3@5.0.1: 533 | resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} 534 | 535 | fast-deep-equal@3.1.3: 536 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 537 | 538 | fast-glob@3.3.2: 539 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 540 | engines: {node: '>=8.6.0'} 541 | 542 | fast-json-stable-stringify@2.1.0: 543 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 544 | 545 | fast-levenshtein@2.0.6: 546 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 547 | 548 | fastq@1.17.1: 549 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 550 | 551 | file-entry-cache@8.0.0: 552 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 553 | engines: {node: '>=16.0.0'} 554 | 555 | fill-range@7.1.1: 556 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 557 | engines: {node: '>=8'} 558 | 559 | find-up@5.0.0: 560 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 561 | engines: {node: '>=10'} 562 | 563 | flat-cache@4.0.1: 564 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 565 | engines: {node: '>=16'} 566 | 567 | flatted@3.3.1: 568 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} 569 | 570 | fsevents@2.3.3: 571 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 572 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 573 | os: [darwin] 574 | 575 | get-east-asian-width@1.2.0: 576 | resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} 577 | engines: {node: '>=18'} 578 | 579 | get-tsconfig@4.7.5: 580 | resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} 581 | 582 | glob-parent@5.1.2: 583 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 584 | engines: {node: '>= 6'} 585 | 586 | glob-parent@6.0.2: 587 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 588 | engines: {node: '>=10.13.0'} 589 | 590 | globals@14.0.0: 591 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 592 | engines: {node: '>=18'} 593 | 594 | graphemer@1.4.0: 595 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 596 | 597 | has-flag@4.0.0: 598 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 599 | engines: {node: '>=8'} 600 | 601 | ignore@5.3.1: 602 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} 603 | engines: {node: '>= 4'} 604 | 605 | ignore@7.0.4: 606 | resolution: {integrity: sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==} 607 | engines: {node: '>= 4'} 608 | 609 | import-fresh@3.3.0: 610 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 611 | engines: {node: '>=6'} 612 | 613 | imurmurhash@0.1.4: 614 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 615 | engines: {node: '>=0.8.19'} 616 | 617 | is-extglob@2.1.1: 618 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 619 | engines: {node: '>=0.10.0'} 620 | 621 | is-fullwidth-code-point@4.0.0: 622 | resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} 623 | engines: {node: '>=12'} 624 | 625 | is-fullwidth-code-point@5.0.0: 626 | resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} 627 | engines: {node: '>=18'} 628 | 629 | is-glob@4.0.3: 630 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 631 | engines: {node: '>=0.10.0'} 632 | 633 | is-number@7.0.0: 634 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 635 | engines: {node: '>=0.12.0'} 636 | 637 | isexe@2.0.0: 638 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 639 | 640 | jiti@1.21.0: 641 | resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} 642 | hasBin: true 643 | 644 | js-yaml@4.1.0: 645 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 646 | hasBin: true 647 | 648 | json-buffer@3.0.1: 649 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 650 | 651 | json-schema-traverse@0.4.1: 652 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 653 | 654 | json-stable-stringify-without-jsonify@1.0.1: 655 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 656 | 657 | json5@2.2.3: 658 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 659 | engines: {node: '>=6'} 660 | hasBin: true 661 | 662 | keyv@4.5.4: 663 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 664 | 665 | levn@0.4.1: 666 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 667 | engines: {node: '>= 0.8.0'} 668 | 669 | lilconfig@3.1.3: 670 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 671 | engines: {node: '>=14'} 672 | 673 | lint-staged@16.0.0: 674 | resolution: {integrity: sha512-sUCprePs6/rbx4vKC60Hez6X10HPkpDJaGcy3D1NdwR7g1RcNkWL8q9mJMreOqmHBTs+1sNFp+wOiX9fr+hoOQ==} 675 | engines: {node: '>=20.18'} 676 | hasBin: true 677 | 678 | listr2@8.3.3: 679 | resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==} 680 | engines: {node: '>=18.0.0'} 681 | 682 | locate-path@6.0.0: 683 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 684 | engines: {node: '>=10'} 685 | 686 | lodash.merge@4.6.2: 687 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 688 | 689 | log-update@6.1.0: 690 | resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} 691 | engines: {node: '>=18'} 692 | 693 | merge2@1.4.1: 694 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 695 | engines: {node: '>= 8'} 696 | 697 | micromatch@4.0.8: 698 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 699 | engines: {node: '>=8.6'} 700 | 701 | mimic-function@5.0.1: 702 | resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} 703 | engines: {node: '>=18'} 704 | 705 | minimatch@3.1.2: 706 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 707 | 708 | minimatch@9.0.4: 709 | resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} 710 | engines: {node: '>=16 || 14 >=14.17'} 711 | 712 | ms@2.1.3: 713 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 714 | 715 | nano-spawn@1.0.1: 716 | resolution: {integrity: sha512-BfcvzBlUTxSDWfT+oH7vd6CbUV+rThLLHCIym/QO6GGLBsyVXleZs00fto2i2jzC/wPiBYk5jyOmpXWg4YopiA==} 717 | engines: {node: '>=20.18'} 718 | 719 | natural-compare@1.4.0: 720 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 721 | 722 | onetime@7.0.0: 723 | resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} 724 | engines: {node: '>=18'} 725 | 726 | optionator@0.9.4: 727 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 728 | engines: {node: '>= 0.8.0'} 729 | 730 | p-limit@3.1.0: 731 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 732 | engines: {node: '>=10'} 733 | 734 | p-locate@5.0.0: 735 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 736 | engines: {node: '>=10'} 737 | 738 | parent-module@1.0.1: 739 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 740 | engines: {node: '>=6'} 741 | 742 | path-exists@4.0.0: 743 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 744 | engines: {node: '>=8'} 745 | 746 | path-key@3.1.1: 747 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 748 | engines: {node: '>=8'} 749 | 750 | picomatch@2.3.1: 751 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 752 | engines: {node: '>=8.6'} 753 | 754 | pidtree@0.6.0: 755 | resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} 756 | engines: {node: '>=0.10'} 757 | hasBin: true 758 | 759 | prelude-ls@1.2.1: 760 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 761 | engines: {node: '>= 0.8.0'} 762 | 763 | prettier@3.5.3: 764 | resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} 765 | engines: {node: '>=14'} 766 | hasBin: true 767 | 768 | punycode@2.3.1: 769 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 770 | engines: {node: '>=6'} 771 | 772 | queue-microtask@1.2.3: 773 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 774 | 775 | resolve-from@4.0.0: 776 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 777 | engines: {node: '>=4'} 778 | 779 | resolve-pkg-maps@1.0.0: 780 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 781 | 782 | restore-cursor@5.1.0: 783 | resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} 784 | engines: {node: '>=18'} 785 | 786 | reusify@1.0.4: 787 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 788 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 789 | 790 | rfdc@1.4.1: 791 | resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} 792 | 793 | run-parallel@1.2.0: 794 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 795 | 796 | semver@7.6.2: 797 | resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} 798 | engines: {node: '>=10'} 799 | hasBin: true 800 | 801 | shebang-command@2.0.0: 802 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 803 | engines: {node: '>=8'} 804 | 805 | shebang-regex@3.0.0: 806 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 807 | engines: {node: '>=8'} 808 | 809 | signal-exit@4.1.0: 810 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 811 | engines: {node: '>=14'} 812 | 813 | simple-git-hooks@2.13.0: 814 | resolution: {integrity: sha512-N+goiLxlkHJlyaYEglFypzVNMaNplPAk5syu0+OPp/Bk6dwVoXF6FfOw2vO0Dp+JHsBaI+w6cm8TnFl2Hw6tDA==} 815 | hasBin: true 816 | 817 | slice-ansi@5.0.0: 818 | resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} 819 | engines: {node: '>=12'} 820 | 821 | slice-ansi@7.1.0: 822 | resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} 823 | engines: {node: '>=18'} 824 | 825 | string-argv@0.3.2: 826 | resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} 827 | engines: {node: '>=0.6.19'} 828 | 829 | string-width@7.1.0: 830 | resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} 831 | engines: {node: '>=18'} 832 | 833 | strip-ansi@7.1.0: 834 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 835 | engines: {node: '>=12'} 836 | 837 | strip-json-comments@3.1.1: 838 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 839 | engines: {node: '>=8'} 840 | 841 | supports-color@7.2.0: 842 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 843 | engines: {node: '>=8'} 844 | 845 | to-regex-range@5.0.1: 846 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 847 | engines: {node: '>=8.0'} 848 | 849 | ts-api-utils@2.1.0: 850 | resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} 851 | engines: {node: '>=18.12'} 852 | peerDependencies: 853 | typescript: '>=4.8.4' 854 | 855 | tsx@4.19.4: 856 | resolution: {integrity: sha512-gK5GVzDkJK1SI1zwHf32Mqxf2tSJkNx+eYcNly5+nHvWqXUJYUkWBQtKauoESz3ymezAI++ZwT855x5p5eop+Q==} 857 | engines: {node: '>=18.0.0'} 858 | hasBin: true 859 | 860 | type-check@0.4.0: 861 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 862 | engines: {node: '>= 0.8.0'} 863 | 864 | typescript-eslint@8.32.1: 865 | resolution: {integrity: sha512-D7el+eaDHAmXvrZBy1zpzSNIRqnCOrkwTgZxTu3MUqRWk8k0q9m9Ho4+vPf7iHtgUfrK/o8IZaEApsxPlHTFCg==} 866 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 867 | peerDependencies: 868 | eslint: ^8.57.0 || ^9.0.0 869 | typescript: '>=4.8.4 <5.9.0' 870 | 871 | typescript@5.8.3: 872 | resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} 873 | engines: {node: '>=14.17'} 874 | hasBin: true 875 | 876 | undici-types@6.21.0: 877 | resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 878 | 879 | uri-js@4.4.1: 880 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 881 | 882 | which@2.0.2: 883 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 884 | engines: {node: '>= 8'} 885 | hasBin: true 886 | 887 | word-wrap@1.2.5: 888 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 889 | engines: {node: '>=0.10.0'} 890 | 891 | wrap-ansi@9.0.0: 892 | resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} 893 | engines: {node: '>=18'} 894 | 895 | yaml@2.8.0: 896 | resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} 897 | engines: {node: '>= 14.6'} 898 | hasBin: true 899 | 900 | yocto-queue@0.1.0: 901 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 902 | engines: {node: '>=10'} 903 | 904 | snapshots: 905 | 906 | '@esbuild/aix-ppc64@0.25.2': 907 | optional: true 908 | 909 | '@esbuild/android-arm64@0.25.2': 910 | optional: true 911 | 912 | '@esbuild/android-arm@0.25.2': 913 | optional: true 914 | 915 | '@esbuild/android-x64@0.25.2': 916 | optional: true 917 | 918 | '@esbuild/darwin-arm64@0.25.2': 919 | optional: true 920 | 921 | '@esbuild/darwin-x64@0.25.2': 922 | optional: true 923 | 924 | '@esbuild/freebsd-arm64@0.25.2': 925 | optional: true 926 | 927 | '@esbuild/freebsd-x64@0.25.2': 928 | optional: true 929 | 930 | '@esbuild/linux-arm64@0.25.2': 931 | optional: true 932 | 933 | '@esbuild/linux-arm@0.25.2': 934 | optional: true 935 | 936 | '@esbuild/linux-ia32@0.25.2': 937 | optional: true 938 | 939 | '@esbuild/linux-loong64@0.25.2': 940 | optional: true 941 | 942 | '@esbuild/linux-mips64el@0.25.2': 943 | optional: true 944 | 945 | '@esbuild/linux-ppc64@0.25.2': 946 | optional: true 947 | 948 | '@esbuild/linux-riscv64@0.25.2': 949 | optional: true 950 | 951 | '@esbuild/linux-s390x@0.25.2': 952 | optional: true 953 | 954 | '@esbuild/linux-x64@0.25.2': 955 | optional: true 956 | 957 | '@esbuild/netbsd-arm64@0.25.2': 958 | optional: true 959 | 960 | '@esbuild/netbsd-x64@0.25.2': 961 | optional: true 962 | 963 | '@esbuild/openbsd-arm64@0.25.2': 964 | optional: true 965 | 966 | '@esbuild/openbsd-x64@0.25.2': 967 | optional: true 968 | 969 | '@esbuild/sunos-x64@0.25.2': 970 | optional: true 971 | 972 | '@esbuild/win32-arm64@0.25.2': 973 | optional: true 974 | 975 | '@esbuild/win32-ia32@0.25.2': 976 | optional: true 977 | 978 | '@esbuild/win32-x64@0.25.2': 979 | optional: true 980 | 981 | '@eslint-community/eslint-utils@4.4.0(eslint@9.27.0(jiti@1.21.0))': 982 | dependencies: 983 | eslint: 9.27.0(jiti@1.21.0) 984 | eslint-visitor-keys: 3.4.3 985 | 986 | '@eslint-community/eslint-utils@4.7.0(eslint@9.27.0(jiti@1.21.0))': 987 | dependencies: 988 | eslint: 9.27.0(jiti@1.21.0) 989 | eslint-visitor-keys: 3.4.3 990 | 991 | '@eslint-community/regexpp@4.12.1': {} 992 | 993 | '@eslint/config-array@0.20.0': 994 | dependencies: 995 | '@eslint/object-schema': 2.1.6 996 | debug: 4.4.0 997 | minimatch: 3.1.2 998 | transitivePeerDependencies: 999 | - supports-color 1000 | 1001 | '@eslint/config-helpers@0.2.1': {} 1002 | 1003 | '@eslint/core@0.14.0': 1004 | dependencies: 1005 | '@types/json-schema': 7.0.15 1006 | 1007 | '@eslint/eslintrc@3.3.1': 1008 | dependencies: 1009 | ajv: 6.12.6 1010 | debug: 4.4.0 1011 | espree: 10.3.0 1012 | globals: 14.0.0 1013 | ignore: 5.3.1 1014 | import-fresh: 3.3.0 1015 | js-yaml: 4.1.0 1016 | minimatch: 3.1.2 1017 | strip-json-comments: 3.1.1 1018 | transitivePeerDependencies: 1019 | - supports-color 1020 | 1021 | '@eslint/js@9.27.0': {} 1022 | 1023 | '@eslint/object-schema@2.1.6': {} 1024 | 1025 | '@eslint/plugin-kit@0.3.1': 1026 | dependencies: 1027 | '@eslint/core': 0.14.0 1028 | levn: 0.4.1 1029 | 1030 | '@gkd-kit/api@0.7.2': {} 1031 | 1032 | '@gkd-kit/define@0.0.1(@gkd-kit/api@0.7.2)': 1033 | dependencies: 1034 | '@gkd-kit/api': 0.7.2 1035 | 1036 | '@gkd-kit/selector@0.5.4': {} 1037 | 1038 | '@gkd-kit/tools@0.6.0(@gkd-kit/api@0.7.2)(json5@2.2.3)': 1039 | dependencies: 1040 | '@gkd-kit/api': 0.7.2 1041 | '@gkd-kit/selector': 0.5.4 1042 | '@gkd-kit/wasm_matches': 0.0.1 1043 | json5: 2.2.3 1044 | 1045 | '@gkd-kit/wasm_matches@0.0.1': {} 1046 | 1047 | '@humanfs/core@0.19.1': {} 1048 | 1049 | '@humanfs/node@0.16.6': 1050 | dependencies: 1051 | '@humanfs/core': 0.19.1 1052 | '@humanwhocodes/retry': 0.3.1 1053 | 1054 | '@humanwhocodes/module-importer@1.0.1': {} 1055 | 1056 | '@humanwhocodes/retry@0.3.1': {} 1057 | 1058 | '@humanwhocodes/retry@0.4.2': {} 1059 | 1060 | '@nodelib/fs.scandir@2.1.5': 1061 | dependencies: 1062 | '@nodelib/fs.stat': 2.0.5 1063 | run-parallel: 1.2.0 1064 | 1065 | '@nodelib/fs.stat@2.0.5': {} 1066 | 1067 | '@nodelib/fs.walk@1.2.8': 1068 | dependencies: 1069 | '@nodelib/fs.scandir': 2.1.5 1070 | fastq: 1.17.1 1071 | 1072 | '@types/estree@1.0.6': {} 1073 | 1074 | '@types/json-schema@7.0.15': {} 1075 | 1076 | '@types/node@22.15.18': 1077 | dependencies: 1078 | undici-types: 6.21.0 1079 | 1080 | '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3))(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3)': 1081 | dependencies: 1082 | '@eslint-community/regexpp': 4.12.1 1083 | '@typescript-eslint/parser': 8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3) 1084 | '@typescript-eslint/scope-manager': 8.32.1 1085 | '@typescript-eslint/type-utils': 8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3) 1086 | '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3) 1087 | '@typescript-eslint/visitor-keys': 8.32.1 1088 | eslint: 9.27.0(jiti@1.21.0) 1089 | graphemer: 1.4.0 1090 | ignore: 7.0.4 1091 | natural-compare: 1.4.0 1092 | ts-api-utils: 2.1.0(typescript@5.8.3) 1093 | typescript: 5.8.3 1094 | transitivePeerDependencies: 1095 | - supports-color 1096 | 1097 | '@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3)': 1098 | dependencies: 1099 | '@typescript-eslint/scope-manager': 8.32.1 1100 | '@typescript-eslint/types': 8.32.1 1101 | '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) 1102 | '@typescript-eslint/visitor-keys': 8.32.1 1103 | debug: 4.4.0 1104 | eslint: 9.27.0(jiti@1.21.0) 1105 | typescript: 5.8.3 1106 | transitivePeerDependencies: 1107 | - supports-color 1108 | 1109 | '@typescript-eslint/scope-manager@8.32.1': 1110 | dependencies: 1111 | '@typescript-eslint/types': 8.32.1 1112 | '@typescript-eslint/visitor-keys': 8.32.1 1113 | 1114 | '@typescript-eslint/type-utils@8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3)': 1115 | dependencies: 1116 | '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) 1117 | '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3) 1118 | debug: 4.4.0 1119 | eslint: 9.27.0(jiti@1.21.0) 1120 | ts-api-utils: 2.1.0(typescript@5.8.3) 1121 | typescript: 5.8.3 1122 | transitivePeerDependencies: 1123 | - supports-color 1124 | 1125 | '@typescript-eslint/types@8.32.1': {} 1126 | 1127 | '@typescript-eslint/typescript-estree@8.32.1(typescript@5.8.3)': 1128 | dependencies: 1129 | '@typescript-eslint/types': 8.32.1 1130 | '@typescript-eslint/visitor-keys': 8.32.1 1131 | debug: 4.4.0 1132 | fast-glob: 3.3.2 1133 | is-glob: 4.0.3 1134 | minimatch: 9.0.4 1135 | semver: 7.6.2 1136 | ts-api-utils: 2.1.0(typescript@5.8.3) 1137 | typescript: 5.8.3 1138 | transitivePeerDependencies: 1139 | - supports-color 1140 | 1141 | '@typescript-eslint/utils@8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3)': 1142 | dependencies: 1143 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0(jiti@1.21.0)) 1144 | '@typescript-eslint/scope-manager': 8.32.1 1145 | '@typescript-eslint/types': 8.32.1 1146 | '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) 1147 | eslint: 9.27.0(jiti@1.21.0) 1148 | typescript: 5.8.3 1149 | transitivePeerDependencies: 1150 | - supports-color 1151 | 1152 | '@typescript-eslint/visitor-keys@8.32.1': 1153 | dependencies: 1154 | '@typescript-eslint/types': 8.32.1 1155 | eslint-visitor-keys: 4.2.0 1156 | 1157 | acorn-jsx@5.3.2(acorn@8.14.0): 1158 | dependencies: 1159 | acorn: 8.14.0 1160 | 1161 | acorn@8.14.0: {} 1162 | 1163 | ajv@6.12.6: 1164 | dependencies: 1165 | fast-deep-equal: 3.1.3 1166 | fast-json-stable-stringify: 2.1.0 1167 | json-schema-traverse: 0.4.1 1168 | uri-js: 4.4.1 1169 | 1170 | ansi-escapes@7.0.0: 1171 | dependencies: 1172 | environment: 1.1.0 1173 | 1174 | ansi-regex@6.0.1: {} 1175 | 1176 | ansi-styles@4.3.0: 1177 | dependencies: 1178 | color-convert: 2.0.1 1179 | 1180 | ansi-styles@6.2.1: {} 1181 | 1182 | argparse@2.0.1: {} 1183 | 1184 | balanced-match@1.0.2: {} 1185 | 1186 | brace-expansion@1.1.11: 1187 | dependencies: 1188 | balanced-match: 1.0.2 1189 | concat-map: 0.0.1 1190 | 1191 | brace-expansion@2.0.1: 1192 | dependencies: 1193 | balanced-match: 1.0.2 1194 | 1195 | braces@3.0.3: 1196 | dependencies: 1197 | fill-range: 7.1.1 1198 | 1199 | callsites@3.1.0: {} 1200 | 1201 | chalk@4.1.2: 1202 | dependencies: 1203 | ansi-styles: 4.3.0 1204 | supports-color: 7.2.0 1205 | 1206 | chalk@5.4.1: {} 1207 | 1208 | cli-cursor@5.0.0: 1209 | dependencies: 1210 | restore-cursor: 5.1.0 1211 | 1212 | cli-truncate@4.0.0: 1213 | dependencies: 1214 | slice-ansi: 5.0.0 1215 | string-width: 7.1.0 1216 | 1217 | color-convert@2.0.1: 1218 | dependencies: 1219 | color-name: 1.1.4 1220 | 1221 | color-name@1.1.4: {} 1222 | 1223 | colorette@2.0.20: {} 1224 | 1225 | commander@13.1.0: {} 1226 | 1227 | concat-map@0.0.1: {} 1228 | 1229 | cross-spawn@7.0.6: 1230 | dependencies: 1231 | path-key: 3.1.1 1232 | shebang-command: 2.0.0 1233 | which: 2.0.2 1234 | 1235 | debug@4.4.0: 1236 | dependencies: 1237 | ms: 2.1.3 1238 | 1239 | deep-is@0.1.4: {} 1240 | 1241 | emoji-regex@10.3.0: {} 1242 | 1243 | environment@1.1.0: {} 1244 | 1245 | esbuild@0.25.2: 1246 | optionalDependencies: 1247 | '@esbuild/aix-ppc64': 0.25.2 1248 | '@esbuild/android-arm': 0.25.2 1249 | '@esbuild/android-arm64': 0.25.2 1250 | '@esbuild/android-x64': 0.25.2 1251 | '@esbuild/darwin-arm64': 0.25.2 1252 | '@esbuild/darwin-x64': 0.25.2 1253 | '@esbuild/freebsd-arm64': 0.25.2 1254 | '@esbuild/freebsd-x64': 0.25.2 1255 | '@esbuild/linux-arm': 0.25.2 1256 | '@esbuild/linux-arm64': 0.25.2 1257 | '@esbuild/linux-ia32': 0.25.2 1258 | '@esbuild/linux-loong64': 0.25.2 1259 | '@esbuild/linux-mips64el': 0.25.2 1260 | '@esbuild/linux-ppc64': 0.25.2 1261 | '@esbuild/linux-riscv64': 0.25.2 1262 | '@esbuild/linux-s390x': 0.25.2 1263 | '@esbuild/linux-x64': 0.25.2 1264 | '@esbuild/netbsd-arm64': 0.25.2 1265 | '@esbuild/netbsd-x64': 0.25.2 1266 | '@esbuild/openbsd-arm64': 0.25.2 1267 | '@esbuild/openbsd-x64': 0.25.2 1268 | '@esbuild/sunos-x64': 0.25.2 1269 | '@esbuild/win32-arm64': 0.25.2 1270 | '@esbuild/win32-ia32': 0.25.2 1271 | '@esbuild/win32-x64': 0.25.2 1272 | 1273 | escape-string-regexp@4.0.0: {} 1274 | 1275 | eslint-config-prettier@10.1.5(eslint@9.27.0(jiti@1.21.0)): 1276 | dependencies: 1277 | eslint: 9.27.0(jiti@1.21.0) 1278 | 1279 | eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3))(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3))(eslint@9.27.0(jiti@1.21.0)): 1280 | dependencies: 1281 | eslint: 9.27.0(jiti@1.21.0) 1282 | optionalDependencies: 1283 | '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3))(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3) 1284 | 1285 | eslint-scope@8.3.0: 1286 | dependencies: 1287 | esrecurse: 4.3.0 1288 | estraverse: 5.3.0 1289 | 1290 | eslint-visitor-keys@3.4.3: {} 1291 | 1292 | eslint-visitor-keys@4.2.0: {} 1293 | 1294 | eslint@9.27.0(jiti@1.21.0): 1295 | dependencies: 1296 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.27.0(jiti@1.21.0)) 1297 | '@eslint-community/regexpp': 4.12.1 1298 | '@eslint/config-array': 0.20.0 1299 | '@eslint/config-helpers': 0.2.1 1300 | '@eslint/core': 0.14.0 1301 | '@eslint/eslintrc': 3.3.1 1302 | '@eslint/js': 9.27.0 1303 | '@eslint/plugin-kit': 0.3.1 1304 | '@humanfs/node': 0.16.6 1305 | '@humanwhocodes/module-importer': 1.0.1 1306 | '@humanwhocodes/retry': 0.4.2 1307 | '@types/estree': 1.0.6 1308 | '@types/json-schema': 7.0.15 1309 | ajv: 6.12.6 1310 | chalk: 4.1.2 1311 | cross-spawn: 7.0.6 1312 | debug: 4.4.0 1313 | escape-string-regexp: 4.0.0 1314 | eslint-scope: 8.3.0 1315 | eslint-visitor-keys: 4.2.0 1316 | espree: 10.3.0 1317 | esquery: 1.5.0 1318 | esutils: 2.0.3 1319 | fast-deep-equal: 3.1.3 1320 | file-entry-cache: 8.0.0 1321 | find-up: 5.0.0 1322 | glob-parent: 6.0.2 1323 | ignore: 5.3.1 1324 | imurmurhash: 0.1.4 1325 | is-glob: 4.0.3 1326 | json-stable-stringify-without-jsonify: 1.0.1 1327 | lodash.merge: 4.6.2 1328 | minimatch: 3.1.2 1329 | natural-compare: 1.4.0 1330 | optionator: 0.9.4 1331 | optionalDependencies: 1332 | jiti: 1.21.0 1333 | transitivePeerDependencies: 1334 | - supports-color 1335 | 1336 | espree@10.3.0: 1337 | dependencies: 1338 | acorn: 8.14.0 1339 | acorn-jsx: 5.3.2(acorn@8.14.0) 1340 | eslint-visitor-keys: 4.2.0 1341 | 1342 | esquery@1.5.0: 1343 | dependencies: 1344 | estraverse: 5.3.0 1345 | 1346 | esrecurse@4.3.0: 1347 | dependencies: 1348 | estraverse: 5.3.0 1349 | 1350 | estraverse@5.3.0: {} 1351 | 1352 | esutils@2.0.3: {} 1353 | 1354 | eventemitter3@5.0.1: {} 1355 | 1356 | fast-deep-equal@3.1.3: {} 1357 | 1358 | fast-glob@3.3.2: 1359 | dependencies: 1360 | '@nodelib/fs.stat': 2.0.5 1361 | '@nodelib/fs.walk': 1.2.8 1362 | glob-parent: 5.1.2 1363 | merge2: 1.4.1 1364 | micromatch: 4.0.8 1365 | 1366 | fast-json-stable-stringify@2.1.0: {} 1367 | 1368 | fast-levenshtein@2.0.6: {} 1369 | 1370 | fastq@1.17.1: 1371 | dependencies: 1372 | reusify: 1.0.4 1373 | 1374 | file-entry-cache@8.0.0: 1375 | dependencies: 1376 | flat-cache: 4.0.1 1377 | 1378 | fill-range@7.1.1: 1379 | dependencies: 1380 | to-regex-range: 5.0.1 1381 | 1382 | find-up@5.0.0: 1383 | dependencies: 1384 | locate-path: 6.0.0 1385 | path-exists: 4.0.0 1386 | 1387 | flat-cache@4.0.1: 1388 | dependencies: 1389 | flatted: 3.3.1 1390 | keyv: 4.5.4 1391 | 1392 | flatted@3.3.1: {} 1393 | 1394 | fsevents@2.3.3: 1395 | optional: true 1396 | 1397 | get-east-asian-width@1.2.0: {} 1398 | 1399 | get-tsconfig@4.7.5: 1400 | dependencies: 1401 | resolve-pkg-maps: 1.0.0 1402 | 1403 | glob-parent@5.1.2: 1404 | dependencies: 1405 | is-glob: 4.0.3 1406 | 1407 | glob-parent@6.0.2: 1408 | dependencies: 1409 | is-glob: 4.0.3 1410 | 1411 | globals@14.0.0: {} 1412 | 1413 | graphemer@1.4.0: {} 1414 | 1415 | has-flag@4.0.0: {} 1416 | 1417 | ignore@5.3.1: {} 1418 | 1419 | ignore@7.0.4: {} 1420 | 1421 | import-fresh@3.3.0: 1422 | dependencies: 1423 | parent-module: 1.0.1 1424 | resolve-from: 4.0.0 1425 | 1426 | imurmurhash@0.1.4: {} 1427 | 1428 | is-extglob@2.1.1: {} 1429 | 1430 | is-fullwidth-code-point@4.0.0: {} 1431 | 1432 | is-fullwidth-code-point@5.0.0: 1433 | dependencies: 1434 | get-east-asian-width: 1.2.0 1435 | 1436 | is-glob@4.0.3: 1437 | dependencies: 1438 | is-extglob: 2.1.1 1439 | 1440 | is-number@7.0.0: {} 1441 | 1442 | isexe@2.0.0: {} 1443 | 1444 | jiti@1.21.0: 1445 | optional: true 1446 | 1447 | js-yaml@4.1.0: 1448 | dependencies: 1449 | argparse: 2.0.1 1450 | 1451 | json-buffer@3.0.1: {} 1452 | 1453 | json-schema-traverse@0.4.1: {} 1454 | 1455 | json-stable-stringify-without-jsonify@1.0.1: {} 1456 | 1457 | json5@2.2.3: {} 1458 | 1459 | keyv@4.5.4: 1460 | dependencies: 1461 | json-buffer: 3.0.1 1462 | 1463 | levn@0.4.1: 1464 | dependencies: 1465 | prelude-ls: 1.2.1 1466 | type-check: 0.4.0 1467 | 1468 | lilconfig@3.1.3: {} 1469 | 1470 | lint-staged@16.0.0: 1471 | dependencies: 1472 | chalk: 5.4.1 1473 | commander: 13.1.0 1474 | debug: 4.4.0 1475 | lilconfig: 3.1.3 1476 | listr2: 8.3.3 1477 | micromatch: 4.0.8 1478 | nano-spawn: 1.0.1 1479 | pidtree: 0.6.0 1480 | string-argv: 0.3.2 1481 | yaml: 2.8.0 1482 | transitivePeerDependencies: 1483 | - supports-color 1484 | 1485 | listr2@8.3.3: 1486 | dependencies: 1487 | cli-truncate: 4.0.0 1488 | colorette: 2.0.20 1489 | eventemitter3: 5.0.1 1490 | log-update: 6.1.0 1491 | rfdc: 1.4.1 1492 | wrap-ansi: 9.0.0 1493 | 1494 | locate-path@6.0.0: 1495 | dependencies: 1496 | p-locate: 5.0.0 1497 | 1498 | lodash.merge@4.6.2: {} 1499 | 1500 | log-update@6.1.0: 1501 | dependencies: 1502 | ansi-escapes: 7.0.0 1503 | cli-cursor: 5.0.0 1504 | slice-ansi: 7.1.0 1505 | strip-ansi: 7.1.0 1506 | wrap-ansi: 9.0.0 1507 | 1508 | merge2@1.4.1: {} 1509 | 1510 | micromatch@4.0.8: 1511 | dependencies: 1512 | braces: 3.0.3 1513 | picomatch: 2.3.1 1514 | 1515 | mimic-function@5.0.1: {} 1516 | 1517 | minimatch@3.1.2: 1518 | dependencies: 1519 | brace-expansion: 1.1.11 1520 | 1521 | minimatch@9.0.4: 1522 | dependencies: 1523 | brace-expansion: 2.0.1 1524 | 1525 | ms@2.1.3: {} 1526 | 1527 | nano-spawn@1.0.1: {} 1528 | 1529 | natural-compare@1.4.0: {} 1530 | 1531 | onetime@7.0.0: 1532 | dependencies: 1533 | mimic-function: 5.0.1 1534 | 1535 | optionator@0.9.4: 1536 | dependencies: 1537 | deep-is: 0.1.4 1538 | fast-levenshtein: 2.0.6 1539 | levn: 0.4.1 1540 | prelude-ls: 1.2.1 1541 | type-check: 0.4.0 1542 | word-wrap: 1.2.5 1543 | 1544 | p-limit@3.1.0: 1545 | dependencies: 1546 | yocto-queue: 0.1.0 1547 | 1548 | p-locate@5.0.0: 1549 | dependencies: 1550 | p-limit: 3.1.0 1551 | 1552 | parent-module@1.0.1: 1553 | dependencies: 1554 | callsites: 3.1.0 1555 | 1556 | path-exists@4.0.0: {} 1557 | 1558 | path-key@3.1.1: {} 1559 | 1560 | picomatch@2.3.1: {} 1561 | 1562 | pidtree@0.6.0: {} 1563 | 1564 | prelude-ls@1.2.1: {} 1565 | 1566 | prettier@3.5.3: {} 1567 | 1568 | punycode@2.3.1: {} 1569 | 1570 | queue-microtask@1.2.3: {} 1571 | 1572 | resolve-from@4.0.0: {} 1573 | 1574 | resolve-pkg-maps@1.0.0: {} 1575 | 1576 | restore-cursor@5.1.0: 1577 | dependencies: 1578 | onetime: 7.0.0 1579 | signal-exit: 4.1.0 1580 | 1581 | reusify@1.0.4: {} 1582 | 1583 | rfdc@1.4.1: {} 1584 | 1585 | run-parallel@1.2.0: 1586 | dependencies: 1587 | queue-microtask: 1.2.3 1588 | 1589 | semver@7.6.2: {} 1590 | 1591 | shebang-command@2.0.0: 1592 | dependencies: 1593 | shebang-regex: 3.0.0 1594 | 1595 | shebang-regex@3.0.0: {} 1596 | 1597 | signal-exit@4.1.0: {} 1598 | 1599 | simple-git-hooks@2.13.0: {} 1600 | 1601 | slice-ansi@5.0.0: 1602 | dependencies: 1603 | ansi-styles: 6.2.1 1604 | is-fullwidth-code-point: 4.0.0 1605 | 1606 | slice-ansi@7.1.0: 1607 | dependencies: 1608 | ansi-styles: 6.2.1 1609 | is-fullwidth-code-point: 5.0.0 1610 | 1611 | string-argv@0.3.2: {} 1612 | 1613 | string-width@7.1.0: 1614 | dependencies: 1615 | emoji-regex: 10.3.0 1616 | get-east-asian-width: 1.2.0 1617 | strip-ansi: 7.1.0 1618 | 1619 | strip-ansi@7.1.0: 1620 | dependencies: 1621 | ansi-regex: 6.0.1 1622 | 1623 | strip-json-comments@3.1.1: {} 1624 | 1625 | supports-color@7.2.0: 1626 | dependencies: 1627 | has-flag: 4.0.0 1628 | 1629 | to-regex-range@5.0.1: 1630 | dependencies: 1631 | is-number: 7.0.0 1632 | 1633 | ts-api-utils@2.1.0(typescript@5.8.3): 1634 | dependencies: 1635 | typescript: 5.8.3 1636 | 1637 | tsx@4.19.4: 1638 | dependencies: 1639 | esbuild: 0.25.2 1640 | get-tsconfig: 4.7.5 1641 | optionalDependencies: 1642 | fsevents: 2.3.3 1643 | 1644 | type-check@0.4.0: 1645 | dependencies: 1646 | prelude-ls: 1.2.1 1647 | 1648 | typescript-eslint@8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3): 1649 | dependencies: 1650 | '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3))(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3) 1651 | '@typescript-eslint/parser': 8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3) 1652 | '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@1.21.0))(typescript@5.8.3) 1653 | eslint: 9.27.0(jiti@1.21.0) 1654 | typescript: 5.8.3 1655 | transitivePeerDependencies: 1656 | - supports-color 1657 | 1658 | typescript@5.8.3: {} 1659 | 1660 | undici-types@6.21.0: {} 1661 | 1662 | uri-js@4.4.1: 1663 | dependencies: 1664 | punycode: 2.3.1 1665 | 1666 | which@2.0.2: 1667 | dependencies: 1668 | isexe: 2.0.0 1669 | 1670 | word-wrap@1.2.5: {} 1671 | 1672 | wrap-ansi@9.0.0: 1673 | dependencies: 1674 | ansi-styles: 6.2.1 1675 | string-width: 7.1.0 1676 | strip-ansi: 7.1.0 1677 | 1678 | yaml@2.8.0: {} 1679 | 1680 | yocto-queue@0.1.0: {} 1681 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | onlyBuiltDependencies: 2 | - esbuild 3 | - simple-git-hooks 4 | -------------------------------------------------------------------------------- /scripts/build.ts: -------------------------------------------------------------------------------- 1 | import { updateDist } from '@gkd-kit/tools'; 2 | import subscription from './check'; 3 | 4 | await updateDist(subscription); 5 | -------------------------------------------------------------------------------- /scripts/check.ts: -------------------------------------------------------------------------------- 1 | import subscription from '../src/subscription'; 2 | import { checkSubscription } from '@gkd-kit/tools'; 3 | 4 | checkSubscription(subscription); 5 | 6 | export default subscription; 7 | -------------------------------------------------------------------------------- /src/apps/com.tencent.mm.ts: -------------------------------------------------------------------------------- 1 | import { defineGkdApp } from '@gkd-kit/define'; 2 | 3 | export default defineGkdApp({ 4 | id: 'com.tencent.mm', 5 | name: '微信', 6 | groups: [], 7 | }); 8 | -------------------------------------------------------------------------------- /src/apps/com.tencent.mobileqq.ts: -------------------------------------------------------------------------------- 1 | import { defineGkdApp } from '@gkd-kit/define'; 2 | 3 | export default defineGkdApp({ 4 | id: 'com.tencent.mobileqq', 5 | name: 'QQ', 6 | groups: [], 7 | }); 8 | -------------------------------------------------------------------------------- /src/apps/li.songe.gkd.ts: -------------------------------------------------------------------------------- 1 | import { defineGkdApp } from '@gkd-kit/define'; 2 | 3 | export default defineGkdApp({ 4 | id: 'li.songe.gkd', 5 | name: 'GKD', 6 | groups: [], 7 | }); 8 | -------------------------------------------------------------------------------- /src/categories.ts: -------------------------------------------------------------------------------- 1 | import { defineGkdCategories } from '@gkd-kit/define'; 2 | 3 | export default defineGkdCategories([]); 4 | -------------------------------------------------------------------------------- /src/globalGroups.ts: -------------------------------------------------------------------------------- 1 | import { defineGkdGlobalGroups } from '@gkd-kit/define'; 2 | 3 | export default defineGkdGlobalGroups([]); 4 | -------------------------------------------------------------------------------- /src/subscription.ts: -------------------------------------------------------------------------------- 1 | import { defineGkdSubscription } from '@gkd-kit/define'; 2 | import { batchImportApps } from '@gkd-kit/tools'; 3 | import categories from './categories'; 4 | import globalGroups from './globalGroups'; 5 | 6 | export default defineGkdSubscription({ 7 | id: 233, 8 | name: 'Subscription', 9 | version: 0, 10 | author: 'author', 11 | checkUpdateUrl: './gkd.version.json5', 12 | supportUri: 'https://github.com/gkd-kit/subscription-template', 13 | categories, 14 | globalGroups, 15 | apps: await batchImportApps(`${import.meta.dirname}/apps`), 16 | }); 17 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "dist", 4 | "target": "ESNext", 5 | "module": "ESNext", 6 | "moduleResolution": "bundler", 7 | "strict": true, 8 | "skipLibCheck": true, 9 | "declaration": false, 10 | "sourceMap": false, 11 | "noUnusedLocals": true, 12 | "esModuleInterop": true, 13 | "isolatedModules": true 14 | }, 15 | "include": ["src", "scripts"] 16 | } 17 | --------------------------------------------------------------------------------