├── .editorconfig ├── .github ├── renovate.json └── workflows │ ├── ci.yaml │ ├── deploy-preview.yaml │ └── deploy.yaml ├── .gitignore ├── .husky └── pre-commit ├── .prettierignore ├── LICENSE ├── config ├── empty.cjs ├── metadata.cjs ├── webpack.config.base.cjs ├── webpack.config.dev.cjs └── webpack.config.prod.cjs ├── package-lock.json ├── package.json ├── readme.cn.md ├── readme.md ├── src ├── index.ts ├── style │ └── main.less └── typings.d.ts └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | charset=utf-8 3 | end_of_line=lf 4 | trim_trailing_whitespace=true 5 | insert_final_newline=true 6 | indent_style=space 7 | indent_size=4 8 | 9 | [{.babelrc,.stylelintrc,.eslintrc,jest.config,*.bowerrc,*.jsb3,*.jsb2,*.json,*.yaml,*.yml}] 10 | indent_style=space 11 | indent_size=2 12 | 13 | [{*.js,*.vue,*.ts,*.cjs,.swcrc}] 14 | indent_style=space 15 | indent_size=2 16 | -------------------------------------------------------------------------------- /.github/renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "schedule:monthly", 4 | ":dependencyDashboard", 5 | "config:recommended" 6 | ], 7 | "prHourlyLimit": 0, 8 | "lockFileMaintenance": { 9 | "extends": [ 10 | "schedule:weekly" 11 | ], 12 | "automerge": true, 13 | "enabled": true 14 | }, 15 | "automerge": true, 16 | "postUpdateOptions": [ 17 | "npmDedupe" 18 | ], 19 | "separateMajorMinor": false, 20 | "updateNotScheduled": false, 21 | "rangeStrategy": "bump" 22 | } 23 | -------------------------------------------------------------------------------- /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- 1 | name: ci 2 | 3 | on: 4 | push: 5 | branches-ignore: 6 | - gh-pages 7 | - "renovate/**" 8 | pull_request: 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v4 15 | - name: Setup node 16 | uses: actions/setup-node@v4 17 | with: 18 | node-version: "lts/*" 19 | cache: "npm" 20 | 21 | - run: npm ci 22 | - run: npm run build 23 | -------------------------------------------------------------------------------- /.github/workflows/deploy-preview.yaml: -------------------------------------------------------------------------------- 1 | # this workflow build from master branch and upload dist directory to "preview-dist" branch 2 | # remove this if you don't need it. 3 | 4 | name: deploy-preview 5 | 6 | on: 7 | push: 8 | branches: 9 | - master 10 | 11 | jobs: 12 | deploy: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v4 16 | 17 | - name: Setup node 18 | uses: actions/setup-node@v4 19 | with: 20 | node-version: "lts/*" 21 | cache: "npm" 22 | 23 | - run: npm ci 24 | - run: npm run build 25 | 26 | - name: Deploy 27 | uses: peaceiris/actions-gh-pages@v4 28 | with: 29 | github_token: ${{ secrets.GITHUB_TOKEN }} 30 | publish_dir: ./dist 31 | publish_branch: preview-dist 32 | commit_message: deploy ${{ github.ref }} 33 | enable_jekyll: true 34 | user_name: github-actions[bot] 35 | user_email: github-actions[bot]@users.noreply.github.com 36 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yaml: -------------------------------------------------------------------------------- 1 | # build latest v* tag and upload dist diectory to gh-pages branch. 2 | name: deploy 3 | 4 | on: 5 | push: 6 | branches: 7 | - v* 8 | 9 | jobs: 10 | deploy: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v4 14 | 15 | - name: Setup node 16 | uses: actions/setup-node@v4 17 | with: 18 | node-version: "lts/*" 19 | cache: "npm" 20 | 21 | - run: npm ci 22 | - run: npm run build 23 | 24 | - name: Deploy 25 | uses: peaceiris/actions-gh-pages@v4 26 | with: 27 | github_token: ${{ secrets.GITHUB_TOKEN }} 28 | publish_dir: ./dist 29 | enable_jekyll: true 30 | commit_message: deploy ${{ github.ref }} 31 | user_name: github-actions[bot] 32 | user_email: github-actions[bot]@users.noreply.github.com 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .idea 3 | .vscode 4 | dist 5 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npm run lint-staged 5 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 2 | Version 2, December 2004 3 | 4 | Copyright (C) 2020-2022 Trim21 5 | 6 | Everyone is permitted to copy and distribute verbatim or modified 7 | copies of this license document, and changing it is allowed as long 8 | as the name is changed. 9 | 10 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 11 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 12 | 13 | 0. You just DO WHAT THE FUCK YOU WANT TO. 14 | -------------------------------------------------------------------------------- /config/empty.cjs: -------------------------------------------------------------------------------- 1 | /** 2 | * This is an empty javascript file for webpack to generate a development UserScript without real code. 3 | * So we could make UserScript manager load script file from local file path. 4 | * See webpack.config.dev.js for more details. 5 | */ 6 | -------------------------------------------------------------------------------- /config/metadata.cjs: -------------------------------------------------------------------------------- 1 | const { 2 | author, 3 | dependencies, 4 | repository, 5 | version, 6 | } = require("../package.json"); 7 | 8 | module.exports = { 9 | name: { 10 | $: "webpack-userscript-template", 11 | cn: "中文名", 12 | en: "english name", 13 | }, 14 | namespace: "https://trim21.me/", 15 | version: version, 16 | author: author, 17 | source: repository.url, 18 | // 'license': 'MIT', 19 | match: ["*://www.example.com/", "*://example.com/*"], 20 | require: [ 21 | `https://cdn.jsdelivr.net/npm/jquery@${dependencies.jquery}/dist/jquery.min.js`, 22 | ], 23 | grant: ["GM.xmlHttpRequest"], 24 | connect: ["httpbin.org"], 25 | "run-at": "document-end", 26 | }; 27 | -------------------------------------------------------------------------------- /config/webpack.config.base.cjs: -------------------------------------------------------------------------------- 1 | const path = require("path"); 2 | 3 | const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer"); 4 | 5 | const webpackConfig = { 6 | resolve: { 7 | extensions: [".js", ".ts"], 8 | }, 9 | optimization: { 10 | minimize: false, 11 | moduleIds: "named", 12 | }, 13 | entry: "./src/index.ts", 14 | output: { 15 | path: path.resolve(__dirname, "../dist"), 16 | }, 17 | target: "web", 18 | externals: { 19 | jquery: "$", 20 | }, 21 | module: { 22 | rules: [ 23 | { 24 | test: /\.m?ts$/, 25 | use: { 26 | loader: "ts-loader", 27 | }, 28 | }, 29 | { 30 | test: /\.less$/, 31 | use: ["style-loader", "css-loader", "less-loader"], 32 | }, 33 | { 34 | test: /\.css$/, 35 | use: ["style-loader", "css-loader"], 36 | }, 37 | ], 38 | }, 39 | plugins: process.env.npm_config_report ? [new BundleAnalyzerPlugin()] : [], 40 | }; 41 | 42 | module.exports = webpackConfig; 43 | -------------------------------------------------------------------------------- /config/webpack.config.dev.cjs: -------------------------------------------------------------------------------- 1 | const path = require("path"); 2 | const { merge } = require("webpack-merge"); 3 | const LiveReloadPlugin = require("webpack-livereload-plugin"); 4 | const { 5 | UserScriptMetaDataPlugin, 6 | } = require("userscript-metadata-webpack-plugin"); 7 | 8 | const baseMetadata = require("./metadata.cjs"); 9 | const webpackConfig = require("./webpack.config.base.cjs"); 10 | 11 | const metadata = structuredClone(baseMetadata); 12 | 13 | metadata.require.push( 14 | "file://" + path.resolve(__dirname, "../dist/index.debug.js") 15 | ); 16 | 17 | const cfg = merge(webpackConfig, { 18 | mode: "development", 19 | cache: { 20 | type: "filesystem", 21 | name: "dev", 22 | }, 23 | entry: { 24 | debug: webpackConfig.entry, 25 | "dev.user": path.resolve(__dirname, "./empty.cjs"), 26 | }, 27 | output: { 28 | filename: "index.[name].js", 29 | path: path.resolve(__dirname, "../dist"), 30 | }, 31 | devtool: "eval-source-map", 32 | watch: true, 33 | watchOptions: { 34 | ignored: /node_modules/, 35 | }, 36 | plugins: [ 37 | new LiveReloadPlugin({ 38 | delay: 500, 39 | }), 40 | new UserScriptMetaDataPlugin({ 41 | metadata, 42 | }), 43 | ], 44 | }); 45 | 46 | module.exports = cfg; 47 | -------------------------------------------------------------------------------- /config/webpack.config.prod.cjs: -------------------------------------------------------------------------------- 1 | const { merge } = require("webpack-merge"); 2 | const { 3 | UserScriptMetaDataPlugin, 4 | } = require("userscript-metadata-webpack-plugin"); 5 | 6 | const metadata = require("./metadata.cjs"); 7 | const webpackConfig = require("./webpack.config.base.cjs"); 8 | 9 | const cfg = merge(webpackConfig, { 10 | mode: "production", 11 | output: { 12 | filename: "index.prod.user.js", 13 | }, 14 | optimization: { 15 | // if you need minimize, you need to config minimizer to keep all comments 16 | // to keep userscript meta. 17 | minimize: false, 18 | }, 19 | cache: { 20 | type: "filesystem", 21 | name: "prod", 22 | }, 23 | plugins: [ 24 | new UserScriptMetaDataPlugin({ 25 | metadata, 26 | }), 27 | ], 28 | }); 29 | 30 | module.exports = cfg; 31 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "webpack-userscript-template", 3 | "version": "0.0.1", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "webpack-userscript-template", 9 | "version": "0.0.1", 10 | "dependencies": { 11 | "@trim21/gm-fetch": "^0.3.0", 12 | "jquery": "^3.7.1" 13 | }, 14 | "devDependencies": { 15 | "@types/greasemonkey": "^4.0.7", 16 | "@types/jquery": "^3.5.32", 17 | "@types/node": "^22.15.17", 18 | "browserslist": "^4.24.4", 19 | "cross-env": "^7.0.3", 20 | "css-loader": "^7.1.2", 21 | "husky": "^9.1.7", 22 | "less": "^4.3.0", 23 | "less-loader": "^12.2.0", 24 | "lint-staged": "^15.5.0", 25 | "prettier": "^3.5.3", 26 | "style-loader": "^4.0.0", 27 | "ts-loader": "^9.5.2", 28 | "typescript": "^5.8.3", 29 | "userscript-metadata-webpack-plugin": "^0.4.2", 30 | "webpack": "^5.99.7", 31 | "webpack-bundle-analyzer": "^4.10.2", 32 | "webpack-cli": "^6.0.1", 33 | "webpack-livereload-plugin": "^3.0.2", 34 | "webpack-merge": "^6.0.1", 35 | "webpack-sources": "^3.2.3" 36 | } 37 | }, 38 | "node_modules/@discoveryjs/json-ext": { 39 | "version": "0.5.7", 40 | "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", 41 | "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", 42 | "dev": true, 43 | "license": "MIT", 44 | "engines": { 45 | "node": ">=10.0.0" 46 | } 47 | }, 48 | "node_modules/@jridgewell/gen-mapping": { 49 | "version": "0.3.8", 50 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", 51 | "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", 52 | "dev": true, 53 | "license": "MIT", 54 | "dependencies": { 55 | "@jridgewell/set-array": "^1.2.1", 56 | "@jridgewell/sourcemap-codec": "^1.4.10", 57 | "@jridgewell/trace-mapping": "^0.3.24" 58 | }, 59 | "engines": { 60 | "node": ">=6.0.0" 61 | } 62 | }, 63 | "node_modules/@jridgewell/resolve-uri": { 64 | "version": "3.1.2", 65 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 66 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 67 | "dev": true, 68 | "license": "MIT", 69 | "engines": { 70 | "node": ">=6.0.0" 71 | } 72 | }, 73 | "node_modules/@jridgewell/set-array": { 74 | "version": "1.2.1", 75 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 76 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 77 | "dev": true, 78 | "license": "MIT", 79 | "engines": { 80 | "node": ">=6.0.0" 81 | } 82 | }, 83 | "node_modules/@jridgewell/source-map": { 84 | "version": "0.3.6", 85 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", 86 | "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", 87 | "dev": true, 88 | "license": "MIT", 89 | "dependencies": { 90 | "@jridgewell/gen-mapping": "^0.3.5", 91 | "@jridgewell/trace-mapping": "^0.3.25" 92 | } 93 | }, 94 | "node_modules/@jridgewell/sourcemap-codec": { 95 | "version": "1.5.0", 96 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 97 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 98 | "dev": true, 99 | "license": "MIT" 100 | }, 101 | "node_modules/@jridgewell/trace-mapping": { 102 | "version": "0.3.25", 103 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 104 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 105 | "dev": true, 106 | "license": "MIT", 107 | "dependencies": { 108 | "@jridgewell/resolve-uri": "^3.1.0", 109 | "@jridgewell/sourcemap-codec": "^1.4.14" 110 | } 111 | }, 112 | "node_modules/@polka/url": { 113 | "version": "1.0.0-next.29", 114 | "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", 115 | "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", 116 | "dev": true, 117 | "license": "MIT" 118 | }, 119 | "node_modules/@trim21/gm-fetch": { 120 | "version": "0.3.0", 121 | "resolved": "https://registry.npmjs.org/@trim21/gm-fetch/-/gm-fetch-0.3.0.tgz", 122 | "integrity": "sha512-HMZvNUX1dX9uuE0ZjZijPoy39ueNEL1ScsDsDqV4YxtH5izf532ioDhPzDZQqv78ni10BT0IOmR5Fi0GahjFzQ==", 123 | "license": "MIT" 124 | }, 125 | "node_modules/@types/eslint": { 126 | "version": "9.6.1", 127 | "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", 128 | "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", 129 | "dev": true, 130 | "license": "MIT", 131 | "dependencies": { 132 | "@types/estree": "*", 133 | "@types/json-schema": "*" 134 | } 135 | }, 136 | "node_modules/@types/eslint-scope": { 137 | "version": "3.7.7", 138 | "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", 139 | "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", 140 | "dev": true, 141 | "license": "MIT", 142 | "dependencies": { 143 | "@types/eslint": "*", 144 | "@types/estree": "*" 145 | } 146 | }, 147 | "node_modules/@types/estree": { 148 | "version": "1.0.7", 149 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", 150 | "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", 151 | "dev": true, 152 | "license": "MIT" 153 | }, 154 | "node_modules/@types/greasemonkey": { 155 | "version": "4.0.7", 156 | "resolved": "https://registry.npmjs.org/@types/greasemonkey/-/greasemonkey-4.0.7.tgz", 157 | "integrity": "sha512-DuYBRf/T4zixO/xhQ3eicZCBjjOgbSSXuHP5XkLNf/UBayrJpBniP9il/AQaPy0lffl4Bco48zgHL+pZmQ6Q0A==", 158 | "dev": true, 159 | "license": "MIT" 160 | }, 161 | "node_modules/@types/jquery": { 162 | "version": "3.5.32", 163 | "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.32.tgz", 164 | "integrity": "sha512-b9Xbf4CkMqS02YH8zACqN1xzdxc3cO735Qe5AbSUFmyOiaWAbcpqh9Wna+Uk0vgACvoQHpWDg2rGdHkYPLmCiQ==", 165 | "dev": true, 166 | "license": "MIT", 167 | "dependencies": { 168 | "@types/sizzle": "*" 169 | } 170 | }, 171 | "node_modules/@types/json-schema": { 172 | "version": "7.0.15", 173 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 174 | "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 175 | "dev": true, 176 | "license": "MIT" 177 | }, 178 | "node_modules/@types/node": { 179 | "version": "22.15.21", 180 | "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.21.tgz", 181 | "integrity": "sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==", 182 | "dev": true, 183 | "license": "MIT", 184 | "dependencies": { 185 | "undici-types": "~6.21.0" 186 | } 187 | }, 188 | "node_modules/@types/sizzle": { 189 | "version": "2.3.9", 190 | "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.9.tgz", 191 | "integrity": "sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w==", 192 | "dev": true, 193 | "license": "MIT" 194 | }, 195 | "node_modules/@webassemblyjs/ast": { 196 | "version": "1.14.1", 197 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", 198 | "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", 199 | "dev": true, 200 | "license": "MIT", 201 | "dependencies": { 202 | "@webassemblyjs/helper-numbers": "1.13.2", 203 | "@webassemblyjs/helper-wasm-bytecode": "1.13.2" 204 | } 205 | }, 206 | "node_modules/@webassemblyjs/floating-point-hex-parser": { 207 | "version": "1.13.2", 208 | "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", 209 | "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", 210 | "dev": true, 211 | "license": "MIT" 212 | }, 213 | "node_modules/@webassemblyjs/helper-api-error": { 214 | "version": "1.13.2", 215 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", 216 | "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", 217 | "dev": true, 218 | "license": "MIT" 219 | }, 220 | "node_modules/@webassemblyjs/helper-buffer": { 221 | "version": "1.14.1", 222 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", 223 | "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", 224 | "dev": true, 225 | "license": "MIT" 226 | }, 227 | "node_modules/@webassemblyjs/helper-numbers": { 228 | "version": "1.13.2", 229 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", 230 | "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", 231 | "dev": true, 232 | "license": "MIT", 233 | "dependencies": { 234 | "@webassemblyjs/floating-point-hex-parser": "1.13.2", 235 | "@webassemblyjs/helper-api-error": "1.13.2", 236 | "@xtuc/long": "4.2.2" 237 | } 238 | }, 239 | "node_modules/@webassemblyjs/helper-wasm-bytecode": { 240 | "version": "1.13.2", 241 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", 242 | "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", 243 | "dev": true, 244 | "license": "MIT" 245 | }, 246 | "node_modules/@webassemblyjs/helper-wasm-section": { 247 | "version": "1.14.1", 248 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", 249 | "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", 250 | "dev": true, 251 | "license": "MIT", 252 | "dependencies": { 253 | "@webassemblyjs/ast": "1.14.1", 254 | "@webassemblyjs/helper-buffer": "1.14.1", 255 | "@webassemblyjs/helper-wasm-bytecode": "1.13.2", 256 | "@webassemblyjs/wasm-gen": "1.14.1" 257 | } 258 | }, 259 | "node_modules/@webassemblyjs/ieee754": { 260 | "version": "1.13.2", 261 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", 262 | "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", 263 | "dev": true, 264 | "license": "MIT", 265 | "dependencies": { 266 | "@xtuc/ieee754": "^1.2.0" 267 | } 268 | }, 269 | "node_modules/@webassemblyjs/leb128": { 270 | "version": "1.13.2", 271 | "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", 272 | "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", 273 | "dev": true, 274 | "license": "Apache-2.0", 275 | "dependencies": { 276 | "@xtuc/long": "4.2.2" 277 | } 278 | }, 279 | "node_modules/@webassemblyjs/utf8": { 280 | "version": "1.13.2", 281 | "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", 282 | "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", 283 | "dev": true, 284 | "license": "MIT" 285 | }, 286 | "node_modules/@webassemblyjs/wasm-edit": { 287 | "version": "1.14.1", 288 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", 289 | "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", 290 | "dev": true, 291 | "license": "MIT", 292 | "dependencies": { 293 | "@webassemblyjs/ast": "1.14.1", 294 | "@webassemblyjs/helper-buffer": "1.14.1", 295 | "@webassemblyjs/helper-wasm-bytecode": "1.13.2", 296 | "@webassemblyjs/helper-wasm-section": "1.14.1", 297 | "@webassemblyjs/wasm-gen": "1.14.1", 298 | "@webassemblyjs/wasm-opt": "1.14.1", 299 | "@webassemblyjs/wasm-parser": "1.14.1", 300 | "@webassemblyjs/wast-printer": "1.14.1" 301 | } 302 | }, 303 | "node_modules/@webassemblyjs/wasm-gen": { 304 | "version": "1.14.1", 305 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", 306 | "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", 307 | "dev": true, 308 | "license": "MIT", 309 | "dependencies": { 310 | "@webassemblyjs/ast": "1.14.1", 311 | "@webassemblyjs/helper-wasm-bytecode": "1.13.2", 312 | "@webassemblyjs/ieee754": "1.13.2", 313 | "@webassemblyjs/leb128": "1.13.2", 314 | "@webassemblyjs/utf8": "1.13.2" 315 | } 316 | }, 317 | "node_modules/@webassemblyjs/wasm-opt": { 318 | "version": "1.14.1", 319 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", 320 | "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", 321 | "dev": true, 322 | "license": "MIT", 323 | "dependencies": { 324 | "@webassemblyjs/ast": "1.14.1", 325 | "@webassemblyjs/helper-buffer": "1.14.1", 326 | "@webassemblyjs/wasm-gen": "1.14.1", 327 | "@webassemblyjs/wasm-parser": "1.14.1" 328 | } 329 | }, 330 | "node_modules/@webassemblyjs/wasm-parser": { 331 | "version": "1.14.1", 332 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", 333 | "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", 334 | "dev": true, 335 | "license": "MIT", 336 | "dependencies": { 337 | "@webassemblyjs/ast": "1.14.1", 338 | "@webassemblyjs/helper-api-error": "1.13.2", 339 | "@webassemblyjs/helper-wasm-bytecode": "1.13.2", 340 | "@webassemblyjs/ieee754": "1.13.2", 341 | "@webassemblyjs/leb128": "1.13.2", 342 | "@webassemblyjs/utf8": "1.13.2" 343 | } 344 | }, 345 | "node_modules/@webassemblyjs/wast-printer": { 346 | "version": "1.14.1", 347 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", 348 | "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", 349 | "dev": true, 350 | "license": "MIT", 351 | "dependencies": { 352 | "@webassemblyjs/ast": "1.14.1", 353 | "@xtuc/long": "4.2.2" 354 | } 355 | }, 356 | "node_modules/@webpack-cli/configtest": { 357 | "version": "3.0.1", 358 | "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", 359 | "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", 360 | "dev": true, 361 | "license": "MIT", 362 | "engines": { 363 | "node": ">=18.12.0" 364 | }, 365 | "peerDependencies": { 366 | "webpack": "^5.82.0", 367 | "webpack-cli": "6.x.x" 368 | } 369 | }, 370 | "node_modules/@webpack-cli/info": { 371 | "version": "3.0.1", 372 | "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", 373 | "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", 374 | "dev": true, 375 | "license": "MIT", 376 | "engines": { 377 | "node": ">=18.12.0" 378 | }, 379 | "peerDependencies": { 380 | "webpack": "^5.82.0", 381 | "webpack-cli": "6.x.x" 382 | } 383 | }, 384 | "node_modules/@webpack-cli/serve": { 385 | "version": "3.0.1", 386 | "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", 387 | "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", 388 | "dev": true, 389 | "license": "MIT", 390 | "engines": { 391 | "node": ">=18.12.0" 392 | }, 393 | "peerDependencies": { 394 | "webpack": "^5.82.0", 395 | "webpack-cli": "6.x.x" 396 | }, 397 | "peerDependenciesMeta": { 398 | "webpack-dev-server": { 399 | "optional": true 400 | } 401 | } 402 | }, 403 | "node_modules/@xtuc/ieee754": { 404 | "version": "1.2.0", 405 | "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", 406 | "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", 407 | "dev": true, 408 | "license": "BSD-3-Clause" 409 | }, 410 | "node_modules/@xtuc/long": { 411 | "version": "4.2.2", 412 | "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", 413 | "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", 414 | "dev": true, 415 | "license": "Apache-2.0" 416 | }, 417 | "node_modules/acorn": { 418 | "version": "8.14.1", 419 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", 420 | "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", 421 | "dev": true, 422 | "license": "MIT", 423 | "bin": { 424 | "acorn": "bin/acorn" 425 | }, 426 | "engines": { 427 | "node": ">=0.4.0" 428 | } 429 | }, 430 | "node_modules/acorn-walk": { 431 | "version": "8.3.4", 432 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", 433 | "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", 434 | "dev": true, 435 | "license": "MIT", 436 | "dependencies": { 437 | "acorn": "^8.11.0" 438 | }, 439 | "engines": { 440 | "node": ">=0.4.0" 441 | } 442 | }, 443 | "node_modules/ajv": { 444 | "version": "8.17.1", 445 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", 446 | "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", 447 | "dev": true, 448 | "license": "MIT", 449 | "dependencies": { 450 | "fast-deep-equal": "^3.1.3", 451 | "fast-uri": "^3.0.1", 452 | "json-schema-traverse": "^1.0.0", 453 | "require-from-string": "^2.0.2" 454 | }, 455 | "funding": { 456 | "type": "github", 457 | "url": "https://github.com/sponsors/epoberezkin" 458 | } 459 | }, 460 | "node_modules/ajv-formats": { 461 | "version": "2.1.1", 462 | "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", 463 | "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", 464 | "dev": true, 465 | "license": "MIT", 466 | "dependencies": { 467 | "ajv": "^8.0.0" 468 | }, 469 | "peerDependencies": { 470 | "ajv": "^8.0.0" 471 | }, 472 | "peerDependenciesMeta": { 473 | "ajv": { 474 | "optional": true 475 | } 476 | } 477 | }, 478 | "node_modules/ajv-keywords": { 479 | "version": "5.1.0", 480 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", 481 | "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", 482 | "dev": true, 483 | "license": "MIT", 484 | "dependencies": { 485 | "fast-deep-equal": "^3.1.3" 486 | }, 487 | "peerDependencies": { 488 | "ajv": "^8.8.2" 489 | } 490 | }, 491 | "node_modules/ansi-escapes": { 492 | "version": "7.0.0", 493 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", 494 | "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", 495 | "dev": true, 496 | "license": "MIT", 497 | "dependencies": { 498 | "environment": "^1.0.0" 499 | }, 500 | "engines": { 501 | "node": ">=18" 502 | }, 503 | "funding": { 504 | "url": "https://github.com/sponsors/sindresorhus" 505 | } 506 | }, 507 | "node_modules/ansi-regex": { 508 | "version": "6.1.0", 509 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", 510 | "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", 511 | "dev": true, 512 | "license": "MIT", 513 | "engines": { 514 | "node": ">=12" 515 | }, 516 | "funding": { 517 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 518 | } 519 | }, 520 | "node_modules/ansi-styles": { 521 | "version": "6.2.1", 522 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 523 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 524 | "dev": true, 525 | "license": "MIT", 526 | "engines": { 527 | "node": ">=12" 528 | }, 529 | "funding": { 530 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 531 | } 532 | }, 533 | "node_modules/anymatch": { 534 | "version": "3.1.3", 535 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 536 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 537 | "dev": true, 538 | "license": "ISC", 539 | "dependencies": { 540 | "normalize-path": "^3.0.0", 541 | "picomatch": "^2.0.4" 542 | }, 543 | "engines": { 544 | "node": ">= 8" 545 | } 546 | }, 547 | "node_modules/async": { 548 | "version": "3.2.6", 549 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", 550 | "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", 551 | "dev": true, 552 | "license": "MIT" 553 | }, 554 | "node_modules/body": { 555 | "version": "5.1.0", 556 | "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", 557 | "integrity": "sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ==", 558 | "dev": true, 559 | "dependencies": { 560 | "continuable-cache": "^0.3.1", 561 | "error": "^7.0.0", 562 | "raw-body": "~1.1.0", 563 | "safe-json-parse": "~1.0.1" 564 | } 565 | }, 566 | "node_modules/braces": { 567 | "version": "3.0.3", 568 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 569 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 570 | "dev": true, 571 | "license": "MIT", 572 | "dependencies": { 573 | "fill-range": "^7.1.1" 574 | }, 575 | "engines": { 576 | "node": ">=8" 577 | } 578 | }, 579 | "node_modules/browserslist": { 580 | "version": "4.24.5", 581 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", 582 | "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", 583 | "dev": true, 584 | "funding": [ 585 | { 586 | "type": "opencollective", 587 | "url": "https://opencollective.com/browserslist" 588 | }, 589 | { 590 | "type": "tidelift", 591 | "url": "https://tidelift.com/funding/github/npm/browserslist" 592 | }, 593 | { 594 | "type": "github", 595 | "url": "https://github.com/sponsors/ai" 596 | } 597 | ], 598 | "license": "MIT", 599 | "dependencies": { 600 | "caniuse-lite": "^1.0.30001716", 601 | "electron-to-chromium": "^1.5.149", 602 | "node-releases": "^2.0.19", 603 | "update-browserslist-db": "^1.1.3" 604 | }, 605 | "bin": { 606 | "browserslist": "cli.js" 607 | }, 608 | "engines": { 609 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 610 | } 611 | }, 612 | "node_modules/buffer-from": { 613 | "version": "1.1.2", 614 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 615 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 616 | "dev": true, 617 | "license": "MIT" 618 | }, 619 | "node_modules/bytes": { 620 | "version": "1.0.0", 621 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", 622 | "integrity": "sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==", 623 | "dev": true 624 | }, 625 | "node_modules/call-bind-apply-helpers": { 626 | "version": "1.0.2", 627 | "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", 628 | "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", 629 | "dev": true, 630 | "license": "MIT", 631 | "dependencies": { 632 | "es-errors": "^1.3.0", 633 | "function-bind": "^1.1.2" 634 | }, 635 | "engines": { 636 | "node": ">= 0.4" 637 | } 638 | }, 639 | "node_modules/call-bound": { 640 | "version": "1.0.4", 641 | "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", 642 | "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", 643 | "dev": true, 644 | "license": "MIT", 645 | "dependencies": { 646 | "call-bind-apply-helpers": "^1.0.2", 647 | "get-intrinsic": "^1.3.0" 648 | }, 649 | "engines": { 650 | "node": ">= 0.4" 651 | }, 652 | "funding": { 653 | "url": "https://github.com/sponsors/ljharb" 654 | } 655 | }, 656 | "node_modules/caniuse-lite": { 657 | "version": "1.0.30001718", 658 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz", 659 | "integrity": "sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==", 660 | "dev": true, 661 | "funding": [ 662 | { 663 | "type": "opencollective", 664 | "url": "https://opencollective.com/browserslist" 665 | }, 666 | { 667 | "type": "tidelift", 668 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 669 | }, 670 | { 671 | "type": "github", 672 | "url": "https://github.com/sponsors/ai" 673 | } 674 | ], 675 | "license": "CC-BY-4.0" 676 | }, 677 | "node_modules/chalk": { 678 | "version": "5.4.1", 679 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", 680 | "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", 681 | "dev": true, 682 | "license": "MIT", 683 | "engines": { 684 | "node": "^12.17.0 || ^14.13 || >=16.0.0" 685 | }, 686 | "funding": { 687 | "url": "https://github.com/chalk/chalk?sponsor=1" 688 | } 689 | }, 690 | "node_modules/chrome-trace-event": { 691 | "version": "1.0.4", 692 | "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", 693 | "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", 694 | "dev": true, 695 | "license": "MIT", 696 | "engines": { 697 | "node": ">=6.0" 698 | } 699 | }, 700 | "node_modules/cli-cursor": { 701 | "version": "5.0.0", 702 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", 703 | "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", 704 | "dev": true, 705 | "license": "MIT", 706 | "dependencies": { 707 | "restore-cursor": "^5.0.0" 708 | }, 709 | "engines": { 710 | "node": ">=18" 711 | }, 712 | "funding": { 713 | "url": "https://github.com/sponsors/sindresorhus" 714 | } 715 | }, 716 | "node_modules/cli-truncate": { 717 | "version": "4.0.0", 718 | "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", 719 | "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", 720 | "dev": true, 721 | "license": "MIT", 722 | "dependencies": { 723 | "slice-ansi": "^5.0.0", 724 | "string-width": "^7.0.0" 725 | }, 726 | "engines": { 727 | "node": ">=18" 728 | }, 729 | "funding": { 730 | "url": "https://github.com/sponsors/sindresorhus" 731 | } 732 | }, 733 | "node_modules/clone-deep": { 734 | "version": "4.0.1", 735 | "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", 736 | "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", 737 | "dev": true, 738 | "license": "MIT", 739 | "dependencies": { 740 | "is-plain-object": "^2.0.4", 741 | "kind-of": "^6.0.2", 742 | "shallow-clone": "^3.0.0" 743 | }, 744 | "engines": { 745 | "node": ">=6" 746 | } 747 | }, 748 | "node_modules/color-convert": { 749 | "version": "2.0.1", 750 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 751 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 752 | "dev": true, 753 | "license": "MIT", 754 | "dependencies": { 755 | "color-name": "~1.1.4" 756 | }, 757 | "engines": { 758 | "node": ">=7.0.0" 759 | } 760 | }, 761 | "node_modules/color-name": { 762 | "version": "1.1.4", 763 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 764 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 765 | "dev": true, 766 | "license": "MIT" 767 | }, 768 | "node_modules/colorette": { 769 | "version": "2.0.20", 770 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", 771 | "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", 772 | "dev": true, 773 | "license": "MIT" 774 | }, 775 | "node_modules/commander": { 776 | "version": "13.1.0", 777 | "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", 778 | "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", 779 | "dev": true, 780 | "license": "MIT", 781 | "engines": { 782 | "node": ">=18" 783 | } 784 | }, 785 | "node_modules/continuable-cache": { 786 | "version": "0.3.1", 787 | "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", 788 | "integrity": "sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA==", 789 | "dev": true 790 | }, 791 | "node_modules/copy-anything": { 792 | "version": "2.0.6", 793 | "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", 794 | "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", 795 | "dev": true, 796 | "license": "MIT", 797 | "dependencies": { 798 | "is-what": "^3.14.1" 799 | }, 800 | "funding": { 801 | "url": "https://github.com/sponsors/mesqueeb" 802 | } 803 | }, 804 | "node_modules/cross-env": { 805 | "version": "7.0.3", 806 | "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", 807 | "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", 808 | "dev": true, 809 | "license": "MIT", 810 | "dependencies": { 811 | "cross-spawn": "^7.0.1" 812 | }, 813 | "bin": { 814 | "cross-env": "src/bin/cross-env.js", 815 | "cross-env-shell": "src/bin/cross-env-shell.js" 816 | }, 817 | "engines": { 818 | "node": ">=10.14", 819 | "npm": ">=6", 820 | "yarn": ">=1" 821 | } 822 | }, 823 | "node_modules/cross-spawn": { 824 | "version": "7.0.6", 825 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 826 | "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 827 | "dev": true, 828 | "license": "MIT", 829 | "dependencies": { 830 | "path-key": "^3.1.0", 831 | "shebang-command": "^2.0.0", 832 | "which": "^2.0.1" 833 | }, 834 | "engines": { 835 | "node": ">= 8" 836 | } 837 | }, 838 | "node_modules/css-loader": { 839 | "version": "7.1.2", 840 | "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", 841 | "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", 842 | "dev": true, 843 | "license": "MIT", 844 | "dependencies": { 845 | "icss-utils": "^5.1.0", 846 | "postcss": "^8.4.33", 847 | "postcss-modules-extract-imports": "^3.1.0", 848 | "postcss-modules-local-by-default": "^4.0.5", 849 | "postcss-modules-scope": "^3.2.0", 850 | "postcss-modules-values": "^4.0.0", 851 | "postcss-value-parser": "^4.2.0", 852 | "semver": "^7.5.4" 853 | }, 854 | "engines": { 855 | "node": ">= 18.12.0" 856 | }, 857 | "funding": { 858 | "type": "opencollective", 859 | "url": "https://opencollective.com/webpack" 860 | }, 861 | "peerDependencies": { 862 | "@rspack/core": "0.x || 1.x", 863 | "webpack": "^5.27.0" 864 | }, 865 | "peerDependenciesMeta": { 866 | "@rspack/core": { 867 | "optional": true 868 | }, 869 | "webpack": { 870 | "optional": true 871 | } 872 | } 873 | }, 874 | "node_modules/cssesc": { 875 | "version": "3.0.0", 876 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 877 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 878 | "dev": true, 879 | "license": "MIT", 880 | "bin": { 881 | "cssesc": "bin/cssesc" 882 | }, 883 | "engines": { 884 | "node": ">=4" 885 | } 886 | }, 887 | "node_modules/debounce": { 888 | "version": "1.2.1", 889 | "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", 890 | "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", 891 | "dev": true, 892 | "license": "MIT" 893 | }, 894 | "node_modules/debug": { 895 | "version": "4.4.1", 896 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", 897 | "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", 898 | "dev": true, 899 | "license": "MIT", 900 | "dependencies": { 901 | "ms": "^2.1.3" 902 | }, 903 | "engines": { 904 | "node": ">=6.0" 905 | }, 906 | "peerDependenciesMeta": { 907 | "supports-color": { 908 | "optional": true 909 | } 910 | } 911 | }, 912 | "node_modules/dunder-proto": { 913 | "version": "1.0.1", 914 | "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", 915 | "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", 916 | "dev": true, 917 | "license": "MIT", 918 | "dependencies": { 919 | "call-bind-apply-helpers": "^1.0.1", 920 | "es-errors": "^1.3.0", 921 | "gopd": "^1.2.0" 922 | }, 923 | "engines": { 924 | "node": ">= 0.4" 925 | } 926 | }, 927 | "node_modules/duplexer": { 928 | "version": "0.1.2", 929 | "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", 930 | "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", 931 | "dev": true, 932 | "license": "MIT" 933 | }, 934 | "node_modules/electron-to-chromium": { 935 | "version": "1.5.157", 936 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.157.tgz", 937 | "integrity": "sha512-/0ybgsQd1muo8QlnuTpKwtl0oX5YMlUGbm8xyqgDU00motRkKFFbUJySAQBWcY79rVqNLWIWa87BGVGClwAB2w==", 938 | "dev": true, 939 | "license": "ISC" 940 | }, 941 | "node_modules/emoji-regex": { 942 | "version": "10.4.0", 943 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", 944 | "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", 945 | "dev": true, 946 | "license": "MIT" 947 | }, 948 | "node_modules/enhanced-resolve": { 949 | "version": "5.18.1", 950 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", 951 | "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", 952 | "dev": true, 953 | "license": "MIT", 954 | "dependencies": { 955 | "graceful-fs": "^4.2.4", 956 | "tapable": "^2.2.0" 957 | }, 958 | "engines": { 959 | "node": ">=10.13.0" 960 | } 961 | }, 962 | "node_modules/envinfo": { 963 | "version": "7.14.0", 964 | "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", 965 | "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", 966 | "dev": true, 967 | "license": "MIT", 968 | "bin": { 969 | "envinfo": "dist/cli.js" 970 | }, 971 | "engines": { 972 | "node": ">=4" 973 | } 974 | }, 975 | "node_modules/environment": { 976 | "version": "1.1.0", 977 | "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", 978 | "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", 979 | "dev": true, 980 | "license": "MIT", 981 | "engines": { 982 | "node": ">=18" 983 | }, 984 | "funding": { 985 | "url": "https://github.com/sponsors/sindresorhus" 986 | } 987 | }, 988 | "node_modules/errno": { 989 | "version": "0.1.8", 990 | "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", 991 | "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", 992 | "dev": true, 993 | "license": "MIT", 994 | "optional": true, 995 | "dependencies": { 996 | "prr": "~1.0.1" 997 | }, 998 | "bin": { 999 | "errno": "cli.js" 1000 | } 1001 | }, 1002 | "node_modules/error": { 1003 | "version": "7.2.1", 1004 | "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", 1005 | "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==", 1006 | "dev": true, 1007 | "dependencies": { 1008 | "string-template": "~0.2.1" 1009 | } 1010 | }, 1011 | "node_modules/es-define-property": { 1012 | "version": "1.0.1", 1013 | "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", 1014 | "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", 1015 | "dev": true, 1016 | "license": "MIT", 1017 | "engines": { 1018 | "node": ">= 0.4" 1019 | } 1020 | }, 1021 | "node_modules/es-errors": { 1022 | "version": "1.3.0", 1023 | "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 1024 | "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 1025 | "dev": true, 1026 | "license": "MIT", 1027 | "engines": { 1028 | "node": ">= 0.4" 1029 | } 1030 | }, 1031 | "node_modules/es-module-lexer": { 1032 | "version": "1.7.0", 1033 | "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", 1034 | "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", 1035 | "dev": true, 1036 | "license": "MIT" 1037 | }, 1038 | "node_modules/es-object-atoms": { 1039 | "version": "1.1.1", 1040 | "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", 1041 | "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", 1042 | "dev": true, 1043 | "license": "MIT", 1044 | "dependencies": { 1045 | "es-errors": "^1.3.0" 1046 | }, 1047 | "engines": { 1048 | "node": ">= 0.4" 1049 | } 1050 | }, 1051 | "node_modules/escalade": { 1052 | "version": "3.2.0", 1053 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 1054 | "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 1055 | "dev": true, 1056 | "license": "MIT", 1057 | "engines": { 1058 | "node": ">=6" 1059 | } 1060 | }, 1061 | "node_modules/escape-string-regexp": { 1062 | "version": "4.0.0", 1063 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 1064 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 1065 | "dev": true, 1066 | "license": "MIT", 1067 | "engines": { 1068 | "node": ">=10" 1069 | }, 1070 | "funding": { 1071 | "url": "https://github.com/sponsors/sindresorhus" 1072 | } 1073 | }, 1074 | "node_modules/eslint-scope": { 1075 | "version": "5.1.1", 1076 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", 1077 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", 1078 | "dev": true, 1079 | "license": "BSD-2-Clause", 1080 | "dependencies": { 1081 | "esrecurse": "^4.3.0", 1082 | "estraverse": "^4.1.1" 1083 | }, 1084 | "engines": { 1085 | "node": ">=8.0.0" 1086 | } 1087 | }, 1088 | "node_modules/esrecurse": { 1089 | "version": "4.3.0", 1090 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 1091 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 1092 | "dev": true, 1093 | "license": "BSD-2-Clause", 1094 | "dependencies": { 1095 | "estraverse": "^5.2.0" 1096 | }, 1097 | "engines": { 1098 | "node": ">=4.0" 1099 | } 1100 | }, 1101 | "node_modules/esrecurse/node_modules/estraverse": { 1102 | "version": "5.3.0", 1103 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1104 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1105 | "dev": true, 1106 | "license": "BSD-2-Clause", 1107 | "engines": { 1108 | "node": ">=4.0" 1109 | } 1110 | }, 1111 | "node_modules/estraverse": { 1112 | "version": "4.3.0", 1113 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 1114 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 1115 | "dev": true, 1116 | "license": "BSD-2-Clause", 1117 | "engines": { 1118 | "node": ">=4.0" 1119 | } 1120 | }, 1121 | "node_modules/eventemitter3": { 1122 | "version": "5.0.1", 1123 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", 1124 | "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", 1125 | "dev": true, 1126 | "license": "MIT" 1127 | }, 1128 | "node_modules/events": { 1129 | "version": "3.3.0", 1130 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", 1131 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", 1132 | "dev": true, 1133 | "license": "MIT", 1134 | "engines": { 1135 | "node": ">=0.8.x" 1136 | } 1137 | }, 1138 | "node_modules/execa": { 1139 | "version": "8.0.1", 1140 | "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", 1141 | "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", 1142 | "dev": true, 1143 | "license": "MIT", 1144 | "dependencies": { 1145 | "cross-spawn": "^7.0.3", 1146 | "get-stream": "^8.0.1", 1147 | "human-signals": "^5.0.0", 1148 | "is-stream": "^3.0.0", 1149 | "merge-stream": "^2.0.0", 1150 | "npm-run-path": "^5.1.0", 1151 | "onetime": "^6.0.0", 1152 | "signal-exit": "^4.1.0", 1153 | "strip-final-newline": "^3.0.0" 1154 | }, 1155 | "engines": { 1156 | "node": ">=16.17" 1157 | }, 1158 | "funding": { 1159 | "url": "https://github.com/sindresorhus/execa?sponsor=1" 1160 | } 1161 | }, 1162 | "node_modules/fast-deep-equal": { 1163 | "version": "3.1.3", 1164 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1165 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1166 | "dev": true, 1167 | "license": "MIT" 1168 | }, 1169 | "node_modules/fast-uri": { 1170 | "version": "3.0.6", 1171 | "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", 1172 | "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", 1173 | "dev": true, 1174 | "funding": [ 1175 | { 1176 | "type": "github", 1177 | "url": "https://github.com/sponsors/fastify" 1178 | }, 1179 | { 1180 | "type": "opencollective", 1181 | "url": "https://opencollective.com/fastify" 1182 | } 1183 | ], 1184 | "license": "BSD-3-Clause" 1185 | }, 1186 | "node_modules/fastest-levenshtein": { 1187 | "version": "1.0.16", 1188 | "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", 1189 | "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", 1190 | "dev": true, 1191 | "license": "MIT", 1192 | "engines": { 1193 | "node": ">= 4.9.1" 1194 | } 1195 | }, 1196 | "node_modules/faye-websocket": { 1197 | "version": "0.10.0", 1198 | "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", 1199 | "integrity": "sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==", 1200 | "dev": true, 1201 | "license": "MIT", 1202 | "dependencies": { 1203 | "websocket-driver": ">=0.5.1" 1204 | }, 1205 | "engines": { 1206 | "node": ">=0.4.0" 1207 | } 1208 | }, 1209 | "node_modules/fill-range": { 1210 | "version": "7.1.1", 1211 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 1212 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 1213 | "dev": true, 1214 | "license": "MIT", 1215 | "dependencies": { 1216 | "to-regex-range": "^5.0.1" 1217 | }, 1218 | "engines": { 1219 | "node": ">=8" 1220 | } 1221 | }, 1222 | "node_modules/find-up": { 1223 | "version": "4.1.0", 1224 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 1225 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 1226 | "dev": true, 1227 | "license": "MIT", 1228 | "dependencies": { 1229 | "locate-path": "^5.0.0", 1230 | "path-exists": "^4.0.0" 1231 | }, 1232 | "engines": { 1233 | "node": ">=8" 1234 | } 1235 | }, 1236 | "node_modules/flat": { 1237 | "version": "5.0.2", 1238 | "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", 1239 | "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", 1240 | "dev": true, 1241 | "license": "BSD-3-Clause", 1242 | "bin": { 1243 | "flat": "cli.js" 1244 | } 1245 | }, 1246 | "node_modules/function-bind": { 1247 | "version": "1.1.2", 1248 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 1249 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 1250 | "dev": true, 1251 | "license": "MIT", 1252 | "funding": { 1253 | "url": "https://github.com/sponsors/ljharb" 1254 | } 1255 | }, 1256 | "node_modules/get-east-asian-width": { 1257 | "version": "1.3.0", 1258 | "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", 1259 | "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", 1260 | "dev": true, 1261 | "license": "MIT", 1262 | "engines": { 1263 | "node": ">=18" 1264 | }, 1265 | "funding": { 1266 | "url": "https://github.com/sponsors/sindresorhus" 1267 | } 1268 | }, 1269 | "node_modules/get-intrinsic": { 1270 | "version": "1.3.0", 1271 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", 1272 | "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", 1273 | "dev": true, 1274 | "license": "MIT", 1275 | "dependencies": { 1276 | "call-bind-apply-helpers": "^1.0.2", 1277 | "es-define-property": "^1.0.1", 1278 | "es-errors": "^1.3.0", 1279 | "es-object-atoms": "^1.1.1", 1280 | "function-bind": "^1.1.2", 1281 | "get-proto": "^1.0.1", 1282 | "gopd": "^1.2.0", 1283 | "has-symbols": "^1.1.0", 1284 | "hasown": "^2.0.2", 1285 | "math-intrinsics": "^1.1.0" 1286 | }, 1287 | "engines": { 1288 | "node": ">= 0.4" 1289 | }, 1290 | "funding": { 1291 | "url": "https://github.com/sponsors/ljharb" 1292 | } 1293 | }, 1294 | "node_modules/get-proto": { 1295 | "version": "1.0.1", 1296 | "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", 1297 | "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", 1298 | "dev": true, 1299 | "license": "MIT", 1300 | "dependencies": { 1301 | "dunder-proto": "^1.0.1", 1302 | "es-object-atoms": "^1.0.0" 1303 | }, 1304 | "engines": { 1305 | "node": ">= 0.4" 1306 | } 1307 | }, 1308 | "node_modules/get-stream": { 1309 | "version": "8.0.1", 1310 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", 1311 | "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", 1312 | "dev": true, 1313 | "license": "MIT", 1314 | "engines": { 1315 | "node": ">=16" 1316 | }, 1317 | "funding": { 1318 | "url": "https://github.com/sponsors/sindresorhus" 1319 | } 1320 | }, 1321 | "node_modules/glob-to-regexp": { 1322 | "version": "0.4.1", 1323 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 1324 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", 1325 | "dev": true, 1326 | "license": "BSD-2-Clause" 1327 | }, 1328 | "node_modules/gopd": { 1329 | "version": "1.2.0", 1330 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", 1331 | "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", 1332 | "dev": true, 1333 | "license": "MIT", 1334 | "engines": { 1335 | "node": ">= 0.4" 1336 | }, 1337 | "funding": { 1338 | "url": "https://github.com/sponsors/ljharb" 1339 | } 1340 | }, 1341 | "node_modules/graceful-fs": { 1342 | "version": "4.2.11", 1343 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 1344 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 1345 | "dev": true, 1346 | "license": "ISC" 1347 | }, 1348 | "node_modules/gzip-size": { 1349 | "version": "6.0.0", 1350 | "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", 1351 | "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", 1352 | "dev": true, 1353 | "license": "MIT", 1354 | "dependencies": { 1355 | "duplexer": "^0.1.2" 1356 | }, 1357 | "engines": { 1358 | "node": ">=10" 1359 | }, 1360 | "funding": { 1361 | "url": "https://github.com/sponsors/sindresorhus" 1362 | } 1363 | }, 1364 | "node_modules/has-flag": { 1365 | "version": "4.0.0", 1366 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1367 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1368 | "dev": true, 1369 | "license": "MIT", 1370 | "engines": { 1371 | "node": ">=8" 1372 | } 1373 | }, 1374 | "node_modules/has-symbols": { 1375 | "version": "1.1.0", 1376 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", 1377 | "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", 1378 | "dev": true, 1379 | "license": "MIT", 1380 | "engines": { 1381 | "node": ">= 0.4" 1382 | }, 1383 | "funding": { 1384 | "url": "https://github.com/sponsors/ljharb" 1385 | } 1386 | }, 1387 | "node_modules/hasown": { 1388 | "version": "2.0.2", 1389 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 1390 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 1391 | "dev": true, 1392 | "license": "MIT", 1393 | "dependencies": { 1394 | "function-bind": "^1.1.2" 1395 | }, 1396 | "engines": { 1397 | "node": ">= 0.4" 1398 | } 1399 | }, 1400 | "node_modules/html-escaper": { 1401 | "version": "2.0.2", 1402 | "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", 1403 | "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", 1404 | "dev": true, 1405 | "license": "MIT" 1406 | }, 1407 | "node_modules/http-parser-js": { 1408 | "version": "0.5.10", 1409 | "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", 1410 | "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", 1411 | "dev": true, 1412 | "license": "MIT" 1413 | }, 1414 | "node_modules/human-signals": { 1415 | "version": "5.0.0", 1416 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", 1417 | "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", 1418 | "dev": true, 1419 | "license": "Apache-2.0", 1420 | "engines": { 1421 | "node": ">=16.17.0" 1422 | } 1423 | }, 1424 | "node_modules/husky": { 1425 | "version": "9.1.7", 1426 | "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", 1427 | "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", 1428 | "dev": true, 1429 | "license": "MIT", 1430 | "bin": { 1431 | "husky": "bin.js" 1432 | }, 1433 | "engines": { 1434 | "node": ">=18" 1435 | }, 1436 | "funding": { 1437 | "url": "https://github.com/sponsors/typicode" 1438 | } 1439 | }, 1440 | "node_modules/iconv-lite": { 1441 | "version": "0.6.3", 1442 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 1443 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 1444 | "dev": true, 1445 | "license": "MIT", 1446 | "optional": true, 1447 | "dependencies": { 1448 | "safer-buffer": ">= 2.1.2 < 3.0.0" 1449 | }, 1450 | "engines": { 1451 | "node": ">=0.10.0" 1452 | } 1453 | }, 1454 | "node_modules/icss-utils": { 1455 | "version": "5.1.0", 1456 | "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", 1457 | "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", 1458 | "dev": true, 1459 | "license": "ISC", 1460 | "engines": { 1461 | "node": "^10 || ^12 || >= 14" 1462 | }, 1463 | "peerDependencies": { 1464 | "postcss": "^8.1.0" 1465 | } 1466 | }, 1467 | "node_modules/image-size": { 1468 | "version": "0.5.5", 1469 | "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", 1470 | "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", 1471 | "dev": true, 1472 | "license": "MIT", 1473 | "optional": true, 1474 | "bin": { 1475 | "image-size": "bin/image-size.js" 1476 | }, 1477 | "engines": { 1478 | "node": ">=0.10.0" 1479 | } 1480 | }, 1481 | "node_modules/import-local": { 1482 | "version": "3.2.0", 1483 | "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", 1484 | "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", 1485 | "dev": true, 1486 | "license": "MIT", 1487 | "dependencies": { 1488 | "pkg-dir": "^4.2.0", 1489 | "resolve-cwd": "^3.0.0" 1490 | }, 1491 | "bin": { 1492 | "import-local-fixture": "fixtures/cli.js" 1493 | }, 1494 | "engines": { 1495 | "node": ">=8" 1496 | }, 1497 | "funding": { 1498 | "url": "https://github.com/sponsors/sindresorhus" 1499 | } 1500 | }, 1501 | "node_modules/interpret": { 1502 | "version": "3.1.1", 1503 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", 1504 | "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", 1505 | "dev": true, 1506 | "license": "MIT", 1507 | "engines": { 1508 | "node": ">=10.13.0" 1509 | } 1510 | }, 1511 | "node_modules/is-core-module": { 1512 | "version": "2.16.1", 1513 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", 1514 | "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", 1515 | "dev": true, 1516 | "license": "MIT", 1517 | "dependencies": { 1518 | "hasown": "^2.0.2" 1519 | }, 1520 | "engines": { 1521 | "node": ">= 0.4" 1522 | }, 1523 | "funding": { 1524 | "url": "https://github.com/sponsors/ljharb" 1525 | } 1526 | }, 1527 | "node_modules/is-fullwidth-code-point": { 1528 | "version": "4.0.0", 1529 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", 1530 | "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", 1531 | "dev": true, 1532 | "license": "MIT", 1533 | "engines": { 1534 | "node": ">=12" 1535 | }, 1536 | "funding": { 1537 | "url": "https://github.com/sponsors/sindresorhus" 1538 | } 1539 | }, 1540 | "node_modules/is-number": { 1541 | "version": "7.0.0", 1542 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1543 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1544 | "dev": true, 1545 | "license": "MIT", 1546 | "engines": { 1547 | "node": ">=0.12.0" 1548 | } 1549 | }, 1550 | "node_modules/is-plain-object": { 1551 | "version": "2.0.4", 1552 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 1553 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 1554 | "dev": true, 1555 | "license": "MIT", 1556 | "dependencies": { 1557 | "isobject": "^3.0.1" 1558 | }, 1559 | "engines": { 1560 | "node": ">=0.10.0" 1561 | } 1562 | }, 1563 | "node_modules/is-stream": { 1564 | "version": "3.0.0", 1565 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", 1566 | "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", 1567 | "dev": true, 1568 | "license": "MIT", 1569 | "engines": { 1570 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1571 | }, 1572 | "funding": { 1573 | "url": "https://github.com/sponsors/sindresorhus" 1574 | } 1575 | }, 1576 | "node_modules/is-what": { 1577 | "version": "3.14.1", 1578 | "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", 1579 | "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", 1580 | "dev": true, 1581 | "license": "MIT" 1582 | }, 1583 | "node_modules/isexe": { 1584 | "version": "2.0.0", 1585 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1586 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1587 | "dev": true, 1588 | "license": "ISC" 1589 | }, 1590 | "node_modules/isobject": { 1591 | "version": "3.0.1", 1592 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 1593 | "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", 1594 | "dev": true, 1595 | "license": "MIT", 1596 | "engines": { 1597 | "node": ">=0.10.0" 1598 | } 1599 | }, 1600 | "node_modules/jest-worker": { 1601 | "version": "27.5.1", 1602 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", 1603 | "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", 1604 | "dev": true, 1605 | "license": "MIT", 1606 | "dependencies": { 1607 | "@types/node": "*", 1608 | "merge-stream": "^2.0.0", 1609 | "supports-color": "^8.0.0" 1610 | }, 1611 | "engines": { 1612 | "node": ">= 10.13.0" 1613 | } 1614 | }, 1615 | "node_modules/jquery": { 1616 | "version": "3.7.1", 1617 | "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", 1618 | "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", 1619 | "license": "MIT" 1620 | }, 1621 | "node_modules/json-parse-even-better-errors": { 1622 | "version": "2.3.1", 1623 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 1624 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", 1625 | "dev": true, 1626 | "license": "MIT" 1627 | }, 1628 | "node_modules/json-schema-traverse": { 1629 | "version": "1.0.0", 1630 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 1631 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 1632 | "dev": true, 1633 | "license": "MIT" 1634 | }, 1635 | "node_modules/kind-of": { 1636 | "version": "6.0.3", 1637 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 1638 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", 1639 | "dev": true, 1640 | "license": "MIT", 1641 | "engines": { 1642 | "node": ">=0.10.0" 1643 | } 1644 | }, 1645 | "node_modules/less": { 1646 | "version": "4.3.0", 1647 | "resolved": "https://registry.npmjs.org/less/-/less-4.3.0.tgz", 1648 | "integrity": "sha512-X9RyH9fvemArzfdP8Pi3irr7lor2Ok4rOttDXBhlwDg+wKQsXOXgHWduAJE1EsF7JJx0w0bcO6BC6tCKKYnXKA==", 1649 | "dev": true, 1650 | "license": "Apache-2.0", 1651 | "dependencies": { 1652 | "copy-anything": "^2.0.1", 1653 | "parse-node-version": "^1.0.1", 1654 | "tslib": "^2.3.0" 1655 | }, 1656 | "bin": { 1657 | "lessc": "bin/lessc" 1658 | }, 1659 | "engines": { 1660 | "node": ">=14" 1661 | }, 1662 | "optionalDependencies": { 1663 | "errno": "^0.1.1", 1664 | "graceful-fs": "^4.1.2", 1665 | "image-size": "~0.5.0", 1666 | "make-dir": "^2.1.0", 1667 | "mime": "^1.4.1", 1668 | "needle": "^3.1.0", 1669 | "source-map": "~0.6.0" 1670 | } 1671 | }, 1672 | "node_modules/less-loader": { 1673 | "version": "12.3.0", 1674 | "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.3.0.tgz", 1675 | "integrity": "sha512-0M6+uYulvYIWs52y0LqN4+QM9TqWAohYSNTo4htE8Z7Cn3G/qQMEmktfHmyJT23k+20kU9zHH2wrfFXkxNLtVw==", 1676 | "dev": true, 1677 | "license": "MIT", 1678 | "engines": { 1679 | "node": ">= 18.12.0" 1680 | }, 1681 | "funding": { 1682 | "type": "opencollective", 1683 | "url": "https://opencollective.com/webpack" 1684 | }, 1685 | "peerDependencies": { 1686 | "@rspack/core": "0.x || 1.x", 1687 | "less": "^3.5.0 || ^4.0.0", 1688 | "webpack": "^5.0.0" 1689 | }, 1690 | "peerDependenciesMeta": { 1691 | "@rspack/core": { 1692 | "optional": true 1693 | }, 1694 | "webpack": { 1695 | "optional": true 1696 | } 1697 | } 1698 | }, 1699 | "node_modules/lilconfig": { 1700 | "version": "3.1.3", 1701 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", 1702 | "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", 1703 | "dev": true, 1704 | "license": "MIT", 1705 | "engines": { 1706 | "node": ">=14" 1707 | }, 1708 | "funding": { 1709 | "url": "https://github.com/sponsors/antonk52" 1710 | } 1711 | }, 1712 | "node_modules/lint-staged": { 1713 | "version": "15.5.2", 1714 | "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.5.2.tgz", 1715 | "integrity": "sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==", 1716 | "dev": true, 1717 | "license": "MIT", 1718 | "dependencies": { 1719 | "chalk": "^5.4.1", 1720 | "commander": "^13.1.0", 1721 | "debug": "^4.4.0", 1722 | "execa": "^8.0.1", 1723 | "lilconfig": "^3.1.3", 1724 | "listr2": "^8.2.5", 1725 | "micromatch": "^4.0.8", 1726 | "pidtree": "^0.6.0", 1727 | "string-argv": "^0.3.2", 1728 | "yaml": "^2.7.0" 1729 | }, 1730 | "bin": { 1731 | "lint-staged": "bin/lint-staged.js" 1732 | }, 1733 | "engines": { 1734 | "node": ">=18.12.0" 1735 | }, 1736 | "funding": { 1737 | "url": "https://opencollective.com/lint-staged" 1738 | } 1739 | }, 1740 | "node_modules/listr2": { 1741 | "version": "8.3.3", 1742 | "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.3.3.tgz", 1743 | "integrity": "sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==", 1744 | "dev": true, 1745 | "license": "MIT", 1746 | "dependencies": { 1747 | "cli-truncate": "^4.0.0", 1748 | "colorette": "^2.0.20", 1749 | "eventemitter3": "^5.0.1", 1750 | "log-update": "^6.1.0", 1751 | "rfdc": "^1.4.1", 1752 | "wrap-ansi": "^9.0.0" 1753 | }, 1754 | "engines": { 1755 | "node": ">=18.0.0" 1756 | } 1757 | }, 1758 | "node_modules/livereload-js": { 1759 | "version": "2.4.0", 1760 | "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", 1761 | "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==", 1762 | "dev": true, 1763 | "license": "MIT" 1764 | }, 1765 | "node_modules/loader-runner": { 1766 | "version": "4.3.0", 1767 | "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", 1768 | "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", 1769 | "dev": true, 1770 | "license": "MIT", 1771 | "engines": { 1772 | "node": ">=6.11.5" 1773 | } 1774 | }, 1775 | "node_modules/locate-path": { 1776 | "version": "5.0.0", 1777 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 1778 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 1779 | "dev": true, 1780 | "license": "MIT", 1781 | "dependencies": { 1782 | "p-locate": "^4.1.0" 1783 | }, 1784 | "engines": { 1785 | "node": ">=8" 1786 | } 1787 | }, 1788 | "node_modules/log-update": { 1789 | "version": "6.1.0", 1790 | "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", 1791 | "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", 1792 | "dev": true, 1793 | "license": "MIT", 1794 | "dependencies": { 1795 | "ansi-escapes": "^7.0.0", 1796 | "cli-cursor": "^5.0.0", 1797 | "slice-ansi": "^7.1.0", 1798 | "strip-ansi": "^7.1.0", 1799 | "wrap-ansi": "^9.0.0" 1800 | }, 1801 | "engines": { 1802 | "node": ">=18" 1803 | }, 1804 | "funding": { 1805 | "url": "https://github.com/sponsors/sindresorhus" 1806 | } 1807 | }, 1808 | "node_modules/log-update/node_modules/is-fullwidth-code-point": { 1809 | "version": "5.0.0", 1810 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", 1811 | "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", 1812 | "dev": true, 1813 | "license": "MIT", 1814 | "dependencies": { 1815 | "get-east-asian-width": "^1.0.0" 1816 | }, 1817 | "engines": { 1818 | "node": ">=18" 1819 | }, 1820 | "funding": { 1821 | "url": "https://github.com/sponsors/sindresorhus" 1822 | } 1823 | }, 1824 | "node_modules/log-update/node_modules/slice-ansi": { 1825 | "version": "7.1.0", 1826 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", 1827 | "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", 1828 | "dev": true, 1829 | "license": "MIT", 1830 | "dependencies": { 1831 | "ansi-styles": "^6.2.1", 1832 | "is-fullwidth-code-point": "^5.0.0" 1833 | }, 1834 | "engines": { 1835 | "node": ">=18" 1836 | }, 1837 | "funding": { 1838 | "url": "https://github.com/chalk/slice-ansi?sponsor=1" 1839 | } 1840 | }, 1841 | "node_modules/make-dir": { 1842 | "version": "2.1.0", 1843 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", 1844 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", 1845 | "dev": true, 1846 | "license": "MIT", 1847 | "optional": true, 1848 | "dependencies": { 1849 | "pify": "^4.0.1", 1850 | "semver": "^5.6.0" 1851 | }, 1852 | "engines": { 1853 | "node": ">=6" 1854 | } 1855 | }, 1856 | "node_modules/make-dir/node_modules/semver": { 1857 | "version": "5.7.2", 1858 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", 1859 | "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", 1860 | "dev": true, 1861 | "license": "ISC", 1862 | "optional": true, 1863 | "bin": { 1864 | "semver": "bin/semver" 1865 | } 1866 | }, 1867 | "node_modules/math-intrinsics": { 1868 | "version": "1.1.0", 1869 | "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", 1870 | "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", 1871 | "dev": true, 1872 | "license": "MIT", 1873 | "engines": { 1874 | "node": ">= 0.4" 1875 | } 1876 | }, 1877 | "node_modules/merge-stream": { 1878 | "version": "2.0.0", 1879 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 1880 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 1881 | "dev": true, 1882 | "license": "MIT" 1883 | }, 1884 | "node_modules/micromatch": { 1885 | "version": "4.0.8", 1886 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 1887 | "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 1888 | "dev": true, 1889 | "license": "MIT", 1890 | "dependencies": { 1891 | "braces": "^3.0.3", 1892 | "picomatch": "^2.3.1" 1893 | }, 1894 | "engines": { 1895 | "node": ">=8.6" 1896 | } 1897 | }, 1898 | "node_modules/mime": { 1899 | "version": "1.6.0", 1900 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 1901 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 1902 | "dev": true, 1903 | "license": "MIT", 1904 | "optional": true, 1905 | "bin": { 1906 | "mime": "cli.js" 1907 | }, 1908 | "engines": { 1909 | "node": ">=4" 1910 | } 1911 | }, 1912 | "node_modules/mime-db": { 1913 | "version": "1.52.0", 1914 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1915 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 1916 | "dev": true, 1917 | "license": "MIT", 1918 | "engines": { 1919 | "node": ">= 0.6" 1920 | } 1921 | }, 1922 | "node_modules/mime-types": { 1923 | "version": "2.1.35", 1924 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1925 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1926 | "dev": true, 1927 | "license": "MIT", 1928 | "dependencies": { 1929 | "mime-db": "1.52.0" 1930 | }, 1931 | "engines": { 1932 | "node": ">= 0.6" 1933 | } 1934 | }, 1935 | "node_modules/mimic-fn": { 1936 | "version": "4.0.0", 1937 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", 1938 | "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", 1939 | "dev": true, 1940 | "license": "MIT", 1941 | "engines": { 1942 | "node": ">=12" 1943 | }, 1944 | "funding": { 1945 | "url": "https://github.com/sponsors/sindresorhus" 1946 | } 1947 | }, 1948 | "node_modules/mimic-function": { 1949 | "version": "5.0.1", 1950 | "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", 1951 | "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", 1952 | "dev": true, 1953 | "license": "MIT", 1954 | "engines": { 1955 | "node": ">=18" 1956 | }, 1957 | "funding": { 1958 | "url": "https://github.com/sponsors/sindresorhus" 1959 | } 1960 | }, 1961 | "node_modules/mrmime": { 1962 | "version": "2.0.1", 1963 | "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", 1964 | "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", 1965 | "dev": true, 1966 | "license": "MIT", 1967 | "engines": { 1968 | "node": ">=10" 1969 | } 1970 | }, 1971 | "node_modules/ms": { 1972 | "version": "2.1.3", 1973 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 1974 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 1975 | "dev": true, 1976 | "license": "MIT" 1977 | }, 1978 | "node_modules/nanoid": { 1979 | "version": "3.3.11", 1980 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", 1981 | "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 1982 | "dev": true, 1983 | "funding": [ 1984 | { 1985 | "type": "github", 1986 | "url": "https://github.com/sponsors/ai" 1987 | } 1988 | ], 1989 | "license": "MIT", 1990 | "bin": { 1991 | "nanoid": "bin/nanoid.cjs" 1992 | }, 1993 | "engines": { 1994 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1995 | } 1996 | }, 1997 | "node_modules/needle": { 1998 | "version": "3.3.1", 1999 | "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", 2000 | "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", 2001 | "dev": true, 2002 | "license": "MIT", 2003 | "optional": true, 2004 | "dependencies": { 2005 | "iconv-lite": "^0.6.3", 2006 | "sax": "^1.2.4" 2007 | }, 2008 | "bin": { 2009 | "needle": "bin/needle" 2010 | }, 2011 | "engines": { 2012 | "node": ">= 4.4.x" 2013 | } 2014 | }, 2015 | "node_modules/neo-async": { 2016 | "version": "2.6.2", 2017 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", 2018 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", 2019 | "dev": true, 2020 | "license": "MIT" 2021 | }, 2022 | "node_modules/node-releases": { 2023 | "version": "2.0.19", 2024 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", 2025 | "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", 2026 | "dev": true, 2027 | "license": "MIT" 2028 | }, 2029 | "node_modules/normalize-path": { 2030 | "version": "3.0.0", 2031 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2032 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 2033 | "dev": true, 2034 | "license": "MIT", 2035 | "engines": { 2036 | "node": ">=0.10.0" 2037 | } 2038 | }, 2039 | "node_modules/npm-run-path": { 2040 | "version": "5.3.0", 2041 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", 2042 | "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", 2043 | "dev": true, 2044 | "license": "MIT", 2045 | "dependencies": { 2046 | "path-key": "^4.0.0" 2047 | }, 2048 | "engines": { 2049 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 2050 | }, 2051 | "funding": { 2052 | "url": "https://github.com/sponsors/sindresorhus" 2053 | } 2054 | }, 2055 | "node_modules/npm-run-path/node_modules/path-key": { 2056 | "version": "4.0.0", 2057 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", 2058 | "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", 2059 | "dev": true, 2060 | "license": "MIT", 2061 | "engines": { 2062 | "node": ">=12" 2063 | }, 2064 | "funding": { 2065 | "url": "https://github.com/sponsors/sindresorhus" 2066 | } 2067 | }, 2068 | "node_modules/object-assign": { 2069 | "version": "4.1.1", 2070 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2071 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 2072 | "dev": true, 2073 | "license": "MIT", 2074 | "engines": { 2075 | "node": ">=0.10.0" 2076 | } 2077 | }, 2078 | "node_modules/object-inspect": { 2079 | "version": "1.13.4", 2080 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", 2081 | "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", 2082 | "dev": true, 2083 | "license": "MIT", 2084 | "engines": { 2085 | "node": ">= 0.4" 2086 | }, 2087 | "funding": { 2088 | "url": "https://github.com/sponsors/ljharb" 2089 | } 2090 | }, 2091 | "node_modules/onetime": { 2092 | "version": "6.0.0", 2093 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", 2094 | "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", 2095 | "dev": true, 2096 | "license": "MIT", 2097 | "dependencies": { 2098 | "mimic-fn": "^4.0.0" 2099 | }, 2100 | "engines": { 2101 | "node": ">=12" 2102 | }, 2103 | "funding": { 2104 | "url": "https://github.com/sponsors/sindresorhus" 2105 | } 2106 | }, 2107 | "node_modules/opener": { 2108 | "version": "1.5.2", 2109 | "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", 2110 | "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", 2111 | "dev": true, 2112 | "license": "(WTFPL OR MIT)", 2113 | "bin": { 2114 | "opener": "bin/opener-bin.js" 2115 | } 2116 | }, 2117 | "node_modules/p-limit": { 2118 | "version": "2.3.0", 2119 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 2120 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 2121 | "dev": true, 2122 | "license": "MIT", 2123 | "dependencies": { 2124 | "p-try": "^2.0.0" 2125 | }, 2126 | "engines": { 2127 | "node": ">=6" 2128 | }, 2129 | "funding": { 2130 | "url": "https://github.com/sponsors/sindresorhus" 2131 | } 2132 | }, 2133 | "node_modules/p-locate": { 2134 | "version": "4.1.0", 2135 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 2136 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 2137 | "dev": true, 2138 | "license": "MIT", 2139 | "dependencies": { 2140 | "p-limit": "^2.2.0" 2141 | }, 2142 | "engines": { 2143 | "node": ">=8" 2144 | } 2145 | }, 2146 | "node_modules/p-try": { 2147 | "version": "2.2.0", 2148 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 2149 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 2150 | "dev": true, 2151 | "license": "MIT", 2152 | "engines": { 2153 | "node": ">=6" 2154 | } 2155 | }, 2156 | "node_modules/parse-node-version": { 2157 | "version": "1.0.1", 2158 | "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", 2159 | "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", 2160 | "dev": true, 2161 | "license": "MIT", 2162 | "engines": { 2163 | "node": ">= 0.10" 2164 | } 2165 | }, 2166 | "node_modules/path-exists": { 2167 | "version": "4.0.0", 2168 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 2169 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 2170 | "dev": true, 2171 | "license": "MIT", 2172 | "engines": { 2173 | "node": ">=8" 2174 | } 2175 | }, 2176 | "node_modules/path-key": { 2177 | "version": "3.1.1", 2178 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 2179 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 2180 | "dev": true, 2181 | "license": "MIT", 2182 | "engines": { 2183 | "node": ">=8" 2184 | } 2185 | }, 2186 | "node_modules/path-parse": { 2187 | "version": "1.0.7", 2188 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2189 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 2190 | "dev": true, 2191 | "license": "MIT" 2192 | }, 2193 | "node_modules/picocolors": { 2194 | "version": "1.1.1", 2195 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 2196 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 2197 | "dev": true, 2198 | "license": "ISC" 2199 | }, 2200 | "node_modules/picomatch": { 2201 | "version": "2.3.1", 2202 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2203 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2204 | "dev": true, 2205 | "license": "MIT", 2206 | "engines": { 2207 | "node": ">=8.6" 2208 | }, 2209 | "funding": { 2210 | "url": "https://github.com/sponsors/jonschlinkert" 2211 | } 2212 | }, 2213 | "node_modules/pidtree": { 2214 | "version": "0.6.0", 2215 | "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", 2216 | "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", 2217 | "dev": true, 2218 | "license": "MIT", 2219 | "bin": { 2220 | "pidtree": "bin/pidtree.js" 2221 | }, 2222 | "engines": { 2223 | "node": ">=0.10" 2224 | } 2225 | }, 2226 | "node_modules/pify": { 2227 | "version": "4.0.1", 2228 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", 2229 | "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", 2230 | "dev": true, 2231 | "license": "MIT", 2232 | "optional": true, 2233 | "engines": { 2234 | "node": ">=6" 2235 | } 2236 | }, 2237 | "node_modules/pkg-dir": { 2238 | "version": "4.2.0", 2239 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 2240 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", 2241 | "dev": true, 2242 | "license": "MIT", 2243 | "dependencies": { 2244 | "find-up": "^4.0.0" 2245 | }, 2246 | "engines": { 2247 | "node": ">=8" 2248 | } 2249 | }, 2250 | "node_modules/portfinder": { 2251 | "version": "1.0.37", 2252 | "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.37.tgz", 2253 | "integrity": "sha512-yuGIEjDAYnnOex9ddMnKZEMFE0CcGo6zbfzDklkmT1m5z734ss6JMzN9rNB3+RR7iS+F10D4/BVIaXOyh8PQKw==", 2254 | "dev": true, 2255 | "license": "MIT", 2256 | "dependencies": { 2257 | "async": "^3.2.6", 2258 | "debug": "^4.3.6" 2259 | }, 2260 | "engines": { 2261 | "node": ">= 10.12" 2262 | } 2263 | }, 2264 | "node_modules/postcss": { 2265 | "version": "8.5.3", 2266 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", 2267 | "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", 2268 | "dev": true, 2269 | "funding": [ 2270 | { 2271 | "type": "opencollective", 2272 | "url": "https://opencollective.com/postcss/" 2273 | }, 2274 | { 2275 | "type": "tidelift", 2276 | "url": "https://tidelift.com/funding/github/npm/postcss" 2277 | }, 2278 | { 2279 | "type": "github", 2280 | "url": "https://github.com/sponsors/ai" 2281 | } 2282 | ], 2283 | "license": "MIT", 2284 | "dependencies": { 2285 | "nanoid": "^3.3.8", 2286 | "picocolors": "^1.1.1", 2287 | "source-map-js": "^1.2.1" 2288 | }, 2289 | "engines": { 2290 | "node": "^10 || ^12 || >=14" 2291 | } 2292 | }, 2293 | "node_modules/postcss-modules-extract-imports": { 2294 | "version": "3.1.0", 2295 | "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", 2296 | "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", 2297 | "dev": true, 2298 | "license": "ISC", 2299 | "engines": { 2300 | "node": "^10 || ^12 || >= 14" 2301 | }, 2302 | "peerDependencies": { 2303 | "postcss": "^8.1.0" 2304 | } 2305 | }, 2306 | "node_modules/postcss-modules-local-by-default": { 2307 | "version": "4.2.0", 2308 | "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", 2309 | "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", 2310 | "dev": true, 2311 | "license": "MIT", 2312 | "dependencies": { 2313 | "icss-utils": "^5.0.0", 2314 | "postcss-selector-parser": "^7.0.0", 2315 | "postcss-value-parser": "^4.1.0" 2316 | }, 2317 | "engines": { 2318 | "node": "^10 || ^12 || >= 14" 2319 | }, 2320 | "peerDependencies": { 2321 | "postcss": "^8.1.0" 2322 | } 2323 | }, 2324 | "node_modules/postcss-modules-scope": { 2325 | "version": "3.2.1", 2326 | "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", 2327 | "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", 2328 | "dev": true, 2329 | "license": "ISC", 2330 | "dependencies": { 2331 | "postcss-selector-parser": "^7.0.0" 2332 | }, 2333 | "engines": { 2334 | "node": "^10 || ^12 || >= 14" 2335 | }, 2336 | "peerDependencies": { 2337 | "postcss": "^8.1.0" 2338 | } 2339 | }, 2340 | "node_modules/postcss-modules-values": { 2341 | "version": "4.0.0", 2342 | "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", 2343 | "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", 2344 | "dev": true, 2345 | "license": "ISC", 2346 | "dependencies": { 2347 | "icss-utils": "^5.0.0" 2348 | }, 2349 | "engines": { 2350 | "node": "^10 || ^12 || >= 14" 2351 | }, 2352 | "peerDependencies": { 2353 | "postcss": "^8.1.0" 2354 | } 2355 | }, 2356 | "node_modules/postcss-selector-parser": { 2357 | "version": "7.1.0", 2358 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", 2359 | "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", 2360 | "dev": true, 2361 | "license": "MIT", 2362 | "dependencies": { 2363 | "cssesc": "^3.0.0", 2364 | "util-deprecate": "^1.0.2" 2365 | }, 2366 | "engines": { 2367 | "node": ">=4" 2368 | } 2369 | }, 2370 | "node_modules/postcss-value-parser": { 2371 | "version": "4.2.0", 2372 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 2373 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 2374 | "dev": true, 2375 | "license": "MIT" 2376 | }, 2377 | "node_modules/prettier": { 2378 | "version": "3.5.3", 2379 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", 2380 | "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", 2381 | "dev": true, 2382 | "license": "MIT", 2383 | "bin": { 2384 | "prettier": "bin/prettier.cjs" 2385 | }, 2386 | "engines": { 2387 | "node": ">=14" 2388 | }, 2389 | "funding": { 2390 | "url": "https://github.com/prettier/prettier?sponsor=1" 2391 | } 2392 | }, 2393 | "node_modules/prr": { 2394 | "version": "1.0.1", 2395 | "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", 2396 | "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", 2397 | "dev": true, 2398 | "license": "MIT", 2399 | "optional": true 2400 | }, 2401 | "node_modules/qs": { 2402 | "version": "6.14.0", 2403 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", 2404 | "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", 2405 | "dev": true, 2406 | "license": "BSD-3-Clause", 2407 | "dependencies": { 2408 | "side-channel": "^1.1.0" 2409 | }, 2410 | "engines": { 2411 | "node": ">=0.6" 2412 | }, 2413 | "funding": { 2414 | "url": "https://github.com/sponsors/ljharb" 2415 | } 2416 | }, 2417 | "node_modules/randombytes": { 2418 | "version": "2.1.0", 2419 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 2420 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 2421 | "dev": true, 2422 | "license": "MIT", 2423 | "dependencies": { 2424 | "safe-buffer": "^5.1.0" 2425 | } 2426 | }, 2427 | "node_modules/raw-body": { 2428 | "version": "1.1.7", 2429 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", 2430 | "integrity": "sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg==", 2431 | "dev": true, 2432 | "license": "MIT", 2433 | "dependencies": { 2434 | "bytes": "1", 2435 | "string_decoder": "0.10" 2436 | }, 2437 | "engines": { 2438 | "node": ">= 0.8.0" 2439 | } 2440 | }, 2441 | "node_modules/rechoir": { 2442 | "version": "0.8.0", 2443 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", 2444 | "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", 2445 | "dev": true, 2446 | "license": "MIT", 2447 | "dependencies": { 2448 | "resolve": "^1.20.0" 2449 | }, 2450 | "engines": { 2451 | "node": ">= 10.13.0" 2452 | } 2453 | }, 2454 | "node_modules/require-from-string": { 2455 | "version": "2.0.2", 2456 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 2457 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 2458 | "dev": true, 2459 | "license": "MIT", 2460 | "engines": { 2461 | "node": ">=0.10.0" 2462 | } 2463 | }, 2464 | "node_modules/resolve": { 2465 | "version": "1.22.10", 2466 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", 2467 | "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", 2468 | "dev": true, 2469 | "license": "MIT", 2470 | "dependencies": { 2471 | "is-core-module": "^2.16.0", 2472 | "path-parse": "^1.0.7", 2473 | "supports-preserve-symlinks-flag": "^1.0.0" 2474 | }, 2475 | "bin": { 2476 | "resolve": "bin/resolve" 2477 | }, 2478 | "engines": { 2479 | "node": ">= 0.4" 2480 | }, 2481 | "funding": { 2482 | "url": "https://github.com/sponsors/ljharb" 2483 | } 2484 | }, 2485 | "node_modules/resolve-cwd": { 2486 | "version": "3.0.0", 2487 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", 2488 | "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", 2489 | "dev": true, 2490 | "license": "MIT", 2491 | "dependencies": { 2492 | "resolve-from": "^5.0.0" 2493 | }, 2494 | "engines": { 2495 | "node": ">=8" 2496 | } 2497 | }, 2498 | "node_modules/resolve-from": { 2499 | "version": "5.0.0", 2500 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", 2501 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", 2502 | "dev": true, 2503 | "license": "MIT", 2504 | "engines": { 2505 | "node": ">=8" 2506 | } 2507 | }, 2508 | "node_modules/restore-cursor": { 2509 | "version": "5.1.0", 2510 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", 2511 | "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", 2512 | "dev": true, 2513 | "license": "MIT", 2514 | "dependencies": { 2515 | "onetime": "^7.0.0", 2516 | "signal-exit": "^4.1.0" 2517 | }, 2518 | "engines": { 2519 | "node": ">=18" 2520 | }, 2521 | "funding": { 2522 | "url": "https://github.com/sponsors/sindresorhus" 2523 | } 2524 | }, 2525 | "node_modules/restore-cursor/node_modules/onetime": { 2526 | "version": "7.0.0", 2527 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", 2528 | "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", 2529 | "dev": true, 2530 | "license": "MIT", 2531 | "dependencies": { 2532 | "mimic-function": "^5.0.0" 2533 | }, 2534 | "engines": { 2535 | "node": ">=18" 2536 | }, 2537 | "funding": { 2538 | "url": "https://github.com/sponsors/sindresorhus" 2539 | } 2540 | }, 2541 | "node_modules/rfdc": { 2542 | "version": "1.4.1", 2543 | "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", 2544 | "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", 2545 | "dev": true, 2546 | "license": "MIT" 2547 | }, 2548 | "node_modules/safe-buffer": { 2549 | "version": "5.2.1", 2550 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2551 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 2552 | "dev": true, 2553 | "funding": [ 2554 | { 2555 | "type": "github", 2556 | "url": "https://github.com/sponsors/feross" 2557 | }, 2558 | { 2559 | "type": "patreon", 2560 | "url": "https://www.patreon.com/feross" 2561 | }, 2562 | { 2563 | "type": "consulting", 2564 | "url": "https://feross.org/support" 2565 | } 2566 | ], 2567 | "license": "MIT" 2568 | }, 2569 | "node_modules/safe-json-parse": { 2570 | "version": "1.0.1", 2571 | "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", 2572 | "integrity": "sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A==", 2573 | "dev": true 2574 | }, 2575 | "node_modules/safer-buffer": { 2576 | "version": "2.1.2", 2577 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2578 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 2579 | "dev": true, 2580 | "license": "MIT", 2581 | "optional": true 2582 | }, 2583 | "node_modules/sax": { 2584 | "version": "1.4.1", 2585 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", 2586 | "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", 2587 | "dev": true, 2588 | "license": "ISC", 2589 | "optional": true 2590 | }, 2591 | "node_modules/schema-utils": { 2592 | "version": "4.3.2", 2593 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", 2594 | "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", 2595 | "dev": true, 2596 | "license": "MIT", 2597 | "dependencies": { 2598 | "@types/json-schema": "^7.0.9", 2599 | "ajv": "^8.9.0", 2600 | "ajv-formats": "^2.1.1", 2601 | "ajv-keywords": "^5.1.0" 2602 | }, 2603 | "engines": { 2604 | "node": ">= 10.13.0" 2605 | }, 2606 | "funding": { 2607 | "type": "opencollective", 2608 | "url": "https://opencollective.com/webpack" 2609 | } 2610 | }, 2611 | "node_modules/semver": { 2612 | "version": "7.7.2", 2613 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", 2614 | "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", 2615 | "dev": true, 2616 | "license": "ISC", 2617 | "bin": { 2618 | "semver": "bin/semver.js" 2619 | }, 2620 | "engines": { 2621 | "node": ">=10" 2622 | } 2623 | }, 2624 | "node_modules/serialize-javascript": { 2625 | "version": "6.0.2", 2626 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", 2627 | "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", 2628 | "dev": true, 2629 | "license": "BSD-3-Clause", 2630 | "dependencies": { 2631 | "randombytes": "^2.1.0" 2632 | } 2633 | }, 2634 | "node_modules/shallow-clone": { 2635 | "version": "3.0.1", 2636 | "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", 2637 | "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", 2638 | "dev": true, 2639 | "license": "MIT", 2640 | "dependencies": { 2641 | "kind-of": "^6.0.2" 2642 | }, 2643 | "engines": { 2644 | "node": ">=8" 2645 | } 2646 | }, 2647 | "node_modules/shebang-command": { 2648 | "version": "2.0.0", 2649 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 2650 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 2651 | "dev": true, 2652 | "license": "MIT", 2653 | "dependencies": { 2654 | "shebang-regex": "^3.0.0" 2655 | }, 2656 | "engines": { 2657 | "node": ">=8" 2658 | } 2659 | }, 2660 | "node_modules/shebang-regex": { 2661 | "version": "3.0.0", 2662 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 2663 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 2664 | "dev": true, 2665 | "license": "MIT", 2666 | "engines": { 2667 | "node": ">=8" 2668 | } 2669 | }, 2670 | "node_modules/side-channel": { 2671 | "version": "1.1.0", 2672 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", 2673 | "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", 2674 | "dev": true, 2675 | "license": "MIT", 2676 | "dependencies": { 2677 | "es-errors": "^1.3.0", 2678 | "object-inspect": "^1.13.3", 2679 | "side-channel-list": "^1.0.0", 2680 | "side-channel-map": "^1.0.1", 2681 | "side-channel-weakmap": "^1.0.2" 2682 | }, 2683 | "engines": { 2684 | "node": ">= 0.4" 2685 | }, 2686 | "funding": { 2687 | "url": "https://github.com/sponsors/ljharb" 2688 | } 2689 | }, 2690 | "node_modules/side-channel-list": { 2691 | "version": "1.0.0", 2692 | "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", 2693 | "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", 2694 | "dev": true, 2695 | "license": "MIT", 2696 | "dependencies": { 2697 | "es-errors": "^1.3.0", 2698 | "object-inspect": "^1.13.3" 2699 | }, 2700 | "engines": { 2701 | "node": ">= 0.4" 2702 | }, 2703 | "funding": { 2704 | "url": "https://github.com/sponsors/ljharb" 2705 | } 2706 | }, 2707 | "node_modules/side-channel-map": { 2708 | "version": "1.0.1", 2709 | "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", 2710 | "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", 2711 | "dev": true, 2712 | "license": "MIT", 2713 | "dependencies": { 2714 | "call-bound": "^1.0.2", 2715 | "es-errors": "^1.3.0", 2716 | "get-intrinsic": "^1.2.5", 2717 | "object-inspect": "^1.13.3" 2718 | }, 2719 | "engines": { 2720 | "node": ">= 0.4" 2721 | }, 2722 | "funding": { 2723 | "url": "https://github.com/sponsors/ljharb" 2724 | } 2725 | }, 2726 | "node_modules/side-channel-weakmap": { 2727 | "version": "1.0.2", 2728 | "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", 2729 | "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", 2730 | "dev": true, 2731 | "license": "MIT", 2732 | "dependencies": { 2733 | "call-bound": "^1.0.2", 2734 | "es-errors": "^1.3.0", 2735 | "get-intrinsic": "^1.2.5", 2736 | "object-inspect": "^1.13.3", 2737 | "side-channel-map": "^1.0.1" 2738 | }, 2739 | "engines": { 2740 | "node": ">= 0.4" 2741 | }, 2742 | "funding": { 2743 | "url": "https://github.com/sponsors/ljharb" 2744 | } 2745 | }, 2746 | "node_modules/signal-exit": { 2747 | "version": "4.1.0", 2748 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 2749 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 2750 | "dev": true, 2751 | "license": "ISC", 2752 | "engines": { 2753 | "node": ">=14" 2754 | }, 2755 | "funding": { 2756 | "url": "https://github.com/sponsors/isaacs" 2757 | } 2758 | }, 2759 | "node_modules/sirv": { 2760 | "version": "2.0.4", 2761 | "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", 2762 | "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", 2763 | "dev": true, 2764 | "license": "MIT", 2765 | "dependencies": { 2766 | "@polka/url": "^1.0.0-next.24", 2767 | "mrmime": "^2.0.0", 2768 | "totalist": "^3.0.0" 2769 | }, 2770 | "engines": { 2771 | "node": ">= 10" 2772 | } 2773 | }, 2774 | "node_modules/slice-ansi": { 2775 | "version": "5.0.0", 2776 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", 2777 | "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", 2778 | "dev": true, 2779 | "license": "MIT", 2780 | "dependencies": { 2781 | "ansi-styles": "^6.0.0", 2782 | "is-fullwidth-code-point": "^4.0.0" 2783 | }, 2784 | "engines": { 2785 | "node": ">=12" 2786 | }, 2787 | "funding": { 2788 | "url": "https://github.com/chalk/slice-ansi?sponsor=1" 2789 | } 2790 | }, 2791 | "node_modules/source-map": { 2792 | "version": "0.6.1", 2793 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2794 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2795 | "dev": true, 2796 | "license": "BSD-3-Clause", 2797 | "engines": { 2798 | "node": ">=0.10.0" 2799 | } 2800 | }, 2801 | "node_modules/source-map-js": { 2802 | "version": "1.2.1", 2803 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 2804 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 2805 | "dev": true, 2806 | "license": "BSD-3-Clause", 2807 | "engines": { 2808 | "node": ">=0.10.0" 2809 | } 2810 | }, 2811 | "node_modules/source-map-support": { 2812 | "version": "0.5.21", 2813 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 2814 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 2815 | "dev": true, 2816 | "license": "MIT", 2817 | "dependencies": { 2818 | "buffer-from": "^1.0.0", 2819 | "source-map": "^0.6.0" 2820 | } 2821 | }, 2822 | "node_modules/string_decoder": { 2823 | "version": "0.10.31", 2824 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 2825 | "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", 2826 | "dev": true, 2827 | "license": "MIT" 2828 | }, 2829 | "node_modules/string-argv": { 2830 | "version": "0.3.2", 2831 | "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", 2832 | "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", 2833 | "dev": true, 2834 | "license": "MIT", 2835 | "engines": { 2836 | "node": ">=0.6.19" 2837 | } 2838 | }, 2839 | "node_modules/string-template": { 2840 | "version": "0.2.1", 2841 | "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", 2842 | "integrity": "sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==", 2843 | "dev": true 2844 | }, 2845 | "node_modules/string-width": { 2846 | "version": "7.2.0", 2847 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", 2848 | "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", 2849 | "dev": true, 2850 | "license": "MIT", 2851 | "dependencies": { 2852 | "emoji-regex": "^10.3.0", 2853 | "get-east-asian-width": "^1.0.0", 2854 | "strip-ansi": "^7.1.0" 2855 | }, 2856 | "engines": { 2857 | "node": ">=18" 2858 | }, 2859 | "funding": { 2860 | "url": "https://github.com/sponsors/sindresorhus" 2861 | } 2862 | }, 2863 | "node_modules/strip-ansi": { 2864 | "version": "7.1.0", 2865 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 2866 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 2867 | "dev": true, 2868 | "license": "MIT", 2869 | "dependencies": { 2870 | "ansi-regex": "^6.0.1" 2871 | }, 2872 | "engines": { 2873 | "node": ">=12" 2874 | }, 2875 | "funding": { 2876 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 2877 | } 2878 | }, 2879 | "node_modules/strip-final-newline": { 2880 | "version": "3.0.0", 2881 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", 2882 | "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", 2883 | "dev": true, 2884 | "license": "MIT", 2885 | "engines": { 2886 | "node": ">=12" 2887 | }, 2888 | "funding": { 2889 | "url": "https://github.com/sponsors/sindresorhus" 2890 | } 2891 | }, 2892 | "node_modules/style-loader": { 2893 | "version": "4.0.0", 2894 | "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", 2895 | "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==", 2896 | "dev": true, 2897 | "license": "MIT", 2898 | "engines": { 2899 | "node": ">= 18.12.0" 2900 | }, 2901 | "funding": { 2902 | "type": "opencollective", 2903 | "url": "https://opencollective.com/webpack" 2904 | }, 2905 | "peerDependencies": { 2906 | "webpack": "^5.27.0" 2907 | } 2908 | }, 2909 | "node_modules/supports-color": { 2910 | "version": "8.1.1", 2911 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 2912 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 2913 | "dev": true, 2914 | "license": "MIT", 2915 | "dependencies": { 2916 | "has-flag": "^4.0.0" 2917 | }, 2918 | "engines": { 2919 | "node": ">=10" 2920 | }, 2921 | "funding": { 2922 | "url": "https://github.com/chalk/supports-color?sponsor=1" 2923 | } 2924 | }, 2925 | "node_modules/supports-preserve-symlinks-flag": { 2926 | "version": "1.0.0", 2927 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 2928 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 2929 | "dev": true, 2930 | "license": "MIT", 2931 | "engines": { 2932 | "node": ">= 0.4" 2933 | }, 2934 | "funding": { 2935 | "url": "https://github.com/sponsors/ljharb" 2936 | } 2937 | }, 2938 | "node_modules/tapable": { 2939 | "version": "2.2.2", 2940 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", 2941 | "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", 2942 | "dev": true, 2943 | "license": "MIT", 2944 | "engines": { 2945 | "node": ">=6" 2946 | } 2947 | }, 2948 | "node_modules/terser": { 2949 | "version": "5.39.2", 2950 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.2.tgz", 2951 | "integrity": "sha512-yEPUmWve+VA78bI71BW70Dh0TuV4HHd+I5SHOAfS1+QBOmvmCiiffgjR8ryyEd3KIfvPGFqoADt8LdQ6XpXIvg==", 2952 | "dev": true, 2953 | "license": "BSD-2-Clause", 2954 | "dependencies": { 2955 | "@jridgewell/source-map": "^0.3.3", 2956 | "acorn": "^8.14.0", 2957 | "commander": "^2.20.0", 2958 | "source-map-support": "~0.5.20" 2959 | }, 2960 | "bin": { 2961 | "terser": "bin/terser" 2962 | }, 2963 | "engines": { 2964 | "node": ">=10" 2965 | } 2966 | }, 2967 | "node_modules/terser-webpack-plugin": { 2968 | "version": "5.3.14", 2969 | "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", 2970 | "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", 2971 | "dev": true, 2972 | "license": "MIT", 2973 | "dependencies": { 2974 | "@jridgewell/trace-mapping": "^0.3.25", 2975 | "jest-worker": "^27.4.5", 2976 | "schema-utils": "^4.3.0", 2977 | "serialize-javascript": "^6.0.2", 2978 | "terser": "^5.31.1" 2979 | }, 2980 | "engines": { 2981 | "node": ">= 10.13.0" 2982 | }, 2983 | "funding": { 2984 | "type": "opencollective", 2985 | "url": "https://opencollective.com/webpack" 2986 | }, 2987 | "peerDependencies": { 2988 | "webpack": "^5.1.0" 2989 | }, 2990 | "peerDependenciesMeta": { 2991 | "@swc/core": { 2992 | "optional": true 2993 | }, 2994 | "esbuild": { 2995 | "optional": true 2996 | }, 2997 | "uglify-js": { 2998 | "optional": true 2999 | } 3000 | } 3001 | }, 3002 | "node_modules/terser/node_modules/commander": { 3003 | "version": "2.20.3", 3004 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 3005 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 3006 | "dev": true, 3007 | "license": "MIT" 3008 | }, 3009 | "node_modules/tiny-lr": { 3010 | "version": "1.1.1", 3011 | "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", 3012 | "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", 3013 | "dev": true, 3014 | "license": "MIT", 3015 | "dependencies": { 3016 | "body": "^5.1.0", 3017 | "debug": "^3.1.0", 3018 | "faye-websocket": "~0.10.0", 3019 | "livereload-js": "^2.3.0", 3020 | "object-assign": "^4.1.0", 3021 | "qs": "^6.4.0" 3022 | } 3023 | }, 3024 | "node_modules/tiny-lr/node_modules/debug": { 3025 | "version": "3.2.7", 3026 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 3027 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 3028 | "dev": true, 3029 | "license": "MIT", 3030 | "dependencies": { 3031 | "ms": "^2.1.1" 3032 | } 3033 | }, 3034 | "node_modules/to-regex-range": { 3035 | "version": "5.0.1", 3036 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3037 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3038 | "dev": true, 3039 | "license": "MIT", 3040 | "dependencies": { 3041 | "is-number": "^7.0.0" 3042 | }, 3043 | "engines": { 3044 | "node": ">=8.0" 3045 | } 3046 | }, 3047 | "node_modules/totalist": { 3048 | "version": "3.0.1", 3049 | "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", 3050 | "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", 3051 | "dev": true, 3052 | "license": "MIT", 3053 | "engines": { 3054 | "node": ">=6" 3055 | } 3056 | }, 3057 | "node_modules/ts-loader": { 3058 | "version": "9.5.2", 3059 | "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.2.tgz", 3060 | "integrity": "sha512-Qo4piXvOTWcMGIgRiuFa6nHNm+54HbYaZCKqc9eeZCLRy3XqafQgwX2F7mofrbJG3g7EEb+lkiR+z2Lic2s3Zw==", 3061 | "dev": true, 3062 | "license": "MIT", 3063 | "dependencies": { 3064 | "chalk": "^4.1.0", 3065 | "enhanced-resolve": "^5.0.0", 3066 | "micromatch": "^4.0.0", 3067 | "semver": "^7.3.4", 3068 | "source-map": "^0.7.4" 3069 | }, 3070 | "engines": { 3071 | "node": ">=12.0.0" 3072 | }, 3073 | "peerDependencies": { 3074 | "typescript": "*", 3075 | "webpack": "^5.0.0" 3076 | } 3077 | }, 3078 | "node_modules/ts-loader/node_modules/ansi-styles": { 3079 | "version": "4.3.0", 3080 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 3081 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 3082 | "dev": true, 3083 | "license": "MIT", 3084 | "dependencies": { 3085 | "color-convert": "^2.0.1" 3086 | }, 3087 | "engines": { 3088 | "node": ">=8" 3089 | }, 3090 | "funding": { 3091 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 3092 | } 3093 | }, 3094 | "node_modules/ts-loader/node_modules/chalk": { 3095 | "version": "4.1.2", 3096 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 3097 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 3098 | "dev": true, 3099 | "license": "MIT", 3100 | "dependencies": { 3101 | "ansi-styles": "^4.1.0", 3102 | "supports-color": "^7.1.0" 3103 | }, 3104 | "engines": { 3105 | "node": ">=10" 3106 | }, 3107 | "funding": { 3108 | "url": "https://github.com/chalk/chalk?sponsor=1" 3109 | } 3110 | }, 3111 | "node_modules/ts-loader/node_modules/source-map": { 3112 | "version": "0.7.4", 3113 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", 3114 | "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", 3115 | "dev": true, 3116 | "license": "BSD-3-Clause", 3117 | "engines": { 3118 | "node": ">= 8" 3119 | } 3120 | }, 3121 | "node_modules/ts-loader/node_modules/supports-color": { 3122 | "version": "7.2.0", 3123 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 3124 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 3125 | "dev": true, 3126 | "license": "MIT", 3127 | "dependencies": { 3128 | "has-flag": "^4.0.0" 3129 | }, 3130 | "engines": { 3131 | "node": ">=8" 3132 | } 3133 | }, 3134 | "node_modules/tslib": { 3135 | "version": "2.8.1", 3136 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 3137 | "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 3138 | "dev": true, 3139 | "license": "0BSD" 3140 | }, 3141 | "node_modules/typescript": { 3142 | "version": "5.8.3", 3143 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", 3144 | "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", 3145 | "dev": true, 3146 | "license": "Apache-2.0", 3147 | "bin": { 3148 | "tsc": "bin/tsc", 3149 | "tsserver": "bin/tsserver" 3150 | }, 3151 | "engines": { 3152 | "node": ">=14.17" 3153 | } 3154 | }, 3155 | "node_modules/undici-types": { 3156 | "version": "6.21.0", 3157 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", 3158 | "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", 3159 | "dev": true, 3160 | "license": "MIT" 3161 | }, 3162 | "node_modules/update-browserslist-db": { 3163 | "version": "1.1.3", 3164 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", 3165 | "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", 3166 | "dev": true, 3167 | "funding": [ 3168 | { 3169 | "type": "opencollective", 3170 | "url": "https://opencollective.com/browserslist" 3171 | }, 3172 | { 3173 | "type": "tidelift", 3174 | "url": "https://tidelift.com/funding/github/npm/browserslist" 3175 | }, 3176 | { 3177 | "type": "github", 3178 | "url": "https://github.com/sponsors/ai" 3179 | } 3180 | ], 3181 | "license": "MIT", 3182 | "dependencies": { 3183 | "escalade": "^3.2.0", 3184 | "picocolors": "^1.1.1" 3185 | }, 3186 | "bin": { 3187 | "update-browserslist-db": "cli.js" 3188 | }, 3189 | "peerDependencies": { 3190 | "browserslist": ">= 4.21.0" 3191 | } 3192 | }, 3193 | "node_modules/userscript-metadata-generator": { 3194 | "version": "0.2.4", 3195 | "resolved": "https://registry.npmjs.org/userscript-metadata-generator/-/userscript-metadata-generator-0.2.4.tgz", 3196 | "integrity": "sha512-9teLUxI8iBgXV3HrLP5n0ujKblFvh6n3vbBfkxn5zQpjNgA741Q1ntJYfj84jDuKcG69KSzF3LOsK9Mj1DXq6w==", 3197 | "dev": true, 3198 | "license": "MIT", 3199 | "engines": { 3200 | "node": ">=16.8.0" 3201 | } 3202 | }, 3203 | "node_modules/userscript-metadata-webpack-plugin": { 3204 | "version": "0.4.2", 3205 | "resolved": "https://registry.npmjs.org/userscript-metadata-webpack-plugin/-/userscript-metadata-webpack-plugin-0.4.2.tgz", 3206 | "integrity": "sha512-/+soFxvqCfXCfGZmranqTZ8UWOzbByf8KBl4FYFEpAvlHxUYKTHOkDHTLWrrSjyPlCGhMIs2eaRqOxkCTyuMQA==", 3207 | "dev": true, 3208 | "license": "MIT", 3209 | "dependencies": { 3210 | "userscript-metadata-generator": "^0.2.3" 3211 | }, 3212 | "peerDependencies": { 3213 | "webpack": "^5.0.0" 3214 | } 3215 | }, 3216 | "node_modules/util-deprecate": { 3217 | "version": "1.0.2", 3218 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3219 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 3220 | "dev": true, 3221 | "license": "MIT" 3222 | }, 3223 | "node_modules/watchpack": { 3224 | "version": "2.4.4", 3225 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", 3226 | "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", 3227 | "dev": true, 3228 | "license": "MIT", 3229 | "dependencies": { 3230 | "glob-to-regexp": "^0.4.1", 3231 | "graceful-fs": "^4.1.2" 3232 | }, 3233 | "engines": { 3234 | "node": ">=10.13.0" 3235 | } 3236 | }, 3237 | "node_modules/webpack": { 3238 | "version": "5.99.9", 3239 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.9.tgz", 3240 | "integrity": "sha512-brOPwM3JnmOa+7kd3NsmOUOwbDAj8FT9xDsG3IW0MgbN9yZV7Oi/s/+MNQ/EcSMqw7qfoRyXPoeEWT8zLVdVGg==", 3241 | "dev": true, 3242 | "license": "MIT", 3243 | "dependencies": { 3244 | "@types/eslint-scope": "^3.7.7", 3245 | "@types/estree": "^1.0.6", 3246 | "@types/json-schema": "^7.0.15", 3247 | "@webassemblyjs/ast": "^1.14.1", 3248 | "@webassemblyjs/wasm-edit": "^1.14.1", 3249 | "@webassemblyjs/wasm-parser": "^1.14.1", 3250 | "acorn": "^8.14.0", 3251 | "browserslist": "^4.24.0", 3252 | "chrome-trace-event": "^1.0.2", 3253 | "enhanced-resolve": "^5.17.1", 3254 | "es-module-lexer": "^1.2.1", 3255 | "eslint-scope": "5.1.1", 3256 | "events": "^3.2.0", 3257 | "glob-to-regexp": "^0.4.1", 3258 | "graceful-fs": "^4.2.11", 3259 | "json-parse-even-better-errors": "^2.3.1", 3260 | "loader-runner": "^4.2.0", 3261 | "mime-types": "^2.1.27", 3262 | "neo-async": "^2.6.2", 3263 | "schema-utils": "^4.3.2", 3264 | "tapable": "^2.1.1", 3265 | "terser-webpack-plugin": "^5.3.11", 3266 | "watchpack": "^2.4.1", 3267 | "webpack-sources": "^3.2.3" 3268 | }, 3269 | "bin": { 3270 | "webpack": "bin/webpack.js" 3271 | }, 3272 | "engines": { 3273 | "node": ">=10.13.0" 3274 | }, 3275 | "funding": { 3276 | "type": "opencollective", 3277 | "url": "https://opencollective.com/webpack" 3278 | }, 3279 | "peerDependenciesMeta": { 3280 | "webpack-cli": { 3281 | "optional": true 3282 | } 3283 | } 3284 | }, 3285 | "node_modules/webpack-bundle-analyzer": { 3286 | "version": "4.10.2", 3287 | "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", 3288 | "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", 3289 | "dev": true, 3290 | "license": "MIT", 3291 | "dependencies": { 3292 | "@discoveryjs/json-ext": "0.5.7", 3293 | "acorn": "^8.0.4", 3294 | "acorn-walk": "^8.0.0", 3295 | "commander": "^7.2.0", 3296 | "debounce": "^1.2.1", 3297 | "escape-string-regexp": "^4.0.0", 3298 | "gzip-size": "^6.0.0", 3299 | "html-escaper": "^2.0.2", 3300 | "opener": "^1.5.2", 3301 | "picocolors": "^1.0.0", 3302 | "sirv": "^2.0.3", 3303 | "ws": "^7.3.1" 3304 | }, 3305 | "bin": { 3306 | "webpack-bundle-analyzer": "lib/bin/analyzer.js" 3307 | }, 3308 | "engines": { 3309 | "node": ">= 10.13.0" 3310 | } 3311 | }, 3312 | "node_modules/webpack-bundle-analyzer/node_modules/commander": { 3313 | "version": "7.2.0", 3314 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", 3315 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", 3316 | "dev": true, 3317 | "license": "MIT", 3318 | "engines": { 3319 | "node": ">= 10" 3320 | } 3321 | }, 3322 | "node_modules/webpack-cli": { 3323 | "version": "6.0.1", 3324 | "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz", 3325 | "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", 3326 | "dev": true, 3327 | "license": "MIT", 3328 | "dependencies": { 3329 | "@discoveryjs/json-ext": "^0.6.1", 3330 | "@webpack-cli/configtest": "^3.0.1", 3331 | "@webpack-cli/info": "^3.0.1", 3332 | "@webpack-cli/serve": "^3.0.1", 3333 | "colorette": "^2.0.14", 3334 | "commander": "^12.1.0", 3335 | "cross-spawn": "^7.0.3", 3336 | "envinfo": "^7.14.0", 3337 | "fastest-levenshtein": "^1.0.12", 3338 | "import-local": "^3.0.2", 3339 | "interpret": "^3.1.1", 3340 | "rechoir": "^0.8.0", 3341 | "webpack-merge": "^6.0.1" 3342 | }, 3343 | "bin": { 3344 | "webpack-cli": "bin/cli.js" 3345 | }, 3346 | "engines": { 3347 | "node": ">=18.12.0" 3348 | }, 3349 | "funding": { 3350 | "type": "opencollective", 3351 | "url": "https://opencollective.com/webpack" 3352 | }, 3353 | "peerDependencies": { 3354 | "webpack": "^5.82.0" 3355 | }, 3356 | "peerDependenciesMeta": { 3357 | "webpack-bundle-analyzer": { 3358 | "optional": true 3359 | }, 3360 | "webpack-dev-server": { 3361 | "optional": true 3362 | } 3363 | } 3364 | }, 3365 | "node_modules/webpack-cli/node_modules/@discoveryjs/json-ext": { 3366 | "version": "0.6.3", 3367 | "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", 3368 | "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", 3369 | "dev": true, 3370 | "license": "MIT", 3371 | "engines": { 3372 | "node": ">=14.17.0" 3373 | } 3374 | }, 3375 | "node_modules/webpack-cli/node_modules/commander": { 3376 | "version": "12.1.0", 3377 | "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", 3378 | "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", 3379 | "dev": true, 3380 | "license": "MIT", 3381 | "engines": { 3382 | "node": ">=18" 3383 | } 3384 | }, 3385 | "node_modules/webpack-livereload-plugin": { 3386 | "version": "3.0.2", 3387 | "resolved": "https://registry.npmjs.org/webpack-livereload-plugin/-/webpack-livereload-plugin-3.0.2.tgz", 3388 | "integrity": "sha512-5JeZ2dgsvSNG+clrkD/u2sEiPcNk4qwCVZZmW8KpqKcNlkGv7IJjdVrq13+etAmMZYaCF1EGXdHkVFuLgP4zfw==", 3389 | "dev": true, 3390 | "license": "ISC", 3391 | "dependencies": { 3392 | "anymatch": "^3.1.1", 3393 | "portfinder": "^1.0.17", 3394 | "schema-utils": ">1.0.0", 3395 | "tiny-lr": "^1.1.1" 3396 | }, 3397 | "engines": { 3398 | "node": ">= 10.18.0" 3399 | }, 3400 | "peerDependencies": { 3401 | "webpack": "^4.0.0 || ^5.0.0" 3402 | } 3403 | }, 3404 | "node_modules/webpack-merge": { 3405 | "version": "6.0.1", 3406 | "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", 3407 | "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", 3408 | "dev": true, 3409 | "license": "MIT", 3410 | "dependencies": { 3411 | "clone-deep": "^4.0.1", 3412 | "flat": "^5.0.2", 3413 | "wildcard": "^2.0.1" 3414 | }, 3415 | "engines": { 3416 | "node": ">=18.0.0" 3417 | } 3418 | }, 3419 | "node_modules/webpack-sources": { 3420 | "version": "3.3.0", 3421 | "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.0.tgz", 3422 | "integrity": "sha512-77R0RDmJfj9dyv5p3bM5pOHa+X8/ZkO9c7kpDstigkC4nIDobadsfSGCwB4bKhMVxqAok8tajaoR8rirM7+VFQ==", 3423 | "dev": true, 3424 | "license": "MIT", 3425 | "engines": { 3426 | "node": ">=10.13.0" 3427 | } 3428 | }, 3429 | "node_modules/websocket-driver": { 3430 | "version": "0.7.4", 3431 | "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", 3432 | "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", 3433 | "dev": true, 3434 | "license": "Apache-2.0", 3435 | "dependencies": { 3436 | "http-parser-js": ">=0.5.1", 3437 | "safe-buffer": ">=5.1.0", 3438 | "websocket-extensions": ">=0.1.1" 3439 | }, 3440 | "engines": { 3441 | "node": ">=0.8.0" 3442 | } 3443 | }, 3444 | "node_modules/websocket-extensions": { 3445 | "version": "0.1.4", 3446 | "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", 3447 | "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", 3448 | "dev": true, 3449 | "license": "Apache-2.0", 3450 | "engines": { 3451 | "node": ">=0.8.0" 3452 | } 3453 | }, 3454 | "node_modules/which": { 3455 | "version": "2.0.2", 3456 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 3457 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 3458 | "dev": true, 3459 | "license": "ISC", 3460 | "dependencies": { 3461 | "isexe": "^2.0.0" 3462 | }, 3463 | "bin": { 3464 | "node-which": "bin/node-which" 3465 | }, 3466 | "engines": { 3467 | "node": ">= 8" 3468 | } 3469 | }, 3470 | "node_modules/wildcard": { 3471 | "version": "2.0.1", 3472 | "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", 3473 | "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", 3474 | "dev": true, 3475 | "license": "MIT" 3476 | }, 3477 | "node_modules/wrap-ansi": { 3478 | "version": "9.0.0", 3479 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", 3480 | "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", 3481 | "dev": true, 3482 | "license": "MIT", 3483 | "dependencies": { 3484 | "ansi-styles": "^6.2.1", 3485 | "string-width": "^7.0.0", 3486 | "strip-ansi": "^7.1.0" 3487 | }, 3488 | "engines": { 3489 | "node": ">=18" 3490 | }, 3491 | "funding": { 3492 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 3493 | } 3494 | }, 3495 | "node_modules/ws": { 3496 | "version": "7.5.10", 3497 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", 3498 | "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", 3499 | "dev": true, 3500 | "license": "MIT", 3501 | "engines": { 3502 | "node": ">=8.3.0" 3503 | }, 3504 | "peerDependencies": { 3505 | "bufferutil": "^4.0.1", 3506 | "utf-8-validate": "^5.0.2" 3507 | }, 3508 | "peerDependenciesMeta": { 3509 | "bufferutil": { 3510 | "optional": true 3511 | }, 3512 | "utf-8-validate": { 3513 | "optional": true 3514 | } 3515 | } 3516 | }, 3517 | "node_modules/yaml": { 3518 | "version": "2.8.0", 3519 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", 3520 | "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", 3521 | "dev": true, 3522 | "license": "ISC", 3523 | "bin": { 3524 | "yaml": "bin.mjs" 3525 | }, 3526 | "engines": { 3527 | "node": ">= 14.6" 3528 | } 3529 | } 3530 | } 3531 | } 3532 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "webpack-userscript-template", 3 | "description": "Build your UserScript with webpack", 4 | "version": "0.0.1", 5 | "author": { 6 | "name": "Trim21", 7 | "email": "trim21me@gmail.com" 8 | }, 9 | "scripts": { 10 | "format": "prettier -w ./", 11 | "analize": "cross-env npm_config_report=true npm run build", 12 | "build": "webpack --config config/webpack.config.prod.cjs", 13 | "dev": "webpack --config config/webpack.config.dev.cjs", 14 | "prepare": "husky install", 15 | "lint-staged": "lint-staged" 16 | }, 17 | "repository": { 18 | "type": "git", 19 | "url": "https://github.com/trim21/webpack-userscript-template" 20 | }, 21 | "private": true, 22 | "dependencies": { 23 | "@trim21/gm-fetch": "^0.3.0", 24 | "jquery": "^3.7.1" 25 | }, 26 | "lint-staged": { 27 | "*.{js,jsx,ts,tsx,json}": [ 28 | "prettier --ignore-path ./.prettierignore --write " 29 | ] 30 | }, 31 | "devDependencies": { 32 | "@types/greasemonkey": "^4.0.7", 33 | "@types/jquery": "^3.5.32", 34 | "@types/node": "^22.15.17", 35 | "browserslist": "^4.24.4", 36 | "cross-env": "^7.0.3", 37 | "css-loader": "^7.1.2", 38 | "husky": "^9.1.7", 39 | "less": "^4.3.0", 40 | "less-loader": "^12.2.0", 41 | "lint-staged": "^15.5.0", 42 | "prettier": "^3.5.3", 43 | "style-loader": "^4.0.0", 44 | "ts-loader": "^9.5.2", 45 | "typescript": "^5.8.3", 46 | "userscript-metadata-webpack-plugin": "^0.4.2", 47 | "webpack": "^5.99.7", 48 | "webpack-bundle-analyzer": "^4.10.2", 49 | "webpack-cli": "^6.0.1", 50 | "webpack-livereload-plugin": "^3.0.2", 51 | "webpack-merge": "^6.0.1", 52 | "webpack-sources": "^3.2.3" 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /readme.cn.md: -------------------------------------------------------------------------------- 1 | # 使用 WebPack 来构件 UserScript 2 | 3 | [使用这个 repo 作为模板](https://github.com/Trim21/webpack-userscript-template/generate). 4 | 5 | ## 开发 6 | 7 | 1. 允许 Tampermonkey 访问文件网址 `右键插件图标`-`插件管理页面`-`访问文件网址` 或者参照[官方 faq](https://tampermonkey.net/faq.php?ext=dhdg#Q204) 8 | 2. 使用 `npm ci` or `npm i` 安装依赖。 9 | 3. `npm run dev` 来进行自动编译。 10 | 11 | 在 `dist/` 文件夹会生成两个文件 12 | 13 | - `dist/index.dev.user.js`: **请在浏览器中安装这个油猴脚本** 这个文件不包含有意义的 js 脚本,但是包含了全部的元数据和额外的 `@require file://.../dist/index.debug.js`。 14 | - `dist/index.debug.js`: 这是在 webpack 中启用了 `eval-source-map` 选项之后的打包产物。**不要在浏览器中安装这个脚本**。 15 | 16 | 4. 修改 [src/index.ts](./src/index.ts) 。如果你需要的话你可以引入 css 或者 less 文件。你也可以通过设置 webpack 来引入 scss。 17 | 5. 在 并且打开控制台,你可以看到用户脚本被运行。 18 | 19 | livereload 默认启用。在浏览器中进行自动刷新需要 [这个 chrome 插件](https://chrome.google.com/webstore/detail/jnihajbhpnppcggbcgedagnkighmdlei) 20 | 21 | ### 注意 22 | 23 | 每次你修改了你的[metadata](./config/metadata.cjs),你需要重新安装`index.dev.user.js`。 24 | 25 | ## TypeScript 26 | 27 | 已经设置好了`ts-loader`,可以直接 typescript。[example](src/index.ts) 28 | 29 | ## 跨域请求 30 | 31 | https://github.com/trim21/webpack-userscript-template/blob/master/src/index.ts 32 | 33 | ## 使用依赖 34 | 35 | 有两个办法引入依赖。 36 | 37 | ### 像以往的 UserScript 一样 38 | 39 | 在 [metadata 的 require 部分](./config/metadata.cjs#L13-L17) 中修改你引入的依赖。然后在 [config/webpack.config.base.cjs](./config/webpack.config.base.cjs#L21-L25) 的`exclude`配置中里面把他们排除。 40 | 41 | ### 跟以往的 webpack 一样 42 | 43 | 直接使用 npm 安装,webpack 会自动打包依赖。 44 | 45 | ## build 46 | 47 | ```bash 48 | npm run build 49 | ``` 50 | 51 | `dist/index.prod.user.js` 就是最终打包出来的 UserScript。 52 | 53 | ## 使用其他打包器 54 | 55 | 如果你习惯使用 Vite/rollup/esbuild 等打包器,你也可以直接使用以下这几个包来构建你的用户脚本: 56 | 57 | [gm-fetch](https://github.com/trim21/gm-fetch) 58 | 59 | [userscript-metadata-generator](https://github.com/trim21/userscript-metadata-generator) 60 | 61 | ## deploy 62 | 63 | [github actions](./.github/workflows/nodejs.yml#L68) 会自动在每个 tag 把`dist/index.prod.user.js`部属到`gh-pages`分支的根目录去。 64 | 65 | [example](https://github.com/Trim21/webpack-userscript-template/tree/gh-pages) 66 | 67 | [deployed](https://trim21.github.io/webpack-userscript-template/) 68 | 69 | 也可以使用 greasyfork 的自动同步功能来自动同步此链接。(greasyfork 的代码规则禁止代码混淆或最小化) 70 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # This is a project help you build userscript with webpack 2 | 3 | Just [use this git repo as a template](https://github.com/Trim21/webpack-userscript-template/generate). 4 | 5 | [中文说明](./readme.cn.md) 6 | 7 | ## dev 8 | 9 | 1. Allow Tampermonkey's access to local file URIs [tampermonkey/faq](https://tampermonkey.net/faq.php?ext=dhdg#Q204) 10 | 2. install deps with `npm i` or `npm ci`. 11 | 3. `npm run dev` to start your development. 12 | 13 | Now you will see 2 files in `./dist/` 14 | 15 | - `dist/index.dev.user.js`: **You should install this userscript in your browser.** It's a simple loader that load `dist/index.debug.js` on matched web page. 16 | - `dist/index.debug.js`: This is the development build with `eval-source-map`. It will be automatically loaded by `dist/index.dev.user.js` via `@require file://.../dist/index.debug.js` metadata, **Don't add it to your userscript manager.** 17 | 18 | 4. edit [src/index.ts](./src/index.ts), you can even import css or less files. You can use scss if you like. 19 | 5. go wo and open console, you'll see it's working. 20 | 21 | livereload is default enabled, use [this Chrome extension](https://chrome.google.com/webstore/detail/jnihajbhpnppcggbcgedagnkighmdlei) 22 | 23 | ### NOTICE 24 | 25 | Everytime you change your metadata config, 26 | you'll have to restart webpack server and install newly generated `dist/index.dev.user.js` UserScript in your browser again. 27 | 28 | ## used package 29 | 30 | If you prefer some other bundler like rollup, you can use some of these packages directly. 31 | 32 | [userscript-metadata-generator](https://github.com/trim21/userscript-metadata-generator) 33 | 34 | [gm-fetch](https://github.com/trim21/gm-fetch) 35 | 36 | [userscript-metadata-webpack-plugin](https://github.com/trim21/userscript-metadata-webpack-plugin) 37 | 38 | ## Cross Site Request 39 | 40 | you can call `GM.xmlHttpRequest` directly or use a fetch API based on `GM.xmlHttpRequest` 41 | 42 | ## TypeScript 43 | 44 | use typescript as normal, see [example](src/index.ts) 45 | 46 | ## dependencies 47 | 48 | There are two ways to using a package on npm. 49 | 50 | ### UserScript way 51 | 52 | like original UserScript way, you will need to add them to your [user script metadata's require section](./config/metadata.cjs#L16-L18) , and exclude them in [config/webpack.config.base.cjs](./config/webpack.config.base.cjs#L18-L20) 53 | 54 | ### Webpack way 55 | 56 | just install packages with npm and import them in your code, webpack will take care them. 57 | 58 | ## Build 59 | 60 | ```bash 61 | npm run build 62 | ``` 63 | 64 | `dist/index.prod.user.js` is the final script. you can manually copy it to greasyfork for deploy. 65 | 66 | ### Minify 67 | 68 | There is a [limitation in greasyfork](https://greasyfork.org/en/help/code-rules), your code must not be obfuscated or minified. 69 | 70 | If you don't need to deploy your script to greasyfork, enable minify as you like. 71 | 72 | ## automatically Deploy 73 | 74 | [github actions](./.github/workflows/deploy.yaml#L36) will deploy production userscript to gh-pages branch. 75 | 76 | [example](https://github.com/Trim21/webpack-userscript-template/tree/gh-pages) 77 | 78 | [deployed](https://trim21.github.io/webpack-userscript-template/index.prod.user.js) 79 | 80 | You can auto use greasyfork's auto update function. 81 | 82 | ## Q&A 83 | 84 | you may find enabling source map not working well in production code, because Tampermonkey will add extra lines (all your `@require`) before your script. I don't know if there is a good fix for this, You need to use webpack config `devtool` with `eval` prefix to make it work as expected, so source map is disabled in this production build. 85 | 86 | 87 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import "./style/main.less"; 2 | 3 | //checkout homepage https://github.com/Trim21/gm-fetch for @trim21/gm-fetch 4 | import GM_fetch from "@trim21/gm-fetch"; 5 | 6 | async function main() { 7 | console.log("script start"); 8 | 9 | // cross domain requests 10 | console.log(`uuid: ${await fetchExample()}`); 11 | } 12 | 13 | async function fetchExample(): Promise { 14 | const res = await GM_fetch("https://httpbin.org/uuid"); 15 | const data = await res.json(); 16 | return data.uuid; 17 | } 18 | 19 | main().catch((e) => { 20 | console.log(e); 21 | }); 22 | -------------------------------------------------------------------------------- /src/style/main.less: -------------------------------------------------------------------------------- 1 | @background_color: yellow; 2 | 3 | body { 4 | background-color: @background_color; 5 | z-index: 20; 6 | } 7 | -------------------------------------------------------------------------------- /src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module "*.less"; 2 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "./dist/", 4 | "esModuleInterop": true, 5 | "noImplicitAny": true, 6 | "moduleResolution": "Node", 7 | "module": "ESNext", 8 | "target": "ES2020", 9 | "allowJs": true 10 | } 11 | } 12 | --------------------------------------------------------------------------------