├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .nvmrc ├── .prettierrc ├── LICENSE ├── README.md ├── build.config.ts ├── package-lock.json ├── package.json ├── src └── index.ts └── tsconfig.json /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: 7 | - main 8 | 9 | jobs: 10 | lint: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout code 14 | uses: actions/checkout@v2 15 | - name: Setup node 16 | uses: actions/setup-node@v2 17 | with: 18 | node-version-file: ".nvmrc" 19 | cache: "npm" 20 | - name: Use npm 8 21 | run: npm install -g npm@8.5.1 22 | - name: Install dependencies 23 | run: npm ci 24 | - name: Check formatting 25 | run: npm run format:check 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | *.log 3 | npm-debug.log* 4 | yarn-debug.log* 5 | yarn-error.log* 6 | 7 | # Dependency directories 8 | node_modules/ 9 | 10 | # Build products 11 | dist/ 12 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 16.13.1 2 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "useTabs": false 4 | } 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022-present Ian VanSchooten 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vite-plugin-turbosnap 2 | 3 | [![NPM version](https://img.shields.io/npm/v/vite-plugin-turbosnap?color=a1b858&label=)](https://www.npmjs.com/package/vite-plugin-turbosnap) 4 | 5 | Generate a `preview-stats.json` file from your [vite storybook](https://github.com/eirslett/storybook-builder-vite) project for consumption by [chromatic cli](https://github.com/chromaui/chromatic-cli) to support [turbosnap](https://www.chromatic.com/docs/turbosnap). Turbosnap can limit the number of files that are snapshotted by Chromatic to only those which might have changed due to the files that have changed. It is also smart enough to run all of the snapshots if certain files, like storybook config, package.json, or anything imported by preview.js has changed. 6 | 7 | _This is experimental, and may not support all project and storybook configurations, yet._ 8 | 9 | Please open an issue if you experience any trouble, and be sure to include the log file that is generated from the `--diagnostics` flag of chromatic-cli, as well as the cli's output using the `--debug --trace-changed=expanded` flags. 10 | 11 | > [!NOTE] 12 | > Storybook 8 [has this plugin built-in](https://github.com/storybookjs/storybook/blob/v8.0.0/MIGRATION.md#turbosnap-vite-plugin-is-no-longer-needed) and will automatically remove it from your config. Use `--stats-json` when building Storybook to enable Turbosnap instead. 13 | 14 | ## Setup 15 | 16 | ### Prerequisites 17 | 18 | - A [Chromatic](https://www.chromatic.com/) account. 19 | - `chromatic-cli` [6.5.0](https://github.com/chromaui/chromatic-cli/blob/main/CHANGELOG.md#650---2022-02-21) or higher. 20 | - Storybook 7, or 6.5 with `@storybook/builder-vite` [0.1.22](https://github.com/storybookjs/builder-vite/releases/tag/v0.1.22) or higher. 21 | 22 | ### Install 23 | 24 | ```bash 25 | npm i --save-dev vite-plugin-turbosnap 26 | ``` 27 | 28 | ### Configuration 29 | 30 | Add this plugin to `viteFinal` in your `.storybook/main.js`: 31 | 32 | ```js 33 | // .storybook/main.js 34 | 35 | import turbosnap from "vite-plugin-turbosnap"; 36 | import { mergeConfig } from "vite"; 37 | 38 | export default { 39 | // ... your existing storybook config 40 | async viteFinal(config, { configType }) { 41 | return mergeConfig(config, { 42 | plugins: 43 | configType === "PRODUCTION" 44 | ? [ 45 | turbosnap({ 46 | // This should be the base path of your storybook. In monorepos, you may only need process.cwd(). 47 | rootDir: config.root ?? process.cwd(), 48 | }), 49 | ] 50 | : [], 51 | }); 52 | }, 53 | }; 54 | ``` 55 | 56 | ## Usage 57 | 58 | When you run `build-storybook` to create your production storybook, an additional file will be created in the output directory, named `preview-stats.json`. See the [chromatic turbosnap docs](https://www.chromatic.com/docs/turbosnap) for more information on how to configure and use turbosnap. 59 | 60 | ## How it works 61 | 62 | The turbosnap feature of Chromatic limits the snapshots that are executed to only those which can be reliably traced back to a changed file. In order to do this, it needs to have a dependency graph of the project, so that it knows when you change `button.js`, for instance, that it needs to re-run not only the `button.stories.js` file, but also any other stories which might include your custom button component. By default, it relies on the `stats` file that is output from webpack, the default storybook builder. In order to use this feature with a vite project, this plugin collects information about each module being built by vite, constructs a mapping between each file and all of the files which import it, and generates a file that mimics that created by webpack, with only the information that the chromatic cli needs to perform its checks. 63 | 64 | ## Credits 65 | 66 | Thanks to [Gert Hengeveld](https://github.com/ghengeveld) for guidance on chromatic cli changes, and to my team at [Defined Networking](https://www.defined.net) for giving me the time to build and test this on our own chromatic storybook project. 67 | -------------------------------------------------------------------------------- /build.config.ts: -------------------------------------------------------------------------------- 1 | import { defineBuildConfig } from "unbuild"; 2 | 3 | export default defineBuildConfig({ 4 | entries: ["src/index"], 5 | clean: false, 6 | declaration: true, 7 | externals: ["vite"], 8 | rollup: { 9 | emitCJS: true, 10 | }, 11 | }); 12 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-plugin-turbosnap", 3 | "version": "1.0.3", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "vite-plugin-turbosnap", 9 | "version": "1.0.3", 10 | "license": "MIT", 11 | "devDependencies": { 12 | "@types/node": "^17.0.19", 13 | "prettier": "^2.5.1", 14 | "typescript": "^4.5.5", 15 | "unbuild": "^0.6.9", 16 | "vite": "^2.8.4" 17 | } 18 | }, 19 | "node_modules/@babel/code-frame": { 20 | "version": "7.16.7", 21 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", 22 | "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", 23 | "dev": true, 24 | "optional": true, 25 | "dependencies": { 26 | "@babel/highlight": "^7.16.7" 27 | }, 28 | "engines": { 29 | "node": ">=6.9.0" 30 | } 31 | }, 32 | "node_modules/@babel/helper-validator-identifier": { 33 | "version": "7.16.7", 34 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", 35 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", 36 | "dev": true, 37 | "optional": true, 38 | "engines": { 39 | "node": ">=6.9.0" 40 | } 41 | }, 42 | "node_modules/@babel/highlight": { 43 | "version": "7.16.10", 44 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", 45 | "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", 46 | "dev": true, 47 | "optional": true, 48 | "dependencies": { 49 | "@babel/helper-validator-identifier": "^7.16.7", 50 | "chalk": "^2.0.0", 51 | "js-tokens": "^4.0.0" 52 | }, 53 | "engines": { 54 | "node": ">=6.9.0" 55 | } 56 | }, 57 | "node_modules/@babel/highlight/node_modules/chalk": { 58 | "version": "2.4.2", 59 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 60 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 61 | "dev": true, 62 | "optional": true, 63 | "dependencies": { 64 | "ansi-styles": "^3.2.1", 65 | "escape-string-regexp": "^1.0.5", 66 | "supports-color": "^5.3.0" 67 | }, 68 | "engines": { 69 | "node": ">=4" 70 | } 71 | }, 72 | "node_modules/@nodelib/fs.scandir": { 73 | "version": "2.1.5", 74 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 75 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 76 | "dev": true, 77 | "dependencies": { 78 | "@nodelib/fs.stat": "2.0.5", 79 | "run-parallel": "^1.1.9" 80 | }, 81 | "engines": { 82 | "node": ">= 8" 83 | } 84 | }, 85 | "node_modules/@nodelib/fs.stat": { 86 | "version": "2.0.5", 87 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 88 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 89 | "dev": true, 90 | "engines": { 91 | "node": ">= 8" 92 | } 93 | }, 94 | "node_modules/@nodelib/fs.walk": { 95 | "version": "1.2.8", 96 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 97 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 98 | "dev": true, 99 | "dependencies": { 100 | "@nodelib/fs.scandir": "2.1.5", 101 | "fastq": "^1.6.0" 102 | }, 103 | "engines": { 104 | "node": ">= 8" 105 | } 106 | }, 107 | "node_modules/@rollup/plugin-alias": { 108 | "version": "3.1.9", 109 | "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.9.tgz", 110 | "integrity": "sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==", 111 | "dev": true, 112 | "dependencies": { 113 | "slash": "^3.0.0" 114 | }, 115 | "engines": { 116 | "node": ">=8.0.0" 117 | }, 118 | "peerDependencies": { 119 | "rollup": "^1.20.0||^2.0.0" 120 | } 121 | }, 122 | "node_modules/@rollup/plugin-commonjs": { 123 | "version": "21.0.1", 124 | "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.1.tgz", 125 | "integrity": "sha512-EA+g22lbNJ8p5kuZJUYyhhDK7WgJckW5g4pNN7n4mAFUM96VuwUnNT3xr2Db2iCZPI1pJPbGyfT5mS9T1dHfMg==", 126 | "dev": true, 127 | "dependencies": { 128 | "@rollup/pluginutils": "^3.1.0", 129 | "commondir": "^1.0.1", 130 | "estree-walker": "^2.0.1", 131 | "glob": "^7.1.6", 132 | "is-reference": "^1.2.1", 133 | "magic-string": "^0.25.7", 134 | "resolve": "^1.17.0" 135 | }, 136 | "engines": { 137 | "node": ">= 8.0.0" 138 | }, 139 | "peerDependencies": { 140 | "rollup": "^2.38.3" 141 | } 142 | }, 143 | "node_modules/@rollup/plugin-commonjs/node_modules/@rollup/pluginutils": { 144 | "version": "3.1.0", 145 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", 146 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", 147 | "dev": true, 148 | "dependencies": { 149 | "@types/estree": "0.0.39", 150 | "estree-walker": "^1.0.1", 151 | "picomatch": "^2.2.2" 152 | }, 153 | "engines": { 154 | "node": ">= 8.0.0" 155 | }, 156 | "peerDependencies": { 157 | "rollup": "^1.20.0||^2.0.0" 158 | } 159 | }, 160 | "node_modules/@rollup/plugin-commonjs/node_modules/@rollup/pluginutils/node_modules/estree-walker": { 161 | "version": "1.0.1", 162 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", 163 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", 164 | "dev": true 165 | }, 166 | "node_modules/@rollup/plugin-commonjs/node_modules/@types/estree": { 167 | "version": "0.0.39", 168 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 169 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 170 | "dev": true 171 | }, 172 | "node_modules/@rollup/plugin-json": { 173 | "version": "4.1.0", 174 | "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", 175 | "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", 176 | "dev": true, 177 | "dependencies": { 178 | "@rollup/pluginutils": "^3.0.8" 179 | }, 180 | "peerDependencies": { 181 | "rollup": "^1.20.0 || ^2.0.0" 182 | } 183 | }, 184 | "node_modules/@rollup/plugin-json/node_modules/@rollup/pluginutils": { 185 | "version": "3.1.0", 186 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", 187 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", 188 | "dev": true, 189 | "dependencies": { 190 | "@types/estree": "0.0.39", 191 | "estree-walker": "^1.0.1", 192 | "picomatch": "^2.2.2" 193 | }, 194 | "engines": { 195 | "node": ">= 8.0.0" 196 | }, 197 | "peerDependencies": { 198 | "rollup": "^1.20.0||^2.0.0" 199 | } 200 | }, 201 | "node_modules/@rollup/plugin-json/node_modules/@types/estree": { 202 | "version": "0.0.39", 203 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 204 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 205 | "dev": true 206 | }, 207 | "node_modules/@rollup/plugin-json/node_modules/estree-walker": { 208 | "version": "1.0.1", 209 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", 210 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", 211 | "dev": true 212 | }, 213 | "node_modules/@rollup/plugin-node-resolve": { 214 | "version": "13.1.3", 215 | "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz", 216 | "integrity": "sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==", 217 | "dev": true, 218 | "dependencies": { 219 | "@rollup/pluginutils": "^3.1.0", 220 | "@types/resolve": "1.17.1", 221 | "builtin-modules": "^3.1.0", 222 | "deepmerge": "^4.2.2", 223 | "is-module": "^1.0.0", 224 | "resolve": "^1.19.0" 225 | }, 226 | "engines": { 227 | "node": ">= 10.0.0" 228 | }, 229 | "peerDependencies": { 230 | "rollup": "^2.42.0" 231 | } 232 | }, 233 | "node_modules/@rollup/plugin-node-resolve/node_modules/@rollup/pluginutils": { 234 | "version": "3.1.0", 235 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", 236 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", 237 | "dev": true, 238 | "dependencies": { 239 | "@types/estree": "0.0.39", 240 | "estree-walker": "^1.0.1", 241 | "picomatch": "^2.2.2" 242 | }, 243 | "engines": { 244 | "node": ">= 8.0.0" 245 | }, 246 | "peerDependencies": { 247 | "rollup": "^1.20.0||^2.0.0" 248 | } 249 | }, 250 | "node_modules/@rollup/plugin-node-resolve/node_modules/@types/estree": { 251 | "version": "0.0.39", 252 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 253 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 254 | "dev": true 255 | }, 256 | "node_modules/@rollup/plugin-node-resolve/node_modules/estree-walker": { 257 | "version": "1.0.1", 258 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", 259 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", 260 | "dev": true 261 | }, 262 | "node_modules/@rollup/plugin-replace": { 263 | "version": "3.1.0", 264 | "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-3.1.0.tgz", 265 | "integrity": "sha512-pA3XRUrSKybVYqmH5TqWNZpGxF+VV+1GrYchKgCNIj2vsSOX7CVm2RCtx8p2nrC7xvkziYyK+lSi74T93MU3YA==", 266 | "dev": true, 267 | "dependencies": { 268 | "@rollup/pluginutils": "^3.1.0", 269 | "magic-string": "^0.25.7" 270 | }, 271 | "peerDependencies": { 272 | "rollup": "^1.20.0 || ^2.0.0" 273 | } 274 | }, 275 | "node_modules/@rollup/plugin-replace/node_modules/@rollup/pluginutils": { 276 | "version": "3.1.0", 277 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", 278 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", 279 | "dev": true, 280 | "dependencies": { 281 | "@types/estree": "0.0.39", 282 | "estree-walker": "^1.0.1", 283 | "picomatch": "^2.2.2" 284 | }, 285 | "engines": { 286 | "node": ">= 8.0.0" 287 | }, 288 | "peerDependencies": { 289 | "rollup": "^1.20.0||^2.0.0" 290 | } 291 | }, 292 | "node_modules/@rollup/plugin-replace/node_modules/@types/estree": { 293 | "version": "0.0.39", 294 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 295 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 296 | "dev": true 297 | }, 298 | "node_modules/@rollup/plugin-replace/node_modules/estree-walker": { 299 | "version": "1.0.1", 300 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", 301 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", 302 | "dev": true 303 | }, 304 | "node_modules/@rollup/pluginutils": { 305 | "version": "4.1.2", 306 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", 307 | "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==", 308 | "dev": true, 309 | "dependencies": { 310 | "estree-walker": "^2.0.1", 311 | "picomatch": "^2.2.2" 312 | }, 313 | "engines": { 314 | "node": ">= 8.0.0" 315 | } 316 | }, 317 | "node_modules/@types/estree": { 318 | "version": "0.0.51", 319 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", 320 | "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", 321 | "dev": true 322 | }, 323 | "node_modules/@types/node": { 324 | "version": "17.0.19", 325 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.19.tgz", 326 | "integrity": "sha512-PfeQhvcMR4cPFVuYfBN4ifG7p9c+Dlh3yUZR6k+5yQK7wX3gDgVxBly4/WkBRs9x4dmcy1TVl08SY67wwtEvmA==", 327 | "dev": true 328 | }, 329 | "node_modules/@types/resolve": { 330 | "version": "1.17.1", 331 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", 332 | "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", 333 | "dev": true, 334 | "dependencies": { 335 | "@types/node": "*" 336 | } 337 | }, 338 | "node_modules/ansi-styles": { 339 | "version": "3.2.1", 340 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 341 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 342 | "dev": true, 343 | "optional": true, 344 | "dependencies": { 345 | "color-convert": "^1.9.0" 346 | }, 347 | "engines": { 348 | "node": ">=4" 349 | } 350 | }, 351 | "node_modules/array-union": { 352 | "version": "2.1.0", 353 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 354 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 355 | "dev": true, 356 | "engines": { 357 | "node": ">=8" 358 | } 359 | }, 360 | "node_modules/balanced-match": { 361 | "version": "1.0.2", 362 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 363 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 364 | "dev": true 365 | }, 366 | "node_modules/brace-expansion": { 367 | "version": "1.1.11", 368 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 369 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 370 | "dev": true, 371 | "dependencies": { 372 | "balanced-match": "^1.0.0", 373 | "concat-map": "0.0.1" 374 | } 375 | }, 376 | "node_modules/braces": { 377 | "version": "3.0.2", 378 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 379 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 380 | "dev": true, 381 | "dependencies": { 382 | "fill-range": "^7.0.1" 383 | }, 384 | "engines": { 385 | "node": ">=8" 386 | } 387 | }, 388 | "node_modules/builtin-modules": { 389 | "version": "3.2.0", 390 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", 391 | "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", 392 | "dev": true, 393 | "engines": { 394 | "node": ">=6" 395 | }, 396 | "funding": { 397 | "url": "https://github.com/sponsors/sindresorhus" 398 | } 399 | }, 400 | "node_modules/chalk": { 401 | "version": "5.0.0", 402 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.0.tgz", 403 | "integrity": "sha512-/duVOqst+luxCQRKEo4bNxinsOQtMP80ZYm7mMqzuh5PociNL0PvmHFvREJ9ueYL2TxlHjBcmLCdmocx9Vg+IQ==", 404 | "dev": true, 405 | "engines": { 406 | "node": "^12.17.0 || ^14.13 || >=16.0.0" 407 | }, 408 | "funding": { 409 | "url": "https://github.com/chalk/chalk?sponsor=1" 410 | } 411 | }, 412 | "node_modules/color-convert": { 413 | "version": "1.9.3", 414 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 415 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 416 | "dev": true, 417 | "optional": true, 418 | "dependencies": { 419 | "color-name": "1.1.3" 420 | } 421 | }, 422 | "node_modules/color-name": { 423 | "version": "1.1.3", 424 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 425 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 426 | "dev": true, 427 | "optional": true 428 | }, 429 | "node_modules/commondir": { 430 | "version": "1.0.1", 431 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", 432 | "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", 433 | "dev": true 434 | }, 435 | "node_modules/concat-map": { 436 | "version": "0.0.1", 437 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 438 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 439 | "dev": true 440 | }, 441 | "node_modules/consola": { 442 | "version": "2.15.3", 443 | "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", 444 | "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", 445 | "dev": true 446 | }, 447 | "node_modules/debug": { 448 | "version": "4.3.3", 449 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 450 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 451 | "dev": true, 452 | "dependencies": { 453 | "ms": "2.1.2" 454 | }, 455 | "engines": { 456 | "node": ">=6.0" 457 | }, 458 | "peerDependenciesMeta": { 459 | "supports-color": { 460 | "optional": true 461 | } 462 | } 463 | }, 464 | "node_modules/deepmerge": { 465 | "version": "4.2.2", 466 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", 467 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", 468 | "dev": true, 469 | "engines": { 470 | "node": ">=0.10.0" 471 | } 472 | }, 473 | "node_modules/defu": { 474 | "version": "5.0.1", 475 | "resolved": "https://registry.npmjs.org/defu/-/defu-5.0.1.tgz", 476 | "integrity": "sha512-EPS1carKg+dkEVy3qNTqIdp2qV7mUP08nIsupfwQpz++slCVRw7qbQyWvSTig+kFPwz2XXp5/kIIkH+CwrJKkQ==", 477 | "dev": true 478 | }, 479 | "node_modules/dir-glob": { 480 | "version": "3.0.1", 481 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 482 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 483 | "dev": true, 484 | "dependencies": { 485 | "path-type": "^4.0.0" 486 | }, 487 | "engines": { 488 | "node": ">=8" 489 | } 490 | }, 491 | "node_modules/es-module-lexer": { 492 | "version": "0.9.3", 493 | "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", 494 | "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", 495 | "dev": true 496 | }, 497 | "node_modules/esbuild": { 498 | "version": "0.14.23", 499 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.23.tgz", 500 | "integrity": "sha512-XjnIcZ9KB6lfonCa+jRguXyRYcldmkyZ99ieDksqW/C8bnyEX299yA4QH2XcgijCgaddEZePPTgvx/2imsq7Ig==", 501 | "dev": true, 502 | "hasInstallScript": true, 503 | "bin": { 504 | "esbuild": "bin/esbuild" 505 | }, 506 | "engines": { 507 | "node": ">=12" 508 | }, 509 | "optionalDependencies": { 510 | "esbuild-android-arm64": "0.14.23", 511 | "esbuild-darwin-64": "0.14.23", 512 | "esbuild-darwin-arm64": "0.14.23", 513 | "esbuild-freebsd-64": "0.14.23", 514 | "esbuild-freebsd-arm64": "0.14.23", 515 | "esbuild-linux-32": "0.14.23", 516 | "esbuild-linux-64": "0.14.23", 517 | "esbuild-linux-arm": "0.14.23", 518 | "esbuild-linux-arm64": "0.14.23", 519 | "esbuild-linux-mips64le": "0.14.23", 520 | "esbuild-linux-ppc64le": "0.14.23", 521 | "esbuild-linux-riscv64": "0.14.23", 522 | "esbuild-linux-s390x": "0.14.23", 523 | "esbuild-netbsd-64": "0.14.23", 524 | "esbuild-openbsd-64": "0.14.23", 525 | "esbuild-sunos-64": "0.14.23", 526 | "esbuild-windows-32": "0.14.23", 527 | "esbuild-windows-64": "0.14.23", 528 | "esbuild-windows-arm64": "0.14.23" 529 | } 530 | }, 531 | "node_modules/esbuild-android-arm64": { 532 | "version": "0.14.23", 533 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz", 534 | "integrity": "sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw==", 535 | "cpu": [ 536 | "arm64" 537 | ], 538 | "dev": true, 539 | "optional": true, 540 | "os": [ 541 | "android" 542 | ], 543 | "engines": { 544 | "node": ">=12" 545 | } 546 | }, 547 | "node_modules/esbuild-darwin-64": { 548 | "version": "0.14.23", 549 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz", 550 | "integrity": "sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug==", 551 | "cpu": [ 552 | "x64" 553 | ], 554 | "dev": true, 555 | "optional": true, 556 | "os": [ 557 | "darwin" 558 | ], 559 | "engines": { 560 | "node": ">=12" 561 | } 562 | }, 563 | "node_modules/esbuild-darwin-arm64": { 564 | "version": "0.14.23", 565 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz", 566 | "integrity": "sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw==", 567 | "cpu": [ 568 | "arm64" 569 | ], 570 | "dev": true, 571 | "optional": true, 572 | "os": [ 573 | "darwin" 574 | ], 575 | "engines": { 576 | "node": ">=12" 577 | } 578 | }, 579 | "node_modules/esbuild-freebsd-64": { 580 | "version": "0.14.23", 581 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz", 582 | "integrity": "sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA==", 583 | "cpu": [ 584 | "x64" 585 | ], 586 | "dev": true, 587 | "optional": true, 588 | "os": [ 589 | "freebsd" 590 | ], 591 | "engines": { 592 | "node": ">=12" 593 | } 594 | }, 595 | "node_modules/esbuild-freebsd-arm64": { 596 | "version": "0.14.23", 597 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz", 598 | "integrity": "sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg==", 599 | "cpu": [ 600 | "arm64" 601 | ], 602 | "dev": true, 603 | "optional": true, 604 | "os": [ 605 | "freebsd" 606 | ], 607 | "engines": { 608 | "node": ">=12" 609 | } 610 | }, 611 | "node_modules/esbuild-linux-32": { 612 | "version": "0.14.23", 613 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz", 614 | "integrity": "sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ==", 615 | "cpu": [ 616 | "ia32" 617 | ], 618 | "dev": true, 619 | "optional": true, 620 | "os": [ 621 | "linux" 622 | ], 623 | "engines": { 624 | "node": ">=12" 625 | } 626 | }, 627 | "node_modules/esbuild-linux-64": { 628 | "version": "0.14.23", 629 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz", 630 | "integrity": "sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ==", 631 | "cpu": [ 632 | "x64" 633 | ], 634 | "dev": true, 635 | "optional": true, 636 | "os": [ 637 | "linux" 638 | ], 639 | "engines": { 640 | "node": ">=12" 641 | } 642 | }, 643 | "node_modules/esbuild-linux-arm": { 644 | "version": "0.14.23", 645 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz", 646 | "integrity": "sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw==", 647 | "cpu": [ 648 | "arm" 649 | ], 650 | "dev": true, 651 | "optional": true, 652 | "os": [ 653 | "linux" 654 | ], 655 | "engines": { 656 | "node": ">=12" 657 | } 658 | }, 659 | "node_modules/esbuild-linux-arm64": { 660 | "version": "0.14.23", 661 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz", 662 | "integrity": "sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g==", 663 | "cpu": [ 664 | "arm64" 665 | ], 666 | "dev": true, 667 | "optional": true, 668 | "os": [ 669 | "linux" 670 | ], 671 | "engines": { 672 | "node": ">=12" 673 | } 674 | }, 675 | "node_modules/esbuild-linux-mips64le": { 676 | "version": "0.14.23", 677 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz", 678 | "integrity": "sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw==", 679 | "cpu": [ 680 | "mips64el" 681 | ], 682 | "dev": true, 683 | "optional": true, 684 | "os": [ 685 | "linux" 686 | ], 687 | "engines": { 688 | "node": ">=12" 689 | } 690 | }, 691 | "node_modules/esbuild-linux-ppc64le": { 692 | "version": "0.14.23", 693 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz", 694 | "integrity": "sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag==", 695 | "cpu": [ 696 | "ppc64" 697 | ], 698 | "dev": true, 699 | "optional": true, 700 | "os": [ 701 | "linux" 702 | ], 703 | "engines": { 704 | "node": ">=12" 705 | } 706 | }, 707 | "node_modules/esbuild-linux-riscv64": { 708 | "version": "0.14.23", 709 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz", 710 | "integrity": "sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg==", 711 | "cpu": [ 712 | "riscv64" 713 | ], 714 | "dev": true, 715 | "optional": true, 716 | "os": [ 717 | "linux" 718 | ], 719 | "engines": { 720 | "node": ">=12" 721 | } 722 | }, 723 | "node_modules/esbuild-linux-s390x": { 724 | "version": "0.14.23", 725 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz", 726 | "integrity": "sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA==", 727 | "cpu": [ 728 | "s390x" 729 | ], 730 | "dev": true, 731 | "optional": true, 732 | "os": [ 733 | "linux" 734 | ], 735 | "engines": { 736 | "node": ">=12" 737 | } 738 | }, 739 | "node_modules/esbuild-netbsd-64": { 740 | "version": "0.14.23", 741 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz", 742 | "integrity": "sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g==", 743 | "cpu": [ 744 | "x64" 745 | ], 746 | "dev": true, 747 | "optional": true, 748 | "os": [ 749 | "netbsd" 750 | ], 751 | "engines": { 752 | "node": ">=12" 753 | } 754 | }, 755 | "node_modules/esbuild-openbsd-64": { 756 | "version": "0.14.23", 757 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz", 758 | "integrity": "sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA==", 759 | "cpu": [ 760 | "x64" 761 | ], 762 | "dev": true, 763 | "optional": true, 764 | "os": [ 765 | "openbsd" 766 | ], 767 | "engines": { 768 | "node": ">=12" 769 | } 770 | }, 771 | "node_modules/esbuild-sunos-64": { 772 | "version": "0.14.23", 773 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz", 774 | "integrity": "sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g==", 775 | "cpu": [ 776 | "x64" 777 | ], 778 | "dev": true, 779 | "optional": true, 780 | "os": [ 781 | "sunos" 782 | ], 783 | "engines": { 784 | "node": ">=12" 785 | } 786 | }, 787 | "node_modules/esbuild-windows-32": { 788 | "version": "0.14.23", 789 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz", 790 | "integrity": "sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA==", 791 | "cpu": [ 792 | "ia32" 793 | ], 794 | "dev": true, 795 | "optional": true, 796 | "os": [ 797 | "win32" 798 | ], 799 | "engines": { 800 | "node": ">=12" 801 | } 802 | }, 803 | "node_modules/esbuild-windows-64": { 804 | "version": "0.14.23", 805 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz", 806 | "integrity": "sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g==", 807 | "cpu": [ 808 | "x64" 809 | ], 810 | "dev": true, 811 | "optional": true, 812 | "os": [ 813 | "win32" 814 | ], 815 | "engines": { 816 | "node": ">=12" 817 | } 818 | }, 819 | "node_modules/esbuild-windows-arm64": { 820 | "version": "0.14.23", 821 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz", 822 | "integrity": "sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw==", 823 | "cpu": [ 824 | "arm64" 825 | ], 826 | "dev": true, 827 | "optional": true, 828 | "os": [ 829 | "win32" 830 | ], 831 | "engines": { 832 | "node": ">=12" 833 | } 834 | }, 835 | "node_modules/escape-string-regexp": { 836 | "version": "1.0.5", 837 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 838 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 839 | "dev": true, 840 | "optional": true, 841 | "engines": { 842 | "node": ">=0.8.0" 843 | } 844 | }, 845 | "node_modules/estree-walker": { 846 | "version": "2.0.2", 847 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 848 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", 849 | "dev": true 850 | }, 851 | "node_modules/fast-glob": { 852 | "version": "3.2.11", 853 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 854 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 855 | "dev": true, 856 | "dependencies": { 857 | "@nodelib/fs.stat": "^2.0.2", 858 | "@nodelib/fs.walk": "^1.2.3", 859 | "glob-parent": "^5.1.2", 860 | "merge2": "^1.3.0", 861 | "micromatch": "^4.0.4" 862 | }, 863 | "engines": { 864 | "node": ">=8.6.0" 865 | } 866 | }, 867 | "node_modules/fastq": { 868 | "version": "1.13.0", 869 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 870 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 871 | "dev": true, 872 | "dependencies": { 873 | "reusify": "^1.0.4" 874 | } 875 | }, 876 | "node_modules/fill-range": { 877 | "version": "7.0.1", 878 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 879 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 880 | "dev": true, 881 | "dependencies": { 882 | "to-regex-range": "^5.0.1" 883 | }, 884 | "engines": { 885 | "node": ">=8" 886 | } 887 | }, 888 | "node_modules/fs-extra": { 889 | "version": "10.0.0", 890 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", 891 | "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", 892 | "dev": true, 893 | "dependencies": { 894 | "graceful-fs": "^4.2.0", 895 | "jsonfile": "^6.0.1", 896 | "universalify": "^2.0.0" 897 | }, 898 | "engines": { 899 | "node": ">=12" 900 | } 901 | }, 902 | "node_modules/fs.realpath": { 903 | "version": "1.0.0", 904 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 905 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 906 | "dev": true 907 | }, 908 | "node_modules/fsevents": { 909 | "version": "2.3.2", 910 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 911 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 912 | "dev": true, 913 | "hasInstallScript": true, 914 | "optional": true, 915 | "os": [ 916 | "darwin" 917 | ], 918 | "engines": { 919 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 920 | } 921 | }, 922 | "node_modules/function-bind": { 923 | "version": "1.1.1", 924 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 925 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 926 | "dev": true 927 | }, 928 | "node_modules/glob": { 929 | "version": "7.2.0", 930 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 931 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 932 | "dev": true, 933 | "dependencies": { 934 | "fs.realpath": "^1.0.0", 935 | "inflight": "^1.0.4", 936 | "inherits": "2", 937 | "minimatch": "^3.0.4", 938 | "once": "^1.3.0", 939 | "path-is-absolute": "^1.0.0" 940 | }, 941 | "engines": { 942 | "node": "*" 943 | }, 944 | "funding": { 945 | "url": "https://github.com/sponsors/isaacs" 946 | } 947 | }, 948 | "node_modules/glob-parent": { 949 | "version": "5.1.2", 950 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 951 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 952 | "dev": true, 953 | "dependencies": { 954 | "is-glob": "^4.0.1" 955 | }, 956 | "engines": { 957 | "node": ">= 6" 958 | } 959 | }, 960 | "node_modules/globby": { 961 | "version": "11.1.0", 962 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 963 | "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 964 | "dev": true, 965 | "dependencies": { 966 | "array-union": "^2.1.0", 967 | "dir-glob": "^3.0.1", 968 | "fast-glob": "^3.2.9", 969 | "ignore": "^5.2.0", 970 | "merge2": "^1.4.1", 971 | "slash": "^3.0.0" 972 | }, 973 | "engines": { 974 | "node": ">=10" 975 | }, 976 | "funding": { 977 | "url": "https://github.com/sponsors/sindresorhus" 978 | } 979 | }, 980 | "node_modules/graceful-fs": { 981 | "version": "4.2.9", 982 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", 983 | "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", 984 | "dev": true 985 | }, 986 | "node_modules/has": { 987 | "version": "1.0.3", 988 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 989 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 990 | "dev": true, 991 | "dependencies": { 992 | "function-bind": "^1.1.1" 993 | }, 994 | "engines": { 995 | "node": ">= 0.4.0" 996 | } 997 | }, 998 | "node_modules/has-flag": { 999 | "version": "3.0.0", 1000 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1001 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 1002 | "dev": true, 1003 | "optional": true, 1004 | "engines": { 1005 | "node": ">=4" 1006 | } 1007 | }, 1008 | "node_modules/hookable": { 1009 | "version": "5.1.1", 1010 | "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.1.1.tgz", 1011 | "integrity": "sha512-7qam9XBFb+DijNBthaL1k/7lHU2TEMZkWSyuqmU3sCQze1wFm5w9AlEx30PD7a+QVAjOy6Ec2goFwe1YVyk2uA==", 1012 | "dev": true 1013 | }, 1014 | "node_modules/ignore": { 1015 | "version": "5.2.0", 1016 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 1017 | "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 1018 | "dev": true, 1019 | "engines": { 1020 | "node": ">= 4" 1021 | } 1022 | }, 1023 | "node_modules/inflight": { 1024 | "version": "1.0.6", 1025 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1026 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1027 | "dev": true, 1028 | "dependencies": { 1029 | "once": "^1.3.0", 1030 | "wrappy": "1" 1031 | } 1032 | }, 1033 | "node_modules/inherits": { 1034 | "version": "2.0.4", 1035 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1036 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1037 | "dev": true 1038 | }, 1039 | "node_modules/is-core-module": { 1040 | "version": "2.8.1", 1041 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", 1042 | "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", 1043 | "dev": true, 1044 | "dependencies": { 1045 | "has": "^1.0.3" 1046 | }, 1047 | "funding": { 1048 | "url": "https://github.com/sponsors/ljharb" 1049 | } 1050 | }, 1051 | "node_modules/is-extglob": { 1052 | "version": "2.1.1", 1053 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1054 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 1055 | "dev": true, 1056 | "engines": { 1057 | "node": ">=0.10.0" 1058 | } 1059 | }, 1060 | "node_modules/is-glob": { 1061 | "version": "4.0.3", 1062 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1063 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1064 | "dev": true, 1065 | "dependencies": { 1066 | "is-extglob": "^2.1.1" 1067 | }, 1068 | "engines": { 1069 | "node": ">=0.10.0" 1070 | } 1071 | }, 1072 | "node_modules/is-module": { 1073 | "version": "1.0.0", 1074 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", 1075 | "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", 1076 | "dev": true 1077 | }, 1078 | "node_modules/is-number": { 1079 | "version": "7.0.0", 1080 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1081 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1082 | "dev": true, 1083 | "engines": { 1084 | "node": ">=0.12.0" 1085 | } 1086 | }, 1087 | "node_modules/is-reference": { 1088 | "version": "1.2.1", 1089 | "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", 1090 | "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", 1091 | "dev": true, 1092 | "dependencies": { 1093 | "@types/estree": "*" 1094 | } 1095 | }, 1096 | "node_modules/jiti": { 1097 | "version": "1.13.0", 1098 | "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.13.0.tgz", 1099 | "integrity": "sha512-/n9mNxZj/HDSrincJ6RP+L+yXbpnB8FybySBa+IjIaoH9FIxBbrbRT5XUbe8R7zuVM2AQqNMNDDqz0bzx3znOQ==", 1100 | "dev": true, 1101 | "bin": { 1102 | "jiti": "bin/jiti.js" 1103 | } 1104 | }, 1105 | "node_modules/joycon": { 1106 | "version": "3.1.1", 1107 | "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", 1108 | "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", 1109 | "dev": true, 1110 | "engines": { 1111 | "node": ">=10" 1112 | } 1113 | }, 1114 | "node_modules/js-tokens": { 1115 | "version": "4.0.0", 1116 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1117 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1118 | "dev": true, 1119 | "optional": true 1120 | }, 1121 | "node_modules/jsonc-parser": { 1122 | "version": "3.0.0", 1123 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", 1124 | "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", 1125 | "dev": true 1126 | }, 1127 | "node_modules/jsonfile": { 1128 | "version": "6.1.0", 1129 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 1130 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 1131 | "dev": true, 1132 | "dependencies": { 1133 | "universalify": "^2.0.0" 1134 | }, 1135 | "optionalDependencies": { 1136 | "graceful-fs": "^4.1.6" 1137 | } 1138 | }, 1139 | "node_modules/magic-string": { 1140 | "version": "0.25.7", 1141 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", 1142 | "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", 1143 | "dev": true, 1144 | "dependencies": { 1145 | "sourcemap-codec": "^1.4.4" 1146 | } 1147 | }, 1148 | "node_modules/merge2": { 1149 | "version": "1.4.1", 1150 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1151 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1152 | "dev": true, 1153 | "engines": { 1154 | "node": ">= 8" 1155 | } 1156 | }, 1157 | "node_modules/micromatch": { 1158 | "version": "4.0.4", 1159 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", 1160 | "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", 1161 | "dev": true, 1162 | "dependencies": { 1163 | "braces": "^3.0.1", 1164 | "picomatch": "^2.2.3" 1165 | }, 1166 | "engines": { 1167 | "node": ">=8.6" 1168 | } 1169 | }, 1170 | "node_modules/minimatch": { 1171 | "version": "3.1.2", 1172 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1173 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1174 | "dev": true, 1175 | "dependencies": { 1176 | "brace-expansion": "^1.1.7" 1177 | }, 1178 | "engines": { 1179 | "node": "*" 1180 | } 1181 | }, 1182 | "node_modules/mkdirp": { 1183 | "version": "1.0.4", 1184 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 1185 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 1186 | "dev": true, 1187 | "bin": { 1188 | "mkdirp": "bin/cmd.js" 1189 | }, 1190 | "engines": { 1191 | "node": ">=10" 1192 | } 1193 | }, 1194 | "node_modules/mkdist": { 1195 | "version": "0.3.10", 1196 | "resolved": "https://registry.npmjs.org/mkdist/-/mkdist-0.3.10.tgz", 1197 | "integrity": "sha512-Aoc6hjILr2JPUJU2OUvBiD5sZ/CG1FeiXwk6KKPqE0iSTjBCrjrVK/fP5ig+TB3AKHvh2aA2QXXGeXVCJBdSwg==", 1198 | "dev": true, 1199 | "dependencies": { 1200 | "defu": "^5.0.0", 1201 | "esbuild": "^0.13.8", 1202 | "fs-extra": "^10.0.0", 1203 | "globby": "^11.0.3", 1204 | "jiti": "^1.12.9", 1205 | "mri": "^1.2.0", 1206 | "pathe": "^0.2.0" 1207 | }, 1208 | "bin": { 1209 | "mkdist": "dist/cli.js" 1210 | }, 1211 | "peerDependencies": { 1212 | "typescript": ">=3.7" 1213 | }, 1214 | "peerDependenciesMeta": { 1215 | "typescript": { 1216 | "optional": true 1217 | } 1218 | } 1219 | }, 1220 | "node_modules/mkdist/node_modules/esbuild": { 1221 | "version": "0.13.15", 1222 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.15.tgz", 1223 | "integrity": "sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==", 1224 | "dev": true, 1225 | "hasInstallScript": true, 1226 | "bin": { 1227 | "esbuild": "bin/esbuild" 1228 | }, 1229 | "optionalDependencies": { 1230 | "esbuild-android-arm64": "0.13.15", 1231 | "esbuild-darwin-64": "0.13.15", 1232 | "esbuild-darwin-arm64": "0.13.15", 1233 | "esbuild-freebsd-64": "0.13.15", 1234 | "esbuild-freebsd-arm64": "0.13.15", 1235 | "esbuild-linux-32": "0.13.15", 1236 | "esbuild-linux-64": "0.13.15", 1237 | "esbuild-linux-arm": "0.13.15", 1238 | "esbuild-linux-arm64": "0.13.15", 1239 | "esbuild-linux-mips64le": "0.13.15", 1240 | "esbuild-linux-ppc64le": "0.13.15", 1241 | "esbuild-netbsd-64": "0.13.15", 1242 | "esbuild-openbsd-64": "0.13.15", 1243 | "esbuild-sunos-64": "0.13.15", 1244 | "esbuild-windows-32": "0.13.15", 1245 | "esbuild-windows-64": "0.13.15", 1246 | "esbuild-windows-arm64": "0.13.15" 1247 | } 1248 | }, 1249 | "node_modules/mkdist/node_modules/esbuild-android-arm64": { 1250 | "version": "0.13.15", 1251 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz", 1252 | "integrity": "sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==", 1253 | "cpu": [ 1254 | "arm64" 1255 | ], 1256 | "dev": true, 1257 | "optional": true, 1258 | "os": [ 1259 | "android" 1260 | ] 1261 | }, 1262 | "node_modules/mkdist/node_modules/esbuild-darwin-64": { 1263 | "version": "0.13.15", 1264 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.15.tgz", 1265 | "integrity": "sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==", 1266 | "cpu": [ 1267 | "x64" 1268 | ], 1269 | "dev": true, 1270 | "optional": true, 1271 | "os": [ 1272 | "darwin" 1273 | ] 1274 | }, 1275 | "node_modules/mkdist/node_modules/esbuild-darwin-arm64": { 1276 | "version": "0.13.15", 1277 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.15.tgz", 1278 | "integrity": "sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==", 1279 | "cpu": [ 1280 | "arm64" 1281 | ], 1282 | "dev": true, 1283 | "optional": true, 1284 | "os": [ 1285 | "darwin" 1286 | ] 1287 | }, 1288 | "node_modules/mkdist/node_modules/esbuild-freebsd-64": { 1289 | "version": "0.13.15", 1290 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.15.tgz", 1291 | "integrity": "sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==", 1292 | "cpu": [ 1293 | "x64" 1294 | ], 1295 | "dev": true, 1296 | "optional": true, 1297 | "os": [ 1298 | "freebsd" 1299 | ] 1300 | }, 1301 | "node_modules/mkdist/node_modules/esbuild-freebsd-arm64": { 1302 | "version": "0.13.15", 1303 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.15.tgz", 1304 | "integrity": "sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==", 1305 | "cpu": [ 1306 | "arm64" 1307 | ], 1308 | "dev": true, 1309 | "optional": true, 1310 | "os": [ 1311 | "freebsd" 1312 | ] 1313 | }, 1314 | "node_modules/mkdist/node_modules/esbuild-linux-32": { 1315 | "version": "0.13.15", 1316 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.15.tgz", 1317 | "integrity": "sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==", 1318 | "cpu": [ 1319 | "ia32" 1320 | ], 1321 | "dev": true, 1322 | "optional": true, 1323 | "os": [ 1324 | "linux" 1325 | ] 1326 | }, 1327 | "node_modules/mkdist/node_modules/esbuild-linux-64": { 1328 | "version": "0.13.15", 1329 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz", 1330 | "integrity": "sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==", 1331 | "cpu": [ 1332 | "x64" 1333 | ], 1334 | "dev": true, 1335 | "optional": true, 1336 | "os": [ 1337 | "linux" 1338 | ] 1339 | }, 1340 | "node_modules/mkdist/node_modules/esbuild-linux-arm": { 1341 | "version": "0.13.15", 1342 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.15.tgz", 1343 | "integrity": "sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==", 1344 | "cpu": [ 1345 | "arm" 1346 | ], 1347 | "dev": true, 1348 | "optional": true, 1349 | "os": [ 1350 | "linux" 1351 | ] 1352 | }, 1353 | "node_modules/mkdist/node_modules/esbuild-linux-arm64": { 1354 | "version": "0.13.15", 1355 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.15.tgz", 1356 | "integrity": "sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==", 1357 | "cpu": [ 1358 | "arm64" 1359 | ], 1360 | "dev": true, 1361 | "optional": true, 1362 | "os": [ 1363 | "linux" 1364 | ] 1365 | }, 1366 | "node_modules/mkdist/node_modules/esbuild-linux-mips64le": { 1367 | "version": "0.13.15", 1368 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.15.tgz", 1369 | "integrity": "sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==", 1370 | "cpu": [ 1371 | "mips64el" 1372 | ], 1373 | "dev": true, 1374 | "optional": true, 1375 | "os": [ 1376 | "linux" 1377 | ] 1378 | }, 1379 | "node_modules/mkdist/node_modules/esbuild-linux-ppc64le": { 1380 | "version": "0.13.15", 1381 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.15.tgz", 1382 | "integrity": "sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==", 1383 | "cpu": [ 1384 | "ppc64" 1385 | ], 1386 | "dev": true, 1387 | "optional": true, 1388 | "os": [ 1389 | "linux" 1390 | ] 1391 | }, 1392 | "node_modules/mkdist/node_modules/esbuild-netbsd-64": { 1393 | "version": "0.13.15", 1394 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.15.tgz", 1395 | "integrity": "sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==", 1396 | "cpu": [ 1397 | "x64" 1398 | ], 1399 | "dev": true, 1400 | "optional": true, 1401 | "os": [ 1402 | "netbsd" 1403 | ] 1404 | }, 1405 | "node_modules/mkdist/node_modules/esbuild-openbsd-64": { 1406 | "version": "0.13.15", 1407 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.15.tgz", 1408 | "integrity": "sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==", 1409 | "cpu": [ 1410 | "x64" 1411 | ], 1412 | "dev": true, 1413 | "optional": true, 1414 | "os": [ 1415 | "openbsd" 1416 | ] 1417 | }, 1418 | "node_modules/mkdist/node_modules/esbuild-sunos-64": { 1419 | "version": "0.13.15", 1420 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.15.tgz", 1421 | "integrity": "sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==", 1422 | "cpu": [ 1423 | "x64" 1424 | ], 1425 | "dev": true, 1426 | "optional": true, 1427 | "os": [ 1428 | "sunos" 1429 | ] 1430 | }, 1431 | "node_modules/mkdist/node_modules/esbuild-windows-32": { 1432 | "version": "0.13.15", 1433 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.15.tgz", 1434 | "integrity": "sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==", 1435 | "cpu": [ 1436 | "ia32" 1437 | ], 1438 | "dev": true, 1439 | "optional": true, 1440 | "os": [ 1441 | "win32" 1442 | ] 1443 | }, 1444 | "node_modules/mkdist/node_modules/esbuild-windows-64": { 1445 | "version": "0.13.15", 1446 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.15.tgz", 1447 | "integrity": "sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==", 1448 | "cpu": [ 1449 | "x64" 1450 | ], 1451 | "dev": true, 1452 | "optional": true, 1453 | "os": [ 1454 | "win32" 1455 | ] 1456 | }, 1457 | "node_modules/mkdist/node_modules/esbuild-windows-arm64": { 1458 | "version": "0.13.15", 1459 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.15.tgz", 1460 | "integrity": "sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==", 1461 | "cpu": [ 1462 | "arm64" 1463 | ], 1464 | "dev": true, 1465 | "optional": true, 1466 | "os": [ 1467 | "win32" 1468 | ] 1469 | }, 1470 | "node_modules/mlly": { 1471 | "version": "0.4.3", 1472 | "resolved": "https://registry.npmjs.org/mlly/-/mlly-0.4.3.tgz", 1473 | "integrity": "sha512-xezyv7hnfFPuiDS3AiJuWs0OxlvooS++3L2lURvmh/1n7UG4O2Ehz9UkwWgg3wyLEPKGVfJLlr2DjjTCl9UJTg==", 1474 | "dev": true 1475 | }, 1476 | "node_modules/mri": { 1477 | "version": "1.2.0", 1478 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 1479 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", 1480 | "dev": true, 1481 | "engines": { 1482 | "node": ">=4" 1483 | } 1484 | }, 1485 | "node_modules/ms": { 1486 | "version": "2.1.2", 1487 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1488 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1489 | "dev": true 1490 | }, 1491 | "node_modules/nanoid": { 1492 | "version": "3.3.1", 1493 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", 1494 | "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", 1495 | "dev": true, 1496 | "bin": { 1497 | "nanoid": "bin/nanoid.cjs" 1498 | }, 1499 | "engines": { 1500 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1501 | } 1502 | }, 1503 | "node_modules/once": { 1504 | "version": "1.4.0", 1505 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1506 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1507 | "dev": true, 1508 | "dependencies": { 1509 | "wrappy": "1" 1510 | } 1511 | }, 1512 | "node_modules/path-is-absolute": { 1513 | "version": "1.0.1", 1514 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1515 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1516 | "dev": true, 1517 | "engines": { 1518 | "node": ">=0.10.0" 1519 | } 1520 | }, 1521 | "node_modules/path-parse": { 1522 | "version": "1.0.7", 1523 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1524 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1525 | "dev": true 1526 | }, 1527 | "node_modules/path-type": { 1528 | "version": "4.0.0", 1529 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 1530 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 1531 | "dev": true, 1532 | "engines": { 1533 | "node": ">=8" 1534 | } 1535 | }, 1536 | "node_modules/pathe": { 1537 | "version": "0.2.0", 1538 | "resolved": "https://registry.npmjs.org/pathe/-/pathe-0.2.0.tgz", 1539 | "integrity": "sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==", 1540 | "dev": true 1541 | }, 1542 | "node_modules/picocolors": { 1543 | "version": "1.0.0", 1544 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1545 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1546 | "dev": true 1547 | }, 1548 | "node_modules/picomatch": { 1549 | "version": "2.3.1", 1550 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1551 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1552 | "dev": true, 1553 | "engines": { 1554 | "node": ">=8.6" 1555 | }, 1556 | "funding": { 1557 | "url": "https://github.com/sponsors/jonschlinkert" 1558 | } 1559 | }, 1560 | "node_modules/pkg-types": { 1561 | "version": "0.3.2", 1562 | "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-0.3.2.tgz", 1563 | "integrity": "sha512-eBYzX/7NYsQEOR2alWY4rnQB49G62oHzFpoi9Som56aUr8vB8UGcmcIia9v8fpBeuhH3Ltentuk2OGpp4IQV3Q==", 1564 | "dev": true, 1565 | "dependencies": { 1566 | "jsonc-parser": "^3.0.0", 1567 | "mlly": "^0.3.6", 1568 | "pathe": "^0.2.0" 1569 | } 1570 | }, 1571 | "node_modules/pkg-types/node_modules/mlly": { 1572 | "version": "0.3.19", 1573 | "resolved": "https://registry.npmjs.org/mlly/-/mlly-0.3.19.tgz", 1574 | "integrity": "sha512-zMq5n3cOf4fOzA4WoeulxagbAgMChdev3MgP6K51k7M0u2whTXxupfIY4VVzws4vxkiWhwH1rVQcsw7zDGfRhA==", 1575 | "dev": true 1576 | }, 1577 | "node_modules/postcss": { 1578 | "version": "8.4.6", 1579 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", 1580 | "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", 1581 | "dev": true, 1582 | "dependencies": { 1583 | "nanoid": "^3.2.0", 1584 | "picocolors": "^1.0.0", 1585 | "source-map-js": "^1.0.2" 1586 | }, 1587 | "engines": { 1588 | "node": "^10 || ^12 || >=14" 1589 | }, 1590 | "funding": { 1591 | "type": "opencollective", 1592 | "url": "https://opencollective.com/postcss/" 1593 | } 1594 | }, 1595 | "node_modules/prettier": { 1596 | "version": "2.5.1", 1597 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", 1598 | "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", 1599 | "dev": true, 1600 | "bin": { 1601 | "prettier": "bin-prettier.js" 1602 | }, 1603 | "engines": { 1604 | "node": ">=10.13.0" 1605 | } 1606 | }, 1607 | "node_modules/pretty-bytes": { 1608 | "version": "5.6.0", 1609 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", 1610 | "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", 1611 | "dev": true, 1612 | "engines": { 1613 | "node": ">=6" 1614 | }, 1615 | "funding": { 1616 | "url": "https://github.com/sponsors/sindresorhus" 1617 | } 1618 | }, 1619 | "node_modules/queue-microtask": { 1620 | "version": "1.2.3", 1621 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1622 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1623 | "dev": true, 1624 | "funding": [ 1625 | { 1626 | "type": "github", 1627 | "url": "https://github.com/sponsors/feross" 1628 | }, 1629 | { 1630 | "type": "patreon", 1631 | "url": "https://www.patreon.com/feross" 1632 | }, 1633 | { 1634 | "type": "consulting", 1635 | "url": "https://feross.org/support" 1636 | } 1637 | ] 1638 | }, 1639 | "node_modules/resolve": { 1640 | "version": "1.22.0", 1641 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 1642 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 1643 | "dev": true, 1644 | "dependencies": { 1645 | "is-core-module": "^2.8.1", 1646 | "path-parse": "^1.0.7", 1647 | "supports-preserve-symlinks-flag": "^1.0.0" 1648 | }, 1649 | "bin": { 1650 | "resolve": "bin/resolve" 1651 | }, 1652 | "funding": { 1653 | "url": "https://github.com/sponsors/ljharb" 1654 | } 1655 | }, 1656 | "node_modules/reusify": { 1657 | "version": "1.0.4", 1658 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1659 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1660 | "dev": true, 1661 | "engines": { 1662 | "iojs": ">=1.0.0", 1663 | "node": ">=0.10.0" 1664 | } 1665 | }, 1666 | "node_modules/rimraf": { 1667 | "version": "3.0.2", 1668 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1669 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1670 | "dev": true, 1671 | "dependencies": { 1672 | "glob": "^7.1.3" 1673 | }, 1674 | "bin": { 1675 | "rimraf": "bin.js" 1676 | }, 1677 | "funding": { 1678 | "url": "https://github.com/sponsors/isaacs" 1679 | } 1680 | }, 1681 | "node_modules/rollup": { 1682 | "version": "2.67.3", 1683 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.67.3.tgz", 1684 | "integrity": "sha512-G/x1vUwbGtP6O5ZM8/sWr8+p7YfZhI18pPqMRtMYMWSbHjKZ/ajHGiM+GWNTlWyOR0EHIdT8LHU+Z4ciIZ1oBw==", 1685 | "dev": true, 1686 | "bin": { 1687 | "rollup": "dist/bin/rollup" 1688 | }, 1689 | "engines": { 1690 | "node": ">=10.0.0" 1691 | }, 1692 | "optionalDependencies": { 1693 | "fsevents": "~2.3.2" 1694 | } 1695 | }, 1696 | "node_modules/rollup-plugin-dts": { 1697 | "version": "4.1.0", 1698 | "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-4.1.0.tgz", 1699 | "integrity": "sha512-rriXIm3jdUiYeiAAd1Fv+x2AxK6Kq6IybB2Z/IdoAW95fb4uRUurYsEYKa8L1seedezDeJhy8cfo8FEL9aZzqg==", 1700 | "dev": true, 1701 | "dependencies": { 1702 | "magic-string": "^0.25.7" 1703 | }, 1704 | "engines": { 1705 | "node": ">=v12.22.7" 1706 | }, 1707 | "funding": { 1708 | "url": "https://github.com/sponsors/Swatinem" 1709 | }, 1710 | "optionalDependencies": { 1711 | "@babel/code-frame": "^7.16.0" 1712 | }, 1713 | "peerDependencies": { 1714 | "rollup": "^2.55", 1715 | "typescript": "~4.1 || ~4.2 || ~4.3 || ~4.4 || ~4.5" 1716 | } 1717 | }, 1718 | "node_modules/rollup-plugin-esbuild": { 1719 | "version": "4.8.2", 1720 | "resolved": "https://registry.npmjs.org/rollup-plugin-esbuild/-/rollup-plugin-esbuild-4.8.2.tgz", 1721 | "integrity": "sha512-wsaYNOjzTb6dN1qCIZsMZ7Q0LWiPJklYs2TDI8vJA2LUbvtPUY+17TC8C0vSat3jPMInfR9XWKdA7ttuwkjsGQ==", 1722 | "dev": true, 1723 | "dependencies": { 1724 | "@rollup/pluginutils": "^4.1.1", 1725 | "debug": "^4.3.3", 1726 | "es-module-lexer": "^0.9.3", 1727 | "joycon": "^3.0.1", 1728 | "jsonc-parser": "^3.0.0" 1729 | }, 1730 | "engines": { 1731 | "node": ">=12" 1732 | }, 1733 | "peerDependencies": { 1734 | "esbuild": ">=0.10.1", 1735 | "rollup": "^1.20.0 || ^2.0.0" 1736 | } 1737 | }, 1738 | "node_modules/run-parallel": { 1739 | "version": "1.2.0", 1740 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1741 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1742 | "dev": true, 1743 | "funding": [ 1744 | { 1745 | "type": "github", 1746 | "url": "https://github.com/sponsors/feross" 1747 | }, 1748 | { 1749 | "type": "patreon", 1750 | "url": "https://www.patreon.com/feross" 1751 | }, 1752 | { 1753 | "type": "consulting", 1754 | "url": "https://feross.org/support" 1755 | } 1756 | ], 1757 | "dependencies": { 1758 | "queue-microtask": "^1.2.2" 1759 | } 1760 | }, 1761 | "node_modules/scule": { 1762 | "version": "0.2.1", 1763 | "resolved": "https://registry.npmjs.org/scule/-/scule-0.2.1.tgz", 1764 | "integrity": "sha512-M9gnWtn3J0W+UhJOHmBxBTwv8mZCan5i1Himp60t6vvZcor0wr+IM0URKmIglsWJ7bRujNAVVN77fp+uZaWoKg==", 1765 | "dev": true 1766 | }, 1767 | "node_modules/slash": { 1768 | "version": "3.0.0", 1769 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 1770 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 1771 | "dev": true, 1772 | "engines": { 1773 | "node": ">=8" 1774 | } 1775 | }, 1776 | "node_modules/source-map-js": { 1777 | "version": "1.0.2", 1778 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1779 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 1780 | "dev": true, 1781 | "engines": { 1782 | "node": ">=0.10.0" 1783 | } 1784 | }, 1785 | "node_modules/sourcemap-codec": { 1786 | "version": "1.4.8", 1787 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 1788 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", 1789 | "dev": true 1790 | }, 1791 | "node_modules/supports-color": { 1792 | "version": "5.5.0", 1793 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1794 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1795 | "dev": true, 1796 | "optional": true, 1797 | "dependencies": { 1798 | "has-flag": "^3.0.0" 1799 | }, 1800 | "engines": { 1801 | "node": ">=4" 1802 | } 1803 | }, 1804 | "node_modules/supports-preserve-symlinks-flag": { 1805 | "version": "1.0.0", 1806 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1807 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1808 | "dev": true, 1809 | "engines": { 1810 | "node": ">= 0.4" 1811 | }, 1812 | "funding": { 1813 | "url": "https://github.com/sponsors/ljharb" 1814 | } 1815 | }, 1816 | "node_modules/to-regex-range": { 1817 | "version": "5.0.1", 1818 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1819 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1820 | "dev": true, 1821 | "dependencies": { 1822 | "is-number": "^7.0.0" 1823 | }, 1824 | "engines": { 1825 | "node": ">=8.0" 1826 | } 1827 | }, 1828 | "node_modules/typescript": { 1829 | "version": "4.5.5", 1830 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", 1831 | "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", 1832 | "dev": true, 1833 | "bin": { 1834 | "tsc": "bin/tsc", 1835 | "tsserver": "bin/tsserver" 1836 | }, 1837 | "engines": { 1838 | "node": ">=4.2.0" 1839 | } 1840 | }, 1841 | "node_modules/unbuild": { 1842 | "version": "0.6.9", 1843 | "resolved": "https://registry.npmjs.org/unbuild/-/unbuild-0.6.9.tgz", 1844 | "integrity": "sha512-IALhVj6cLWAxFqX5qcuR932Y3OKFgWcZXPeQ0qU1YAuBucWzpY171GHMi+rXot3C4V7JwD0khGmjvu41E980mQ==", 1845 | "dev": true, 1846 | "dependencies": { 1847 | "@rollup/plugin-alias": "^3.1.9", 1848 | "@rollup/plugin-commonjs": "^21.0.1", 1849 | "@rollup/plugin-json": "^4.1.0", 1850 | "@rollup/plugin-node-resolve": "^13.1.3", 1851 | "@rollup/plugin-replace": "^3.0.1", 1852 | "@rollup/pluginutils": "^4.1.2", 1853 | "chalk": "^5.0.0", 1854 | "consola": "^2.15.3", 1855 | "defu": "^5.0.1", 1856 | "esbuild": "^0.14.14", 1857 | "hookable": "^5.1.1", 1858 | "jiti": "^1.12.14", 1859 | "magic-string": "^0.25.7", 1860 | "mkdirp": "^1.0.4", 1861 | "mkdist": "^0.3.9", 1862 | "mlly": "^0.4.1", 1863 | "mri": "^1.2.0", 1864 | "pathe": "^0.2.0", 1865 | "pkg-types": "^0.3.2", 1866 | "pretty-bytes": "^5.6.0", 1867 | "rimraf": "^3.0.2", 1868 | "rollup": "^2.66.1", 1869 | "rollup-plugin-dts": "^4.1.0", 1870 | "rollup-plugin-esbuild": "^4.8.2", 1871 | "scule": "^0.2.1", 1872 | "typescript": "^4.5.5", 1873 | "untyped": "^0.3.0" 1874 | }, 1875 | "bin": { 1876 | "unbuild": "dist/cli.mjs" 1877 | } 1878 | }, 1879 | "node_modules/universalify": { 1880 | "version": "2.0.0", 1881 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", 1882 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", 1883 | "dev": true, 1884 | "engines": { 1885 | "node": ">= 10.0.0" 1886 | } 1887 | }, 1888 | "node_modules/untyped": { 1889 | "version": "0.3.0", 1890 | "resolved": "https://registry.npmjs.org/untyped/-/untyped-0.3.0.tgz", 1891 | "integrity": "sha512-n4M5/T1wWlHFmohk0EhS+yM7W/h5dOtQldOV3MVEbZY1fTy5A47UL8+d8GLW1iwmaAwNrM5ERy3qe1k0T/Yc7A==", 1892 | "dev": true 1893 | }, 1894 | "node_modules/vite": { 1895 | "version": "2.8.4", 1896 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.8.4.tgz", 1897 | "integrity": "sha512-GwtOkkaT2LDI82uWZKcrpRQxP5tymLnC7hVHHqNkhFNknYr0hJUlDLfhVRgngJvAy3RwypkDCWtTKn1BjO96Dw==", 1898 | "dev": true, 1899 | "dependencies": { 1900 | "esbuild": "^0.14.14", 1901 | "postcss": "^8.4.6", 1902 | "resolve": "^1.22.0", 1903 | "rollup": "^2.59.0" 1904 | }, 1905 | "bin": { 1906 | "vite": "bin/vite.js" 1907 | }, 1908 | "engines": { 1909 | "node": ">=12.2.0" 1910 | }, 1911 | "optionalDependencies": { 1912 | "fsevents": "~2.3.2" 1913 | }, 1914 | "peerDependencies": { 1915 | "less": "*", 1916 | "sass": "*", 1917 | "stylus": "*" 1918 | }, 1919 | "peerDependenciesMeta": { 1920 | "less": { 1921 | "optional": true 1922 | }, 1923 | "sass": { 1924 | "optional": true 1925 | }, 1926 | "stylus": { 1927 | "optional": true 1928 | } 1929 | } 1930 | }, 1931 | "node_modules/wrappy": { 1932 | "version": "1.0.2", 1933 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1934 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1935 | "dev": true 1936 | } 1937 | }, 1938 | "dependencies": { 1939 | "@babel/code-frame": { 1940 | "version": "7.16.7", 1941 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", 1942 | "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", 1943 | "dev": true, 1944 | "optional": true, 1945 | "requires": { 1946 | "@babel/highlight": "^7.16.7" 1947 | } 1948 | }, 1949 | "@babel/helper-validator-identifier": { 1950 | "version": "7.16.7", 1951 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", 1952 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", 1953 | "dev": true, 1954 | "optional": true 1955 | }, 1956 | "@babel/highlight": { 1957 | "version": "7.16.10", 1958 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", 1959 | "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", 1960 | "dev": true, 1961 | "optional": true, 1962 | "requires": { 1963 | "@babel/helper-validator-identifier": "^7.16.7", 1964 | "chalk": "^2.0.0", 1965 | "js-tokens": "^4.0.0" 1966 | }, 1967 | "dependencies": { 1968 | "chalk": { 1969 | "version": "2.4.2", 1970 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 1971 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 1972 | "dev": true, 1973 | "optional": true, 1974 | "requires": { 1975 | "ansi-styles": "^3.2.1", 1976 | "escape-string-regexp": "^1.0.5", 1977 | "supports-color": "^5.3.0" 1978 | } 1979 | } 1980 | } 1981 | }, 1982 | "@nodelib/fs.scandir": { 1983 | "version": "2.1.5", 1984 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 1985 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 1986 | "dev": true, 1987 | "requires": { 1988 | "@nodelib/fs.stat": "2.0.5", 1989 | "run-parallel": "^1.1.9" 1990 | } 1991 | }, 1992 | "@nodelib/fs.stat": { 1993 | "version": "2.0.5", 1994 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 1995 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 1996 | "dev": true 1997 | }, 1998 | "@nodelib/fs.walk": { 1999 | "version": "1.2.8", 2000 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 2001 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 2002 | "dev": true, 2003 | "requires": { 2004 | "@nodelib/fs.scandir": "2.1.5", 2005 | "fastq": "^1.6.0" 2006 | } 2007 | }, 2008 | "@rollup/plugin-alias": { 2009 | "version": "3.1.9", 2010 | "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.9.tgz", 2011 | "integrity": "sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==", 2012 | "dev": true, 2013 | "requires": { 2014 | "slash": "^3.0.0" 2015 | } 2016 | }, 2017 | "@rollup/plugin-commonjs": { 2018 | "version": "21.0.1", 2019 | "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.1.tgz", 2020 | "integrity": "sha512-EA+g22lbNJ8p5kuZJUYyhhDK7WgJckW5g4pNN7n4mAFUM96VuwUnNT3xr2Db2iCZPI1pJPbGyfT5mS9T1dHfMg==", 2021 | "dev": true, 2022 | "requires": { 2023 | "@rollup/pluginutils": "^3.1.0", 2024 | "commondir": "^1.0.1", 2025 | "estree-walker": "^2.0.1", 2026 | "glob": "^7.1.6", 2027 | "is-reference": "^1.2.1", 2028 | "magic-string": "^0.25.7", 2029 | "resolve": "^1.17.0" 2030 | }, 2031 | "dependencies": { 2032 | "@rollup/pluginutils": { 2033 | "version": "3.1.0", 2034 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", 2035 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", 2036 | "dev": true, 2037 | "requires": { 2038 | "@types/estree": "0.0.39", 2039 | "estree-walker": "^1.0.1", 2040 | "picomatch": "^2.2.2" 2041 | }, 2042 | "dependencies": { 2043 | "estree-walker": { 2044 | "version": "1.0.1", 2045 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", 2046 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", 2047 | "dev": true 2048 | } 2049 | } 2050 | }, 2051 | "@types/estree": { 2052 | "version": "0.0.39", 2053 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 2054 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 2055 | "dev": true 2056 | } 2057 | } 2058 | }, 2059 | "@rollup/plugin-json": { 2060 | "version": "4.1.0", 2061 | "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", 2062 | "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", 2063 | "dev": true, 2064 | "requires": { 2065 | "@rollup/pluginutils": "^3.0.8" 2066 | }, 2067 | "dependencies": { 2068 | "@rollup/pluginutils": { 2069 | "version": "3.1.0", 2070 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", 2071 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", 2072 | "dev": true, 2073 | "requires": { 2074 | "@types/estree": "0.0.39", 2075 | "estree-walker": "^1.0.1", 2076 | "picomatch": "^2.2.2" 2077 | } 2078 | }, 2079 | "@types/estree": { 2080 | "version": "0.0.39", 2081 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 2082 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 2083 | "dev": true 2084 | }, 2085 | "estree-walker": { 2086 | "version": "1.0.1", 2087 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", 2088 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", 2089 | "dev": true 2090 | } 2091 | } 2092 | }, 2093 | "@rollup/plugin-node-resolve": { 2094 | "version": "13.1.3", 2095 | "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz", 2096 | "integrity": "sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==", 2097 | "dev": true, 2098 | "requires": { 2099 | "@rollup/pluginutils": "^3.1.0", 2100 | "@types/resolve": "1.17.1", 2101 | "builtin-modules": "^3.1.0", 2102 | "deepmerge": "^4.2.2", 2103 | "is-module": "^1.0.0", 2104 | "resolve": "^1.19.0" 2105 | }, 2106 | "dependencies": { 2107 | "@rollup/pluginutils": { 2108 | "version": "3.1.0", 2109 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", 2110 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", 2111 | "dev": true, 2112 | "requires": { 2113 | "@types/estree": "0.0.39", 2114 | "estree-walker": "^1.0.1", 2115 | "picomatch": "^2.2.2" 2116 | } 2117 | }, 2118 | "@types/estree": { 2119 | "version": "0.0.39", 2120 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 2121 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 2122 | "dev": true 2123 | }, 2124 | "estree-walker": { 2125 | "version": "1.0.1", 2126 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", 2127 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", 2128 | "dev": true 2129 | } 2130 | } 2131 | }, 2132 | "@rollup/plugin-replace": { 2133 | "version": "3.1.0", 2134 | "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-3.1.0.tgz", 2135 | "integrity": "sha512-pA3XRUrSKybVYqmH5TqWNZpGxF+VV+1GrYchKgCNIj2vsSOX7CVm2RCtx8p2nrC7xvkziYyK+lSi74T93MU3YA==", 2136 | "dev": true, 2137 | "requires": { 2138 | "@rollup/pluginutils": "^3.1.0", 2139 | "magic-string": "^0.25.7" 2140 | }, 2141 | "dependencies": { 2142 | "@rollup/pluginutils": { 2143 | "version": "3.1.0", 2144 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", 2145 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", 2146 | "dev": true, 2147 | "requires": { 2148 | "@types/estree": "0.0.39", 2149 | "estree-walker": "^1.0.1", 2150 | "picomatch": "^2.2.2" 2151 | } 2152 | }, 2153 | "@types/estree": { 2154 | "version": "0.0.39", 2155 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 2156 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 2157 | "dev": true 2158 | }, 2159 | "estree-walker": { 2160 | "version": "1.0.1", 2161 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", 2162 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", 2163 | "dev": true 2164 | } 2165 | } 2166 | }, 2167 | "@rollup/pluginutils": { 2168 | "version": "4.1.2", 2169 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", 2170 | "integrity": "sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==", 2171 | "dev": true, 2172 | "requires": { 2173 | "estree-walker": "^2.0.1", 2174 | "picomatch": "^2.2.2" 2175 | } 2176 | }, 2177 | "@types/estree": { 2178 | "version": "0.0.51", 2179 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", 2180 | "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", 2181 | "dev": true 2182 | }, 2183 | "@types/node": { 2184 | "version": "17.0.19", 2185 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.19.tgz", 2186 | "integrity": "sha512-PfeQhvcMR4cPFVuYfBN4ifG7p9c+Dlh3yUZR6k+5yQK7wX3gDgVxBly4/WkBRs9x4dmcy1TVl08SY67wwtEvmA==", 2187 | "dev": true 2188 | }, 2189 | "@types/resolve": { 2190 | "version": "1.17.1", 2191 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", 2192 | "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", 2193 | "dev": true, 2194 | "requires": { 2195 | "@types/node": "*" 2196 | } 2197 | }, 2198 | "ansi-styles": { 2199 | "version": "3.2.1", 2200 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 2201 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 2202 | "dev": true, 2203 | "optional": true, 2204 | "requires": { 2205 | "color-convert": "^1.9.0" 2206 | } 2207 | }, 2208 | "array-union": { 2209 | "version": "2.1.0", 2210 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 2211 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 2212 | "dev": true 2213 | }, 2214 | "balanced-match": { 2215 | "version": "1.0.2", 2216 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2217 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2218 | "dev": true 2219 | }, 2220 | "brace-expansion": { 2221 | "version": "1.1.11", 2222 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2223 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2224 | "dev": true, 2225 | "requires": { 2226 | "balanced-match": "^1.0.0", 2227 | "concat-map": "0.0.1" 2228 | } 2229 | }, 2230 | "braces": { 2231 | "version": "3.0.2", 2232 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 2233 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 2234 | "dev": true, 2235 | "requires": { 2236 | "fill-range": "^7.0.1" 2237 | } 2238 | }, 2239 | "builtin-modules": { 2240 | "version": "3.2.0", 2241 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", 2242 | "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", 2243 | "dev": true 2244 | }, 2245 | "chalk": { 2246 | "version": "5.0.0", 2247 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.0.tgz", 2248 | "integrity": "sha512-/duVOqst+luxCQRKEo4bNxinsOQtMP80ZYm7mMqzuh5PociNL0PvmHFvREJ9ueYL2TxlHjBcmLCdmocx9Vg+IQ==", 2249 | "dev": true 2250 | }, 2251 | "color-convert": { 2252 | "version": "1.9.3", 2253 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 2254 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 2255 | "dev": true, 2256 | "optional": true, 2257 | "requires": { 2258 | "color-name": "1.1.3" 2259 | } 2260 | }, 2261 | "color-name": { 2262 | "version": "1.1.3", 2263 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 2264 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 2265 | "dev": true, 2266 | "optional": true 2267 | }, 2268 | "commondir": { 2269 | "version": "1.0.1", 2270 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", 2271 | "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", 2272 | "dev": true 2273 | }, 2274 | "concat-map": { 2275 | "version": "0.0.1", 2276 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2277 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 2278 | "dev": true 2279 | }, 2280 | "consola": { 2281 | "version": "2.15.3", 2282 | "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", 2283 | "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", 2284 | "dev": true 2285 | }, 2286 | "debug": { 2287 | "version": "4.3.3", 2288 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 2289 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 2290 | "dev": true, 2291 | "requires": { 2292 | "ms": "2.1.2" 2293 | } 2294 | }, 2295 | "deepmerge": { 2296 | "version": "4.2.2", 2297 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", 2298 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", 2299 | "dev": true 2300 | }, 2301 | "defu": { 2302 | "version": "5.0.1", 2303 | "resolved": "https://registry.npmjs.org/defu/-/defu-5.0.1.tgz", 2304 | "integrity": "sha512-EPS1carKg+dkEVy3qNTqIdp2qV7mUP08nIsupfwQpz++slCVRw7qbQyWvSTig+kFPwz2XXp5/kIIkH+CwrJKkQ==", 2305 | "dev": true 2306 | }, 2307 | "dir-glob": { 2308 | "version": "3.0.1", 2309 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 2310 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 2311 | "dev": true, 2312 | "requires": { 2313 | "path-type": "^4.0.0" 2314 | } 2315 | }, 2316 | "es-module-lexer": { 2317 | "version": "0.9.3", 2318 | "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", 2319 | "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", 2320 | "dev": true 2321 | }, 2322 | "esbuild": { 2323 | "version": "0.14.23", 2324 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.23.tgz", 2325 | "integrity": "sha512-XjnIcZ9KB6lfonCa+jRguXyRYcldmkyZ99ieDksqW/C8bnyEX299yA4QH2XcgijCgaddEZePPTgvx/2imsq7Ig==", 2326 | "dev": true, 2327 | "requires": { 2328 | "esbuild-android-arm64": "0.14.23", 2329 | "esbuild-darwin-64": "0.14.23", 2330 | "esbuild-darwin-arm64": "0.14.23", 2331 | "esbuild-freebsd-64": "0.14.23", 2332 | "esbuild-freebsd-arm64": "0.14.23", 2333 | "esbuild-linux-32": "0.14.23", 2334 | "esbuild-linux-64": "0.14.23", 2335 | "esbuild-linux-arm": "0.14.23", 2336 | "esbuild-linux-arm64": "0.14.23", 2337 | "esbuild-linux-mips64le": "0.14.23", 2338 | "esbuild-linux-ppc64le": "0.14.23", 2339 | "esbuild-linux-riscv64": "0.14.23", 2340 | "esbuild-linux-s390x": "0.14.23", 2341 | "esbuild-netbsd-64": "0.14.23", 2342 | "esbuild-openbsd-64": "0.14.23", 2343 | "esbuild-sunos-64": "0.14.23", 2344 | "esbuild-windows-32": "0.14.23", 2345 | "esbuild-windows-64": "0.14.23", 2346 | "esbuild-windows-arm64": "0.14.23" 2347 | } 2348 | }, 2349 | "esbuild-android-arm64": { 2350 | "version": "0.14.23", 2351 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz", 2352 | "integrity": "sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw==", 2353 | "dev": true, 2354 | "optional": true 2355 | }, 2356 | "esbuild-darwin-64": { 2357 | "version": "0.14.23", 2358 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz", 2359 | "integrity": "sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug==", 2360 | "dev": true, 2361 | "optional": true 2362 | }, 2363 | "esbuild-darwin-arm64": { 2364 | "version": "0.14.23", 2365 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz", 2366 | "integrity": "sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw==", 2367 | "dev": true, 2368 | "optional": true 2369 | }, 2370 | "esbuild-freebsd-64": { 2371 | "version": "0.14.23", 2372 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz", 2373 | "integrity": "sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA==", 2374 | "dev": true, 2375 | "optional": true 2376 | }, 2377 | "esbuild-freebsd-arm64": { 2378 | "version": "0.14.23", 2379 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz", 2380 | "integrity": "sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg==", 2381 | "dev": true, 2382 | "optional": true 2383 | }, 2384 | "esbuild-linux-32": { 2385 | "version": "0.14.23", 2386 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz", 2387 | "integrity": "sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ==", 2388 | "dev": true, 2389 | "optional": true 2390 | }, 2391 | "esbuild-linux-64": { 2392 | "version": "0.14.23", 2393 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz", 2394 | "integrity": "sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ==", 2395 | "dev": true, 2396 | "optional": true 2397 | }, 2398 | "esbuild-linux-arm": { 2399 | "version": "0.14.23", 2400 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz", 2401 | "integrity": "sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw==", 2402 | "dev": true, 2403 | "optional": true 2404 | }, 2405 | "esbuild-linux-arm64": { 2406 | "version": "0.14.23", 2407 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz", 2408 | "integrity": "sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g==", 2409 | "dev": true, 2410 | "optional": true 2411 | }, 2412 | "esbuild-linux-mips64le": { 2413 | "version": "0.14.23", 2414 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz", 2415 | "integrity": "sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw==", 2416 | "dev": true, 2417 | "optional": true 2418 | }, 2419 | "esbuild-linux-ppc64le": { 2420 | "version": "0.14.23", 2421 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz", 2422 | "integrity": "sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag==", 2423 | "dev": true, 2424 | "optional": true 2425 | }, 2426 | "esbuild-linux-riscv64": { 2427 | "version": "0.14.23", 2428 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz", 2429 | "integrity": "sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg==", 2430 | "dev": true, 2431 | "optional": true 2432 | }, 2433 | "esbuild-linux-s390x": { 2434 | "version": "0.14.23", 2435 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz", 2436 | "integrity": "sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA==", 2437 | "dev": true, 2438 | "optional": true 2439 | }, 2440 | "esbuild-netbsd-64": { 2441 | "version": "0.14.23", 2442 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz", 2443 | "integrity": "sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g==", 2444 | "dev": true, 2445 | "optional": true 2446 | }, 2447 | "esbuild-openbsd-64": { 2448 | "version": "0.14.23", 2449 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz", 2450 | "integrity": "sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA==", 2451 | "dev": true, 2452 | "optional": true 2453 | }, 2454 | "esbuild-sunos-64": { 2455 | "version": "0.14.23", 2456 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz", 2457 | "integrity": "sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g==", 2458 | "dev": true, 2459 | "optional": true 2460 | }, 2461 | "esbuild-windows-32": { 2462 | "version": "0.14.23", 2463 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz", 2464 | "integrity": "sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA==", 2465 | "dev": true, 2466 | "optional": true 2467 | }, 2468 | "esbuild-windows-64": { 2469 | "version": "0.14.23", 2470 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz", 2471 | "integrity": "sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g==", 2472 | "dev": true, 2473 | "optional": true 2474 | }, 2475 | "esbuild-windows-arm64": { 2476 | "version": "0.14.23", 2477 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz", 2478 | "integrity": "sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw==", 2479 | "dev": true, 2480 | "optional": true 2481 | }, 2482 | "escape-string-regexp": { 2483 | "version": "1.0.5", 2484 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 2485 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 2486 | "dev": true, 2487 | "optional": true 2488 | }, 2489 | "estree-walker": { 2490 | "version": "2.0.2", 2491 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 2492 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", 2493 | "dev": true 2494 | }, 2495 | "fast-glob": { 2496 | "version": "3.2.11", 2497 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 2498 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 2499 | "dev": true, 2500 | "requires": { 2501 | "@nodelib/fs.stat": "^2.0.2", 2502 | "@nodelib/fs.walk": "^1.2.3", 2503 | "glob-parent": "^5.1.2", 2504 | "merge2": "^1.3.0", 2505 | "micromatch": "^4.0.4" 2506 | } 2507 | }, 2508 | "fastq": { 2509 | "version": "1.13.0", 2510 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 2511 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 2512 | "dev": true, 2513 | "requires": { 2514 | "reusify": "^1.0.4" 2515 | } 2516 | }, 2517 | "fill-range": { 2518 | "version": "7.0.1", 2519 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 2520 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 2521 | "dev": true, 2522 | "requires": { 2523 | "to-regex-range": "^5.0.1" 2524 | } 2525 | }, 2526 | "fs-extra": { 2527 | "version": "10.0.0", 2528 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", 2529 | "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", 2530 | "dev": true, 2531 | "requires": { 2532 | "graceful-fs": "^4.2.0", 2533 | "jsonfile": "^6.0.1", 2534 | "universalify": "^2.0.0" 2535 | } 2536 | }, 2537 | "fs.realpath": { 2538 | "version": "1.0.0", 2539 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2540 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 2541 | "dev": true 2542 | }, 2543 | "fsevents": { 2544 | "version": "2.3.2", 2545 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 2546 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2547 | "dev": true, 2548 | "optional": true 2549 | }, 2550 | "function-bind": { 2551 | "version": "1.1.1", 2552 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 2553 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 2554 | "dev": true 2555 | }, 2556 | "glob": { 2557 | "version": "7.2.0", 2558 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 2559 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 2560 | "dev": true, 2561 | "requires": { 2562 | "fs.realpath": "^1.0.0", 2563 | "inflight": "^1.0.4", 2564 | "inherits": "2", 2565 | "minimatch": "^3.0.4", 2566 | "once": "^1.3.0", 2567 | "path-is-absolute": "^1.0.0" 2568 | } 2569 | }, 2570 | "glob-parent": { 2571 | "version": "5.1.2", 2572 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2573 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2574 | "dev": true, 2575 | "requires": { 2576 | "is-glob": "^4.0.1" 2577 | } 2578 | }, 2579 | "globby": { 2580 | "version": "11.1.0", 2581 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 2582 | "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 2583 | "dev": true, 2584 | "requires": { 2585 | "array-union": "^2.1.0", 2586 | "dir-glob": "^3.0.1", 2587 | "fast-glob": "^3.2.9", 2588 | "ignore": "^5.2.0", 2589 | "merge2": "^1.4.1", 2590 | "slash": "^3.0.0" 2591 | } 2592 | }, 2593 | "graceful-fs": { 2594 | "version": "4.2.9", 2595 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", 2596 | "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", 2597 | "dev": true 2598 | }, 2599 | "has": { 2600 | "version": "1.0.3", 2601 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 2602 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 2603 | "dev": true, 2604 | "requires": { 2605 | "function-bind": "^1.1.1" 2606 | } 2607 | }, 2608 | "has-flag": { 2609 | "version": "3.0.0", 2610 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 2611 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 2612 | "dev": true, 2613 | "optional": true 2614 | }, 2615 | "hookable": { 2616 | "version": "5.1.1", 2617 | "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.1.1.tgz", 2618 | "integrity": "sha512-7qam9XBFb+DijNBthaL1k/7lHU2TEMZkWSyuqmU3sCQze1wFm5w9AlEx30PD7a+QVAjOy6Ec2goFwe1YVyk2uA==", 2619 | "dev": true 2620 | }, 2621 | "ignore": { 2622 | "version": "5.2.0", 2623 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 2624 | "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 2625 | "dev": true 2626 | }, 2627 | "inflight": { 2628 | "version": "1.0.6", 2629 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2630 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 2631 | "dev": true, 2632 | "requires": { 2633 | "once": "^1.3.0", 2634 | "wrappy": "1" 2635 | } 2636 | }, 2637 | "inherits": { 2638 | "version": "2.0.4", 2639 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2640 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2641 | "dev": true 2642 | }, 2643 | "is-core-module": { 2644 | "version": "2.8.1", 2645 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", 2646 | "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", 2647 | "dev": true, 2648 | "requires": { 2649 | "has": "^1.0.3" 2650 | } 2651 | }, 2652 | "is-extglob": { 2653 | "version": "2.1.1", 2654 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2655 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 2656 | "dev": true 2657 | }, 2658 | "is-glob": { 2659 | "version": "4.0.3", 2660 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2661 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2662 | "dev": true, 2663 | "requires": { 2664 | "is-extglob": "^2.1.1" 2665 | } 2666 | }, 2667 | "is-module": { 2668 | "version": "1.0.0", 2669 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", 2670 | "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", 2671 | "dev": true 2672 | }, 2673 | "is-number": { 2674 | "version": "7.0.0", 2675 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2676 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 2677 | "dev": true 2678 | }, 2679 | "is-reference": { 2680 | "version": "1.2.1", 2681 | "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", 2682 | "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", 2683 | "dev": true, 2684 | "requires": { 2685 | "@types/estree": "*" 2686 | } 2687 | }, 2688 | "jiti": { 2689 | "version": "1.13.0", 2690 | "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.13.0.tgz", 2691 | "integrity": "sha512-/n9mNxZj/HDSrincJ6RP+L+yXbpnB8FybySBa+IjIaoH9FIxBbrbRT5XUbe8R7zuVM2AQqNMNDDqz0bzx3znOQ==", 2692 | "dev": true 2693 | }, 2694 | "joycon": { 2695 | "version": "3.1.1", 2696 | "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", 2697 | "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", 2698 | "dev": true 2699 | }, 2700 | "js-tokens": { 2701 | "version": "4.0.0", 2702 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2703 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 2704 | "dev": true, 2705 | "optional": true 2706 | }, 2707 | "jsonc-parser": { 2708 | "version": "3.0.0", 2709 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", 2710 | "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", 2711 | "dev": true 2712 | }, 2713 | "jsonfile": { 2714 | "version": "6.1.0", 2715 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 2716 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 2717 | "dev": true, 2718 | "requires": { 2719 | "graceful-fs": "^4.1.6", 2720 | "universalify": "^2.0.0" 2721 | } 2722 | }, 2723 | "magic-string": { 2724 | "version": "0.25.7", 2725 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", 2726 | "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", 2727 | "dev": true, 2728 | "requires": { 2729 | "sourcemap-codec": "^1.4.4" 2730 | } 2731 | }, 2732 | "merge2": { 2733 | "version": "1.4.1", 2734 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 2735 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 2736 | "dev": true 2737 | }, 2738 | "micromatch": { 2739 | "version": "4.0.4", 2740 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", 2741 | "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", 2742 | "dev": true, 2743 | "requires": { 2744 | "braces": "^3.0.1", 2745 | "picomatch": "^2.2.3" 2746 | } 2747 | }, 2748 | "minimatch": { 2749 | "version": "3.1.2", 2750 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2751 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2752 | "dev": true, 2753 | "requires": { 2754 | "brace-expansion": "^1.1.7" 2755 | } 2756 | }, 2757 | "mkdirp": { 2758 | "version": "1.0.4", 2759 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 2760 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 2761 | "dev": true 2762 | }, 2763 | "mkdist": { 2764 | "version": "0.3.10", 2765 | "resolved": "https://registry.npmjs.org/mkdist/-/mkdist-0.3.10.tgz", 2766 | "integrity": "sha512-Aoc6hjILr2JPUJU2OUvBiD5sZ/CG1FeiXwk6KKPqE0iSTjBCrjrVK/fP5ig+TB3AKHvh2aA2QXXGeXVCJBdSwg==", 2767 | "dev": true, 2768 | "requires": { 2769 | "defu": "^5.0.0", 2770 | "esbuild": "^0.13.8", 2771 | "fs-extra": "^10.0.0", 2772 | "globby": "^11.0.3", 2773 | "jiti": "^1.12.9", 2774 | "mri": "^1.2.0", 2775 | "pathe": "^0.2.0" 2776 | }, 2777 | "dependencies": { 2778 | "esbuild": { 2779 | "version": "0.13.15", 2780 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.15.tgz", 2781 | "integrity": "sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==", 2782 | "dev": true, 2783 | "requires": { 2784 | "esbuild-android-arm64": "0.13.15", 2785 | "esbuild-darwin-64": "0.13.15", 2786 | "esbuild-darwin-arm64": "0.13.15", 2787 | "esbuild-freebsd-64": "0.13.15", 2788 | "esbuild-freebsd-arm64": "0.13.15", 2789 | "esbuild-linux-32": "0.13.15", 2790 | "esbuild-linux-64": "0.13.15", 2791 | "esbuild-linux-arm": "0.13.15", 2792 | "esbuild-linux-arm64": "0.13.15", 2793 | "esbuild-linux-mips64le": "0.13.15", 2794 | "esbuild-linux-ppc64le": "0.13.15", 2795 | "esbuild-netbsd-64": "0.13.15", 2796 | "esbuild-openbsd-64": "0.13.15", 2797 | "esbuild-sunos-64": "0.13.15", 2798 | "esbuild-windows-32": "0.13.15", 2799 | "esbuild-windows-64": "0.13.15", 2800 | "esbuild-windows-arm64": "0.13.15" 2801 | } 2802 | }, 2803 | "esbuild-android-arm64": { 2804 | "version": "0.13.15", 2805 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz", 2806 | "integrity": "sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==", 2807 | "dev": true, 2808 | "optional": true 2809 | }, 2810 | "esbuild-darwin-64": { 2811 | "version": "0.13.15", 2812 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.15.tgz", 2813 | "integrity": "sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==", 2814 | "dev": true, 2815 | "optional": true 2816 | }, 2817 | "esbuild-darwin-arm64": { 2818 | "version": "0.13.15", 2819 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.15.tgz", 2820 | "integrity": "sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==", 2821 | "dev": true, 2822 | "optional": true 2823 | }, 2824 | "esbuild-freebsd-64": { 2825 | "version": "0.13.15", 2826 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.15.tgz", 2827 | "integrity": "sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==", 2828 | "dev": true, 2829 | "optional": true 2830 | }, 2831 | "esbuild-freebsd-arm64": { 2832 | "version": "0.13.15", 2833 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.15.tgz", 2834 | "integrity": "sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==", 2835 | "dev": true, 2836 | "optional": true 2837 | }, 2838 | "esbuild-linux-32": { 2839 | "version": "0.13.15", 2840 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.15.tgz", 2841 | "integrity": "sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==", 2842 | "dev": true, 2843 | "optional": true 2844 | }, 2845 | "esbuild-linux-64": { 2846 | "version": "0.13.15", 2847 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz", 2848 | "integrity": "sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==", 2849 | "dev": true, 2850 | "optional": true 2851 | }, 2852 | "esbuild-linux-arm": { 2853 | "version": "0.13.15", 2854 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.15.tgz", 2855 | "integrity": "sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==", 2856 | "dev": true, 2857 | "optional": true 2858 | }, 2859 | "esbuild-linux-arm64": { 2860 | "version": "0.13.15", 2861 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.15.tgz", 2862 | "integrity": "sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==", 2863 | "dev": true, 2864 | "optional": true 2865 | }, 2866 | "esbuild-linux-mips64le": { 2867 | "version": "0.13.15", 2868 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.15.tgz", 2869 | "integrity": "sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==", 2870 | "dev": true, 2871 | "optional": true 2872 | }, 2873 | "esbuild-linux-ppc64le": { 2874 | "version": "0.13.15", 2875 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.15.tgz", 2876 | "integrity": "sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==", 2877 | "dev": true, 2878 | "optional": true 2879 | }, 2880 | "esbuild-netbsd-64": { 2881 | "version": "0.13.15", 2882 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.15.tgz", 2883 | "integrity": "sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==", 2884 | "dev": true, 2885 | "optional": true 2886 | }, 2887 | "esbuild-openbsd-64": { 2888 | "version": "0.13.15", 2889 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.15.tgz", 2890 | "integrity": "sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==", 2891 | "dev": true, 2892 | "optional": true 2893 | }, 2894 | "esbuild-sunos-64": { 2895 | "version": "0.13.15", 2896 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.15.tgz", 2897 | "integrity": "sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==", 2898 | "dev": true, 2899 | "optional": true 2900 | }, 2901 | "esbuild-windows-32": { 2902 | "version": "0.13.15", 2903 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.15.tgz", 2904 | "integrity": "sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==", 2905 | "dev": true, 2906 | "optional": true 2907 | }, 2908 | "esbuild-windows-64": { 2909 | "version": "0.13.15", 2910 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.15.tgz", 2911 | "integrity": "sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==", 2912 | "dev": true, 2913 | "optional": true 2914 | }, 2915 | "esbuild-windows-arm64": { 2916 | "version": "0.13.15", 2917 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.15.tgz", 2918 | "integrity": "sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==", 2919 | "dev": true, 2920 | "optional": true 2921 | } 2922 | } 2923 | }, 2924 | "mlly": { 2925 | "version": "0.4.3", 2926 | "resolved": "https://registry.npmjs.org/mlly/-/mlly-0.4.3.tgz", 2927 | "integrity": "sha512-xezyv7hnfFPuiDS3AiJuWs0OxlvooS++3L2lURvmh/1n7UG4O2Ehz9UkwWgg3wyLEPKGVfJLlr2DjjTCl9UJTg==", 2928 | "dev": true 2929 | }, 2930 | "mri": { 2931 | "version": "1.2.0", 2932 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 2933 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", 2934 | "dev": true 2935 | }, 2936 | "ms": { 2937 | "version": "2.1.2", 2938 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2939 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 2940 | "dev": true 2941 | }, 2942 | "nanoid": { 2943 | "version": "3.3.1", 2944 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", 2945 | "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", 2946 | "dev": true 2947 | }, 2948 | "once": { 2949 | "version": "1.4.0", 2950 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2951 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2952 | "dev": true, 2953 | "requires": { 2954 | "wrappy": "1" 2955 | } 2956 | }, 2957 | "path-is-absolute": { 2958 | "version": "1.0.1", 2959 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2960 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2961 | "dev": true 2962 | }, 2963 | "path-parse": { 2964 | "version": "1.0.7", 2965 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2966 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 2967 | "dev": true 2968 | }, 2969 | "path-type": { 2970 | "version": "4.0.0", 2971 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 2972 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 2973 | "dev": true 2974 | }, 2975 | "pathe": { 2976 | "version": "0.2.0", 2977 | "resolved": "https://registry.npmjs.org/pathe/-/pathe-0.2.0.tgz", 2978 | "integrity": "sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==", 2979 | "dev": true 2980 | }, 2981 | "picocolors": { 2982 | "version": "1.0.0", 2983 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2984 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 2985 | "dev": true 2986 | }, 2987 | "picomatch": { 2988 | "version": "2.3.1", 2989 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2990 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2991 | "dev": true 2992 | }, 2993 | "pkg-types": { 2994 | "version": "0.3.2", 2995 | "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-0.3.2.tgz", 2996 | "integrity": "sha512-eBYzX/7NYsQEOR2alWY4rnQB49G62oHzFpoi9Som56aUr8vB8UGcmcIia9v8fpBeuhH3Ltentuk2OGpp4IQV3Q==", 2997 | "dev": true, 2998 | "requires": { 2999 | "jsonc-parser": "^3.0.0", 3000 | "mlly": "^0.3.6", 3001 | "pathe": "^0.2.0" 3002 | }, 3003 | "dependencies": { 3004 | "mlly": { 3005 | "version": "0.3.19", 3006 | "resolved": "https://registry.npmjs.org/mlly/-/mlly-0.3.19.tgz", 3007 | "integrity": "sha512-zMq5n3cOf4fOzA4WoeulxagbAgMChdev3MgP6K51k7M0u2whTXxupfIY4VVzws4vxkiWhwH1rVQcsw7zDGfRhA==", 3008 | "dev": true 3009 | } 3010 | } 3011 | }, 3012 | "postcss": { 3013 | "version": "8.4.6", 3014 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", 3015 | "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", 3016 | "dev": true, 3017 | "requires": { 3018 | "nanoid": "^3.2.0", 3019 | "picocolors": "^1.0.0", 3020 | "source-map-js": "^1.0.2" 3021 | } 3022 | }, 3023 | "prettier": { 3024 | "version": "2.5.1", 3025 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", 3026 | "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", 3027 | "dev": true 3028 | }, 3029 | "pretty-bytes": { 3030 | "version": "5.6.0", 3031 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", 3032 | "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", 3033 | "dev": true 3034 | }, 3035 | "queue-microtask": { 3036 | "version": "1.2.3", 3037 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 3038 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 3039 | "dev": true 3040 | }, 3041 | "resolve": { 3042 | "version": "1.22.0", 3043 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 3044 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 3045 | "dev": true, 3046 | "requires": { 3047 | "is-core-module": "^2.8.1", 3048 | "path-parse": "^1.0.7", 3049 | "supports-preserve-symlinks-flag": "^1.0.0" 3050 | } 3051 | }, 3052 | "reusify": { 3053 | "version": "1.0.4", 3054 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 3055 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 3056 | "dev": true 3057 | }, 3058 | "rimraf": { 3059 | "version": "3.0.2", 3060 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 3061 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 3062 | "dev": true, 3063 | "requires": { 3064 | "glob": "^7.1.3" 3065 | } 3066 | }, 3067 | "rollup": { 3068 | "version": "2.67.3", 3069 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.67.3.tgz", 3070 | "integrity": "sha512-G/x1vUwbGtP6O5ZM8/sWr8+p7YfZhI18pPqMRtMYMWSbHjKZ/ajHGiM+GWNTlWyOR0EHIdT8LHU+Z4ciIZ1oBw==", 3071 | "dev": true, 3072 | "requires": { 3073 | "fsevents": "~2.3.2" 3074 | } 3075 | }, 3076 | "rollup-plugin-dts": { 3077 | "version": "4.1.0", 3078 | "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-4.1.0.tgz", 3079 | "integrity": "sha512-rriXIm3jdUiYeiAAd1Fv+x2AxK6Kq6IybB2Z/IdoAW95fb4uRUurYsEYKa8L1seedezDeJhy8cfo8FEL9aZzqg==", 3080 | "dev": true, 3081 | "requires": { 3082 | "@babel/code-frame": "^7.16.0", 3083 | "magic-string": "^0.25.7" 3084 | } 3085 | }, 3086 | "rollup-plugin-esbuild": { 3087 | "version": "4.8.2", 3088 | "resolved": "https://registry.npmjs.org/rollup-plugin-esbuild/-/rollup-plugin-esbuild-4.8.2.tgz", 3089 | "integrity": "sha512-wsaYNOjzTb6dN1qCIZsMZ7Q0LWiPJklYs2TDI8vJA2LUbvtPUY+17TC8C0vSat3jPMInfR9XWKdA7ttuwkjsGQ==", 3090 | "dev": true, 3091 | "requires": { 3092 | "@rollup/pluginutils": "^4.1.1", 3093 | "debug": "^4.3.3", 3094 | "es-module-lexer": "^0.9.3", 3095 | "joycon": "^3.0.1", 3096 | "jsonc-parser": "^3.0.0" 3097 | } 3098 | }, 3099 | "run-parallel": { 3100 | "version": "1.2.0", 3101 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 3102 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 3103 | "dev": true, 3104 | "requires": { 3105 | "queue-microtask": "^1.2.2" 3106 | } 3107 | }, 3108 | "scule": { 3109 | "version": "0.2.1", 3110 | "resolved": "https://registry.npmjs.org/scule/-/scule-0.2.1.tgz", 3111 | "integrity": "sha512-M9gnWtn3J0W+UhJOHmBxBTwv8mZCan5i1Himp60t6vvZcor0wr+IM0URKmIglsWJ7bRujNAVVN77fp+uZaWoKg==", 3112 | "dev": true 3113 | }, 3114 | "slash": { 3115 | "version": "3.0.0", 3116 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 3117 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 3118 | "dev": true 3119 | }, 3120 | "source-map-js": { 3121 | "version": "1.0.2", 3122 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 3123 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 3124 | "dev": true 3125 | }, 3126 | "sourcemap-codec": { 3127 | "version": "1.4.8", 3128 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 3129 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", 3130 | "dev": true 3131 | }, 3132 | "supports-color": { 3133 | "version": "5.5.0", 3134 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 3135 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 3136 | "dev": true, 3137 | "optional": true, 3138 | "requires": { 3139 | "has-flag": "^3.0.0" 3140 | } 3141 | }, 3142 | "supports-preserve-symlinks-flag": { 3143 | "version": "1.0.0", 3144 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 3145 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 3146 | "dev": true 3147 | }, 3148 | "to-regex-range": { 3149 | "version": "5.0.1", 3150 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3151 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3152 | "dev": true, 3153 | "requires": { 3154 | "is-number": "^7.0.0" 3155 | } 3156 | }, 3157 | "typescript": { 3158 | "version": "4.5.5", 3159 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", 3160 | "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", 3161 | "dev": true 3162 | }, 3163 | "unbuild": { 3164 | "version": "0.6.9", 3165 | "resolved": "https://registry.npmjs.org/unbuild/-/unbuild-0.6.9.tgz", 3166 | "integrity": "sha512-IALhVj6cLWAxFqX5qcuR932Y3OKFgWcZXPeQ0qU1YAuBucWzpY171GHMi+rXot3C4V7JwD0khGmjvu41E980mQ==", 3167 | "dev": true, 3168 | "requires": { 3169 | "@rollup/plugin-alias": "^3.1.9", 3170 | "@rollup/plugin-commonjs": "^21.0.1", 3171 | "@rollup/plugin-json": "^4.1.0", 3172 | "@rollup/plugin-node-resolve": "^13.1.3", 3173 | "@rollup/plugin-replace": "^3.0.1", 3174 | "@rollup/pluginutils": "^4.1.2", 3175 | "chalk": "^5.0.0", 3176 | "consola": "^2.15.3", 3177 | "defu": "^5.0.1", 3178 | "esbuild": "^0.14.14", 3179 | "hookable": "^5.1.1", 3180 | "jiti": "^1.12.14", 3181 | "magic-string": "^0.25.7", 3182 | "mkdirp": "^1.0.4", 3183 | "mkdist": "^0.3.9", 3184 | "mlly": "^0.4.1", 3185 | "mri": "^1.2.0", 3186 | "pathe": "^0.2.0", 3187 | "pkg-types": "^0.3.2", 3188 | "pretty-bytes": "^5.6.0", 3189 | "rimraf": "^3.0.2", 3190 | "rollup": "^2.66.1", 3191 | "rollup-plugin-dts": "^4.1.0", 3192 | "rollup-plugin-esbuild": "^4.8.2", 3193 | "scule": "^0.2.1", 3194 | "typescript": "^4.5.5", 3195 | "untyped": "^0.3.0" 3196 | } 3197 | }, 3198 | "universalify": { 3199 | "version": "2.0.0", 3200 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", 3201 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", 3202 | "dev": true 3203 | }, 3204 | "untyped": { 3205 | "version": "0.3.0", 3206 | "resolved": "https://registry.npmjs.org/untyped/-/untyped-0.3.0.tgz", 3207 | "integrity": "sha512-n4M5/T1wWlHFmohk0EhS+yM7W/h5dOtQldOV3MVEbZY1fTy5A47UL8+d8GLW1iwmaAwNrM5ERy3qe1k0T/Yc7A==", 3208 | "dev": true 3209 | }, 3210 | "vite": { 3211 | "version": "2.8.4", 3212 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.8.4.tgz", 3213 | "integrity": "sha512-GwtOkkaT2LDI82uWZKcrpRQxP5tymLnC7hVHHqNkhFNknYr0hJUlDLfhVRgngJvAy3RwypkDCWtTKn1BjO96Dw==", 3214 | "dev": true, 3215 | "requires": { 3216 | "esbuild": "^0.14.14", 3217 | "fsevents": "~2.3.2", 3218 | "postcss": "^8.4.6", 3219 | "resolve": "^1.22.0", 3220 | "rollup": "^2.59.0" 3221 | } 3222 | }, 3223 | "wrappy": { 3224 | "version": "1.0.2", 3225 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3226 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3227 | "dev": true 3228 | } 3229 | } 3230 | } 3231 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-plugin-turbosnap", 3 | "version": "1.0.3", 4 | "description": "Enables the use of Chromatic Turbosnap in vite storybook projects", 5 | "keywords": [ 6 | "vite-plugin", 7 | "chromatic", 8 | "turbosnap", 9 | "storybook", 10 | "vite", 11 | "snapshot" 12 | ], 13 | "author": "Ian VanSchooten ", 14 | "license": "MIT", 15 | "homepage": "https://github.com/IanVS/vite-plugin-turbosnap#readme", 16 | "bugs": { 17 | "url": "https://github.com/IanVS/vite-plugin-turbosnap/issues" 18 | }, 19 | "repository": { 20 | "type": "git", 21 | "url": "git+https://github.com/IanVS/vite-plugin-turbosnap.git" 22 | }, 23 | "files": [ 24 | "dist", 25 | "*.d.ts", 26 | "LICENSE" 27 | ], 28 | "exports": { 29 | ".": { 30 | "require": "./dist/index.cjs", 31 | "import": "./dist/index.mjs", 32 | "types": "./dist/index.d.ts" 33 | } 34 | }, 35 | "main": "dist/index.cjs", 36 | "module": "dist/index.mjs", 37 | "types": "dist/index.d.ts", 38 | "scripts": { 39 | "build": "rimraf dist && unbuild", 40 | "format": "prettier --write . --ignore-path .gitignore", 41 | "format:check": "prettier --check . --ignore-path .gitignore", 42 | "prepublishOnly": "npm run build" 43 | }, 44 | "devDependencies": { 45 | "@types/node": "^17.0.19", 46 | "prettier": "^2.5.1", 47 | "typescript": "^4.5.5", 48 | "unbuild": "^0.6.9", 49 | "vite": "^2.8.4" 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { writeFile } from "fs/promises"; 2 | import path from "path"; 3 | import type { Plugin } from "vite"; 4 | 5 | /* 6 | * Reason, Module, and Stats are copied from chromatic types 7 | * https://github.com/chromaui/chromatic-cli/blob/145a5e295dde21042e96396c7e004f250d842182/bin-src/types.ts#L265-L276 8 | */ 9 | interface Reason { 10 | moduleName: string; 11 | } 12 | interface Module { 13 | id: string | number; 14 | name: string; 15 | modules?: Array>; 16 | reasons?: Reason[]; 17 | } 18 | interface Stats { 19 | modules: Module[]; 20 | } 21 | 22 | type TurbosnapPluginOptions = { 23 | /** Project root (https://vitejs.dev/config/#root) */ 24 | rootDir: string; 25 | }; 26 | 27 | /** 28 | * Strips off query params added by rollup/vite to ids, to make paths compatible for comparison with git. 29 | */ 30 | function stripQueryParams(filePath: string): string { 31 | return filePath.split("?")[0]; 32 | } 33 | 34 | /** 35 | * We only care about user code, not node_modules, vite files, or (most) virtual files. 36 | */ 37 | function isUserCode(moduleName: string) { 38 | return Boolean( 39 | moduleName && 40 | !moduleName.startsWith("vite/") && 41 | !moduleName.startsWith("\x00") && 42 | !moduleName.startsWith("\u0000") && 43 | moduleName !== "react/jsx-runtime" && 44 | !moduleName.match(/node_modules\//) 45 | ); 46 | } 47 | 48 | export default function pluginTurbosnap({ 49 | rootDir, 50 | }: TurbosnapPluginOptions): Plugin { 51 | /** 52 | * Convert an absolute path name to a path relative to the vite root, with a starting `./` 53 | */ 54 | function normalize(filename: string) { 55 | // Do not try to resolve virtual files 56 | if (filename.startsWith("/virtual:")) { 57 | return filename; 58 | } 59 | // Otherwise, we need them in the format `./path/to/file.js`. 60 | else { 61 | const relativePath = path.relative(rootDir, stripQueryParams(filename)); 62 | // This seems hacky, got to be a better way to add a `./` to the start of a path. 63 | return `./${relativePath}`; 64 | } 65 | } 66 | 67 | /** 68 | * Helper to create Reason objects out of a list of string paths 69 | */ 70 | function createReasons(importers?: readonly string[]): Reason[] { 71 | return (importers || []).map((i) => ({ moduleName: normalize(i) })); 72 | } 73 | 74 | /** 75 | * Helper function to build a `Module` given a filename and list of files that import it 76 | */ 77 | function createStatsMapModule( 78 | filename: string, 79 | importers?: readonly string[] 80 | ): Module { 81 | return { 82 | id: filename, 83 | name: filename, 84 | reasons: createReasons(importers), 85 | }; 86 | } 87 | 88 | const statsMap = new Map(); 89 | 90 | return { 91 | name: "rollup-plugin-turbosnap", 92 | // We want this to run after the vite build plugins (https://vitejs.dev/guide/api-plugin.html#plugin-ordering) 93 | enforce: "post", 94 | moduleParsed: function (mod) { 95 | if (isUserCode(mod.id)) { 96 | mod.importedIds 97 | .concat(mod.dynamicallyImportedIds) 98 | .filter((name) => isUserCode(name)) 99 | .forEach((depIdUnsafe) => { 100 | const depId = normalize(depIdUnsafe); 101 | if (statsMap.has(depId)) { 102 | const m = statsMap.get(depId); 103 | if (m) { 104 | m.reasons = (m.reasons ?? []) 105 | .concat(createReasons([mod.id])) 106 | .filter((r) => r.moduleName !== depId); 107 | statsMap.set(depId, m); 108 | } 109 | } else { 110 | statsMap.set(depId, createStatsMapModule(depId, [mod.id])); 111 | } 112 | }); 113 | } 114 | }, 115 | 116 | generateBundle: function (this, outOpts) { 117 | const stats: Stats = { modules: Array.from(statsMap.values()) }; 118 | 119 | // If we don't know where the output is going, we can't guarantee we'll put the results in the right spot. 120 | if (!outOpts.dir) { 121 | throw new Error("Vite option `build.outDir` was not configured."); 122 | } 123 | 124 | const filename = path.resolve(outOpts.dir, "preview-stats.json"); 125 | console.log(`rollup-plugin-turbosnap: writing to ${filename}`); 126 | return writeFile(filename, JSON.stringify(stats, null, 2)); 127 | }, 128 | }; 129 | } 130 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "esnext", 4 | "target": "es2018", 5 | "moduleResolution": "node", 6 | "esModuleInterop": true, 7 | "strict": true, 8 | "strictNullChecks": true 9 | } 10 | } 11 | --------------------------------------------------------------------------------