├── .editorconfig ├── .gitignore ├── .node-version ├── .prettierrc.json ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── package.json ├── rollup.config.mjs ├── src └── index.ts ├── tsconfig.json └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | 3 | .DS_Store 4 | Thumbs.db 5 | 6 | npm-debug.log 7 | yarn-error.log 8 | 9 | dist 10 | .idea 11 | 12 | *.tgz 13 | -------------------------------------------------------------------------------- /.node-version: -------------------------------------------------------------------------------- 1 | 20.10.0 2 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "es5", 3 | "singleQuote": true, 4 | "arrowParens": "avoid" 5 | } 6 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "typescript.tsdk": "node_modules/typescript/lib", 3 | "editor.defaultFormatter": "esbenp.prettier-vscode", 4 | "editor.formatOnSave": true, 5 | "editor.rulers": [80] 6 | } 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 ZHAO Jinxiang 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-commonjs-externals [![npm](https://img.shields.io/npm/v/vite-plugin-commonjs-externals.svg)](https://npmjs.com/package/vite-plugin-commonjs-externals) 2 | 3 | Provides commonjs externals support for Vite. 4 | 5 | ## Description 6 | 7 | Prevent bundling of certain _esm_ `import`ed packages and instead retrieve these external dependencies at runtime by _commonjs_ `require`. 8 | 9 | For example: 10 | 11 | ```ts 12 | import commonjsExternals from 'vite-plugin-commonjs-externals'; 13 | 14 | const externals = ['path', /^electron(\/.+)?$/]; 15 | 16 | export default { 17 | optimizeDeps: { 18 | exclude: externals, 19 | }, 20 | plugins: commonjsExternals({ 21 | externals, 22 | }), 23 | }; 24 | ``` 25 | 26 | This will convert it 27 | 28 | ```ts 29 | import fs from 'fs'; 30 | import * as path from 'path'; 31 | import e1 from 'electron'; 32 | import e2, * as e3 from 'electron/main'; 33 | 34 | console.log({ fs, path, e1, e2, e3 }); 35 | ``` 36 | 37 | to 38 | 39 | ```ts 40 | import * as fs from 'fs'; 41 | const path = (() => { 42 | const mod = require('path'); 43 | return mod?.__esModule 44 | ? mod 45 | : Object.assign(Object.create(null), mod, { 46 | default: mod, 47 | [Symbol.toStringTag]: 'Module', 48 | }); 49 | })(); 50 | const { default: e1 } = (() => { 51 | const mod = require('electron'); 52 | return mod?.__esModule 53 | ? mod 54 | : Object.assign(Object.create(null), mod, { 55 | default: mod, 56 | [Symbol.toStringTag]: 'Module', 57 | }); 58 | })(); 59 | const e3 = (() => { 60 | const mod = require('electron/main'); 61 | return mod?.__esModule 62 | ? mod 63 | : Object.assign(Object.create(null), mod, { 64 | default: mod, 65 | [Symbol.toStringTag]: 'Module', 66 | }); 67 | })(); 68 | const { default: e2 } = e3; 69 | console.log({ fs, path, e1, e2, e3 }); 70 | ``` 71 | 72 | ## React + Electron renderer Config Example 73 | 74 | ```ts 75 | // vite.config.ts 76 | import { defineConfig } from 'vite'; 77 | import { escapeRegExp } from 'lodash'; 78 | import reactRefresh from '@vitejs/plugin-react-refresh'; 79 | import builtinModules from 'builtin-modules'; 80 | // For two package.json structure 81 | import pkg from '../the-path-to-main-process-dir/package.json'; 82 | // For single package.json structure 83 | import pkg from './package.json'; 84 | import commonjsExternals from 'vite-plugin-commonjs-externals'; 85 | 86 | const commonjsPackages = [ 87 | 'electron', 88 | 'electron/main', 89 | 'electron/common', 90 | 'electron/renderer', 91 | 'original-fs', 92 | ...builtinModules, 93 | ...Object.keys(pkg.dependencies).map( 94 | name => new RegExp('^' + escapeRegExp(name) + '(\\/.+)?$') 95 | ), 96 | ] as const; 97 | 98 | export default defineConfig({ 99 | optimizeDeps: { 100 | exclude: commonjsPackages, 101 | }, 102 | plugins: [reactRefresh(), commonjsExternals({ externals: commonjsPackages })], 103 | }); 104 | ``` 105 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-plugin-commonjs-externals", 3 | "version": "0.1.4", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/xiaoxiangmoe/vite-plugin-commonjs-externals.git" 7 | }, 8 | "author": { 9 | "name": "ZHAO Jinxiang", 10 | "email": "xiaoxiangmoe@gmail.com" 11 | }, 12 | "license": "MIT", 13 | "keywords": [ 14 | "vite-plugin", 15 | "commonjs" 16 | ], 17 | "files": [ 18 | "dist" 19 | ], 20 | "type": "module", 21 | "main": "./dist/index.cjs", 22 | "module": "./dist/index.mjs", 23 | "exports": { 24 | ".": { 25 | "import": "./dist/index.mjs", 26 | "require": "./dist/index.cjs" 27 | } 28 | }, 29 | "scripts": { 30 | "build": "tsc && rollup --config ./rollup.config.mjs", 31 | "prepack": "yarn run build" 32 | }, 33 | "dependencies": { 34 | "acorn": "^8.9.0", 35 | "es-module-lexer": "^1.4.1", 36 | "magic-string": "^0.30.5" 37 | }, 38 | "peerDependencies": { 39 | "vite": "^4.3.9 || ^5.0.0" 40 | }, 41 | "devDependencies": { 42 | "@types/estree": "^1.0.5", 43 | "@types/node": "^20.9.5", 44 | "prettier": "^3.1.0", 45 | "rollup": "^4.6.0", 46 | "rollup-plugin-dts": "^6.1.0", 47 | "rollup-plugin-typescript2": "^0.36.0", 48 | "typescript": "^5.3.2", 49 | "vite": "^5.0.3" 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /rollup.config.mjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | import * as fs from 'node:fs'; 3 | import ts from 'rollup-plugin-typescript2'; 4 | import dts from 'rollup-plugin-dts'; 5 | 6 | /** @type {import('./package.json')} */ 7 | const pkg = JSON.parse(fs.readFileSync('./package.json', 'utf-8')); 8 | 9 | const external = [ 10 | ...Object.keys(pkg.dependencies), 11 | ...Object.keys(pkg.peerDependencies), 12 | ]; 13 | 14 | /** @type { Array } */ 15 | const config = [ 16 | { 17 | external, 18 | plugins: [ 19 | ts({ 20 | tsconfigOverride: { 21 | noEmit: true, 22 | }, 23 | }), 24 | ], 25 | input: 'src/index.ts', 26 | output: [ 27 | { 28 | file: pkg.exports['.'].import, 29 | format: 'esm', 30 | sourcemap: 'inline', 31 | }, 32 | { 33 | file: pkg.exports['.'].require, 34 | format: 'cjs', 35 | sourcemap: 'inline', 36 | footer: 'module.exports.default = module.exports;', 37 | }, 38 | ], 39 | }, 40 | { 41 | plugins: [ 42 | dts({ 43 | respectExternal: true, 44 | compilerOptions: { 45 | // see https://github.com/unjs/unbuild/pull/57/files 46 | preserveSymlinks: false, 47 | }, 48 | }), 49 | ], 50 | external, 51 | input: './src/index.ts', 52 | output: [ 53 | { file: pkg.exports['.'].require.replace('.cjs', '.d.cts') }, 54 | { file: pkg.exports['.'].import.replace('.mjs', '.d.mts') }, 55 | ], 56 | }, 57 | ]; 58 | 59 | export default config; 60 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import * as acorn from 'acorn'; 2 | import * as esModuleLexer from 'es-module-lexer'; 3 | import type { 4 | ImportDefaultSpecifier, 5 | ImportNamespaceSpecifier, 6 | ImportSpecifier, 7 | Program, 8 | } from 'estree'; 9 | import MagicString from 'magic-string'; 10 | import type { Plugin } from 'vite'; 11 | 12 | export interface CommonjsExternalsPluginOptions { 13 | readonly externals: ReadonlyArray; 14 | readonly exts?: ReadonlyArray; 15 | } 16 | 17 | function transformEsm( 18 | imports: ReadonlyArray, 19 | code: string, 20 | externals: ReadonlyArray 21 | ) { 22 | const imports2 = imports 23 | .map(i => ({ 24 | ...i, 25 | importStatement: code.substring(i.ss, i.se), 26 | })) 27 | .filter( 28 | ({ n, d }) => 29 | // static import 30 | d === -1 && 31 | n !== undefined && 32 | externals.some(external => 33 | typeof external === 'string' 34 | ? external === n 35 | : external instanceof RegExp 36 | ? external.test(n) 37 | : false 38 | ) 39 | ); 40 | 41 | if (imports2.length === 0) { 42 | return; 43 | } 44 | 45 | const magicString = new MagicString(code); 46 | imports2.forEach(({ importStatement, ss, se }) => { 47 | const program: Program = acorn.parse(importStatement, { 48 | ecmaVersion: 'latest', 49 | sourceType: 'module', 50 | }) as any; 51 | const node = program.body[0]; 52 | 53 | if (node?.type !== 'ImportDeclaration') { 54 | return; 55 | } 56 | 57 | if (typeof node.source.value !== 'string') { 58 | return; 59 | } 60 | 61 | if (node.specifiers.length === 0) { 62 | magicString.overwrite(ss, se, `require('${node.source.value}')`); 63 | return; 64 | } 65 | 66 | const importNamespaceSpecifierList = node.specifiers.filter( 67 | x => x.type === 'ImportNamespaceSpecifier' 68 | ) as ReadonlyArray; 69 | 70 | const importDefaultSpecifierList = node.specifiers.filter( 71 | x => x.type === 'ImportDefaultSpecifier' 72 | ) as ReadonlyArray; 73 | const importSpecifierList = node.specifiers.filter( 74 | x => x.type === 'ImportSpecifier' 75 | ) as ReadonlyArray; 76 | 77 | if (importNamespaceSpecifierList.length > 1) { 78 | throw new Error( 79 | `Illegal state of importNamespaceSpecifierList: it can only have zero or one namespace import. \`${importStatement}\`` 80 | ); 81 | } 82 | 83 | if (importDefaultSpecifierList.length > 1) { 84 | throw new Error( 85 | `Illegal state of importDefaultSpecifierList: it can only have zero or one default import. \`${importStatement}\`` 86 | ); 87 | } 88 | 89 | const requireStatement = (identifiers: string) => 90 | `const ${identifiers}=(()=>{const mod = require("${node.source.value}");return mod && mod.__esModule ? mod : Object.assign(Object.create(null),mod,{default:mod,[Symbol.toStringTag]:"Module"})})();`; 91 | const localNamesIdentifiers = [ 92 | ...importSpecifierList.map( 93 | spec => `${spec.imported.name}: ${spec.local.name}` 94 | ), 95 | ...importDefaultSpecifierList.map(spec => `default: ${spec.local.name}`), 96 | ].join(', '); 97 | 98 | if (importNamespaceSpecifierList.length === 0) { 99 | magicString.overwrite( 100 | ss, 101 | se, 102 | requireStatement(`{${localNamesIdentifiers}}`) 103 | ); 104 | return; 105 | } 106 | 107 | const namespaceIdentifier = importNamespaceSpecifierList[0]!.local.name; 108 | const namespaceRequireStatement = requireStatement(namespaceIdentifier); 109 | 110 | if (localNamesIdentifiers === '') { 111 | magicString.overwrite(ss, se, namespaceRequireStatement); 112 | return; 113 | } 114 | 115 | magicString.overwrite( 116 | ss, 117 | se, 118 | namespaceRequireStatement + 119 | `const {${localNamesIdentifiers}}=${namespaceIdentifier};` 120 | ); 121 | }); 122 | return { 123 | code: magicString.toString(), 124 | map: magicString.generateMap(), 125 | }; 126 | } 127 | 128 | const commonjsExternalsPlugin = ({ 129 | externals, 130 | exts = ['ts', 'tsx', 'js', 'jsx', 'mjs', 'cjs', 'vue', 'svelte'], 131 | }: CommonjsExternalsPluginOptions): Plugin => ({ 132 | name: 'commonjs-externals', 133 | async transform(code, id) { 134 | if (!exts.some(ext => id.endsWith('.' + ext))) { 135 | return; 136 | } 137 | 138 | await esModuleLexer.init; 139 | const [imports] = esModuleLexer.parse(code); 140 | return transformEsm(imports, code, externals); 141 | }, 142 | }); 143 | 144 | export default commonjsExternalsPlugin; 145 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "strict": true, 4 | "target": "ES2017", 5 | "module": "ESNext", 6 | "moduleDetection": "force", 7 | "moduleResolution": "bundler", 8 | "noEmit": true, 9 | "noUncheckedIndexedAccess": true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.22.13": 6 | version "7.23.4" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.4.tgz#03ae5af150be94392cb5c7ccd97db5a19a5da6aa" 8 | integrity sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA== 9 | dependencies: 10 | "@babel/highlight" "^7.23.4" 11 | chalk "^2.4.2" 12 | 13 | "@babel/helper-validator-identifier@^7.22.20": 14 | version "7.22.20" 15 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" 16 | integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== 17 | 18 | "@babel/highlight@^7.23.4": 19 | version "7.23.4" 20 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" 21 | integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== 22 | dependencies: 23 | "@babel/helper-validator-identifier" "^7.22.20" 24 | chalk "^2.4.2" 25 | js-tokens "^4.0.0" 26 | 27 | "@esbuild/android-arm64@0.19.8": 28 | version "0.19.8" 29 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.8.tgz#fb7130103835b6d43ea499c3f30cfb2b2ed58456" 30 | integrity sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA== 31 | 32 | "@esbuild/android-arm@0.19.8": 33 | version "0.19.8" 34 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.8.tgz#b46e4d9e984e6d6db6c4224d72c86b7757e35bcb" 35 | integrity sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA== 36 | 37 | "@esbuild/android-x64@0.19.8": 38 | version "0.19.8" 39 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.8.tgz#a13db9441b5a4f4e4fec4a6f8ffacfea07888db7" 40 | integrity sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A== 41 | 42 | "@esbuild/darwin-arm64@0.19.8": 43 | version "0.19.8" 44 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.8.tgz#49f5718d36541f40dd62bfdf84da9c65168a0fc2" 45 | integrity sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw== 46 | 47 | "@esbuild/darwin-x64@0.19.8": 48 | version "0.19.8" 49 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.8.tgz#75c5c88371eea4bfc1f9ecfd0e75104c74a481ac" 50 | integrity sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q== 51 | 52 | "@esbuild/freebsd-arm64@0.19.8": 53 | version "0.19.8" 54 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.8.tgz#9d7259fea4fd2b5f7437b52b542816e89d7c8575" 55 | integrity sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw== 56 | 57 | "@esbuild/freebsd-x64@0.19.8": 58 | version "0.19.8" 59 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.8.tgz#abac03e1c4c7c75ee8add6d76ec592f46dbb39e3" 60 | integrity sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg== 61 | 62 | "@esbuild/linux-arm64@0.19.8": 63 | version "0.19.8" 64 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.8.tgz#c577932cf4feeaa43cb9cec27b89cbe0df7d9098" 65 | integrity sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ== 66 | 67 | "@esbuild/linux-arm@0.19.8": 68 | version "0.19.8" 69 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.8.tgz#d6014d8b98b5cbc96b95dad3d14d75bb364fdc0f" 70 | integrity sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ== 71 | 72 | "@esbuild/linux-ia32@0.19.8": 73 | version "0.19.8" 74 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.8.tgz#2379a0554307d19ac4a6cdc15b08f0ea28e7a40d" 75 | integrity sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ== 76 | 77 | "@esbuild/linux-loong64@0.19.8": 78 | version "0.19.8" 79 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.8.tgz#e2a5bbffe15748b49356a6cd7b2d5bf60c5a7123" 80 | integrity sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ== 81 | 82 | "@esbuild/linux-mips64el@0.19.8": 83 | version "0.19.8" 84 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.8.tgz#1359331e6f6214f26f4b08db9b9df661c57cfa24" 85 | integrity sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q== 86 | 87 | "@esbuild/linux-ppc64@0.19.8": 88 | version "0.19.8" 89 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.8.tgz#9ba436addc1646dc89dae48c62d3e951ffe70951" 90 | integrity sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg== 91 | 92 | "@esbuild/linux-riscv64@0.19.8": 93 | version "0.19.8" 94 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.8.tgz#fbcf0c3a0b20f40b5fc31c3b7695f0769f9de66b" 95 | integrity sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg== 96 | 97 | "@esbuild/linux-s390x@0.19.8": 98 | version "0.19.8" 99 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.8.tgz#989e8a05f7792d139d5564ffa7ff898ac6f20a4a" 100 | integrity sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg== 101 | 102 | "@esbuild/linux-x64@0.19.8": 103 | version "0.19.8" 104 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.8.tgz#b187295393a59323397fe5ff51e769ec4e72212b" 105 | integrity sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg== 106 | 107 | "@esbuild/netbsd-x64@0.19.8": 108 | version "0.19.8" 109 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.8.tgz#c1ec0e24ea82313cb1c7bae176bd5acd5bde7137" 110 | integrity sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw== 111 | 112 | "@esbuild/openbsd-x64@0.19.8": 113 | version "0.19.8" 114 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.8.tgz#0c5b696ac66c6d70cf9ee17073a581a28af9e18d" 115 | integrity sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ== 116 | 117 | "@esbuild/sunos-x64@0.19.8": 118 | version "0.19.8" 119 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.8.tgz#2a697e1f77926ff09fcc457d8f29916d6cd48fb1" 120 | integrity sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w== 121 | 122 | "@esbuild/win32-arm64@0.19.8": 123 | version "0.19.8" 124 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.8.tgz#ec029e62a2fca8c071842ecb1bc5c2dd20b066f1" 125 | integrity sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg== 126 | 127 | "@esbuild/win32-ia32@0.19.8": 128 | version "0.19.8" 129 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.8.tgz#cbb9a3146bde64dc15543e48afe418c7a3214851" 130 | integrity sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw== 131 | 132 | "@esbuild/win32-x64@0.19.8": 133 | version "0.19.8" 134 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.8.tgz#c8285183dbdb17008578dbacb6e22748709b4822" 135 | integrity sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA== 136 | 137 | "@jridgewell/sourcemap-codec@^1.4.15": 138 | version "1.4.15" 139 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" 140 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 141 | 142 | "@rollup/pluginutils@^4.1.2": 143 | version "4.2.1" 144 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" 145 | integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== 146 | dependencies: 147 | estree-walker "^2.0.1" 148 | picomatch "^2.2.2" 149 | 150 | "@rollup/rollup-android-arm-eabi@4.6.0": 151 | version "4.6.0" 152 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.6.0.tgz#c08a454d70605aacad17530a953791ea385e37d5" 153 | integrity sha512-keHkkWAe7OtdALGoutLY3utvthkGF+Y17ws9LYT8pxMBYXaCoH/8dXS2uzo6e8+sEhY7y/zi5RFo22Dy2lFpDw== 154 | 155 | "@rollup/rollup-android-arm64@4.6.0": 156 | version "4.6.0" 157 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.6.0.tgz#e0cf96960405947c1a09a389467e6aa10ae1a226" 158 | integrity sha512-y3Kt+34smKQNWilicPbBz/MXEY7QwDzMFNgwEWeYiOhUt9MTWKjHqe3EVkXwT2fR7izOvHpDWZ0o2IyD9SWX7A== 159 | 160 | "@rollup/rollup-darwin-arm64@4.6.0": 161 | version "4.6.0" 162 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.6.0.tgz#6d2f53021fbb9fdecf60bfb6fd5d999aef8385e9" 163 | integrity sha512-oLzzxcUIHltHxOCmaXl+pkIlU+uhSxef5HfntW7RsLh1eHm+vJzjD9Oo4oUKso4YuP4PpbFJNlZjJuOrxo8dPg== 164 | 165 | "@rollup/rollup-darwin-x64@4.6.0": 166 | version "4.6.0" 167 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.6.0.tgz#b7d0a4bbe6fc493efa269a60a66dc070ac10e2bd" 168 | integrity sha512-+ANnmjkcOBaV25n0+M0Bere3roeVAnwlKW65qagtuAfIxXF9YxUneRyAn/RDcIdRa7QrjRNJL3jR7T43ObGe8Q== 169 | 170 | "@rollup/rollup-linux-arm-gnueabihf@4.6.0": 171 | version "4.6.0" 172 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.6.0.tgz#12fad1802f500a0196ab0bb4dbb776aaabdedcc7" 173 | integrity sha512-tBTSIkjSVUyrekddpkAqKOosnj1Fc0ZY0rJL2bIEWPKqlEQk0paORL9pUIlt7lcGJi3LzMIlUGXvtNi1Z6MOCQ== 174 | 175 | "@rollup/rollup-linux-arm64-gnu@4.6.0": 176 | version "4.6.0" 177 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.6.0.tgz#6de1caa2c9952d16dafa21dd26da9562d4ea2112" 178 | integrity sha512-Ed8uJI3kM11de9S0j67wAV07JUNhbAqIrDYhQBrQW42jGopgheyk/cdcshgGO4fW5Wjq97COCY/BHogdGvKVNQ== 179 | 180 | "@rollup/rollup-linux-arm64-musl@4.6.0": 181 | version "4.6.0" 182 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.6.0.tgz#ef9cae3d22c8c44ff4f271e308bf1c013348bdc0" 183 | integrity sha512-mZoNQ/qK4D7SSY8v6kEsAAyDgznzLLuSFCA3aBHZTmf3HP/dW4tNLTtWh9+LfyO0Z1aUn+ecpT7IQ3WtIg3ViQ== 184 | 185 | "@rollup/rollup-linux-x64-gnu@4.6.0": 186 | version "4.6.0" 187 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.6.0.tgz#e9071050bed7c64a9fd964cde3c8bd139bf8e489" 188 | integrity sha512-rouezFHpwCqdEXsqAfNsTgSWO0FoZ5hKv5p+TGO5KFhyN/dvYXNMqMolOb8BkyKcPqjYRBeT+Z6V3aM26rPaYg== 189 | 190 | "@rollup/rollup-linux-x64-musl@4.6.0": 191 | version "4.6.0" 192 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.6.0.tgz#a4c7f5e0c363b2c34f6a7566b1c9da00bf0b96d0" 193 | integrity sha512-Bbm+fyn3S6u51urfj3YnqBXg5vI2jQPncRRELaucmhBVyZkbWClQ1fEsRmdnCPpQOQfkpg9gZArvtMVkOMsh1w== 194 | 195 | "@rollup/rollup-win32-arm64-msvc@4.6.0": 196 | version "4.6.0" 197 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.6.0.tgz#9a7bfc660ac088d447858fc5223984deb979a55a" 198 | integrity sha512-+MRMcyx9L2kTrTUzYmR61+XVsliMG4odFb5UmqtiT8xOfEicfYAGEuF/D1Pww1+uZkYhBqAHpvju7VN+GnC3ng== 199 | 200 | "@rollup/rollup-win32-ia32-msvc@4.6.0": 201 | version "4.6.0" 202 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.6.0.tgz#7d5fb96e9f0120451da1fece5c74d2bb373f8925" 203 | integrity sha512-rxfeE6K6s/Xl2HGeK6cO8SiQq3k/3BYpw7cfhW5Bk2euXNEpuzi2cc7llxx1si1QgwfjNtdRNTGqdBzGlFZGFw== 204 | 205 | "@rollup/rollup-win32-x64-msvc@4.6.0": 206 | version "4.6.0" 207 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.6.0.tgz#15841505c7ec1648020941d04ca0210f88c59e3a" 208 | integrity sha512-QqmCsydHS172Y0Kc13bkMXvipbJSvzeglBncJG3LsYJSiPlxYACz7MmJBs4A8l1oU+jfhYEIC/+AUSlvjmiX/g== 209 | 210 | "@types/estree@^1.0.5": 211 | version "1.0.5" 212 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" 213 | integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== 214 | 215 | "@types/node@^20.9.5": 216 | version "20.10.0" 217 | resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.0.tgz#16ddf9c0a72b832ec4fcce35b8249cf149214617" 218 | integrity sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ== 219 | dependencies: 220 | undici-types "~5.26.4" 221 | 222 | acorn@^8.9.0: 223 | version "8.11.2" 224 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" 225 | integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== 226 | 227 | ansi-styles@^3.2.1: 228 | version "3.2.1" 229 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 230 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 231 | dependencies: 232 | color-convert "^1.9.0" 233 | 234 | chalk@^2.4.2: 235 | version "2.4.2" 236 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 237 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 238 | dependencies: 239 | ansi-styles "^3.2.1" 240 | escape-string-regexp "^1.0.5" 241 | supports-color "^5.3.0" 242 | 243 | color-convert@^1.9.0: 244 | version "1.9.3" 245 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 246 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 247 | dependencies: 248 | color-name "1.1.3" 249 | 250 | color-name@1.1.3: 251 | version "1.1.3" 252 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 253 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 254 | 255 | commondir@^1.0.1: 256 | version "1.0.1" 257 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 258 | integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== 259 | 260 | es-module-lexer@^1.4.1: 261 | version "1.4.1" 262 | resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" 263 | integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== 264 | 265 | esbuild@^0.19.3: 266 | version "0.19.8" 267 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.8.tgz#ad05b72281d84483fa6b5345bd246c27a207b8f1" 268 | integrity sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w== 269 | optionalDependencies: 270 | "@esbuild/android-arm" "0.19.8" 271 | "@esbuild/android-arm64" "0.19.8" 272 | "@esbuild/android-x64" "0.19.8" 273 | "@esbuild/darwin-arm64" "0.19.8" 274 | "@esbuild/darwin-x64" "0.19.8" 275 | "@esbuild/freebsd-arm64" "0.19.8" 276 | "@esbuild/freebsd-x64" "0.19.8" 277 | "@esbuild/linux-arm" "0.19.8" 278 | "@esbuild/linux-arm64" "0.19.8" 279 | "@esbuild/linux-ia32" "0.19.8" 280 | "@esbuild/linux-loong64" "0.19.8" 281 | "@esbuild/linux-mips64el" "0.19.8" 282 | "@esbuild/linux-ppc64" "0.19.8" 283 | "@esbuild/linux-riscv64" "0.19.8" 284 | "@esbuild/linux-s390x" "0.19.8" 285 | "@esbuild/linux-x64" "0.19.8" 286 | "@esbuild/netbsd-x64" "0.19.8" 287 | "@esbuild/openbsd-x64" "0.19.8" 288 | "@esbuild/sunos-x64" "0.19.8" 289 | "@esbuild/win32-arm64" "0.19.8" 290 | "@esbuild/win32-ia32" "0.19.8" 291 | "@esbuild/win32-x64" "0.19.8" 292 | 293 | escape-string-regexp@^1.0.5: 294 | version "1.0.5" 295 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 296 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 297 | 298 | estree-walker@^2.0.1: 299 | version "2.0.2" 300 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 301 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 302 | 303 | find-cache-dir@^3.3.2: 304 | version "3.3.2" 305 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" 306 | integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== 307 | dependencies: 308 | commondir "^1.0.1" 309 | make-dir "^3.0.2" 310 | pkg-dir "^4.1.0" 311 | 312 | find-up@^4.0.0: 313 | version "4.1.0" 314 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 315 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 316 | dependencies: 317 | locate-path "^5.0.0" 318 | path-exists "^4.0.0" 319 | 320 | fs-extra@^10.0.0: 321 | version "10.1.0" 322 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" 323 | integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== 324 | dependencies: 325 | graceful-fs "^4.2.0" 326 | jsonfile "^6.0.1" 327 | universalify "^2.0.0" 328 | 329 | fsevents@~2.3.2, fsevents@~2.3.3: 330 | version "2.3.3" 331 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" 332 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== 333 | 334 | graceful-fs@^4.1.6, graceful-fs@^4.2.0: 335 | version "4.2.11" 336 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" 337 | integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== 338 | 339 | has-flag@^3.0.0: 340 | version "3.0.0" 341 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 342 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 343 | 344 | js-tokens@^4.0.0: 345 | version "4.0.0" 346 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 347 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 348 | 349 | jsonfile@^6.0.1: 350 | version "6.1.0" 351 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" 352 | integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== 353 | dependencies: 354 | universalify "^2.0.0" 355 | optionalDependencies: 356 | graceful-fs "^4.1.6" 357 | 358 | locate-path@^5.0.0: 359 | version "5.0.0" 360 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 361 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 362 | dependencies: 363 | p-locate "^4.1.0" 364 | 365 | lru-cache@^6.0.0: 366 | version "6.0.0" 367 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 368 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 369 | dependencies: 370 | yallist "^4.0.0" 371 | 372 | magic-string@^0.30.4, magic-string@^0.30.5: 373 | version "0.30.5" 374 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" 375 | integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== 376 | dependencies: 377 | "@jridgewell/sourcemap-codec" "^1.4.15" 378 | 379 | make-dir@^3.0.2: 380 | version "3.1.0" 381 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 382 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 383 | dependencies: 384 | semver "^6.0.0" 385 | 386 | nanoid@^3.3.6: 387 | version "3.3.7" 388 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" 389 | integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== 390 | 391 | p-limit@^2.2.0: 392 | version "2.3.0" 393 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 394 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 395 | dependencies: 396 | p-try "^2.0.0" 397 | 398 | p-locate@^4.1.0: 399 | version "4.1.0" 400 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 401 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 402 | dependencies: 403 | p-limit "^2.2.0" 404 | 405 | p-try@^2.0.0: 406 | version "2.2.0" 407 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 408 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 409 | 410 | path-exists@^4.0.0: 411 | version "4.0.0" 412 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 413 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 414 | 415 | picocolors@^1.0.0: 416 | version "1.0.0" 417 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 418 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 419 | 420 | picomatch@^2.2.2: 421 | version "2.3.1" 422 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 423 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 424 | 425 | pkg-dir@^4.1.0: 426 | version "4.2.0" 427 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 428 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 429 | dependencies: 430 | find-up "^4.0.0" 431 | 432 | postcss@^8.4.31: 433 | version "8.4.31" 434 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" 435 | integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== 436 | dependencies: 437 | nanoid "^3.3.6" 438 | picocolors "^1.0.0" 439 | source-map-js "^1.0.2" 440 | 441 | prettier@^3.1.0: 442 | version "3.1.0" 443 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.0.tgz#c6d16474a5f764ea1a4a373c593b779697744d5e" 444 | integrity sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw== 445 | 446 | rollup-plugin-dts@^6.1.0: 447 | version "6.1.0" 448 | resolved "https://registry.yarnpkg.com/rollup-plugin-dts/-/rollup-plugin-dts-6.1.0.tgz#56e9c5548dac717213c6a4aa9df523faf04f75ae" 449 | integrity sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw== 450 | dependencies: 451 | magic-string "^0.30.4" 452 | optionalDependencies: 453 | "@babel/code-frame" "^7.22.13" 454 | 455 | rollup-plugin-typescript2@^0.36.0: 456 | version "0.36.0" 457 | resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.36.0.tgz#309564eb70d710412f5901344ca92045e180ed53" 458 | integrity sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw== 459 | dependencies: 460 | "@rollup/pluginutils" "^4.1.2" 461 | find-cache-dir "^3.3.2" 462 | fs-extra "^10.0.0" 463 | semver "^7.5.4" 464 | tslib "^2.6.2" 465 | 466 | rollup@^4.2.0, rollup@^4.6.0: 467 | version "4.6.0" 468 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.6.0.tgz#4f966f6dd3f6bafd01b864d68ba078d308b864fa" 469 | integrity sha512-R8i5Her4oO1LiMQ3jKf7MUglYV/mhQ5g5OKeld5CnkmPdIGo79FDDQYqPhq/PCVuTQVuxsWgIbDy9F+zdHn80w== 470 | optionalDependencies: 471 | "@rollup/rollup-android-arm-eabi" "4.6.0" 472 | "@rollup/rollup-android-arm64" "4.6.0" 473 | "@rollup/rollup-darwin-arm64" "4.6.0" 474 | "@rollup/rollup-darwin-x64" "4.6.0" 475 | "@rollup/rollup-linux-arm-gnueabihf" "4.6.0" 476 | "@rollup/rollup-linux-arm64-gnu" "4.6.0" 477 | "@rollup/rollup-linux-arm64-musl" "4.6.0" 478 | "@rollup/rollup-linux-x64-gnu" "4.6.0" 479 | "@rollup/rollup-linux-x64-musl" "4.6.0" 480 | "@rollup/rollup-win32-arm64-msvc" "4.6.0" 481 | "@rollup/rollup-win32-ia32-msvc" "4.6.0" 482 | "@rollup/rollup-win32-x64-msvc" "4.6.0" 483 | fsevents "~2.3.2" 484 | 485 | semver@^6.0.0: 486 | version "6.3.1" 487 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" 488 | integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== 489 | 490 | semver@^7.5.4: 491 | version "7.5.4" 492 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" 493 | integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== 494 | dependencies: 495 | lru-cache "^6.0.0" 496 | 497 | source-map-js@^1.0.2: 498 | version "1.0.2" 499 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 500 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 501 | 502 | supports-color@^5.3.0: 503 | version "5.5.0" 504 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 505 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 506 | dependencies: 507 | has-flag "^3.0.0" 508 | 509 | tslib@^2.6.2: 510 | version "2.6.2" 511 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" 512 | integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== 513 | 514 | typescript@^5.3.2: 515 | version "5.3.2" 516 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.2.tgz#00d1c7c1c46928c5845c1ee8d0cc2791031d4c43" 517 | integrity sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ== 518 | 519 | undici-types@~5.26.4: 520 | version "5.26.5" 521 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" 522 | integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== 523 | 524 | universalify@^2.0.0: 525 | version "2.0.1" 526 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" 527 | integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== 528 | 529 | vite@^5.0.3: 530 | version "5.0.3" 531 | resolved "https://registry.yarnpkg.com/vite/-/vite-5.0.3.tgz#febf6801604c618234de331bd04382cf9a149ec6" 532 | integrity sha512-WgEq8WEKpZ8c0DL4M1+E+kBZEJyjBmGVrul6z8Ljfhv+PPbNF4aGq014DwNYxGz2FGq6NKL0N8usdiESWd2l2w== 533 | dependencies: 534 | esbuild "^0.19.3" 535 | postcss "^8.4.31" 536 | rollup "^4.2.0" 537 | optionalDependencies: 538 | fsevents "~2.3.3" 539 | 540 | yallist@^4.0.0: 541 | version "4.0.0" 542 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 543 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 544 | --------------------------------------------------------------------------------