├── .gitignore ├── .vscode └── settings.json ├── types └── types.d.ts ├── tsconfig.json ├── src ├── unpack.LICENSE.md ├── index.ts └── unpack.js ├── package.json ├── README.md └── pnpm-lock.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | yarn-error.log 4 | assets-canary 5 | out 6 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "typescript.tsdk": "node_modules/typescript/lib" 3 | } -------------------------------------------------------------------------------- /types/types.d.ts: -------------------------------------------------------------------------------- 1 | declare module "webpack-unpack" { 2 | export default function unpack(data: string): { 3 | id: number | string; 4 | source: string; 5 | }[]; 6 | } 7 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "CommonJS", 4 | "target": "ESNext", 5 | "noImplicitAny": true, 6 | "removeComments": true, 7 | "preserveConstEnums": true, 8 | "strictNullChecks": false, 9 | "sourceMap": false, 10 | "esModuleInterop": true, 11 | "allowJs": true, 12 | "moduleResolution": "Node", 13 | "baseUrl": ".", 14 | "outDir": "dist", 15 | "typeRoots": ["./types", "node_modules/@types"] 16 | }, 17 | "include": ["src/**/*", "types/types.d.ts"], 18 | "exclude": ["node_module"] 19 | } 20 | -------------------------------------------------------------------------------- /src/unpack.LICENSE.md: -------------------------------------------------------------------------------- 1 | # [Apache License 2.0](https://spdx.org/licenses/Apache-2.0) 2 | 3 | Copyright 2018 Renée Kooi 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | > http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dpacker", 3 | "version": "1.3.1", 4 | "main": "dist/index.js", 5 | "license": "MIT", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/meguminsama/dpacker" 9 | }, 10 | "scripts": { 11 | "start": "tsc && node ./dist/index.js", 12 | "build": "tsc" 13 | }, 14 | "bin": { 15 | "dpacker": "./dist/index.js" 16 | }, 17 | "dependencies": { 18 | "acorn": "^8.15.0", 19 | "assert": "^2.1.0", 20 | "astring": "^1.9.0", 21 | "chalk": "^5.5.0", 22 | "command-line-args": "6.0.1", 23 | "command-line-usage": "7.0.3", 24 | "js-beautify": "^1.15.4", 25 | "multisplice": "^1.0.0", 26 | "rimraf": "6.0.1", 27 | "scope-analyzer": "^2.1.2" 28 | }, 29 | "devDependencies": { 30 | "@types/command-line-args": "^5.2.3", 31 | "@types/command-line-usage": "^5.0.4", 32 | "@types/estree": "1.0.8", 33 | "@types/js-beautify": "^1.14.3", 34 | "@types/node": "24.2.0", 35 | "ts-node": "^10.9.2", 36 | "typescript": "5.9.2" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DPacker 2 | 3 | A webpack module splitter & beautifier 4 | 5 | Originally designed for discord.. but can be used for pretty much anything.. 6 | 7 | ## Usage 8 | 9 | Make sure all your files are in one folder (no subfolders). 10 | In this example, I will call it `assets-canary` 11 | 12 | Simply run... 13 | 14 | ```shell 15 | npx dpacker ./assets-canary [-b] [-d] 16 | ``` 17 | 18 | ## Parameters 19 | 20 | | Flag name | Shorthand | Default Value | Purpose | 21 | | ----------------- | --------- | ------------- | ---------------------------------------------------------------- | 22 | | --input | -i | | The input directory of .js files | 23 | | --outDir | -o | ./out | The file to output the separated files | 24 | | --manifest | -m | null | Generate a manifest file at the specified path | 25 | | --verbose | -v | false | Verbose output | 26 | | --beautify | -b | false | Beautify the outputted javascript files | 27 | | --allowDuplicates | -d | false | Allows duplicate files to be generated when detected | 28 | | --force | -f | false | If the output directory already exists, use this to overwrite it | 29 | | --help | -h | | Show the help menu | 30 | 31 | ## Flags: 32 | 33 | `-b` is optional, and will auto-beautify the JS files as they're written. 34 | 35 | `-d` is optional, and will write duplicate files if they share the ID. (By default, it ignores duplicate files as there's usually not any difference) 36 | 37 | The files will be written into an `out` folder :) 38 | 39 | ## Features 40 | 41 | Splits large webpack bundle files into their individual modules. Has de-duplication built in, but can be disabled with the `-d` flag. 42 | 43 | Converts requires and module.exports to correct form, rather than webpack's (e, t, n) format 44 | 45 | `require`s that point to a module ID will be mapped to `require("./moduleId.js")` for IDE compatibility, and should help with recompilation. 46 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import fs from "fs"; 3 | import { sync as rimraf } from "rimraf"; 4 | import path from "path"; 5 | import jsBeautify from "js-beautify"; 6 | import unpack from "./unpack.js"; 7 | import commandLineArgs from "command-line-args"; 8 | import commandLineUsage from "command-line-usage"; 9 | 10 | const currDir = process.cwd(); 11 | 12 | const helpInfo: commandLineUsage.Section[] = [ 13 | { 14 | header: "DPacker", 15 | content: "A tool to debundle webpack modules", 16 | }, 17 | { 18 | header: "Example Usage", 19 | content: "npx dpacker -i ./assets -b -v", 20 | }, 21 | { 22 | header: "Options", 23 | optionList: [ 24 | { 25 | name: "input", 26 | alias: "i", 27 | typeLabel: "{underline directory}", 28 | description: "The input folder to debundle", 29 | }, 30 | { 31 | name: "outDir", 32 | alias: "o", 33 | typeLabel: "{underline ./out}", 34 | description: "The output folder to save the debundled files.", 35 | }, 36 | { 37 | name: "manifest", 38 | alias: "m", 39 | typeLabel: "{underline manifest.json}", 40 | description: "The manifest file path to generate", 41 | }, 42 | { 43 | name: "verbose", 44 | alias: "v", 45 | description: "Prints verbose output", 46 | type: Boolean, 47 | }, 48 | { 49 | name: "beautify", 50 | alias: "b", 51 | description: "Beautifies the output", 52 | type: Boolean, 53 | }, 54 | { 55 | name: "allowDuplicates", 56 | alias: "d", 57 | description: 58 | "Allows duplicate files to be generated in format 'fileName-n'", 59 | type: Boolean, 60 | }, 61 | { 62 | name: "force", 63 | alias: "f", 64 | description: "Forces the tool to overwrite existing files", 65 | type: Boolean, 66 | }, 67 | { 68 | name: "help", 69 | alias: "h", 70 | description: "Prints this help message", 71 | type: Boolean, 72 | }, 73 | ], 74 | }, 75 | { 76 | header: "Source & Support", 77 | content: "Available on Github at https://github.com/meguminsama/dpacker", 78 | }, 79 | ]; 80 | 81 | const usageHelp = commandLineUsage(helpInfo); 82 | 83 | const argDefinitions: commandLineArgs.OptionDefinition[] = [ 84 | { name: "input", alias: "i", type: String, defaultOption: true }, 85 | { 86 | name: "outDir", 87 | alias: "o", 88 | type: String, 89 | defaultValue: path.join(currDir, "out"), 90 | }, 91 | { name: "manifest", alias: "m", type: String, defaultValue: null }, 92 | { name: "verbose", alias: "v", type: Boolean, defaultValue: false }, 93 | { name: "beautify", alias: "b", type: Boolean, defaultValue: false }, 94 | { name: "allowDuplicates", alias: "d", type: Boolean, defaultValue: false }, 95 | { name: "force", alias: "f", type: Boolean, defaultValue: false }, 96 | { name: "help", alias: "h", type: Boolean, defaultValue: false }, 97 | ]; 98 | 99 | const options: { 100 | verbose: boolean; 101 | beautify: boolean; 102 | allowDuplicates: boolean; 103 | outDir: string; 104 | input: string; 105 | manifest: string | boolean | null; 106 | force: boolean; 107 | help: boolean; 108 | } = commandLineArgs(argDefinitions) as any; 109 | 110 | if (options.help) { 111 | console.log(usageHelp); 112 | process.exit(); 113 | } 114 | 115 | if (!options.input) { 116 | console.error("No input directory specified. Try running with `--help` for command usage."); 117 | process.exit(1); 118 | } 119 | 120 | const dirName = options.input; 121 | 122 | let MANIFEST_PATH = ""; 123 | 124 | if (options.manifest) { 125 | if (typeof options.manifest === "string") { 126 | if (options.manifest.toLowerCase() !== "false") 127 | MANIFEST_PATH = options.manifest; 128 | } else if (typeof options.manifest === "boolean") { 129 | MANIFEST_PATH = path.join(options.outDir, "manifest.json"); 130 | } 131 | } 132 | 133 | // delete & remake out dir 134 | if (!fs.existsSync(options.outDir)) { 135 | fs.mkdirSync(options.outDir); 136 | } else { 137 | if (options.force) { 138 | rimraf(options.outDir); 139 | fs.mkdirSync(options.outDir); 140 | } else { 141 | console.error(`directory ${options.outDir} already exists...`); 142 | console.error(`use --force to overwrite the contents of this folder.`); 143 | process.exit(1); 144 | } 145 | } 146 | 147 | const files = fs.readdirSync(dirName).filter((f) => f.endsWith(".js")); 148 | 149 | const manifest: { 150 | [k: string]: { 151 | modules: { 152 | [k: string]: { 153 | fileName: string; 154 | deps: string[]; 155 | }; 156 | }; 157 | }; 158 | } = {}; 159 | 160 | for (const inFile of files) { 161 | const inPath = path.join(dirName, inFile); 162 | const fileName = inFile.replace(/\.js$/i, ""); 163 | 164 | const fileData = fs.readFileSync(inPath).toString(); 165 | 166 | const data = unpack(fileData); 167 | 168 | if (!data) continue; 169 | 170 | const fileId = path.parse(inFile).base; 171 | 172 | if (options.manifest) { 173 | manifest[fileId] = { modules: {} }; 174 | } 175 | 176 | for (const item of data) { 177 | const newFileName = genNewFilePath(item.id); 178 | if (newFileName === undefined) continue; 179 | const newFile = path.join(options.outDir, `${newFileName}.js`); 180 | 181 | if (options.beautify) { 182 | item.source = jsBeautify(item.source); 183 | } 184 | 185 | if (options.manifest) { 186 | manifest[fileId].modules[item.id] = { 187 | fileName: path.parse(newFile).base, 188 | deps: Object.keys(item.deps), 189 | }; 190 | } 191 | 192 | fs.writeFileSync(newFile, item.source); 193 | if (options.verbose) console.log(`${fileName} | Written: ${newFile}`); 194 | } 195 | } 196 | 197 | if (options.manifest) { 198 | fs.writeFileSync( 199 | path.join(".", MANIFEST_PATH), 200 | JSON.stringify(manifest, null, 4) 201 | ); 202 | } 203 | 204 | function genNewFilePath(fileName: string | number, i = 0) { 205 | if (!fs.existsSync(path.join(options.outDir, `${fileName}.js`))) 206 | return fileName; 207 | 208 | if (!options.allowDuplicates) return undefined; 209 | 210 | const p = path.join(options.outDir, `${fileName}-${i}.js`); 211 | 212 | if (fs.existsSync(p)) { 213 | genNewFilePath(fileName, ++i); 214 | } else { 215 | return `${fileName}-${i}`; 216 | } 217 | } 218 | -------------------------------------------------------------------------------- /src/unpack.js: -------------------------------------------------------------------------------- 1 | // webpack-unpack 2 | // obtained from https://github.com/goto-bus-stop/webpack-unpack 3 | // modified to allow for arrow functions, "use-strict" declarations, & mapping require(123) to require("./123.js") 4 | 5 | var assert = require("assert"); 6 | var acorn = require("acorn"); 7 | var astring = require("astring"); 8 | var scan = require("scope-analyzer"); 9 | var multisplice = require("multisplice"); 10 | 11 | module.exports = function unpack(source, opts) { 12 | var ast = 13 | typeof source === "object" && typeof source.type === "string" 14 | ? source 15 | : acorn.parse(source, { ecmaVersion: 2021 }); 16 | 17 | if (opts && opts.source) { 18 | source = opts.source; 19 | } 20 | 21 | if (source && Buffer.isBuffer(source)) { 22 | source = source.toString(); 23 | } 24 | 25 | // nullify source if a parsed ast was given in the first parameter 26 | if (ast === source) { 27 | source = null; 28 | } 29 | 30 | assert( 31 | !source || typeof source === "string", 32 | "webpack-unpack: source must be a string or Buffer" 33 | ); 34 | 35 | var meta = unpackRuntimePrelude(ast); 36 | if (!meta) meta = unpackJsonpPrelude(ast); 37 | if (!meta) return; 38 | 39 | var entryId = meta.entryId; 40 | var factories = meta.factories; 41 | 42 | if (!factories.every(isFunctionOrEmpty)) { 43 | return; 44 | } 45 | 46 | var modules = []; 47 | for (var i = 0; i < factories.length; i++) { 48 | var factory = factories[i]; 49 | if (factory.factory === null) continue; 50 | 51 | scan.crawl(factory.factory); 52 | // If source is available, rewrite the require,exports,module var names in place 53 | // Else, generate a string afterwards. 54 | var range = getModuleRange(factory.factory.body); 55 | var moduleSource = rewriteMagicIdentifiers( 56 | factory.factory, 57 | source ? source.slice(range.start, range.end) : null, 58 | range.start 59 | ); 60 | if (!moduleSource) { 61 | moduleSource = astring.generate({ 62 | type: "Program", 63 | body: factory.factory.body.body, 64 | }); 65 | } 66 | 67 | var deps = getDependencies(factory.factory); 68 | 69 | modules.push({ 70 | id: factory.index, 71 | source: moduleSource, 72 | deps: deps, 73 | entry: factory.index === entryId, 74 | }); 75 | } 76 | 77 | return modules; 78 | }; 79 | 80 | function unpackRuntimePrelude(ast) { 81 | // !(prelude)(factories) 82 | if ( 83 | ast.body[0].type !== "ExpressionStatement" || 84 | ast.body[0].expression.type !== "UnaryExpression" || 85 | ast.body[0].expression.argument.type !== "CallExpression" 86 | ) { 87 | return; 88 | } 89 | 90 | // prelude = (function(t){}) 91 | var outer = ast.body[0].expression.argument; 92 | if ( 93 | outer.callee.type !== "FunctionExpression" || 94 | outer.callee.params.length !== 1 95 | ) { 96 | return; 97 | } 98 | var prelude = outer.callee.body; 99 | 100 | // Find the entry point require call. 101 | var entryNode = find(prelude.body.slice().reverse(), function (node) { 102 | if (node.type !== "ExpressionStatement") return false; 103 | node = node.expression; 104 | if (node.type === "SequenceExpression") { 105 | var exprs = node.expressions; 106 | node = exprs[exprs.length - 1]; 107 | } 108 | return ( 109 | node.type === "CallExpression" && 110 | node.arguments.length === 1 && 111 | node.arguments[0].type === "AssignmentExpression" 112 | ); 113 | }); 114 | if (entryNode) { 115 | entryNode = entryNode.expression; 116 | if (entryNode.type === "SequenceExpression") { 117 | entryNode = entryNode.expressions[entryNode.expressions.length - 1]; 118 | } 119 | entryNode = entryNode.arguments[0].right; 120 | } 121 | var entryId = entryNode ? entryNode.value : null; 122 | 123 | // factories = [function(){}] 124 | if ( 125 | outer.arguments.length !== 1 || 126 | (outer.arguments[0].type !== "ArrayExpression" && 127 | outer.arguments[0].type !== "ObjectExpression") 128 | ) { 129 | return; 130 | } 131 | var factories = getFactories(outer.arguments[0]); 132 | 133 | return { 134 | factories: factories, 135 | entryId: entryId, 136 | }; 137 | } 138 | 139 | function unpackJsonpPrelude(ast) { 140 | const idx = ast.body[0]?.expression?.value === "use strict" ? 1 : 0; 141 | 142 | // (prelude).push(factories) 143 | if ( 144 | ast.body[idx].type !== "ExpressionStatement" || 145 | ast.body[idx].expression.type !== "CallExpression" || 146 | ast.body[idx].expression.callee.type !== "MemberExpression" 147 | ) { 148 | return; 149 | } 150 | 151 | var callee = ast.body[idx].expression.callee; 152 | // (webpackJsonp = webpackJsonp || []).push 153 | if (callee.computed || callee.property.name !== "push") return; 154 | if (callee.object.type !== "AssignmentExpression") return; 155 | 156 | var args = ast.body[idx].expression.arguments; 157 | // ([ [bundleIds], [factories]) 158 | if (args.length !== 1) return; 159 | if (args[0].type !== "ArrayExpression") return; 160 | if (args[0].elements[0].type !== "ArrayExpression") return; 161 | if ( 162 | args[0].elements[1].type !== "ArrayExpression" && 163 | args[0].elements[1].type !== "ObjectExpression" 164 | ) 165 | return; 166 | 167 | var factories = getFactories(args[0].elements[1]); 168 | 169 | return { 170 | factories: factories, 171 | entryId: undefined, 172 | }; 173 | } 174 | 175 | function isFunctionOrEmpty(node) { 176 | return ( 177 | node.factory === null || 178 | node.factory.type === "FunctionExpression" || 179 | node.factory.type === "ArrowFunctionExpression" 180 | ); 181 | } 182 | 183 | function getModuleRange(body) { 184 | if (body.body.length === 0) { 185 | // exclude {} braces 186 | return { start: body.start + 1, end: body.end - 1 }; 187 | } 188 | return { 189 | start: body.body[0].start, 190 | end: body.body[body.body.length - 1].end, 191 | }; 192 | } 193 | 194 | function rewriteMagicIdentifiers(moduleWrapper, source, offset) { 195 | var magicBindings = moduleWrapper.params.map(scan.getBinding); 196 | var magicNames = ["module", "exports", "$$dprequire$$"]; 197 | var edit = source ? multisplice(source) : null; 198 | 199 | magicBindings.forEach(function (binding, i) { 200 | var name = magicNames[i]; 201 | binding.getReferences().forEach(function (ref) { 202 | if (ref === binding.definition) return; 203 | ref.name = name; 204 | if (edit) edit.splice(ref.start - offset, ref.end - offset, name); 205 | }); 206 | }); 207 | 208 | return edit 209 | ? edit.toString() 210 | // replace $$dprequire$$(id) with require("./id.js") 211 | .replace(/\$\$dprequire\$\$\(([\de]+)\)/g, (_, id) => { 212 | // Sometimes numbers use scientific notation (123e3). We need to convert these to decimal. 213 | return `require("./${Number(id)}.js")` 214 | }) 215 | // some requires are in a require.x = "..." format, so just turn these back to require 216 | .replace(/\$\$dprequire\$\$/g, "require") 217 | : null; 218 | } 219 | 220 | function getDependencies(moduleWrapper) { 221 | var deps = {}; 222 | if (moduleWrapper.params.length < 3) return deps; 223 | 224 | var req = scan.getBinding(moduleWrapper.params[2]); 225 | req.getReferences().forEach(function (ref) { 226 | if ( 227 | ref.parent.type === "CallExpression" && 228 | ref.parent.callee === ref && 229 | ref.parent.arguments[0].type === "Literal" 230 | ) { 231 | deps[ref.parent.arguments[0].value] = ref.parent.arguments[0].value; 232 | } 233 | }); 234 | 235 | return deps; 236 | } 237 | 238 | function find(arr, fn) { 239 | for (var i = 0; i < arr.length; i++) { 240 | if (fn(arr[i])) return arr[i]; 241 | } 242 | } 243 | 244 | function getFactories(node) { 245 | if (node.type === "ArrayExpression") { 246 | return node.elements.map(function (factory, index) { 247 | return { factory: factory, index: index }; 248 | }); 249 | } 250 | if (node.type === "ObjectExpression") { 251 | return node.properties.map(function (prop) { 252 | var index; 253 | if (prop.key.type === "Literal") { 254 | index = prop.key.value; 255 | } else if (prop.key.type === "Identifier") { 256 | index = prop.key.name; 257 | } 258 | return { factory: prop.value, index: index }; 259 | }); 260 | } 261 | return []; 262 | } 263 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | acorn: 12 | specifier: ^8.15.0 13 | version: 8.15.0 14 | assert: 15 | specifier: ^2.1.0 16 | version: 2.1.0 17 | astring: 18 | specifier: ^1.9.0 19 | version: 1.9.0 20 | chalk: 21 | specifier: ^5.5.0 22 | version: 5.5.0 23 | command-line-args: 24 | specifier: 6.0.1 25 | version: 6.0.1 26 | command-line-usage: 27 | specifier: 7.0.3 28 | version: 7.0.3 29 | js-beautify: 30 | specifier: ^1.15.4 31 | version: 1.15.4 32 | multisplice: 33 | specifier: ^1.0.0 34 | version: 1.0.0 35 | rimraf: 36 | specifier: 6.0.1 37 | version: 6.0.1 38 | scope-analyzer: 39 | specifier: ^2.1.2 40 | version: 2.1.2 41 | devDependencies: 42 | '@types/command-line-args': 43 | specifier: ^5.2.3 44 | version: 5.2.3 45 | '@types/command-line-usage': 46 | specifier: ^5.0.4 47 | version: 5.0.4 48 | '@types/estree': 49 | specifier: 1.0.8 50 | version: 1.0.8 51 | '@types/js-beautify': 52 | specifier: ^1.14.3 53 | version: 1.14.3 54 | '@types/node': 55 | specifier: 24.2.0 56 | version: 24.2.0 57 | ts-node: 58 | specifier: ^10.9.2 59 | version: 10.9.2(@types/node@24.2.0)(typescript@5.9.2) 60 | typescript: 61 | specifier: 5.9.2 62 | version: 5.9.2 63 | 64 | packages: 65 | 66 | '@cspotcode/source-map-support@0.8.1': 67 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 68 | engines: {node: '>=12'} 69 | 70 | '@isaacs/balanced-match@4.0.1': 71 | resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} 72 | engines: {node: 20 || >=22} 73 | 74 | '@isaacs/brace-expansion@5.0.0': 75 | resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} 76 | engines: {node: 20 || >=22} 77 | 78 | '@isaacs/cliui@8.0.2': 79 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 80 | engines: {node: '>=12'} 81 | 82 | '@jridgewell/resolve-uri@3.1.2': 83 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 84 | engines: {node: '>=6.0.0'} 85 | 86 | '@jridgewell/sourcemap-codec@1.5.4': 87 | resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==} 88 | 89 | '@jridgewell/trace-mapping@0.3.9': 90 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 91 | 92 | '@one-ini/wasm@0.1.1': 93 | resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} 94 | 95 | '@pkgjs/parseargs@0.11.0': 96 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 97 | engines: {node: '>=14'} 98 | 99 | '@tsconfig/node10@1.0.11': 100 | resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} 101 | 102 | '@tsconfig/node12@1.0.11': 103 | resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} 104 | 105 | '@tsconfig/node14@1.0.3': 106 | resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} 107 | 108 | '@tsconfig/node16@1.0.4': 109 | resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} 110 | 111 | '@types/command-line-args@5.2.3': 112 | resolution: {integrity: sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==} 113 | 114 | '@types/command-line-usage@5.0.4': 115 | resolution: {integrity: sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg==} 116 | 117 | '@types/estree@1.0.8': 118 | resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 119 | 120 | '@types/js-beautify@1.14.3': 121 | resolution: {integrity: sha512-FMbQHz+qd9DoGvgLHxeqqVPaNRffpIu5ZjozwV8hf9JAGpIOzuAf4wGbRSo8LNITHqGjmmVjaMggTT5P4v4IHg==} 122 | 123 | '@types/node@24.2.0': 124 | resolution: {integrity: sha512-3xyG3pMCq3oYCNg7/ZP+E1ooTaGB4cG8JWRsqqOYQdbWNY4zbaV0Ennrd7stjiJEFZCaybcIgpTjJWHRfBSIDw==} 125 | 126 | abbrev@2.0.0: 127 | resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} 128 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 129 | 130 | acorn-walk@8.3.4: 131 | resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} 132 | engines: {node: '>=0.4.0'} 133 | 134 | acorn@8.15.0: 135 | resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} 136 | engines: {node: '>=0.4.0'} 137 | hasBin: true 138 | 139 | ansi-regex@5.0.1: 140 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 141 | engines: {node: '>=8'} 142 | 143 | ansi-regex@6.1.0: 144 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 145 | engines: {node: '>=12'} 146 | 147 | ansi-styles@4.3.0: 148 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 149 | engines: {node: '>=8'} 150 | 151 | ansi-styles@6.2.1: 152 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 153 | engines: {node: '>=12'} 154 | 155 | arg@4.1.3: 156 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} 157 | 158 | array-back@6.2.2: 159 | resolution: {integrity: sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==} 160 | engines: {node: '>=12.17'} 161 | 162 | array-from@2.1.1: 163 | resolution: {integrity: sha512-GQTc6Uupx1FCavi5mPzBvVT7nEOeWMmUA9P95wpfpW1XwMSKs+KaymD5C2Up7KAUKg/mYwbsUYzdZWcoajlNZg==} 164 | 165 | assert@2.1.0: 166 | resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} 167 | 168 | astring@1.9.0: 169 | resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} 170 | hasBin: true 171 | 172 | available-typed-arrays@1.0.7: 173 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 174 | engines: {node: '>= 0.4'} 175 | 176 | balanced-match@1.0.2: 177 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 178 | 179 | brace-expansion@2.0.2: 180 | resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} 181 | 182 | call-bind-apply-helpers@1.0.2: 183 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 184 | engines: {node: '>= 0.4'} 185 | 186 | call-bind@1.0.8: 187 | resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} 188 | engines: {node: '>= 0.4'} 189 | 190 | call-bound@1.0.4: 191 | resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 192 | engines: {node: '>= 0.4'} 193 | 194 | chalk-template@0.4.0: 195 | resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==} 196 | engines: {node: '>=12'} 197 | 198 | chalk@4.1.2: 199 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 200 | engines: {node: '>=10'} 201 | 202 | chalk@5.5.0: 203 | resolution: {integrity: sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==} 204 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 205 | 206 | color-convert@2.0.1: 207 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 208 | engines: {node: '>=7.0.0'} 209 | 210 | color-name@1.1.4: 211 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 212 | 213 | command-line-args@6.0.1: 214 | resolution: {integrity: sha512-Jr3eByUjqyK0qd8W0SGFW1nZwqCaNCtbXjRo2cRJC1OYxWl3MZ5t1US3jq+cO4sPavqgw4l9BMGX0CBe+trepg==} 215 | engines: {node: '>=12.20'} 216 | peerDependencies: 217 | '@75lb/nature': latest 218 | peerDependenciesMeta: 219 | '@75lb/nature': 220 | optional: true 221 | 222 | command-line-usage@7.0.3: 223 | resolution: {integrity: sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==} 224 | engines: {node: '>=12.20.0'} 225 | 226 | commander@10.0.1: 227 | resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} 228 | engines: {node: '>=14'} 229 | 230 | config-chain@1.1.13: 231 | resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} 232 | 233 | create-require@1.1.1: 234 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} 235 | 236 | cross-spawn@7.0.6: 237 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 238 | engines: {node: '>= 8'} 239 | 240 | d@1.0.2: 241 | resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} 242 | engines: {node: '>=0.12'} 243 | 244 | dash-ast@2.0.1: 245 | resolution: {integrity: sha512-5TXltWJGc+RdnabUGzhRae1TRq6m4gr+3K2wQX0is5/F2yS6MJXJvLyI3ErAnsAXuJoGqvfVD5icRgim07DrxQ==} 246 | 247 | define-data-property@1.1.4: 248 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 249 | engines: {node: '>= 0.4'} 250 | 251 | define-properties@1.2.1: 252 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 253 | engines: {node: '>= 0.4'} 254 | 255 | diff@4.0.2: 256 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} 257 | engines: {node: '>=0.3.1'} 258 | 259 | dunder-proto@1.0.1: 260 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 261 | engines: {node: '>= 0.4'} 262 | 263 | eastasianwidth@0.2.0: 264 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 265 | 266 | editorconfig@1.0.4: 267 | resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==} 268 | engines: {node: '>=14'} 269 | hasBin: true 270 | 271 | emoji-regex@8.0.0: 272 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 273 | 274 | emoji-regex@9.2.2: 275 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 276 | 277 | es-define-property@1.0.1: 278 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 279 | engines: {node: '>= 0.4'} 280 | 281 | es-errors@1.3.0: 282 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 283 | engines: {node: '>= 0.4'} 284 | 285 | es-object-atoms@1.1.1: 286 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 287 | engines: {node: '>= 0.4'} 288 | 289 | es5-ext@0.10.64: 290 | resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} 291 | engines: {node: '>=0.10'} 292 | 293 | es6-iterator@2.0.3: 294 | resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} 295 | 296 | es6-map@0.1.5: 297 | resolution: {integrity: sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==} 298 | 299 | es6-set@0.1.6: 300 | resolution: {integrity: sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==} 301 | engines: {node: '>=0.12'} 302 | 303 | es6-symbol@3.1.4: 304 | resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} 305 | engines: {node: '>=0.12'} 306 | 307 | esniff@2.0.1: 308 | resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} 309 | engines: {node: '>=0.10'} 310 | 311 | estree-is-function@1.0.0: 312 | resolution: {integrity: sha512-nSCWn1jkSq2QAtkaVLJZY2ezwcFO161HVc174zL1KPW3RJ+O6C3eJb8Nx7OXzvhoEv+nLgSR1g71oWUHUDTrJA==} 313 | 314 | event-emitter@0.3.5: 315 | resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} 316 | 317 | ext@1.7.0: 318 | resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} 319 | 320 | find-replace@5.0.2: 321 | resolution: {integrity: sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==} 322 | engines: {node: '>=14'} 323 | peerDependencies: 324 | '@75lb/nature': latest 325 | peerDependenciesMeta: 326 | '@75lb/nature': 327 | optional: true 328 | 329 | for-each@0.3.5: 330 | resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} 331 | engines: {node: '>= 0.4'} 332 | 333 | foreground-child@3.3.1: 334 | resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} 335 | engines: {node: '>=14'} 336 | 337 | function-bind@1.1.2: 338 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 339 | 340 | get-assigned-identifiers@1.2.0: 341 | resolution: {integrity: sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==} 342 | 343 | get-intrinsic@1.3.0: 344 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 345 | engines: {node: '>= 0.4'} 346 | 347 | get-proto@1.0.1: 348 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 349 | engines: {node: '>= 0.4'} 350 | 351 | glob@10.4.5: 352 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 353 | hasBin: true 354 | 355 | glob@11.0.3: 356 | resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} 357 | engines: {node: 20 || >=22} 358 | hasBin: true 359 | 360 | gopd@1.2.0: 361 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 362 | engines: {node: '>= 0.4'} 363 | 364 | has-flag@4.0.0: 365 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 366 | engines: {node: '>=8'} 367 | 368 | has-property-descriptors@1.0.2: 369 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 370 | 371 | has-symbols@1.1.0: 372 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 373 | engines: {node: '>= 0.4'} 374 | 375 | has-tostringtag@1.0.2: 376 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 377 | engines: {node: '>= 0.4'} 378 | 379 | hasown@2.0.2: 380 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 381 | engines: {node: '>= 0.4'} 382 | 383 | inherits@2.0.4: 384 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 385 | 386 | ini@1.3.8: 387 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 388 | 389 | is-arguments@1.2.0: 390 | resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} 391 | engines: {node: '>= 0.4'} 392 | 393 | is-callable@1.2.7: 394 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 395 | engines: {node: '>= 0.4'} 396 | 397 | is-fullwidth-code-point@3.0.0: 398 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 399 | engines: {node: '>=8'} 400 | 401 | is-generator-function@1.1.0: 402 | resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} 403 | engines: {node: '>= 0.4'} 404 | 405 | is-nan@1.3.2: 406 | resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} 407 | engines: {node: '>= 0.4'} 408 | 409 | is-regex@1.2.1: 410 | resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} 411 | engines: {node: '>= 0.4'} 412 | 413 | is-typed-array@1.1.15: 414 | resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} 415 | engines: {node: '>= 0.4'} 416 | 417 | isexe@2.0.0: 418 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 419 | 420 | jackspeak@3.4.3: 421 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 422 | 423 | jackspeak@4.1.1: 424 | resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} 425 | engines: {node: 20 || >=22} 426 | 427 | js-beautify@1.15.4: 428 | resolution: {integrity: sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==} 429 | engines: {node: '>=14'} 430 | hasBin: true 431 | 432 | js-cookie@3.0.5: 433 | resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} 434 | engines: {node: '>=14'} 435 | 436 | lodash.camelcase@4.3.0: 437 | resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} 438 | 439 | lru-cache@10.4.3: 440 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 441 | 442 | lru-cache@11.1.0: 443 | resolution: {integrity: sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==} 444 | engines: {node: 20 || >=22} 445 | 446 | make-error@1.3.6: 447 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 448 | 449 | math-intrinsics@1.1.0: 450 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 451 | engines: {node: '>= 0.4'} 452 | 453 | minimatch@10.0.3: 454 | resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} 455 | engines: {node: 20 || >=22} 456 | 457 | minimatch@9.0.1: 458 | resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} 459 | engines: {node: '>=16 || 14 >=14.17'} 460 | 461 | minimatch@9.0.5: 462 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 463 | engines: {node: '>=16 || 14 >=14.17'} 464 | 465 | minipass@7.1.2: 466 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 467 | engines: {node: '>=16 || 14 >=14.17'} 468 | 469 | multisplice@1.0.0: 470 | resolution: {integrity: sha512-KU5tVjIdTGsMb92JlWwEZCGrvtI1ku9G9GuNbWdQT/Ici1ztFXX0L8lWpbbC3pISVMfBNL56wdqplHvva2XSlA==} 471 | 472 | next-tick@1.1.0: 473 | resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} 474 | 475 | nopt@7.2.1: 476 | resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} 477 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 478 | hasBin: true 479 | 480 | object-is@1.1.6: 481 | resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} 482 | engines: {node: '>= 0.4'} 483 | 484 | object-keys@1.1.1: 485 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 486 | engines: {node: '>= 0.4'} 487 | 488 | object.assign@4.1.7: 489 | resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} 490 | engines: {node: '>= 0.4'} 491 | 492 | package-json-from-dist@1.0.1: 493 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 494 | 495 | path-key@3.1.1: 496 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 497 | engines: {node: '>=8'} 498 | 499 | path-scurry@1.11.1: 500 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 501 | engines: {node: '>=16 || 14 >=14.18'} 502 | 503 | path-scurry@2.0.0: 504 | resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} 505 | engines: {node: 20 || >=22} 506 | 507 | possible-typed-array-names@1.1.0: 508 | resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} 509 | engines: {node: '>= 0.4'} 510 | 511 | proto-list@1.2.4: 512 | resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} 513 | 514 | rimraf@6.0.1: 515 | resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} 516 | engines: {node: 20 || >=22} 517 | hasBin: true 518 | 519 | safe-regex-test@1.1.0: 520 | resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} 521 | engines: {node: '>= 0.4'} 522 | 523 | scope-analyzer@2.1.2: 524 | resolution: {integrity: sha512-5cfCmsTYV/wPaRIItNxatw02ua/MThdIUNnUOCYp+3LSEJvnG804ANw2VLaavNILIfWXF1D1G2KNANkBBvInwQ==} 525 | 526 | semver@7.7.2: 527 | resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} 528 | engines: {node: '>=10'} 529 | hasBin: true 530 | 531 | set-function-length@1.2.2: 532 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 533 | engines: {node: '>= 0.4'} 534 | 535 | shebang-command@2.0.0: 536 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 537 | engines: {node: '>=8'} 538 | 539 | shebang-regex@3.0.0: 540 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 541 | engines: {node: '>=8'} 542 | 543 | signal-exit@4.1.0: 544 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 545 | engines: {node: '>=14'} 546 | 547 | string-width@4.2.3: 548 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 549 | engines: {node: '>=8'} 550 | 551 | string-width@5.1.2: 552 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 553 | engines: {node: '>=12'} 554 | 555 | strip-ansi@6.0.1: 556 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 557 | engines: {node: '>=8'} 558 | 559 | strip-ansi@7.1.0: 560 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 561 | engines: {node: '>=12'} 562 | 563 | supports-color@7.2.0: 564 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 565 | engines: {node: '>=8'} 566 | 567 | table-layout@4.1.1: 568 | resolution: {integrity: sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA==} 569 | engines: {node: '>=12.17'} 570 | 571 | ts-node@10.9.2: 572 | resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} 573 | hasBin: true 574 | peerDependencies: 575 | '@swc/core': '>=1.2.50' 576 | '@swc/wasm': '>=1.2.50' 577 | '@types/node': '*' 578 | typescript: '>=2.7' 579 | peerDependenciesMeta: 580 | '@swc/core': 581 | optional: true 582 | '@swc/wasm': 583 | optional: true 584 | 585 | type@2.7.3: 586 | resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} 587 | 588 | typescript@5.9.2: 589 | resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} 590 | engines: {node: '>=14.17'} 591 | hasBin: true 592 | 593 | typical@7.3.0: 594 | resolution: {integrity: sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw==} 595 | engines: {node: '>=12.17'} 596 | 597 | undici-types@7.10.0: 598 | resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} 599 | 600 | util@0.12.5: 601 | resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} 602 | 603 | v8-compile-cache-lib@3.0.1: 604 | resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} 605 | 606 | which-typed-array@1.1.19: 607 | resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} 608 | engines: {node: '>= 0.4'} 609 | 610 | which@2.0.2: 611 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 612 | engines: {node: '>= 8'} 613 | hasBin: true 614 | 615 | wordwrapjs@5.1.0: 616 | resolution: {integrity: sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==} 617 | engines: {node: '>=12.17'} 618 | 619 | wrap-ansi@7.0.0: 620 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 621 | engines: {node: '>=10'} 622 | 623 | wrap-ansi@8.1.0: 624 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 625 | engines: {node: '>=12'} 626 | 627 | yn@3.1.1: 628 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} 629 | engines: {node: '>=6'} 630 | 631 | snapshots: 632 | 633 | '@cspotcode/source-map-support@0.8.1': 634 | dependencies: 635 | '@jridgewell/trace-mapping': 0.3.9 636 | 637 | '@isaacs/balanced-match@4.0.1': {} 638 | 639 | '@isaacs/brace-expansion@5.0.0': 640 | dependencies: 641 | '@isaacs/balanced-match': 4.0.1 642 | 643 | '@isaacs/cliui@8.0.2': 644 | dependencies: 645 | string-width: 5.1.2 646 | string-width-cjs: string-width@4.2.3 647 | strip-ansi: 7.1.0 648 | strip-ansi-cjs: strip-ansi@6.0.1 649 | wrap-ansi: 8.1.0 650 | wrap-ansi-cjs: wrap-ansi@7.0.0 651 | 652 | '@jridgewell/resolve-uri@3.1.2': {} 653 | 654 | '@jridgewell/sourcemap-codec@1.5.4': {} 655 | 656 | '@jridgewell/trace-mapping@0.3.9': 657 | dependencies: 658 | '@jridgewell/resolve-uri': 3.1.2 659 | '@jridgewell/sourcemap-codec': 1.5.4 660 | 661 | '@one-ini/wasm@0.1.1': {} 662 | 663 | '@pkgjs/parseargs@0.11.0': 664 | optional: true 665 | 666 | '@tsconfig/node10@1.0.11': {} 667 | 668 | '@tsconfig/node12@1.0.11': {} 669 | 670 | '@tsconfig/node14@1.0.3': {} 671 | 672 | '@tsconfig/node16@1.0.4': {} 673 | 674 | '@types/command-line-args@5.2.3': {} 675 | 676 | '@types/command-line-usage@5.0.4': {} 677 | 678 | '@types/estree@1.0.8': {} 679 | 680 | '@types/js-beautify@1.14.3': {} 681 | 682 | '@types/node@24.2.0': 683 | dependencies: 684 | undici-types: 7.10.0 685 | 686 | abbrev@2.0.0: {} 687 | 688 | acorn-walk@8.3.4: 689 | dependencies: 690 | acorn: 8.15.0 691 | 692 | acorn@8.15.0: {} 693 | 694 | ansi-regex@5.0.1: {} 695 | 696 | ansi-regex@6.1.0: {} 697 | 698 | ansi-styles@4.3.0: 699 | dependencies: 700 | color-convert: 2.0.1 701 | 702 | ansi-styles@6.2.1: {} 703 | 704 | arg@4.1.3: {} 705 | 706 | array-back@6.2.2: {} 707 | 708 | array-from@2.1.1: {} 709 | 710 | assert@2.1.0: 711 | dependencies: 712 | call-bind: 1.0.8 713 | is-nan: 1.3.2 714 | object-is: 1.1.6 715 | object.assign: 4.1.7 716 | util: 0.12.5 717 | 718 | astring@1.9.0: {} 719 | 720 | available-typed-arrays@1.0.7: 721 | dependencies: 722 | possible-typed-array-names: 1.1.0 723 | 724 | balanced-match@1.0.2: {} 725 | 726 | brace-expansion@2.0.2: 727 | dependencies: 728 | balanced-match: 1.0.2 729 | 730 | call-bind-apply-helpers@1.0.2: 731 | dependencies: 732 | es-errors: 1.3.0 733 | function-bind: 1.1.2 734 | 735 | call-bind@1.0.8: 736 | dependencies: 737 | call-bind-apply-helpers: 1.0.2 738 | es-define-property: 1.0.1 739 | get-intrinsic: 1.3.0 740 | set-function-length: 1.2.2 741 | 742 | call-bound@1.0.4: 743 | dependencies: 744 | call-bind-apply-helpers: 1.0.2 745 | get-intrinsic: 1.3.0 746 | 747 | chalk-template@0.4.0: 748 | dependencies: 749 | chalk: 4.1.2 750 | 751 | chalk@4.1.2: 752 | dependencies: 753 | ansi-styles: 4.3.0 754 | supports-color: 7.2.0 755 | 756 | chalk@5.5.0: {} 757 | 758 | color-convert@2.0.1: 759 | dependencies: 760 | color-name: 1.1.4 761 | 762 | color-name@1.1.4: {} 763 | 764 | command-line-args@6.0.1: 765 | dependencies: 766 | array-back: 6.2.2 767 | find-replace: 5.0.2 768 | lodash.camelcase: 4.3.0 769 | typical: 7.3.0 770 | 771 | command-line-usage@7.0.3: 772 | dependencies: 773 | array-back: 6.2.2 774 | chalk-template: 0.4.0 775 | table-layout: 4.1.1 776 | typical: 7.3.0 777 | 778 | commander@10.0.1: {} 779 | 780 | config-chain@1.1.13: 781 | dependencies: 782 | ini: 1.3.8 783 | proto-list: 1.2.4 784 | 785 | create-require@1.1.1: {} 786 | 787 | cross-spawn@7.0.6: 788 | dependencies: 789 | path-key: 3.1.1 790 | shebang-command: 2.0.0 791 | which: 2.0.2 792 | 793 | d@1.0.2: 794 | dependencies: 795 | es5-ext: 0.10.64 796 | type: 2.7.3 797 | 798 | dash-ast@2.0.1: {} 799 | 800 | define-data-property@1.1.4: 801 | dependencies: 802 | es-define-property: 1.0.1 803 | es-errors: 1.3.0 804 | gopd: 1.2.0 805 | 806 | define-properties@1.2.1: 807 | dependencies: 808 | define-data-property: 1.1.4 809 | has-property-descriptors: 1.0.2 810 | object-keys: 1.1.1 811 | 812 | diff@4.0.2: {} 813 | 814 | dunder-proto@1.0.1: 815 | dependencies: 816 | call-bind-apply-helpers: 1.0.2 817 | es-errors: 1.3.0 818 | gopd: 1.2.0 819 | 820 | eastasianwidth@0.2.0: {} 821 | 822 | editorconfig@1.0.4: 823 | dependencies: 824 | '@one-ini/wasm': 0.1.1 825 | commander: 10.0.1 826 | minimatch: 9.0.1 827 | semver: 7.7.2 828 | 829 | emoji-regex@8.0.0: {} 830 | 831 | emoji-regex@9.2.2: {} 832 | 833 | es-define-property@1.0.1: {} 834 | 835 | es-errors@1.3.0: {} 836 | 837 | es-object-atoms@1.1.1: 838 | dependencies: 839 | es-errors: 1.3.0 840 | 841 | es5-ext@0.10.64: 842 | dependencies: 843 | es6-iterator: 2.0.3 844 | es6-symbol: 3.1.4 845 | esniff: 2.0.1 846 | next-tick: 1.1.0 847 | 848 | es6-iterator@2.0.3: 849 | dependencies: 850 | d: 1.0.2 851 | es5-ext: 0.10.64 852 | es6-symbol: 3.1.4 853 | 854 | es6-map@0.1.5: 855 | dependencies: 856 | d: 1.0.2 857 | es5-ext: 0.10.64 858 | es6-iterator: 2.0.3 859 | es6-set: 0.1.6 860 | es6-symbol: 3.1.4 861 | event-emitter: 0.3.5 862 | 863 | es6-set@0.1.6: 864 | dependencies: 865 | d: 1.0.2 866 | es5-ext: 0.10.64 867 | es6-iterator: 2.0.3 868 | es6-symbol: 3.1.4 869 | event-emitter: 0.3.5 870 | type: 2.7.3 871 | 872 | es6-symbol@3.1.4: 873 | dependencies: 874 | d: 1.0.2 875 | ext: 1.7.0 876 | 877 | esniff@2.0.1: 878 | dependencies: 879 | d: 1.0.2 880 | es5-ext: 0.10.64 881 | event-emitter: 0.3.5 882 | type: 2.7.3 883 | 884 | estree-is-function@1.0.0: {} 885 | 886 | event-emitter@0.3.5: 887 | dependencies: 888 | d: 1.0.2 889 | es5-ext: 0.10.64 890 | 891 | ext@1.7.0: 892 | dependencies: 893 | type: 2.7.3 894 | 895 | find-replace@5.0.2: {} 896 | 897 | for-each@0.3.5: 898 | dependencies: 899 | is-callable: 1.2.7 900 | 901 | foreground-child@3.3.1: 902 | dependencies: 903 | cross-spawn: 7.0.6 904 | signal-exit: 4.1.0 905 | 906 | function-bind@1.1.2: {} 907 | 908 | get-assigned-identifiers@1.2.0: {} 909 | 910 | get-intrinsic@1.3.0: 911 | dependencies: 912 | call-bind-apply-helpers: 1.0.2 913 | es-define-property: 1.0.1 914 | es-errors: 1.3.0 915 | es-object-atoms: 1.1.1 916 | function-bind: 1.1.2 917 | get-proto: 1.0.1 918 | gopd: 1.2.0 919 | has-symbols: 1.1.0 920 | hasown: 2.0.2 921 | math-intrinsics: 1.1.0 922 | 923 | get-proto@1.0.1: 924 | dependencies: 925 | dunder-proto: 1.0.1 926 | es-object-atoms: 1.1.1 927 | 928 | glob@10.4.5: 929 | dependencies: 930 | foreground-child: 3.3.1 931 | jackspeak: 3.4.3 932 | minimatch: 9.0.5 933 | minipass: 7.1.2 934 | package-json-from-dist: 1.0.1 935 | path-scurry: 1.11.1 936 | 937 | glob@11.0.3: 938 | dependencies: 939 | foreground-child: 3.3.1 940 | jackspeak: 4.1.1 941 | minimatch: 10.0.3 942 | minipass: 7.1.2 943 | package-json-from-dist: 1.0.1 944 | path-scurry: 2.0.0 945 | 946 | gopd@1.2.0: {} 947 | 948 | has-flag@4.0.0: {} 949 | 950 | has-property-descriptors@1.0.2: 951 | dependencies: 952 | es-define-property: 1.0.1 953 | 954 | has-symbols@1.1.0: {} 955 | 956 | has-tostringtag@1.0.2: 957 | dependencies: 958 | has-symbols: 1.1.0 959 | 960 | hasown@2.0.2: 961 | dependencies: 962 | function-bind: 1.1.2 963 | 964 | inherits@2.0.4: {} 965 | 966 | ini@1.3.8: {} 967 | 968 | is-arguments@1.2.0: 969 | dependencies: 970 | call-bound: 1.0.4 971 | has-tostringtag: 1.0.2 972 | 973 | is-callable@1.2.7: {} 974 | 975 | is-fullwidth-code-point@3.0.0: {} 976 | 977 | is-generator-function@1.1.0: 978 | dependencies: 979 | call-bound: 1.0.4 980 | get-proto: 1.0.1 981 | has-tostringtag: 1.0.2 982 | safe-regex-test: 1.1.0 983 | 984 | is-nan@1.3.2: 985 | dependencies: 986 | call-bind: 1.0.8 987 | define-properties: 1.2.1 988 | 989 | is-regex@1.2.1: 990 | dependencies: 991 | call-bound: 1.0.4 992 | gopd: 1.2.0 993 | has-tostringtag: 1.0.2 994 | hasown: 2.0.2 995 | 996 | is-typed-array@1.1.15: 997 | dependencies: 998 | which-typed-array: 1.1.19 999 | 1000 | isexe@2.0.0: {} 1001 | 1002 | jackspeak@3.4.3: 1003 | dependencies: 1004 | '@isaacs/cliui': 8.0.2 1005 | optionalDependencies: 1006 | '@pkgjs/parseargs': 0.11.0 1007 | 1008 | jackspeak@4.1.1: 1009 | dependencies: 1010 | '@isaacs/cliui': 8.0.2 1011 | 1012 | js-beautify@1.15.4: 1013 | dependencies: 1014 | config-chain: 1.1.13 1015 | editorconfig: 1.0.4 1016 | glob: 10.4.5 1017 | js-cookie: 3.0.5 1018 | nopt: 7.2.1 1019 | 1020 | js-cookie@3.0.5: {} 1021 | 1022 | lodash.camelcase@4.3.0: {} 1023 | 1024 | lru-cache@10.4.3: {} 1025 | 1026 | lru-cache@11.1.0: {} 1027 | 1028 | make-error@1.3.6: {} 1029 | 1030 | math-intrinsics@1.1.0: {} 1031 | 1032 | minimatch@10.0.3: 1033 | dependencies: 1034 | '@isaacs/brace-expansion': 5.0.0 1035 | 1036 | minimatch@9.0.1: 1037 | dependencies: 1038 | brace-expansion: 2.0.2 1039 | 1040 | minimatch@9.0.5: 1041 | dependencies: 1042 | brace-expansion: 2.0.2 1043 | 1044 | minipass@7.1.2: {} 1045 | 1046 | multisplice@1.0.0: {} 1047 | 1048 | next-tick@1.1.0: {} 1049 | 1050 | nopt@7.2.1: 1051 | dependencies: 1052 | abbrev: 2.0.0 1053 | 1054 | object-is@1.1.6: 1055 | dependencies: 1056 | call-bind: 1.0.8 1057 | define-properties: 1.2.1 1058 | 1059 | object-keys@1.1.1: {} 1060 | 1061 | object.assign@4.1.7: 1062 | dependencies: 1063 | call-bind: 1.0.8 1064 | call-bound: 1.0.4 1065 | define-properties: 1.2.1 1066 | es-object-atoms: 1.1.1 1067 | has-symbols: 1.1.0 1068 | object-keys: 1.1.1 1069 | 1070 | package-json-from-dist@1.0.1: {} 1071 | 1072 | path-key@3.1.1: {} 1073 | 1074 | path-scurry@1.11.1: 1075 | dependencies: 1076 | lru-cache: 10.4.3 1077 | minipass: 7.1.2 1078 | 1079 | path-scurry@2.0.0: 1080 | dependencies: 1081 | lru-cache: 11.1.0 1082 | minipass: 7.1.2 1083 | 1084 | possible-typed-array-names@1.1.0: {} 1085 | 1086 | proto-list@1.2.4: {} 1087 | 1088 | rimraf@6.0.1: 1089 | dependencies: 1090 | glob: 11.0.3 1091 | package-json-from-dist: 1.0.1 1092 | 1093 | safe-regex-test@1.1.0: 1094 | dependencies: 1095 | call-bound: 1.0.4 1096 | es-errors: 1.3.0 1097 | is-regex: 1.2.1 1098 | 1099 | scope-analyzer@2.1.2: 1100 | dependencies: 1101 | array-from: 2.1.1 1102 | dash-ast: 2.0.1 1103 | es6-map: 0.1.5 1104 | es6-set: 0.1.6 1105 | es6-symbol: 3.1.4 1106 | estree-is-function: 1.0.0 1107 | get-assigned-identifiers: 1.2.0 1108 | 1109 | semver@7.7.2: {} 1110 | 1111 | set-function-length@1.2.2: 1112 | dependencies: 1113 | define-data-property: 1.1.4 1114 | es-errors: 1.3.0 1115 | function-bind: 1.1.2 1116 | get-intrinsic: 1.3.0 1117 | gopd: 1.2.0 1118 | has-property-descriptors: 1.0.2 1119 | 1120 | shebang-command@2.0.0: 1121 | dependencies: 1122 | shebang-regex: 3.0.0 1123 | 1124 | shebang-regex@3.0.0: {} 1125 | 1126 | signal-exit@4.1.0: {} 1127 | 1128 | string-width@4.2.3: 1129 | dependencies: 1130 | emoji-regex: 8.0.0 1131 | is-fullwidth-code-point: 3.0.0 1132 | strip-ansi: 6.0.1 1133 | 1134 | string-width@5.1.2: 1135 | dependencies: 1136 | eastasianwidth: 0.2.0 1137 | emoji-regex: 9.2.2 1138 | strip-ansi: 7.1.0 1139 | 1140 | strip-ansi@6.0.1: 1141 | dependencies: 1142 | ansi-regex: 5.0.1 1143 | 1144 | strip-ansi@7.1.0: 1145 | dependencies: 1146 | ansi-regex: 6.1.0 1147 | 1148 | supports-color@7.2.0: 1149 | dependencies: 1150 | has-flag: 4.0.0 1151 | 1152 | table-layout@4.1.1: 1153 | dependencies: 1154 | array-back: 6.2.2 1155 | wordwrapjs: 5.1.0 1156 | 1157 | ts-node@10.9.2(@types/node@24.2.0)(typescript@5.9.2): 1158 | dependencies: 1159 | '@cspotcode/source-map-support': 0.8.1 1160 | '@tsconfig/node10': 1.0.11 1161 | '@tsconfig/node12': 1.0.11 1162 | '@tsconfig/node14': 1.0.3 1163 | '@tsconfig/node16': 1.0.4 1164 | '@types/node': 24.2.0 1165 | acorn: 8.15.0 1166 | acorn-walk: 8.3.4 1167 | arg: 4.1.3 1168 | create-require: 1.1.1 1169 | diff: 4.0.2 1170 | make-error: 1.3.6 1171 | typescript: 5.9.2 1172 | v8-compile-cache-lib: 3.0.1 1173 | yn: 3.1.1 1174 | 1175 | type@2.7.3: {} 1176 | 1177 | typescript@5.9.2: {} 1178 | 1179 | typical@7.3.0: {} 1180 | 1181 | undici-types@7.10.0: {} 1182 | 1183 | util@0.12.5: 1184 | dependencies: 1185 | inherits: 2.0.4 1186 | is-arguments: 1.2.0 1187 | is-generator-function: 1.1.0 1188 | is-typed-array: 1.1.15 1189 | which-typed-array: 1.1.19 1190 | 1191 | v8-compile-cache-lib@3.0.1: {} 1192 | 1193 | which-typed-array@1.1.19: 1194 | dependencies: 1195 | available-typed-arrays: 1.0.7 1196 | call-bind: 1.0.8 1197 | call-bound: 1.0.4 1198 | for-each: 0.3.5 1199 | get-proto: 1.0.1 1200 | gopd: 1.2.0 1201 | has-tostringtag: 1.0.2 1202 | 1203 | which@2.0.2: 1204 | dependencies: 1205 | isexe: 2.0.0 1206 | 1207 | wordwrapjs@5.1.0: {} 1208 | 1209 | wrap-ansi@7.0.0: 1210 | dependencies: 1211 | ansi-styles: 4.3.0 1212 | string-width: 4.2.3 1213 | strip-ansi: 6.0.1 1214 | 1215 | wrap-ansi@8.1.0: 1216 | dependencies: 1217 | ansi-styles: 6.2.1 1218 | string-width: 5.1.2 1219 | strip-ansi: 7.1.0 1220 | 1221 | yn@3.1.1: {} 1222 | --------------------------------------------------------------------------------