├── .github ├── FUNDING.yml └── workflows │ └── release.yml ├── .gitignore ├── .prettierrc ├── .vscode ├── extensions.json └── settings.json ├── LICENSE ├── README.md ├── dev ├── package.json ├── rollup.config.js └── src │ └── index.js ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── src └── index.ts ├── tsconfig.json └── tsup.config.ts /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: ghostdevv # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: onlyspaceghost # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: https://ghostdev.xyz/donate # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release Package 2 | 3 | on: 4 | release: 5 | types: [created] 6 | 7 | jobs: 8 | publish-npm: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout 12 | uses: actions/checkout@v2 13 | 14 | - name: Setup Node 16 15 | uses: actions/setup-node@v1 16 | with: 17 | node-version: 16 18 | registry-url: https://registry.npmjs.org/ 19 | 20 | - name: Setup PNPM 21 | uses: pnpm/action-setup@v2.0.1 22 | with: 23 | version: 7.0.0 24 | 25 | - name: Install 26 | run: pnpm install 27 | 28 | - name: Build 29 | run: pnpm build 30 | 31 | - name: Publish 32 | run: | 33 | pnpm config set "//registry.npmjs.org/:_authToken" "${NPM_TOKEN}" 34 | pnpm publish --no-git-checks 35 | env: 36 | NPM_TOKEN: ${{secrets.NPM_TOKEN}} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | output.js 3 | output.js.map 4 | dist -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "quoteProps": "as-needed", 4 | "trailingComma": "all", 5 | "bracketSpacing": true, 6 | "arrowParens": "always", 7 | "semi": true, 8 | "useTabs": true, 9 | "tabWidth": 4 10 | } 11 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "esbenp.prettier-vscode", 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "[javascript]": { 3 | "editor.defaultFormatter": "esbenp.prettier-vscode", 4 | "editor.formatOnSave": true 5 | }, 6 | "[typescript]": { 7 | "editor.defaultFormatter": "esbenp.prettier-vscode", 8 | "editor.formatOnSave": true 9 | }, 10 | "[json]": { 11 | "editor.defaultFormatter": "vscode.json-language-features", 12 | "editor.formatOnSave": true 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright © 2022 - Present GHOST 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Rollup Obfuscator 2 | 3 | [![](https://img.shields.io/npm/v/rollup-obfuscator?label=Latest%20Version&style=for-the-badge&logo=npm&color=informational)](https://www.npmjs.com/package/rollup-obfuscator) 4 | 5 | A rollup/vite plugin to obfuscate your code based on [javascript-obfuscator](https://www.npmjs.com/javascript-obfuscator) 6 | 7 | # Requirements 8 | 9 | - Rollup: v2, v3, or v4 10 | - Node: v16+ 11 | - javascript-obfuscator: v4 12 | 13 | # Installing 14 | 15 | First install the plugin as a dev dependency: 16 | 17 | ```bash 18 | npm install rollup-obfuscator -D 19 | ``` 20 | 21 | Next we should add it to the **end** of the plugins array: 22 | 23 | Rollup: 24 | ```js 25 | import { obfuscator } from 'rollup-obfuscator'; 26 | 27 | export default { 28 | plugins: [ 29 | // ... 30 | obfuscator() 31 | ] 32 | } 33 | ``` 34 | 35 | Vite: 36 | 37 | > [!NOTE] 38 | > This will only apply at build time 39 | 40 | ```js 41 | import { obfuscator } from 'rollup-obfuscator'; 42 | import { defineConfig } from 'vite'; 43 | 44 | export default defineConfig({ 45 | plugins: [ 46 | // ... 47 | obfuscator() 48 | ] 49 | }) 50 | ``` 51 | 52 | ## Configuring 53 | 54 | The plugin should hopefully work out of the box. However, it's likely to break on larger applications - especially those that use complex frameworks. You should play with the options to find what works best for your application. 55 | 56 | ```js 57 | plugins: [ 58 | obfuscator({ 59 | // options go here 60 | }) 61 | ] 62 | ``` 63 | 64 | ### Obfuscator Options 65 | 66 | All config options can be found [here](https://www.npmjs.com/package/javascript-obfuscator). The plugin has the same default options, except setting `sourceMap: true` and `stringArray: false`. 67 | 68 | ### Plugin Specific Options 69 | 70 | - `include` - A [FilterPattern](https://github.com/rollup/plugins/blob/master/packages/pluginutils/types/index.d.ts#L23) of files to include. Defaults to `['**/*.js', '**/*.ts']` 71 | 72 | - `exclude` - A [FilterPattern](https://github.com/rollup/plugins/blob/master/packages/pluginutils/types/index.d.ts#L23) of files to exclude. Defaults to `['node_modules/**']` 73 | 74 | # Migrate to v4 75 | 76 | v4 of this plugin now requires a minimum Node version of v16, it may still work on older versions but it isn't tested. `options.global` was removed and is now follows v3's `global: false` behaviour, some issues came up that made it no longer make sense. Finally a few obfuscator option defaults were changed to: `stringArray: false`, `sourceMap: true`. If you're project doesn't work with v4 please let me know why by [creating an issue](https://github.com/ghostdevv/rollup-obfuscator/issues/new). You can see the [full code changes here](https://github.com/ghostdevv/rollup-obfuscator/compare/v3.0.2...v4.0.0). 77 | 78 | # Support 79 | 80 | - Join the [discord](https://discord.gg/2Vd4wAjJnm) 81 | - Create a issue on the [GitHub](https://github.com/ghostdevv/rollup-obfuscator/issues/new) 82 | -------------------------------------------------------------------------------- /dev/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dev-env", 3 | "type": "module", 4 | "private": true, 5 | "scripts": { 6 | "dev": "rollup -w -c" 7 | }, 8 | "devDependencies": { 9 | "desm": "^1.3.0", 10 | "rollup": "^4.1.3", 11 | "rollup-obfuscator": "workspace:*" 12 | } 13 | } -------------------------------------------------------------------------------- /dev/rollup.config.js: -------------------------------------------------------------------------------- 1 | import { obfuscator } from 'rollup-obfuscator'; 2 | import { join } from 'desm'; 3 | 4 | /** @type {import('rollup').RollupOptions} */ 5 | const options = { 6 | input: join(import.meta.url, './src/index.js'), 7 | 8 | logLevel: 'debug', 9 | 10 | output: { 11 | sourcemap: true, 12 | file: join(import.meta.url, './src/output.js'), 13 | }, 14 | 15 | plugins: [obfuscator()], 16 | }; 17 | 18 | export default options; 19 | -------------------------------------------------------------------------------- /dev/src/index.js: -------------------------------------------------------------------------------- 1 | function hi() { 2 | console.log('Hello World!'); 3 | } 4 | export { hi }; 5 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rollup-obfuscator", 3 | "version": "4.1.1", 4 | "description": "A plugin to obfuscate javascript for rollup & vite based on https://www.npmjs.com/javascript-obfuscator", 5 | "main": "./dist/index.cjs", 6 | "module": "./dist/index.js", 7 | "types": "./dist/index.d.ts", 8 | "type": "module", 9 | "exports": { 10 | ".": { 11 | "import": { 12 | "types": "./dist/index.d.ts", 13 | "default": "./dist/index.js" 14 | }, 15 | "require": { 16 | "types": "./dist/index.d.cts", 17 | "default": "./dist/index.cjs" 18 | } 19 | } 20 | }, 21 | "scripts": { 22 | "dev": "run-p dev:*", 23 | "dev:tsup": "tsup-node --watch", 24 | "dev:rollup": "pnpm --filter dev-env -r dev", 25 | "build": "tsup-node" 26 | }, 27 | "files": [ 28 | "README.md", 29 | "LICENSE", 30 | "dist" 31 | ], 32 | "devDependencies": { 33 | "@types/node": "^20.8.6", 34 | "javascript-obfuscator": "^4.1.0", 35 | "nodemon": "^3.0.1", 36 | "npm-run-all": "^4.1.5", 37 | "rollup": "^4.1.3", 38 | "tsup": "^7.2.0", 39 | "typescript": "^5.2.2" 40 | }, 41 | "peerDependencies": { 42 | "javascript-obfuscator": "^4.0.0" 43 | }, 44 | "dependencies": { 45 | "@rollup/pluginutils": "^5.0.5" 46 | }, 47 | "license": "MIT", 48 | "keywords": [ 49 | "obfuscator", 50 | "rollup", 51 | "rollup obfuscator", 52 | "rollup plugin", 53 | "plugin", 54 | "rollup plugin obfuscator", 55 | "rollup-obfuscator", 56 | "javascript obfuscator", 57 | "vite obfuscator", 58 | "vite", 59 | "vite-obfuscator" 60 | ], 61 | "homepage": "https://github.com/ghostdevv/rollup-obfuscator", 62 | "repository": { 63 | "type": "git", 64 | "url": "https://github.com/ghostdevv/rollup-obfuscator" 65 | }, 66 | "bugs": { 67 | "url": "https://github.com/ghostdevv/rollup-obfuscator" 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@rollup/pluginutils': 12 | specifier: ^5.0.5 13 | version: 5.0.5(rollup@4.1.3) 14 | devDependencies: 15 | '@types/node': 16 | specifier: ^20.8.6 17 | version: 20.8.6 18 | javascript-obfuscator: 19 | specifier: ^4.1.0 20 | version: 4.1.0 21 | nodemon: 22 | specifier: ^3.0.1 23 | version: 3.0.1 24 | npm-run-all: 25 | specifier: ^4.1.5 26 | version: 4.1.5 27 | rollup: 28 | specifier: ^4.1.3 29 | version: 4.1.3 30 | tsup: 31 | specifier: ^7.2.0 32 | version: 7.2.0(typescript@5.2.2) 33 | typescript: 34 | specifier: ^5.2.2 35 | version: 5.2.2 36 | 37 | dev: 38 | devDependencies: 39 | desm: 40 | specifier: ^1.3.0 41 | version: 1.3.0 42 | rollup: 43 | specifier: ^4.1.3 44 | version: 4.1.3 45 | rollup-obfuscator: 46 | specifier: workspace:* 47 | version: link:.. 48 | 49 | packages: 50 | 51 | /@esbuild/android-arm64@0.18.20: 52 | resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} 53 | engines: {node: '>=12'} 54 | cpu: [arm64] 55 | os: [android] 56 | requiresBuild: true 57 | dev: true 58 | optional: true 59 | 60 | /@esbuild/android-arm@0.18.20: 61 | resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} 62 | engines: {node: '>=12'} 63 | cpu: [arm] 64 | os: [android] 65 | requiresBuild: true 66 | dev: true 67 | optional: true 68 | 69 | /@esbuild/android-x64@0.18.20: 70 | resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} 71 | engines: {node: '>=12'} 72 | cpu: [x64] 73 | os: [android] 74 | requiresBuild: true 75 | dev: true 76 | optional: true 77 | 78 | /@esbuild/darwin-arm64@0.18.20: 79 | resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} 80 | engines: {node: '>=12'} 81 | cpu: [arm64] 82 | os: [darwin] 83 | requiresBuild: true 84 | dev: true 85 | optional: true 86 | 87 | /@esbuild/darwin-x64@0.18.20: 88 | resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} 89 | engines: {node: '>=12'} 90 | cpu: [x64] 91 | os: [darwin] 92 | requiresBuild: true 93 | dev: true 94 | optional: true 95 | 96 | /@esbuild/freebsd-arm64@0.18.20: 97 | resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} 98 | engines: {node: '>=12'} 99 | cpu: [arm64] 100 | os: [freebsd] 101 | requiresBuild: true 102 | dev: true 103 | optional: true 104 | 105 | /@esbuild/freebsd-x64@0.18.20: 106 | resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} 107 | engines: {node: '>=12'} 108 | cpu: [x64] 109 | os: [freebsd] 110 | requiresBuild: true 111 | dev: true 112 | optional: true 113 | 114 | /@esbuild/linux-arm64@0.18.20: 115 | resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} 116 | engines: {node: '>=12'} 117 | cpu: [arm64] 118 | os: [linux] 119 | requiresBuild: true 120 | dev: true 121 | optional: true 122 | 123 | /@esbuild/linux-arm@0.18.20: 124 | resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} 125 | engines: {node: '>=12'} 126 | cpu: [arm] 127 | os: [linux] 128 | requiresBuild: true 129 | dev: true 130 | optional: true 131 | 132 | /@esbuild/linux-ia32@0.18.20: 133 | resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} 134 | engines: {node: '>=12'} 135 | cpu: [ia32] 136 | os: [linux] 137 | requiresBuild: true 138 | dev: true 139 | optional: true 140 | 141 | /@esbuild/linux-loong64@0.18.20: 142 | resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} 143 | engines: {node: '>=12'} 144 | cpu: [loong64] 145 | os: [linux] 146 | requiresBuild: true 147 | dev: true 148 | optional: true 149 | 150 | /@esbuild/linux-mips64el@0.18.20: 151 | resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} 152 | engines: {node: '>=12'} 153 | cpu: [mips64el] 154 | os: [linux] 155 | requiresBuild: true 156 | dev: true 157 | optional: true 158 | 159 | /@esbuild/linux-ppc64@0.18.20: 160 | resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} 161 | engines: {node: '>=12'} 162 | cpu: [ppc64] 163 | os: [linux] 164 | requiresBuild: true 165 | dev: true 166 | optional: true 167 | 168 | /@esbuild/linux-riscv64@0.18.20: 169 | resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} 170 | engines: {node: '>=12'} 171 | cpu: [riscv64] 172 | os: [linux] 173 | requiresBuild: true 174 | dev: true 175 | optional: true 176 | 177 | /@esbuild/linux-s390x@0.18.20: 178 | resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} 179 | engines: {node: '>=12'} 180 | cpu: [s390x] 181 | os: [linux] 182 | requiresBuild: true 183 | dev: true 184 | optional: true 185 | 186 | /@esbuild/linux-x64@0.18.20: 187 | resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} 188 | engines: {node: '>=12'} 189 | cpu: [x64] 190 | os: [linux] 191 | requiresBuild: true 192 | dev: true 193 | optional: true 194 | 195 | /@esbuild/netbsd-x64@0.18.20: 196 | resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} 197 | engines: {node: '>=12'} 198 | cpu: [x64] 199 | os: [netbsd] 200 | requiresBuild: true 201 | dev: true 202 | optional: true 203 | 204 | /@esbuild/openbsd-x64@0.18.20: 205 | resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} 206 | engines: {node: '>=12'} 207 | cpu: [x64] 208 | os: [openbsd] 209 | requiresBuild: true 210 | dev: true 211 | optional: true 212 | 213 | /@esbuild/sunos-x64@0.18.20: 214 | resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} 215 | engines: {node: '>=12'} 216 | cpu: [x64] 217 | os: [sunos] 218 | requiresBuild: true 219 | dev: true 220 | optional: true 221 | 222 | /@esbuild/win32-arm64@0.18.20: 223 | resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} 224 | engines: {node: '>=12'} 225 | cpu: [arm64] 226 | os: [win32] 227 | requiresBuild: true 228 | dev: true 229 | optional: true 230 | 231 | /@esbuild/win32-ia32@0.18.20: 232 | resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} 233 | engines: {node: '>=12'} 234 | cpu: [ia32] 235 | os: [win32] 236 | requiresBuild: true 237 | dev: true 238 | optional: true 239 | 240 | /@esbuild/win32-x64@0.18.20: 241 | resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} 242 | engines: {node: '>=12'} 243 | cpu: [x64] 244 | os: [win32] 245 | requiresBuild: true 246 | dev: true 247 | optional: true 248 | 249 | /@javascript-obfuscator/escodegen@2.3.0: 250 | resolution: {integrity: sha512-QVXwMIKqYMl3KwtTirYIA6gOCiJ0ZDtptXqAv/8KWLG9uQU2fZqTVy7a/A5RvcoZhbDoFfveTxuGxJ5ibzQtkw==} 251 | engines: {node: '>=6.0'} 252 | dependencies: 253 | '@javascript-obfuscator/estraverse': 5.4.0 254 | esprima: 4.0.1 255 | esutils: 2.0.3 256 | optionator: 0.8.3 257 | optionalDependencies: 258 | source-map: 0.6.1 259 | dev: true 260 | 261 | /@javascript-obfuscator/estraverse@5.4.0: 262 | resolution: {integrity: sha512-CZFX7UZVN9VopGbjTx4UXaXsi9ewoM1buL0kY7j1ftYdSs7p2spv9opxFjHlQ/QGTgh4UqufYqJJ0WKLml7b6w==} 263 | engines: {node: '>=4.0'} 264 | dev: true 265 | 266 | /@jridgewell/gen-mapping@0.3.3: 267 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} 268 | engines: {node: '>=6.0.0'} 269 | dependencies: 270 | '@jridgewell/set-array': 1.1.2 271 | '@jridgewell/sourcemap-codec': 1.4.15 272 | '@jridgewell/trace-mapping': 0.3.19 273 | dev: true 274 | 275 | /@jridgewell/resolve-uri@3.1.1: 276 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} 277 | engines: {node: '>=6.0.0'} 278 | dev: true 279 | 280 | /@jridgewell/set-array@1.1.2: 281 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 282 | engines: {node: '>=6.0.0'} 283 | dev: true 284 | 285 | /@jridgewell/sourcemap-codec@1.4.15: 286 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 287 | dev: true 288 | 289 | /@jridgewell/trace-mapping@0.3.19: 290 | resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} 291 | dependencies: 292 | '@jridgewell/resolve-uri': 3.1.1 293 | '@jridgewell/sourcemap-codec': 1.4.15 294 | dev: true 295 | 296 | /@nodelib/fs.scandir@2.1.5: 297 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 298 | engines: {node: '>= 8'} 299 | dependencies: 300 | '@nodelib/fs.stat': 2.0.5 301 | run-parallel: 1.2.0 302 | dev: true 303 | 304 | /@nodelib/fs.stat@2.0.5: 305 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 306 | engines: {node: '>= 8'} 307 | dev: true 308 | 309 | /@nodelib/fs.walk@1.2.8: 310 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 311 | engines: {node: '>= 8'} 312 | dependencies: 313 | '@nodelib/fs.scandir': 2.1.5 314 | fastq: 1.15.0 315 | dev: true 316 | 317 | /@rollup/pluginutils@5.0.5(rollup@4.1.3): 318 | resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} 319 | engines: {node: '>=14.0.0'} 320 | peerDependencies: 321 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 322 | peerDependenciesMeta: 323 | rollup: 324 | optional: true 325 | dependencies: 326 | '@types/estree': 1.0.2 327 | estree-walker: 2.0.2 328 | picomatch: 2.3.1 329 | rollup: 4.1.3 330 | dev: false 331 | 332 | /@rollup/rollup-android-arm-eabi@4.1.3: 333 | resolution: {integrity: sha512-pugxxuAygWTDj3WcyXGspor433gR35riZz66L0EdToX+shXGfh9qKgEFdTPoW9KwIrrJnxDGv9ncfl+a9bFg1w==} 334 | cpu: [arm] 335 | os: [android] 336 | requiresBuild: true 337 | optional: true 338 | 339 | /@rollup/rollup-android-arm64@4.1.3: 340 | resolution: {integrity: sha512-gO5j0qqT6ETdSf10gxTBeBmsKPC6yK80StTxHr4pvTYpPDfI7/mzSHy/3ez3OQyjxcBXs3i8tSF8aknwCkzv6Q==} 341 | cpu: [arm64] 342 | os: [android] 343 | requiresBuild: true 344 | optional: true 345 | 346 | /@rollup/rollup-darwin-arm64@4.1.3: 347 | resolution: {integrity: sha512-ibOYcmg3VTXxQOb9HnrmGCshO/5hWucl/Yw8KSt6DE12oif4ssX9pxBBEodu65fprS6qKy80rSs1VvpzVFRRXA==} 348 | cpu: [arm64] 349 | os: [darwin] 350 | requiresBuild: true 351 | optional: true 352 | 353 | /@rollup/rollup-darwin-x64@4.1.3: 354 | resolution: {integrity: sha512-wgWtqQZjtOVuWnDr3BoNqO9mRpgb/XoqSyzqHxA4xSUgj+3cksJzTe7XCTzBoRc2IPB0mWr9/W+QDUu7OWleEQ==} 355 | cpu: [x64] 356 | os: [darwin] 357 | requiresBuild: true 358 | optional: true 359 | 360 | /@rollup/rollup-linux-arm-gnueabihf@4.1.3: 361 | resolution: {integrity: sha512-73mb6Fk3WnygqCbYHPk7EWAUvmfKZr2teKD+Qb3i6nLQ3wEihEJixg8psUi0pmge77qmuONjOIiJnT8+hTWqEQ==} 362 | cpu: [arm] 363 | os: [linux] 364 | requiresBuild: true 365 | optional: true 366 | 367 | /@rollup/rollup-linux-arm64-gnu@4.1.3: 368 | resolution: {integrity: sha512-XI7zAp5ADEph8iHXjk4silYARe/QO7zDGM71R7A6jnny4vlXCYBPB6V6rZm2kZ4VfckeZQukdGOlnvvW5fWLzA==} 369 | cpu: [arm64] 370 | os: [linux] 371 | requiresBuild: true 372 | optional: true 373 | 374 | /@rollup/rollup-linux-arm64-musl@4.1.3: 375 | resolution: {integrity: sha512-6yFpmrH6xx00b9qEoabkyeHzamKSv8c43+SgaItTcHzgaaX3HGRSK+ZZt9GokB3Cc7z4HXllK7Ts5fF5W8FddQ==} 376 | cpu: [arm64] 377 | os: [linux] 378 | requiresBuild: true 379 | optional: true 380 | 381 | /@rollup/rollup-linux-x64-gnu@4.1.3: 382 | resolution: {integrity: sha512-Zbb2CWJfbu2aZqd7hl9otRffh0MgYVhVsOz/sV6LSJcJ2LldBuvn2K9wVTo1gKh2xtTnJo93vusSppk1WtB4NA==} 383 | cpu: [x64] 384 | os: [linux] 385 | requiresBuild: true 386 | optional: true 387 | 388 | /@rollup/rollup-linux-x64-musl@4.1.3: 389 | resolution: {integrity: sha512-GNATGqh1xMSIwFt3A7co3zyw8hMlUs8E+cBe9Hank0L32hpDYavoPqu7Uat74es+eDqrGn0szfm08ZjYf/ApCQ==} 390 | cpu: [x64] 391 | os: [linux] 392 | requiresBuild: true 393 | optional: true 394 | 395 | /@rollup/rollup-win32-arm64-msvc@4.1.3: 396 | resolution: {integrity: sha512-rTxOCH2ZLWkbZJh621qNmS4zDjvIOnvwXdd0Zvkm8twvVoyWATbn6q/bI3bXjQeV7mEASXU1atUWzdeovTcrrw==} 397 | cpu: [arm64] 398 | os: [win32] 399 | requiresBuild: true 400 | optional: true 401 | 402 | /@rollup/rollup-win32-ia32-msvc@4.1.3: 403 | resolution: {integrity: sha512-JcnmTz5d2kcxKTjcPPt0p86IzhViYOj8f8qFWwyzgDpCHFLXAKv9C4uxnwTornHvWq31km7zZ8IBZui8LjX52w==} 404 | cpu: [ia32] 405 | os: [win32] 406 | requiresBuild: true 407 | optional: true 408 | 409 | /@rollup/rollup-win32-x64-msvc@4.1.3: 410 | resolution: {integrity: sha512-B9oi0JSMvSOsjB0Rve1WLFFEv+8uRvok+N3XWtxzSi/jjiVeM6wbfFgnHzZ2LA7FG9tJs0V7aHLD+73Q8VUIvg==} 411 | cpu: [x64] 412 | os: [win32] 413 | requiresBuild: true 414 | optional: true 415 | 416 | /@types/estree@1.0.2: 417 | resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==} 418 | dev: false 419 | 420 | /@types/minimatch@3.0.5: 421 | resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} 422 | dev: true 423 | 424 | /@types/node@20.8.6: 425 | resolution: {integrity: sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==} 426 | dependencies: 427 | undici-types: 5.25.3 428 | dev: true 429 | 430 | /@types/validator@13.11.3: 431 | resolution: {integrity: sha512-jxjhh33aTYDHnrV1vZ3AvWQHfrGx2f5UxKjaP13l5q04fG+/hCKKm0MfodIoCqxevhbcfBb6ZjynyHuQ/jueGQ==} 432 | dev: true 433 | 434 | /abbrev@1.1.1: 435 | resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} 436 | dev: true 437 | 438 | /acorn@8.8.2: 439 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} 440 | engines: {node: '>=0.4.0'} 441 | hasBin: true 442 | dev: true 443 | 444 | /ansi-styles@3.2.1: 445 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 446 | engines: {node: '>=4'} 447 | dependencies: 448 | color-convert: 1.9.3 449 | dev: true 450 | 451 | /ansi-styles@4.3.0: 452 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 453 | engines: {node: '>=8'} 454 | dependencies: 455 | color-convert: 2.0.1 456 | dev: true 457 | 458 | /any-promise@1.3.0: 459 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 460 | dev: true 461 | 462 | /anymatch@3.1.3: 463 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 464 | engines: {node: '>= 8'} 465 | dependencies: 466 | normalize-path: 3.0.0 467 | picomatch: 2.3.1 468 | dev: true 469 | 470 | /array-buffer-byte-length@1.0.0: 471 | resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} 472 | dependencies: 473 | call-bind: 1.0.2 474 | is-array-buffer: 3.0.2 475 | dev: true 476 | 477 | /array-differ@3.0.0: 478 | resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} 479 | engines: {node: '>=8'} 480 | dev: true 481 | 482 | /array-union@2.1.0: 483 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 484 | engines: {node: '>=8'} 485 | dev: true 486 | 487 | /arraybuffer.prototype.slice@1.0.2: 488 | resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} 489 | engines: {node: '>= 0.4'} 490 | dependencies: 491 | array-buffer-byte-length: 1.0.0 492 | call-bind: 1.0.2 493 | define-properties: 1.2.1 494 | es-abstract: 1.22.2 495 | get-intrinsic: 1.2.1 496 | is-array-buffer: 3.0.2 497 | is-shared-array-buffer: 1.0.2 498 | dev: true 499 | 500 | /arrify@2.0.1: 501 | resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} 502 | engines: {node: '>=8'} 503 | dev: true 504 | 505 | /assert@2.0.0: 506 | resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==} 507 | dependencies: 508 | es6-object-assign: 1.1.0 509 | is-nan: 1.3.2 510 | object-is: 1.1.5 511 | util: 0.12.5 512 | dev: true 513 | 514 | /available-typed-arrays@1.0.5: 515 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} 516 | engines: {node: '>= 0.4'} 517 | dev: true 518 | 519 | /balanced-match@1.0.2: 520 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 521 | dev: true 522 | 523 | /binary-extensions@2.2.0: 524 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 525 | engines: {node: '>=8'} 526 | dev: true 527 | 528 | /brace-expansion@1.1.11: 529 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 530 | dependencies: 531 | balanced-match: 1.0.2 532 | concat-map: 0.0.1 533 | dev: true 534 | 535 | /braces@3.0.2: 536 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 537 | engines: {node: '>=8'} 538 | dependencies: 539 | fill-range: 7.0.1 540 | dev: true 541 | 542 | /buffer-from@1.1.2: 543 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 544 | dev: true 545 | 546 | /bundle-require@4.0.2(esbuild@0.18.20): 547 | resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==} 548 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 549 | peerDependencies: 550 | esbuild: '>=0.17' 551 | dependencies: 552 | esbuild: 0.18.20 553 | load-tsconfig: 0.2.5 554 | dev: true 555 | 556 | /cac@6.7.14: 557 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 558 | engines: {node: '>=8'} 559 | dev: true 560 | 561 | /call-bind@1.0.2: 562 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 563 | dependencies: 564 | function-bind: 1.1.2 565 | get-intrinsic: 1.2.1 566 | dev: true 567 | 568 | /chalk@2.4.2: 569 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 570 | engines: {node: '>=4'} 571 | dependencies: 572 | ansi-styles: 3.2.1 573 | escape-string-regexp: 1.0.5 574 | supports-color: 5.5.0 575 | dev: true 576 | 577 | /chalk@4.1.2: 578 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 579 | engines: {node: '>=10'} 580 | dependencies: 581 | ansi-styles: 4.3.0 582 | supports-color: 7.2.0 583 | dev: true 584 | 585 | /chance@1.1.9: 586 | resolution: {integrity: sha512-TfxnA/DcZXRTA4OekA2zL9GH8qscbbl6X0ZqU4tXhGveVY/mXWvEQLt5GwZcYXTEyEFflVtj+pG8nc8EwSm1RQ==} 587 | dev: true 588 | 589 | /char-regex@1.0.2: 590 | resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} 591 | engines: {node: '>=10'} 592 | dev: true 593 | 594 | /charenc@0.0.2: 595 | resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} 596 | dev: true 597 | 598 | /chokidar@3.5.3: 599 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 600 | engines: {node: '>= 8.10.0'} 601 | dependencies: 602 | anymatch: 3.1.3 603 | braces: 3.0.2 604 | glob-parent: 5.1.2 605 | is-binary-path: 2.1.0 606 | is-glob: 4.0.3 607 | normalize-path: 3.0.0 608 | readdirp: 3.6.0 609 | optionalDependencies: 610 | fsevents: 2.3.3 611 | dev: true 612 | 613 | /class-validator@0.14.0: 614 | resolution: {integrity: sha512-ct3ltplN8I9fOwUd8GrP8UQixwff129BkEtuWDKL5W45cQuLd19xqmTLu5ge78YDm/fdje6FMt0hGOhl0lii3A==} 615 | dependencies: 616 | '@types/validator': 13.11.3 617 | libphonenumber-js: 1.10.47 618 | validator: 13.11.0 619 | dev: true 620 | 621 | /color-convert@1.9.3: 622 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 623 | dependencies: 624 | color-name: 1.1.3 625 | dev: true 626 | 627 | /color-convert@2.0.1: 628 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 629 | engines: {node: '>=7.0.0'} 630 | dependencies: 631 | color-name: 1.1.4 632 | dev: true 633 | 634 | /color-name@1.1.3: 635 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 636 | dev: true 637 | 638 | /color-name@1.1.4: 639 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 640 | dev: true 641 | 642 | /commander@10.0.0: 643 | resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} 644 | engines: {node: '>=14'} 645 | dev: true 646 | 647 | /commander@4.1.1: 648 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 649 | engines: {node: '>= 6'} 650 | dev: true 651 | 652 | /concat-map@0.0.1: 653 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 654 | dev: true 655 | 656 | /cross-spawn@6.0.5: 657 | resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} 658 | engines: {node: '>=4.8'} 659 | dependencies: 660 | nice-try: 1.0.5 661 | path-key: 2.0.1 662 | semver: 5.7.2 663 | shebang-command: 1.2.0 664 | which: 1.3.1 665 | dev: true 666 | 667 | /cross-spawn@7.0.3: 668 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 669 | engines: {node: '>= 8'} 670 | dependencies: 671 | path-key: 3.1.1 672 | shebang-command: 2.0.0 673 | which: 2.0.2 674 | dev: true 675 | 676 | /crypt@0.0.2: 677 | resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} 678 | dev: true 679 | 680 | /debug@3.2.7(supports-color@5.5.0): 681 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 682 | peerDependencies: 683 | supports-color: '*' 684 | peerDependenciesMeta: 685 | supports-color: 686 | optional: true 687 | dependencies: 688 | ms: 2.1.3 689 | supports-color: 5.5.0 690 | dev: true 691 | 692 | /debug@4.3.4: 693 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 694 | engines: {node: '>=6.0'} 695 | peerDependencies: 696 | supports-color: '*' 697 | peerDependenciesMeta: 698 | supports-color: 699 | optional: true 700 | dependencies: 701 | ms: 2.1.2 702 | dev: true 703 | 704 | /deep-is@0.1.4: 705 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 706 | dev: true 707 | 708 | /define-data-property@1.1.1: 709 | resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} 710 | engines: {node: '>= 0.4'} 711 | dependencies: 712 | get-intrinsic: 1.2.1 713 | gopd: 1.0.1 714 | has-property-descriptors: 1.0.0 715 | dev: true 716 | 717 | /define-properties@1.2.1: 718 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 719 | engines: {node: '>= 0.4'} 720 | dependencies: 721 | define-data-property: 1.1.1 722 | has-property-descriptors: 1.0.0 723 | object-keys: 1.1.1 724 | dev: true 725 | 726 | /desm@1.3.0: 727 | resolution: {integrity: sha512-RvlHN2gfYA0BpCfjpWzCdQeR6p5U+84f5DzcirLow86UA/OcpwuOqXRC4Oz0bG9rzcJPVtMT6ZgNtjp4qh+uqA==} 728 | dev: true 729 | 730 | /dir-glob@3.0.1: 731 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 732 | engines: {node: '>=8'} 733 | dependencies: 734 | path-type: 4.0.0 735 | dev: true 736 | 737 | /error-ex@1.3.2: 738 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 739 | dependencies: 740 | is-arrayish: 0.2.1 741 | dev: true 742 | 743 | /es-abstract@1.22.2: 744 | resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} 745 | engines: {node: '>= 0.4'} 746 | dependencies: 747 | array-buffer-byte-length: 1.0.0 748 | arraybuffer.prototype.slice: 1.0.2 749 | available-typed-arrays: 1.0.5 750 | call-bind: 1.0.2 751 | es-set-tostringtag: 2.0.1 752 | es-to-primitive: 1.2.1 753 | function.prototype.name: 1.1.6 754 | get-intrinsic: 1.2.1 755 | get-symbol-description: 1.0.0 756 | globalthis: 1.0.3 757 | gopd: 1.0.1 758 | has: 1.0.4 759 | has-property-descriptors: 1.0.0 760 | has-proto: 1.0.1 761 | has-symbols: 1.0.3 762 | internal-slot: 1.0.5 763 | is-array-buffer: 3.0.2 764 | is-callable: 1.2.7 765 | is-negative-zero: 2.0.2 766 | is-regex: 1.1.4 767 | is-shared-array-buffer: 1.0.2 768 | is-string: 1.0.7 769 | is-typed-array: 1.1.12 770 | is-weakref: 1.0.2 771 | object-inspect: 1.13.0 772 | object-keys: 1.1.1 773 | object.assign: 4.1.4 774 | regexp.prototype.flags: 1.5.1 775 | safe-array-concat: 1.0.1 776 | safe-regex-test: 1.0.0 777 | string.prototype.trim: 1.2.8 778 | string.prototype.trimend: 1.0.7 779 | string.prototype.trimstart: 1.0.7 780 | typed-array-buffer: 1.0.0 781 | typed-array-byte-length: 1.0.0 782 | typed-array-byte-offset: 1.0.0 783 | typed-array-length: 1.0.4 784 | unbox-primitive: 1.0.2 785 | which-typed-array: 1.1.11 786 | dev: true 787 | 788 | /es-set-tostringtag@2.0.1: 789 | resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} 790 | engines: {node: '>= 0.4'} 791 | dependencies: 792 | get-intrinsic: 1.2.1 793 | has: 1.0.4 794 | has-tostringtag: 1.0.0 795 | dev: true 796 | 797 | /es-to-primitive@1.2.1: 798 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 799 | engines: {node: '>= 0.4'} 800 | dependencies: 801 | is-callable: 1.2.7 802 | is-date-object: 1.0.5 803 | is-symbol: 1.0.4 804 | dev: true 805 | 806 | /es6-object-assign@1.1.0: 807 | resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} 808 | dev: true 809 | 810 | /esbuild@0.18.20: 811 | resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} 812 | engines: {node: '>=12'} 813 | hasBin: true 814 | requiresBuild: true 815 | optionalDependencies: 816 | '@esbuild/android-arm': 0.18.20 817 | '@esbuild/android-arm64': 0.18.20 818 | '@esbuild/android-x64': 0.18.20 819 | '@esbuild/darwin-arm64': 0.18.20 820 | '@esbuild/darwin-x64': 0.18.20 821 | '@esbuild/freebsd-arm64': 0.18.20 822 | '@esbuild/freebsd-x64': 0.18.20 823 | '@esbuild/linux-arm': 0.18.20 824 | '@esbuild/linux-arm64': 0.18.20 825 | '@esbuild/linux-ia32': 0.18.20 826 | '@esbuild/linux-loong64': 0.18.20 827 | '@esbuild/linux-mips64el': 0.18.20 828 | '@esbuild/linux-ppc64': 0.18.20 829 | '@esbuild/linux-riscv64': 0.18.20 830 | '@esbuild/linux-s390x': 0.18.20 831 | '@esbuild/linux-x64': 0.18.20 832 | '@esbuild/netbsd-x64': 0.18.20 833 | '@esbuild/openbsd-x64': 0.18.20 834 | '@esbuild/sunos-x64': 0.18.20 835 | '@esbuild/win32-arm64': 0.18.20 836 | '@esbuild/win32-ia32': 0.18.20 837 | '@esbuild/win32-x64': 0.18.20 838 | dev: true 839 | 840 | /escape-string-regexp@1.0.5: 841 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 842 | engines: {node: '>=0.8.0'} 843 | dev: true 844 | 845 | /eslint-scope@7.1.1: 846 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 847 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 848 | dependencies: 849 | esrecurse: 4.3.0 850 | estraverse: 5.3.0 851 | dev: true 852 | 853 | /eslint-visitor-keys@3.3.0: 854 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 855 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 856 | dev: true 857 | 858 | /esprima@4.0.1: 859 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 860 | engines: {node: '>=4'} 861 | hasBin: true 862 | dev: true 863 | 864 | /esrecurse@4.3.0: 865 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 866 | engines: {node: '>=4.0'} 867 | dependencies: 868 | estraverse: 5.3.0 869 | dev: true 870 | 871 | /estraverse@5.3.0: 872 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 873 | engines: {node: '>=4.0'} 874 | dev: true 875 | 876 | /estree-walker@2.0.2: 877 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 878 | dev: false 879 | 880 | /esutils@2.0.3: 881 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 882 | engines: {node: '>=0.10.0'} 883 | dev: true 884 | 885 | /execa@5.1.1: 886 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 887 | engines: {node: '>=10'} 888 | dependencies: 889 | cross-spawn: 7.0.3 890 | get-stream: 6.0.1 891 | human-signals: 2.1.0 892 | is-stream: 2.0.1 893 | merge-stream: 2.0.0 894 | npm-run-path: 4.0.1 895 | onetime: 5.1.2 896 | signal-exit: 3.0.7 897 | strip-final-newline: 2.0.0 898 | dev: true 899 | 900 | /fast-deep-equal@3.1.3: 901 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 902 | dev: true 903 | 904 | /fast-glob@3.3.1: 905 | resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} 906 | engines: {node: '>=8.6.0'} 907 | dependencies: 908 | '@nodelib/fs.stat': 2.0.5 909 | '@nodelib/fs.walk': 1.2.8 910 | glob-parent: 5.1.2 911 | merge2: 1.4.1 912 | micromatch: 4.0.5 913 | dev: true 914 | 915 | /fast-levenshtein@2.0.6: 916 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 917 | dev: true 918 | 919 | /fastq@1.15.0: 920 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 921 | dependencies: 922 | reusify: 1.0.4 923 | dev: true 924 | 925 | /fill-range@7.0.1: 926 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 927 | engines: {node: '>=8'} 928 | dependencies: 929 | to-regex-range: 5.0.1 930 | dev: true 931 | 932 | /for-each@0.3.3: 933 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 934 | dependencies: 935 | is-callable: 1.2.7 936 | dev: true 937 | 938 | /fs.realpath@1.0.0: 939 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 940 | dev: true 941 | 942 | /fsevents@2.3.3: 943 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 944 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 945 | os: [darwin] 946 | requiresBuild: true 947 | optional: true 948 | 949 | /function-bind@1.1.2: 950 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 951 | dev: true 952 | 953 | /function.prototype.name@1.1.6: 954 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} 955 | engines: {node: '>= 0.4'} 956 | dependencies: 957 | call-bind: 1.0.2 958 | define-properties: 1.2.1 959 | es-abstract: 1.22.2 960 | functions-have-names: 1.2.3 961 | dev: true 962 | 963 | /functions-have-names@1.2.3: 964 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 965 | dev: true 966 | 967 | /get-intrinsic@1.2.1: 968 | resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} 969 | dependencies: 970 | function-bind: 1.1.2 971 | has: 1.0.4 972 | has-proto: 1.0.1 973 | has-symbols: 1.0.3 974 | dev: true 975 | 976 | /get-stream@6.0.1: 977 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 978 | engines: {node: '>=10'} 979 | dev: true 980 | 981 | /get-symbol-description@1.0.0: 982 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 983 | engines: {node: '>= 0.4'} 984 | dependencies: 985 | call-bind: 1.0.2 986 | get-intrinsic: 1.2.1 987 | dev: true 988 | 989 | /glob-parent@5.1.2: 990 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 991 | engines: {node: '>= 6'} 992 | dependencies: 993 | is-glob: 4.0.3 994 | dev: true 995 | 996 | /glob@7.1.6: 997 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} 998 | dependencies: 999 | fs.realpath: 1.0.0 1000 | inflight: 1.0.6 1001 | inherits: 2.0.4 1002 | minimatch: 3.1.2 1003 | once: 1.4.0 1004 | path-is-absolute: 1.0.1 1005 | dev: true 1006 | 1007 | /globalthis@1.0.3: 1008 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} 1009 | engines: {node: '>= 0.4'} 1010 | dependencies: 1011 | define-properties: 1.2.1 1012 | dev: true 1013 | 1014 | /globby@11.1.0: 1015 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1016 | engines: {node: '>=10'} 1017 | dependencies: 1018 | array-union: 2.1.0 1019 | dir-glob: 3.0.1 1020 | fast-glob: 3.3.1 1021 | ignore: 5.2.4 1022 | merge2: 1.4.1 1023 | slash: 3.0.0 1024 | dev: true 1025 | 1026 | /gopd@1.0.1: 1027 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 1028 | dependencies: 1029 | get-intrinsic: 1.2.1 1030 | dev: true 1031 | 1032 | /graceful-fs@4.2.11: 1033 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1034 | dev: true 1035 | 1036 | /has-bigints@1.0.2: 1037 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1038 | dev: true 1039 | 1040 | /has-flag@3.0.0: 1041 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1042 | engines: {node: '>=4'} 1043 | dev: true 1044 | 1045 | /has-flag@4.0.0: 1046 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1047 | engines: {node: '>=8'} 1048 | dev: true 1049 | 1050 | /has-property-descriptors@1.0.0: 1051 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 1052 | dependencies: 1053 | get-intrinsic: 1.2.1 1054 | dev: true 1055 | 1056 | /has-proto@1.0.1: 1057 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} 1058 | engines: {node: '>= 0.4'} 1059 | dev: true 1060 | 1061 | /has-symbols@1.0.3: 1062 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1063 | engines: {node: '>= 0.4'} 1064 | dev: true 1065 | 1066 | /has-tostringtag@1.0.0: 1067 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1068 | engines: {node: '>= 0.4'} 1069 | dependencies: 1070 | has-symbols: 1.0.3 1071 | dev: true 1072 | 1073 | /has@1.0.4: 1074 | resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} 1075 | engines: {node: '>= 0.4.0'} 1076 | dev: true 1077 | 1078 | /hosted-git-info@2.8.9: 1079 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 1080 | dev: true 1081 | 1082 | /human-signals@2.1.0: 1083 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1084 | engines: {node: '>=10.17.0'} 1085 | dev: true 1086 | 1087 | /ignore-by-default@1.0.1: 1088 | resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} 1089 | dev: true 1090 | 1091 | /ignore@5.2.4: 1092 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 1093 | engines: {node: '>= 4'} 1094 | dev: true 1095 | 1096 | /inflight@1.0.6: 1097 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1098 | dependencies: 1099 | once: 1.4.0 1100 | wrappy: 1.0.2 1101 | dev: true 1102 | 1103 | /inherits@2.0.4: 1104 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1105 | dev: true 1106 | 1107 | /internal-slot@1.0.5: 1108 | resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} 1109 | engines: {node: '>= 0.4'} 1110 | dependencies: 1111 | get-intrinsic: 1.2.1 1112 | has: 1.0.4 1113 | side-channel: 1.0.4 1114 | dev: true 1115 | 1116 | /inversify@6.0.1: 1117 | resolution: {integrity: sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ==} 1118 | dev: true 1119 | 1120 | /is-arguments@1.1.1: 1121 | resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} 1122 | engines: {node: '>= 0.4'} 1123 | dependencies: 1124 | call-bind: 1.0.2 1125 | has-tostringtag: 1.0.0 1126 | dev: true 1127 | 1128 | /is-array-buffer@3.0.2: 1129 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} 1130 | dependencies: 1131 | call-bind: 1.0.2 1132 | get-intrinsic: 1.2.1 1133 | is-typed-array: 1.1.12 1134 | dev: true 1135 | 1136 | /is-arrayish@0.2.1: 1137 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1138 | dev: true 1139 | 1140 | /is-bigint@1.0.4: 1141 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1142 | dependencies: 1143 | has-bigints: 1.0.2 1144 | dev: true 1145 | 1146 | /is-binary-path@2.1.0: 1147 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1148 | engines: {node: '>=8'} 1149 | dependencies: 1150 | binary-extensions: 2.2.0 1151 | dev: true 1152 | 1153 | /is-boolean-object@1.1.2: 1154 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1155 | engines: {node: '>= 0.4'} 1156 | dependencies: 1157 | call-bind: 1.0.2 1158 | has-tostringtag: 1.0.0 1159 | dev: true 1160 | 1161 | /is-buffer@1.1.6: 1162 | resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} 1163 | dev: true 1164 | 1165 | /is-callable@1.2.7: 1166 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1167 | engines: {node: '>= 0.4'} 1168 | dev: true 1169 | 1170 | /is-core-module@2.13.0: 1171 | resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} 1172 | dependencies: 1173 | has: 1.0.4 1174 | dev: true 1175 | 1176 | /is-date-object@1.0.5: 1177 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1178 | engines: {node: '>= 0.4'} 1179 | dependencies: 1180 | has-tostringtag: 1.0.0 1181 | dev: true 1182 | 1183 | /is-extglob@2.1.1: 1184 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1185 | engines: {node: '>=0.10.0'} 1186 | dev: true 1187 | 1188 | /is-generator-function@1.0.10: 1189 | resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} 1190 | engines: {node: '>= 0.4'} 1191 | dependencies: 1192 | has-tostringtag: 1.0.0 1193 | dev: true 1194 | 1195 | /is-glob@4.0.3: 1196 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1197 | engines: {node: '>=0.10.0'} 1198 | dependencies: 1199 | is-extglob: 2.1.1 1200 | dev: true 1201 | 1202 | /is-nan@1.3.2: 1203 | resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} 1204 | engines: {node: '>= 0.4'} 1205 | dependencies: 1206 | call-bind: 1.0.2 1207 | define-properties: 1.2.1 1208 | dev: true 1209 | 1210 | /is-negative-zero@2.0.2: 1211 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1212 | engines: {node: '>= 0.4'} 1213 | dev: true 1214 | 1215 | /is-number-object@1.0.7: 1216 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1217 | engines: {node: '>= 0.4'} 1218 | dependencies: 1219 | has-tostringtag: 1.0.0 1220 | dev: true 1221 | 1222 | /is-number@7.0.0: 1223 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1224 | engines: {node: '>=0.12.0'} 1225 | dev: true 1226 | 1227 | /is-regex@1.1.4: 1228 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1229 | engines: {node: '>= 0.4'} 1230 | dependencies: 1231 | call-bind: 1.0.2 1232 | has-tostringtag: 1.0.0 1233 | dev: true 1234 | 1235 | /is-shared-array-buffer@1.0.2: 1236 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 1237 | dependencies: 1238 | call-bind: 1.0.2 1239 | dev: true 1240 | 1241 | /is-stream@2.0.1: 1242 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1243 | engines: {node: '>=8'} 1244 | dev: true 1245 | 1246 | /is-string@1.0.7: 1247 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1248 | engines: {node: '>= 0.4'} 1249 | dependencies: 1250 | has-tostringtag: 1.0.0 1251 | dev: true 1252 | 1253 | /is-symbol@1.0.4: 1254 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1255 | engines: {node: '>= 0.4'} 1256 | dependencies: 1257 | has-symbols: 1.0.3 1258 | dev: true 1259 | 1260 | /is-typed-array@1.1.12: 1261 | resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} 1262 | engines: {node: '>= 0.4'} 1263 | dependencies: 1264 | which-typed-array: 1.1.11 1265 | dev: true 1266 | 1267 | /is-weakref@1.0.2: 1268 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1269 | dependencies: 1270 | call-bind: 1.0.2 1271 | dev: true 1272 | 1273 | /isarray@2.0.5: 1274 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1275 | dev: true 1276 | 1277 | /isexe@2.0.0: 1278 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1279 | dev: true 1280 | 1281 | /javascript-obfuscator@4.1.0: 1282 | resolution: {integrity: sha512-ckC0VFKQ0/sFtLH9apW/ZLfsP8LuZqZhVEM4VTJ5KLzyLaodW6C1lTU8808eboDmddKyvd2uyRx5bzc0Me0GYg==} 1283 | engines: {node: ^12.22.0 || ^14.0.0 || ^16.0.0 || ^17.0.0 || >=18.0.0} 1284 | hasBin: true 1285 | requiresBuild: true 1286 | dependencies: 1287 | '@javascript-obfuscator/escodegen': 2.3.0 1288 | '@javascript-obfuscator/estraverse': 5.4.0 1289 | acorn: 8.8.2 1290 | assert: 2.0.0 1291 | chalk: 4.1.2 1292 | chance: 1.1.9 1293 | class-validator: 0.14.0 1294 | commander: 10.0.0 1295 | eslint-scope: 7.1.1 1296 | eslint-visitor-keys: 3.3.0 1297 | fast-deep-equal: 3.1.3 1298 | inversify: 6.0.1 1299 | js-string-escape: 1.0.1 1300 | md5: 2.3.0 1301 | mkdirp: 2.1.3 1302 | multimatch: 5.0.0 1303 | opencollective-postinstall: 2.0.3 1304 | process: 0.11.10 1305 | reflect-metadata: 0.1.13 1306 | source-map-support: 0.5.21 1307 | string-template: 1.0.0 1308 | stringz: 2.1.0 1309 | tslib: 2.5.0 1310 | dev: true 1311 | 1312 | /joycon@3.1.1: 1313 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 1314 | engines: {node: '>=10'} 1315 | dev: true 1316 | 1317 | /js-string-escape@1.0.1: 1318 | resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} 1319 | engines: {node: '>= 0.8'} 1320 | dev: true 1321 | 1322 | /json-parse-better-errors@1.0.2: 1323 | resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} 1324 | dev: true 1325 | 1326 | /levn@0.3.0: 1327 | resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} 1328 | engines: {node: '>= 0.8.0'} 1329 | dependencies: 1330 | prelude-ls: 1.1.2 1331 | type-check: 0.3.2 1332 | dev: true 1333 | 1334 | /libphonenumber-js@1.10.47: 1335 | resolution: {integrity: sha512-b4t7VQDV29xx/ni+58yl9KWPGjnDLDXCeCTLrD4V8vDpObXZRZBrg7uX/HWZ7YXiJKqdBDGgc+barUUTNB6Slw==} 1336 | dev: true 1337 | 1338 | /lilconfig@2.1.0: 1339 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1340 | engines: {node: '>=10'} 1341 | dev: true 1342 | 1343 | /lines-and-columns@1.2.4: 1344 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1345 | dev: true 1346 | 1347 | /load-json-file@4.0.0: 1348 | resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} 1349 | engines: {node: '>=4'} 1350 | dependencies: 1351 | graceful-fs: 4.2.11 1352 | parse-json: 4.0.0 1353 | pify: 3.0.0 1354 | strip-bom: 3.0.0 1355 | dev: true 1356 | 1357 | /load-tsconfig@0.2.5: 1358 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 1359 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1360 | dev: true 1361 | 1362 | /lodash.sortby@4.7.0: 1363 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 1364 | dev: true 1365 | 1366 | /lru-cache@6.0.0: 1367 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1368 | engines: {node: '>=10'} 1369 | dependencies: 1370 | yallist: 4.0.0 1371 | dev: true 1372 | 1373 | /md5@2.3.0: 1374 | resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} 1375 | dependencies: 1376 | charenc: 0.0.2 1377 | crypt: 0.0.2 1378 | is-buffer: 1.1.6 1379 | dev: true 1380 | 1381 | /memorystream@0.3.1: 1382 | resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} 1383 | engines: {node: '>= 0.10.0'} 1384 | dev: true 1385 | 1386 | /merge-stream@2.0.0: 1387 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1388 | dev: true 1389 | 1390 | /merge2@1.4.1: 1391 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1392 | engines: {node: '>= 8'} 1393 | dev: true 1394 | 1395 | /micromatch@4.0.5: 1396 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1397 | engines: {node: '>=8.6'} 1398 | dependencies: 1399 | braces: 3.0.2 1400 | picomatch: 2.3.1 1401 | dev: true 1402 | 1403 | /mimic-fn@2.1.0: 1404 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1405 | engines: {node: '>=6'} 1406 | dev: true 1407 | 1408 | /minimatch@3.1.2: 1409 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1410 | dependencies: 1411 | brace-expansion: 1.1.11 1412 | dev: true 1413 | 1414 | /mkdirp@2.1.3: 1415 | resolution: {integrity: sha512-sjAkg21peAG9HS+Dkx7hlG9Ztx7HLeKnvB3NQRcu/mltCVmvkF0pisbiTSfDVYTT86XEfZrTUosLdZLStquZUw==} 1416 | engines: {node: '>=10'} 1417 | hasBin: true 1418 | dev: true 1419 | 1420 | /ms@2.1.2: 1421 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1422 | dev: true 1423 | 1424 | /ms@2.1.3: 1425 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1426 | dev: true 1427 | 1428 | /multimatch@5.0.0: 1429 | resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==} 1430 | engines: {node: '>=10'} 1431 | dependencies: 1432 | '@types/minimatch': 3.0.5 1433 | array-differ: 3.0.0 1434 | array-union: 2.1.0 1435 | arrify: 2.0.1 1436 | minimatch: 3.1.2 1437 | dev: true 1438 | 1439 | /mz@2.7.0: 1440 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1441 | dependencies: 1442 | any-promise: 1.3.0 1443 | object-assign: 4.1.1 1444 | thenify-all: 1.6.0 1445 | dev: true 1446 | 1447 | /nice-try@1.0.5: 1448 | resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} 1449 | dev: true 1450 | 1451 | /nodemon@3.0.1: 1452 | resolution: {integrity: sha512-g9AZ7HmkhQkqXkRc20w+ZfQ73cHLbE8hnPbtaFbFtCumZsjyMhKk9LajQ07U5Ux28lvFjZ5X7HvWR1xzU8jHVw==} 1453 | engines: {node: '>=10'} 1454 | hasBin: true 1455 | dependencies: 1456 | chokidar: 3.5.3 1457 | debug: 3.2.7(supports-color@5.5.0) 1458 | ignore-by-default: 1.0.1 1459 | minimatch: 3.1.2 1460 | pstree.remy: 1.1.8 1461 | semver: 7.5.4 1462 | simple-update-notifier: 2.0.0 1463 | supports-color: 5.5.0 1464 | touch: 3.1.0 1465 | undefsafe: 2.0.5 1466 | dev: true 1467 | 1468 | /nopt@1.0.10: 1469 | resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} 1470 | hasBin: true 1471 | dependencies: 1472 | abbrev: 1.1.1 1473 | dev: true 1474 | 1475 | /normalize-package-data@2.5.0: 1476 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 1477 | dependencies: 1478 | hosted-git-info: 2.8.9 1479 | resolve: 1.22.8 1480 | semver: 5.7.2 1481 | validate-npm-package-license: 3.0.4 1482 | dev: true 1483 | 1484 | /normalize-path@3.0.0: 1485 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1486 | engines: {node: '>=0.10.0'} 1487 | dev: true 1488 | 1489 | /npm-run-all@4.1.5: 1490 | resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} 1491 | engines: {node: '>= 4'} 1492 | hasBin: true 1493 | dependencies: 1494 | ansi-styles: 3.2.1 1495 | chalk: 2.4.2 1496 | cross-spawn: 6.0.5 1497 | memorystream: 0.3.1 1498 | minimatch: 3.1.2 1499 | pidtree: 0.3.1 1500 | read-pkg: 3.0.0 1501 | shell-quote: 1.8.1 1502 | string.prototype.padend: 3.1.5 1503 | dev: true 1504 | 1505 | /npm-run-path@4.0.1: 1506 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 1507 | engines: {node: '>=8'} 1508 | dependencies: 1509 | path-key: 3.1.1 1510 | dev: true 1511 | 1512 | /object-assign@4.1.1: 1513 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1514 | engines: {node: '>=0.10.0'} 1515 | dev: true 1516 | 1517 | /object-inspect@1.13.0: 1518 | resolution: {integrity: sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==} 1519 | dev: true 1520 | 1521 | /object-is@1.1.5: 1522 | resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} 1523 | engines: {node: '>= 0.4'} 1524 | dependencies: 1525 | call-bind: 1.0.2 1526 | define-properties: 1.2.1 1527 | dev: true 1528 | 1529 | /object-keys@1.1.1: 1530 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1531 | engines: {node: '>= 0.4'} 1532 | dev: true 1533 | 1534 | /object.assign@4.1.4: 1535 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} 1536 | engines: {node: '>= 0.4'} 1537 | dependencies: 1538 | call-bind: 1.0.2 1539 | define-properties: 1.2.1 1540 | has-symbols: 1.0.3 1541 | object-keys: 1.1.1 1542 | dev: true 1543 | 1544 | /once@1.4.0: 1545 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1546 | dependencies: 1547 | wrappy: 1.0.2 1548 | dev: true 1549 | 1550 | /onetime@5.1.2: 1551 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1552 | engines: {node: '>=6'} 1553 | dependencies: 1554 | mimic-fn: 2.1.0 1555 | dev: true 1556 | 1557 | /opencollective-postinstall@2.0.3: 1558 | resolution: {integrity: sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==} 1559 | hasBin: true 1560 | dev: true 1561 | 1562 | /optionator@0.8.3: 1563 | resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} 1564 | engines: {node: '>= 0.8.0'} 1565 | dependencies: 1566 | deep-is: 0.1.4 1567 | fast-levenshtein: 2.0.6 1568 | levn: 0.3.0 1569 | prelude-ls: 1.1.2 1570 | type-check: 0.3.2 1571 | word-wrap: 1.2.5 1572 | dev: true 1573 | 1574 | /parse-json@4.0.0: 1575 | resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} 1576 | engines: {node: '>=4'} 1577 | dependencies: 1578 | error-ex: 1.3.2 1579 | json-parse-better-errors: 1.0.2 1580 | dev: true 1581 | 1582 | /path-is-absolute@1.0.1: 1583 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1584 | engines: {node: '>=0.10.0'} 1585 | dev: true 1586 | 1587 | /path-key@2.0.1: 1588 | resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} 1589 | engines: {node: '>=4'} 1590 | dev: true 1591 | 1592 | /path-key@3.1.1: 1593 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1594 | engines: {node: '>=8'} 1595 | dev: true 1596 | 1597 | /path-parse@1.0.7: 1598 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1599 | dev: true 1600 | 1601 | /path-type@3.0.0: 1602 | resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} 1603 | engines: {node: '>=4'} 1604 | dependencies: 1605 | pify: 3.0.0 1606 | dev: true 1607 | 1608 | /path-type@4.0.0: 1609 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1610 | engines: {node: '>=8'} 1611 | dev: true 1612 | 1613 | /picomatch@2.3.1: 1614 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1615 | engines: {node: '>=8.6'} 1616 | 1617 | /pidtree@0.3.1: 1618 | resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} 1619 | engines: {node: '>=0.10'} 1620 | hasBin: true 1621 | dev: true 1622 | 1623 | /pify@3.0.0: 1624 | resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 1625 | engines: {node: '>=4'} 1626 | dev: true 1627 | 1628 | /pirates@4.0.6: 1629 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1630 | engines: {node: '>= 6'} 1631 | dev: true 1632 | 1633 | /postcss-load-config@4.0.1: 1634 | resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} 1635 | engines: {node: '>= 14'} 1636 | peerDependencies: 1637 | postcss: '>=8.0.9' 1638 | ts-node: '>=9.0.0' 1639 | peerDependenciesMeta: 1640 | postcss: 1641 | optional: true 1642 | ts-node: 1643 | optional: true 1644 | dependencies: 1645 | lilconfig: 2.1.0 1646 | yaml: 2.3.3 1647 | dev: true 1648 | 1649 | /prelude-ls@1.1.2: 1650 | resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} 1651 | engines: {node: '>= 0.8.0'} 1652 | dev: true 1653 | 1654 | /process@0.11.10: 1655 | resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 1656 | engines: {node: '>= 0.6.0'} 1657 | dev: true 1658 | 1659 | /pstree.remy@1.1.8: 1660 | resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} 1661 | dev: true 1662 | 1663 | /punycode@2.3.0: 1664 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 1665 | engines: {node: '>=6'} 1666 | dev: true 1667 | 1668 | /queue-microtask@1.2.3: 1669 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1670 | dev: true 1671 | 1672 | /read-pkg@3.0.0: 1673 | resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} 1674 | engines: {node: '>=4'} 1675 | dependencies: 1676 | load-json-file: 4.0.0 1677 | normalize-package-data: 2.5.0 1678 | path-type: 3.0.0 1679 | dev: true 1680 | 1681 | /readdirp@3.6.0: 1682 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1683 | engines: {node: '>=8.10.0'} 1684 | dependencies: 1685 | picomatch: 2.3.1 1686 | dev: true 1687 | 1688 | /reflect-metadata@0.1.13: 1689 | resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==} 1690 | dev: true 1691 | 1692 | /regexp.prototype.flags@1.5.1: 1693 | resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} 1694 | engines: {node: '>= 0.4'} 1695 | dependencies: 1696 | call-bind: 1.0.2 1697 | define-properties: 1.2.1 1698 | set-function-name: 2.0.1 1699 | dev: true 1700 | 1701 | /resolve-from@5.0.0: 1702 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1703 | engines: {node: '>=8'} 1704 | dev: true 1705 | 1706 | /resolve@1.22.8: 1707 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1708 | hasBin: true 1709 | dependencies: 1710 | is-core-module: 2.13.0 1711 | path-parse: 1.0.7 1712 | supports-preserve-symlinks-flag: 1.0.0 1713 | dev: true 1714 | 1715 | /reusify@1.0.4: 1716 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1717 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1718 | dev: true 1719 | 1720 | /rollup@3.29.4: 1721 | resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} 1722 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1723 | hasBin: true 1724 | optionalDependencies: 1725 | fsevents: 2.3.3 1726 | dev: true 1727 | 1728 | /rollup@4.1.3: 1729 | resolution: {integrity: sha512-ytWlDll2r0Q7iQGX+aZ8ptfZIE55vLApNuMnMYlaMO40wk3o/nN6sjuEvwQjhnAcqQ+NSX4vPgXE/eIO609HMA==} 1730 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1731 | hasBin: true 1732 | optionalDependencies: 1733 | '@rollup/rollup-android-arm-eabi': 4.1.3 1734 | '@rollup/rollup-android-arm64': 4.1.3 1735 | '@rollup/rollup-darwin-arm64': 4.1.3 1736 | '@rollup/rollup-darwin-x64': 4.1.3 1737 | '@rollup/rollup-linux-arm-gnueabihf': 4.1.3 1738 | '@rollup/rollup-linux-arm64-gnu': 4.1.3 1739 | '@rollup/rollup-linux-arm64-musl': 4.1.3 1740 | '@rollup/rollup-linux-x64-gnu': 4.1.3 1741 | '@rollup/rollup-linux-x64-musl': 4.1.3 1742 | '@rollup/rollup-win32-arm64-msvc': 4.1.3 1743 | '@rollup/rollup-win32-ia32-msvc': 4.1.3 1744 | '@rollup/rollup-win32-x64-msvc': 4.1.3 1745 | fsevents: 2.3.3 1746 | 1747 | /run-parallel@1.2.0: 1748 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1749 | dependencies: 1750 | queue-microtask: 1.2.3 1751 | dev: true 1752 | 1753 | /safe-array-concat@1.0.1: 1754 | resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} 1755 | engines: {node: '>=0.4'} 1756 | dependencies: 1757 | call-bind: 1.0.2 1758 | get-intrinsic: 1.2.1 1759 | has-symbols: 1.0.3 1760 | isarray: 2.0.5 1761 | dev: true 1762 | 1763 | /safe-regex-test@1.0.0: 1764 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} 1765 | dependencies: 1766 | call-bind: 1.0.2 1767 | get-intrinsic: 1.2.1 1768 | is-regex: 1.1.4 1769 | dev: true 1770 | 1771 | /semver@5.7.2: 1772 | resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} 1773 | hasBin: true 1774 | dev: true 1775 | 1776 | /semver@7.5.4: 1777 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} 1778 | engines: {node: '>=10'} 1779 | hasBin: true 1780 | dependencies: 1781 | lru-cache: 6.0.0 1782 | dev: true 1783 | 1784 | /set-function-name@2.0.1: 1785 | resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} 1786 | engines: {node: '>= 0.4'} 1787 | dependencies: 1788 | define-data-property: 1.1.1 1789 | functions-have-names: 1.2.3 1790 | has-property-descriptors: 1.0.0 1791 | dev: true 1792 | 1793 | /shebang-command@1.2.0: 1794 | resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} 1795 | engines: {node: '>=0.10.0'} 1796 | dependencies: 1797 | shebang-regex: 1.0.0 1798 | dev: true 1799 | 1800 | /shebang-command@2.0.0: 1801 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1802 | engines: {node: '>=8'} 1803 | dependencies: 1804 | shebang-regex: 3.0.0 1805 | dev: true 1806 | 1807 | /shebang-regex@1.0.0: 1808 | resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} 1809 | engines: {node: '>=0.10.0'} 1810 | dev: true 1811 | 1812 | /shebang-regex@3.0.0: 1813 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1814 | engines: {node: '>=8'} 1815 | dev: true 1816 | 1817 | /shell-quote@1.8.1: 1818 | resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} 1819 | dev: true 1820 | 1821 | /side-channel@1.0.4: 1822 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 1823 | dependencies: 1824 | call-bind: 1.0.2 1825 | get-intrinsic: 1.2.1 1826 | object-inspect: 1.13.0 1827 | dev: true 1828 | 1829 | /signal-exit@3.0.7: 1830 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1831 | dev: true 1832 | 1833 | /simple-update-notifier@2.0.0: 1834 | resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} 1835 | engines: {node: '>=10'} 1836 | dependencies: 1837 | semver: 7.5.4 1838 | dev: true 1839 | 1840 | /slash@3.0.0: 1841 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1842 | engines: {node: '>=8'} 1843 | dev: true 1844 | 1845 | /source-map-support@0.5.21: 1846 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1847 | dependencies: 1848 | buffer-from: 1.1.2 1849 | source-map: 0.6.1 1850 | dev: true 1851 | 1852 | /source-map@0.6.1: 1853 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1854 | engines: {node: '>=0.10.0'} 1855 | dev: true 1856 | 1857 | /source-map@0.8.0-beta.0: 1858 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 1859 | engines: {node: '>= 8'} 1860 | dependencies: 1861 | whatwg-url: 7.1.0 1862 | dev: true 1863 | 1864 | /spdx-correct@3.2.0: 1865 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 1866 | dependencies: 1867 | spdx-expression-parse: 3.0.1 1868 | spdx-license-ids: 3.0.16 1869 | dev: true 1870 | 1871 | /spdx-exceptions@2.3.0: 1872 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 1873 | dev: true 1874 | 1875 | /spdx-expression-parse@3.0.1: 1876 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 1877 | dependencies: 1878 | spdx-exceptions: 2.3.0 1879 | spdx-license-ids: 3.0.16 1880 | dev: true 1881 | 1882 | /spdx-license-ids@3.0.16: 1883 | resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} 1884 | dev: true 1885 | 1886 | /string-template@1.0.0: 1887 | resolution: {integrity: sha512-SLqR3GBUXuoPP5MmYtD7ompvXiG87QjT6lzOszyXjTM86Uu7At7vNnt2xgyTLq5o9T4IxTYFyGxcULqpsmsfdg==} 1888 | dev: true 1889 | 1890 | /string.prototype.padend@3.1.5: 1891 | resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==} 1892 | engines: {node: '>= 0.4'} 1893 | dependencies: 1894 | call-bind: 1.0.2 1895 | define-properties: 1.2.1 1896 | es-abstract: 1.22.2 1897 | dev: true 1898 | 1899 | /string.prototype.trim@1.2.8: 1900 | resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} 1901 | engines: {node: '>= 0.4'} 1902 | dependencies: 1903 | call-bind: 1.0.2 1904 | define-properties: 1.2.1 1905 | es-abstract: 1.22.2 1906 | dev: true 1907 | 1908 | /string.prototype.trimend@1.0.7: 1909 | resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} 1910 | dependencies: 1911 | call-bind: 1.0.2 1912 | define-properties: 1.2.1 1913 | es-abstract: 1.22.2 1914 | dev: true 1915 | 1916 | /string.prototype.trimstart@1.0.7: 1917 | resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} 1918 | dependencies: 1919 | call-bind: 1.0.2 1920 | define-properties: 1.2.1 1921 | es-abstract: 1.22.2 1922 | dev: true 1923 | 1924 | /stringz@2.1.0: 1925 | resolution: {integrity: sha512-KlywLT+MZ+v0IRepfMxRtnSvDCMc3nR1qqCs3m/qIbSOWkNZYT8XHQA31rS3TnKp0c5xjZu3M4GY/2aRKSi/6A==} 1926 | dependencies: 1927 | char-regex: 1.0.2 1928 | dev: true 1929 | 1930 | /strip-bom@3.0.0: 1931 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1932 | engines: {node: '>=4'} 1933 | dev: true 1934 | 1935 | /strip-final-newline@2.0.0: 1936 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 1937 | engines: {node: '>=6'} 1938 | dev: true 1939 | 1940 | /sucrase@3.34.0: 1941 | resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} 1942 | engines: {node: '>=8'} 1943 | hasBin: true 1944 | dependencies: 1945 | '@jridgewell/gen-mapping': 0.3.3 1946 | commander: 4.1.1 1947 | glob: 7.1.6 1948 | lines-and-columns: 1.2.4 1949 | mz: 2.7.0 1950 | pirates: 4.0.6 1951 | ts-interface-checker: 0.1.13 1952 | dev: true 1953 | 1954 | /supports-color@5.5.0: 1955 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1956 | engines: {node: '>=4'} 1957 | dependencies: 1958 | has-flag: 3.0.0 1959 | dev: true 1960 | 1961 | /supports-color@7.2.0: 1962 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1963 | engines: {node: '>=8'} 1964 | dependencies: 1965 | has-flag: 4.0.0 1966 | dev: true 1967 | 1968 | /supports-preserve-symlinks-flag@1.0.0: 1969 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1970 | engines: {node: '>= 0.4'} 1971 | dev: true 1972 | 1973 | /thenify-all@1.6.0: 1974 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1975 | engines: {node: '>=0.8'} 1976 | dependencies: 1977 | thenify: 3.3.1 1978 | dev: true 1979 | 1980 | /thenify@3.3.1: 1981 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1982 | dependencies: 1983 | any-promise: 1.3.0 1984 | dev: true 1985 | 1986 | /to-regex-range@5.0.1: 1987 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1988 | engines: {node: '>=8.0'} 1989 | dependencies: 1990 | is-number: 7.0.0 1991 | dev: true 1992 | 1993 | /touch@3.1.0: 1994 | resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} 1995 | hasBin: true 1996 | dependencies: 1997 | nopt: 1.0.10 1998 | dev: true 1999 | 2000 | /tr46@1.0.1: 2001 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 2002 | dependencies: 2003 | punycode: 2.3.0 2004 | dev: true 2005 | 2006 | /tree-kill@1.2.2: 2007 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 2008 | hasBin: true 2009 | dev: true 2010 | 2011 | /ts-interface-checker@0.1.13: 2012 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 2013 | dev: true 2014 | 2015 | /tslib@2.5.0: 2016 | resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} 2017 | dev: true 2018 | 2019 | /tsup@7.2.0(typescript@5.2.2): 2020 | resolution: {integrity: sha512-vDHlczXbgUvY3rWvqFEbSqmC1L7woozbzngMqTtL2PGBODTtWlRwGDDawhvWzr5c1QjKe4OAKqJGfE1xeXUvtQ==} 2021 | engines: {node: '>=16.14'} 2022 | hasBin: true 2023 | peerDependencies: 2024 | '@swc/core': ^1 2025 | postcss: ^8.4.12 2026 | typescript: '>=4.1.0' 2027 | peerDependenciesMeta: 2028 | '@swc/core': 2029 | optional: true 2030 | postcss: 2031 | optional: true 2032 | typescript: 2033 | optional: true 2034 | dependencies: 2035 | bundle-require: 4.0.2(esbuild@0.18.20) 2036 | cac: 6.7.14 2037 | chokidar: 3.5.3 2038 | debug: 4.3.4 2039 | esbuild: 0.18.20 2040 | execa: 5.1.1 2041 | globby: 11.1.0 2042 | joycon: 3.1.1 2043 | postcss-load-config: 4.0.1 2044 | resolve-from: 5.0.0 2045 | rollup: 3.29.4 2046 | source-map: 0.8.0-beta.0 2047 | sucrase: 3.34.0 2048 | tree-kill: 1.2.2 2049 | typescript: 5.2.2 2050 | transitivePeerDependencies: 2051 | - supports-color 2052 | - ts-node 2053 | dev: true 2054 | 2055 | /type-check@0.3.2: 2056 | resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} 2057 | engines: {node: '>= 0.8.0'} 2058 | dependencies: 2059 | prelude-ls: 1.1.2 2060 | dev: true 2061 | 2062 | /typed-array-buffer@1.0.0: 2063 | resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} 2064 | engines: {node: '>= 0.4'} 2065 | dependencies: 2066 | call-bind: 1.0.2 2067 | get-intrinsic: 1.2.1 2068 | is-typed-array: 1.1.12 2069 | dev: true 2070 | 2071 | /typed-array-byte-length@1.0.0: 2072 | resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} 2073 | engines: {node: '>= 0.4'} 2074 | dependencies: 2075 | call-bind: 1.0.2 2076 | for-each: 0.3.3 2077 | has-proto: 1.0.1 2078 | is-typed-array: 1.1.12 2079 | dev: true 2080 | 2081 | /typed-array-byte-offset@1.0.0: 2082 | resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} 2083 | engines: {node: '>= 0.4'} 2084 | dependencies: 2085 | available-typed-arrays: 1.0.5 2086 | call-bind: 1.0.2 2087 | for-each: 0.3.3 2088 | has-proto: 1.0.1 2089 | is-typed-array: 1.1.12 2090 | dev: true 2091 | 2092 | /typed-array-length@1.0.4: 2093 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} 2094 | dependencies: 2095 | call-bind: 1.0.2 2096 | for-each: 0.3.3 2097 | is-typed-array: 1.1.12 2098 | dev: true 2099 | 2100 | /typescript@5.2.2: 2101 | resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} 2102 | engines: {node: '>=14.17'} 2103 | hasBin: true 2104 | dev: true 2105 | 2106 | /unbox-primitive@1.0.2: 2107 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 2108 | dependencies: 2109 | call-bind: 1.0.2 2110 | has-bigints: 1.0.2 2111 | has-symbols: 1.0.3 2112 | which-boxed-primitive: 1.0.2 2113 | dev: true 2114 | 2115 | /undefsafe@2.0.5: 2116 | resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} 2117 | dev: true 2118 | 2119 | /undici-types@5.25.3: 2120 | resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} 2121 | dev: true 2122 | 2123 | /util@0.12.5: 2124 | resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} 2125 | dependencies: 2126 | inherits: 2.0.4 2127 | is-arguments: 1.1.1 2128 | is-generator-function: 1.0.10 2129 | is-typed-array: 1.1.12 2130 | which-typed-array: 1.1.11 2131 | dev: true 2132 | 2133 | /validate-npm-package-license@3.0.4: 2134 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 2135 | dependencies: 2136 | spdx-correct: 3.2.0 2137 | spdx-expression-parse: 3.0.1 2138 | dev: true 2139 | 2140 | /validator@13.11.0: 2141 | resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} 2142 | engines: {node: '>= 0.10'} 2143 | dev: true 2144 | 2145 | /webidl-conversions@4.0.2: 2146 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 2147 | dev: true 2148 | 2149 | /whatwg-url@7.1.0: 2150 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 2151 | dependencies: 2152 | lodash.sortby: 4.7.0 2153 | tr46: 1.0.1 2154 | webidl-conversions: 4.0.2 2155 | dev: true 2156 | 2157 | /which-boxed-primitive@1.0.2: 2158 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 2159 | dependencies: 2160 | is-bigint: 1.0.4 2161 | is-boolean-object: 1.1.2 2162 | is-number-object: 1.0.7 2163 | is-string: 1.0.7 2164 | is-symbol: 1.0.4 2165 | dev: true 2166 | 2167 | /which-typed-array@1.1.11: 2168 | resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} 2169 | engines: {node: '>= 0.4'} 2170 | dependencies: 2171 | available-typed-arrays: 1.0.5 2172 | call-bind: 1.0.2 2173 | for-each: 0.3.3 2174 | gopd: 1.0.1 2175 | has-tostringtag: 1.0.0 2176 | dev: true 2177 | 2178 | /which@1.3.1: 2179 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 2180 | hasBin: true 2181 | dependencies: 2182 | isexe: 2.0.0 2183 | dev: true 2184 | 2185 | /which@2.0.2: 2186 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2187 | engines: {node: '>= 8'} 2188 | hasBin: true 2189 | dependencies: 2190 | isexe: 2.0.0 2191 | dev: true 2192 | 2193 | /word-wrap@1.2.5: 2194 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 2195 | engines: {node: '>=0.10.0'} 2196 | dev: true 2197 | 2198 | /wrappy@1.0.2: 2199 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2200 | dev: true 2201 | 2202 | /yallist@4.0.0: 2203 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2204 | dev: true 2205 | 2206 | /yaml@2.3.3: 2207 | resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==} 2208 | engines: {node: '>= 14'} 2209 | dev: true 2210 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - './' 3 | - 'dev' -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import type { ObfuscatorOptions } from 'javascript-obfuscator'; 2 | import type { FilterPattern } from '@rollup/pluginutils'; 3 | import { createFilter } from '@rollup/pluginutils'; 4 | import Obfuscator from 'javascript-obfuscator'; 5 | import type { Plugin } from 'rollup'; 6 | 7 | interface ObfuscatorPlugin extends Plugin { 8 | apply?: 'build' | 'serve'; 9 | enforce?: 'pre' | 'post'; 10 | } 11 | 12 | export interface RollupObfuscatorOptions extends ObfuscatorOptions { 13 | /** 14 | * A [FilterPattern](https://github.com/rollup/plugins/blob/master/packages/pluginutils/types/index.d.ts#L23) of files to include. By default only allows js/ts files. 15 | * @default ['**\/*.js', '**\/*.ts'] 16 | */ 17 | include?: FilterPattern; 18 | 19 | /** 20 | * A [FilterPattern](https://github.com/rollup/plugins/blob/master/packages/pluginutils/types/index.d.ts#L23) of files to exclude. By default ignores node_modules. 21 | * @default ['node_modules\/**'] 22 | */ 23 | exclude?: FilterPattern; 24 | } 25 | 26 | export function obfuscator(options: RollupObfuscatorOptions = {}): ObfuscatorPlugin { 27 | const { 28 | include = ['**/*.js', '**/*.ts'], 29 | exclude = ['node_modules/**'], 30 | sourceMap = true, 31 | ...obfuscatorOptions 32 | } = options; 33 | 34 | const filter = createFilter(include, exclude); 35 | 36 | return { 37 | name: 'obfuscator', 38 | apply: 'build', 39 | enforce: 'post', 40 | 41 | transform(code, id) { 42 | if (!filter(id)) { 43 | this.debug?.(`[rollup-obfuscator] Ignoring "${id}"`); 44 | return null; 45 | } 46 | 47 | this.debug?.(`[rollup-obfuscator] Obfuscating "${id}"`); 48 | 49 | const result = Obfuscator.obfuscate(code, { 50 | stringArray: false, 51 | ...obfuscatorOptions, 52 | inputFileName: id, 53 | sourceMap, 54 | }); 55 | 56 | return { 57 | code: result.getObfuscatedCode(), 58 | map: sourceMap ? result.getSourceMap() : undefined, 59 | }; 60 | }, 61 | }; 62 | } 63 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2021", 4 | "module": "es2022", 5 | "lib": ["ES2021"], 6 | 7 | "strict": true, 8 | "declaration": true, 9 | "strictNullChecks": true, 10 | "noImplicitReturns": true, 11 | "noImplicitThis": true, 12 | "noImplicitAny": true, 13 | "esModuleInterop": true, 14 | "forceConsistentCasingInFileNames": true, 15 | "moduleResolution": "node" 16 | }, 17 | "include": ["src/**/*.ts"] 18 | } -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- 1 | import type { Options } from 'tsup'; 2 | 3 | export const tsup: Options = { 4 | splitting: false, 5 | sourcemap: false, 6 | clean: true, 7 | dts: true, 8 | keepNames: true, 9 | target: 'es2021', 10 | format: ['esm', 'cjs'], 11 | entryPoints: ['src/index.ts'], 12 | }; 13 | --------------------------------------------------------------------------------