├── demo ├── .gitignore ├── src │ ├── global.d.ts │ ├── Root.tsx │ ├── styles.css │ └── main.tsx ├── public │ ├── bulma.png │ ├── test.svg │ └── goku.svg ├── tsconfig.json ├── vite.config.ts ├── index.html ├── package.json └── pnpm-lock.yaml ├── .gitignore ├── tsconfig.json ├── LICENSE ├── package.json ├── src ├── css.ts └── plugin.ts ├── README.md └── pnpm-lock.yaml /demo/.gitignore: -------------------------------------------------------------------------------- 1 | vendor 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | vendor 3 | dist 4 | -------------------------------------------------------------------------------- /demo/src/global.d.ts: -------------------------------------------------------------------------------- 1 | import 'vite/client' 2 | -------------------------------------------------------------------------------- /demo/public/bulma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alloc/vite-plugin-compress/HEAD/demo/public/bulma.png -------------------------------------------------------------------------------- /demo/src/Root.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import svg from '../public/test.svg' 3 | 4 | export const Root = () =>
{svg}
5 | -------------------------------------------------------------------------------- /demo/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "include": ["src", "vite.config.ts"], 4 | "compilerOptions": { 5 | "jsx": "react", 6 | "lib": ["dom", "es2018"] 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /demo/src/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | color: lightblue; 3 | font-size: 300%; 4 | font-family: Menlo, monospace; 5 | text-align: center; 6 | background: darkslateblue; 7 | padding-top: 200px; 8 | } 9 | -------------------------------------------------------------------------------- /demo/src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom' 3 | import { Root } from './Root' 4 | import './styles.css' 5 | 6 | ReactDOM.render(, document.getElementById('root')) 7 | -------------------------------------------------------------------------------- /demo/vite.config.ts: -------------------------------------------------------------------------------- 1 | import compress from 'vite-plugin-compress' 2 | import type { UserConfig } from 'vite' 3 | 4 | const config: UserConfig = { 5 | plugins: [ 6 | compress({ 7 | verbose: true, 8 | }), 9 | ], 10 | } 11 | 12 | export default config 13 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": ["src"], 3 | "compilerOptions": { 4 | "declaration": true, 5 | "esModuleInterop": true, 6 | "lib": ["es2018"], 7 | "module": "commonjs", 8 | "moduleResolution": "node", 9 | "noUnusedLocals": true, 10 | "outDir": "dist", 11 | "strict": true, 12 | "sourceMap": true, 13 | "target": "es2018" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Demo 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /demo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "demo", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vite build", 8 | "test": "sirv dist" 9 | }, 10 | "dependencies": { 11 | "react": "^16.13.1", 12 | "react-dom": "^16.13.1" 13 | }, 14 | "devDependencies": { 15 | "@types/react": "^16.9.53", 16 | "@types/react-dom": "^16.9.8", 17 | "sirv-cli": "^1.0.8", 18 | "vite": "link:../node_modules/vite", 19 | "vite-plugin-compress": "link:.." 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /demo/public/test.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Alec Larson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-plugin-compress", 3 | "version": "2.2.0-1", 4 | "description": "Compress your bundle + assets from Vite", 5 | "author": "Alec Larson", 6 | "license": "MIT", 7 | "repository": "alloc/vite-plugin-compress", 8 | "main": "dist/plugin.js", 9 | "files": [ 10 | "src", 11 | "dist" 12 | ], 13 | "scripts": { 14 | "build": "tsc -p .", 15 | "prepare": "yarn build" 16 | }, 17 | "peerDependencies": { 18 | "vite": ">2.0.0-0" 19 | }, 20 | "dependencies": { 21 | "@types/clean-css": "^4.2.5", 22 | "@types/html-minifier-terser": "^5.1.2", 23 | "@types/imagemin-webp": "^5.1.2", 24 | "@types/svgo": "^1.3.3", 25 | "chalk": "^4.1.0", 26 | "clean-css": "^4.2.3", 27 | "debug": "^4.3.2", 28 | "glob-regex": "^0.3.2", 29 | "html-minifier-terser": "^5.1.1", 30 | "imagemin": "^7.0.1", 31 | "imagemin-pngquant": "^9.0.1", 32 | "imagemin-webp": "^6.0.0", 33 | "recrawl-sync": "^2.0.2", 34 | "svgo": "^1.3.2" 35 | }, 36 | "devDependencies": { 37 | "@alloc/prettier-config": "^1.0.0", 38 | "@types/debug": "^4.1.7", 39 | "@types/imagemin": "^7.0.0", 40 | "@types/node": "^14.14.20", 41 | "prettier": "^2.0.5", 42 | "typescript": "^4.0.0", 43 | "vite": "*" 44 | }, 45 | "prettier": "@alloc/prettier-config", 46 | "keywords": [ 47 | "vite", 48 | "vite-plugin", 49 | "compress", 50 | "brotli", 51 | "imagemin", 52 | "pngquant", 53 | "svgo" 54 | ] 55 | } 56 | -------------------------------------------------------------------------------- /src/css.ts: -------------------------------------------------------------------------------- 1 | import createDebug from 'debug' 2 | import CleanCSS from 'clean-css' 3 | 4 | const debug = createDebug('vite:plugin-compress') 5 | 6 | // Wrap CSS declarations for CleanCSS > 3.x 7 | // See https://github.com/jakubpawlowicz/clean-css/issues/418 8 | const wrapCss = (css: string, type?: string) => 9 | type == 'inline' 10 | ? '*{' + css + '}' 11 | : type == 'media' 12 | ? '@media ' + css + '{a{top:0}}' 13 | : css 14 | 15 | const unwrapCss = (css: string, type?: string) => 16 | (type == 'inline' 17 | ? css.match(/^\*\{([\s\S]*)\}$/) 18 | : type == 'media' 19 | ? css.match(/^@media ([\s\S]*?)\s*{[\s\S]*}$/) 20 | : null)?.[1] ?? css 21 | 22 | export type MinifyCSSOption = 23 | | boolean 24 | | CleanCSS.OptionsOutput 25 | | ((css: string, type?: 'inline' | 'media') => string) 26 | 27 | export function minifyCss(minifyCss?: MinifyCSSOption) { 28 | if (minifyCss === false || typeof minifyCss === 'function') { 29 | return minifyCss 30 | } 31 | 32 | const cssOptions = minifyCss !== true ? minifyCss : undefined 33 | const defaultMinifier = new CleanCSS(cssOptions) 34 | 35 | // Play nicely with SSR hydration when minifying inline "style" attributes. 36 | const inlineMinifier = 37 | cssOptions?.level !== 0 38 | ? new CleanCSS({ ...cssOptions, level: 0 }) 39 | : defaultMinifier 40 | 41 | return (css: string, type?: string) => { 42 | const minifier = type == 'inline' ? inlineMinifier : defaultMinifier 43 | const output = minifier.minify(wrapCss(css, type)) 44 | if (output.errors.length > 0) { 45 | debug(`Failed to minify CSS:\n ${output.errors.join(`\n `)}`) 46 | return css 47 | } 48 | return unwrapCss(output.styles, type) 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vite-plugin-compress 2 | 3 | [![npm](https://img.shields.io/npm/v/vite-plugin-compress.svg)](https://www.npmjs.com/package/vite-plugin-compress) 4 | [![Code style: Prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier) 5 | [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/alecdotbiz) 6 | 7 | > Compress your bundle + assets from Vite 8 | 9 | - Assets generated by Vite and assets from `./public` are compressed with Brotli 10 | - Images, sounds, WOFF2 fonts, and PDFs are *not* compressed with Brotli, since these formats are compressed by default 11 | - SVGs are further optimized with [svgo](https://github.com/svg/svgo) 12 | - PNGs are further optimized with [imagemin](https://github.com/imagemin/imagemin) 13 | - By default, files smaller than 1501 bytes are not compressed, since the [MTU](https://en.wikipedia.org/wiki/Maximum_transmission_unit) of a TCP packet is 1500 bytes 14 | - Compatible with [vite-ssr](https://github.com/frandiox/vite-ssr) 15 | - Just add `exclude: ["ssr-manifest.json"]` 16 | 17 |   18 | 19 | ## Usage 20 | 21 | ```ts 22 | import compress from 'vite-plugin-compress' 23 | 24 | export default { 25 | plugins: [ 26 | compress(), 27 | ] 28 | } 29 | ``` 30 | 31 | ### Options 32 | 33 | - `quality: number` 34 | Higher quality means smaller file sizes. 35 | Defaults to max quality (11). 36 | 37 | - `threshold: number` 38 | Minimum file size (in bytes) to be compressed. 39 | Defaults to 1501. 40 | 41 | - `exclude: string[]` 42 | Globs to exclude certain files from being compressed. 43 | 44 | - `extensions: string[]` 45 | Additional extensions to compress with Brotli. 46 | 47 | Default extensions include: 48 | - `.html` 49 | - `.js` 50 | - `.css` 51 | - `.svg` 52 | - `.json` 53 | 54 | - `svgo: object` 55 | Options for the SVG optimizer. 56 | More info [here](https://github.com/svg/svgo/#what-it-can-do). 57 | 58 | Default plugins include: 59 | - `removeViewBox: false` 60 | - `removeDimensions: true` 61 | - Plugins listed [here](https://github.com/svg/svgo/blob/master/.svgo.yml) are enabled 62 | 63 | - `pngquant: object` 64 | Options for the PNG optimizer. 65 | More info [here](https://www.npmjs.com/package/imagemin-pngquant#options). 66 | 67 | - `brotli: boolean` 68 | Set to false to disable Brotli compression. 69 | 70 | - `verbose: boolean` 71 | Log compressed files and their compression ratios. 72 | -------------------------------------------------------------------------------- /demo/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | react: 16.14.0 3 | react-dom: 16.14.0_react@16.14.0 4 | devDependencies: 5 | '@types/react': 16.14.2 6 | '@types/react-dom': 16.9.10 7 | sirv-cli: 1.0.10 8 | vite: 'link:../node_modules/vite' 9 | vite-plugin-compress: 'link:..' 10 | lockfileVersion: 5.2 11 | packages: 12 | /@polka/url/1.0.0-next.11: 13 | dev: true 14 | resolution: 15 | integrity: sha512-3NsZsJIA/22P3QUyrEDNA2D133H4j224twJrdipXN38dpnIOzAbUDtOwkcJ5pXmn75w7LSQDjA4tO9dm1XlqlA== 16 | /@types/prop-types/15.7.3: 17 | dev: true 18 | resolution: 19 | integrity: sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== 20 | /@types/react-dom/16.9.10: 21 | dependencies: 22 | '@types/react': 16.14.2 23 | dev: true 24 | resolution: 25 | integrity: sha512-ItatOrnXDMAYpv6G8UCk2VhbYVTjZT9aorLtA/OzDN9XJ2GKcfam68jutoAcILdRjsRUO8qb7AmyObF77Q8QFw== 26 | /@types/react/16.14.2: 27 | dependencies: 28 | '@types/prop-types': 15.7.3 29 | csstype: 3.0.6 30 | dev: true 31 | resolution: 32 | integrity: sha512-BzzcAlyDxXl2nANlabtT4thtvbbnhee8hMmH/CcJrISDBVcJS1iOsP1f0OAgSdGE0MsY9tqcrb9YoZcOFv9dbQ== 33 | /console-clear/1.1.1: 34 | dev: true 35 | engines: 36 | node: '>=4' 37 | resolution: 38 | integrity: sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ== 39 | /csstype/3.0.6: 40 | dev: true 41 | resolution: 42 | integrity: sha512-+ZAmfyWMT7TiIlzdqJgjMb7S4f1beorDbWbsocyK4RaiqA5RTX3K14bnBWmmA9QEM0gRdsjyyrEmcyga8Zsxmw== 43 | /get-port/3.2.0: 44 | dev: true 45 | engines: 46 | node: '>=4' 47 | resolution: 48 | integrity: sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw= 49 | /js-tokens/4.0.0: 50 | dev: false 51 | resolution: 52 | integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 53 | /kleur/3.0.3: 54 | dev: true 55 | engines: 56 | node: '>=6' 57 | resolution: 58 | integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== 59 | /local-access/1.1.0: 60 | dev: true 61 | engines: 62 | node: '>=6' 63 | resolution: 64 | integrity: sha512-XfegD5pyTAfb+GY6chk283Ox5z8WexG56OvM06RWLpAc/UHozO8X6xAxEkIitZOtsSMM1Yr3DkHgW5W+onLhCw== 65 | /loose-envify/1.4.0: 66 | dependencies: 67 | js-tokens: 4.0.0 68 | dev: false 69 | hasBin: true 70 | resolution: 71 | integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 72 | /mime/2.5.0: 73 | dev: true 74 | engines: 75 | node: '>=4.0.0' 76 | hasBin: true 77 | resolution: 78 | integrity: sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag== 79 | /mri/1.1.6: 80 | dev: true 81 | engines: 82 | node: '>=4' 83 | resolution: 84 | integrity: sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ== 85 | /object-assign/4.1.1: 86 | dev: false 87 | engines: 88 | node: '>=0.10.0' 89 | resolution: 90 | integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 91 | /prop-types/15.7.2: 92 | dependencies: 93 | loose-envify: 1.4.0 94 | object-assign: 4.1.1 95 | react-is: 16.13.1 96 | dev: false 97 | resolution: 98 | integrity: sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== 99 | /react-dom/16.14.0_react@16.14.0: 100 | dependencies: 101 | loose-envify: 1.4.0 102 | object-assign: 4.1.1 103 | prop-types: 15.7.2 104 | react: 16.14.0 105 | scheduler: 0.19.1 106 | dev: false 107 | peerDependencies: 108 | react: ^16.14.0 109 | resolution: 110 | integrity: sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== 111 | /react-is/16.13.1: 112 | dev: false 113 | resolution: 114 | integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 115 | /react/16.14.0: 116 | dependencies: 117 | loose-envify: 1.4.0 118 | object-assign: 4.1.1 119 | prop-types: 15.7.2 120 | dev: false 121 | engines: 122 | node: '>=0.10.0' 123 | resolution: 124 | integrity: sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== 125 | /sade/1.7.4: 126 | dependencies: 127 | mri: 1.1.6 128 | dev: true 129 | engines: 130 | node: '>= 6' 131 | resolution: 132 | integrity: sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA== 133 | /scheduler/0.19.1: 134 | dependencies: 135 | loose-envify: 1.4.0 136 | object-assign: 4.1.1 137 | dev: false 138 | resolution: 139 | integrity: sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== 140 | /semiver/1.1.0: 141 | dev: true 142 | engines: 143 | node: '>=6' 144 | resolution: 145 | integrity: sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg== 146 | /sirv-cli/1.0.10: 147 | dependencies: 148 | console-clear: 1.1.1 149 | get-port: 3.2.0 150 | kleur: 3.0.3 151 | local-access: 1.1.0 152 | sade: 1.7.4 153 | semiver: 1.1.0 154 | sirv: 1.0.10 155 | tinydate: 1.3.0 156 | dev: true 157 | engines: 158 | node: '>= 10' 159 | hasBin: true 160 | resolution: 161 | integrity: sha512-8mLTRkvzpZXMyUZJ1whf84YHN/mm2r2+j5sU1ZYr5n2jA8VkFItNPk53oysOo+0QxBVp9aUjggkAsQp1d7L3OQ== 162 | /sirv/1.0.10: 163 | dependencies: 164 | '@polka/url': 1.0.0-next.11 165 | mime: 2.5.0 166 | totalist: 1.1.0 167 | dev: true 168 | engines: 169 | node: '>= 10' 170 | resolution: 171 | integrity: sha512-H5EZCoZaggEUQy8ocKsF7WAToGuZhjJlLvM3XOef46CbdIgbNeQ1p32N1PCuCjkVYwrAVOSMacN6CXXgIzuspg== 172 | /tinydate/1.3.0: 173 | dev: true 174 | engines: 175 | node: '>=4' 176 | resolution: 177 | integrity: sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w== 178 | /totalist/1.1.0: 179 | dev: true 180 | engines: 181 | node: '>=6' 182 | resolution: 183 | integrity: sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== 184 | specifiers: 185 | '@types/react': ^16.9.53 186 | '@types/react-dom': ^16.9.8 187 | react: ^16.13.1 188 | react-dom: ^16.13.1 189 | sirv-cli: ^1.0.8 190 | vite: 'link:../node_modules/vite' 191 | vite-plugin-compress: 'link:..' 192 | -------------------------------------------------------------------------------- /src/plugin.ts: -------------------------------------------------------------------------------- 1 | import { normalizePath, Plugin } from 'vite' 2 | import { crawl } from 'recrawl-sync' 3 | import imagemin from 'imagemin' 4 | import webp, { Options as WebpOptions } from 'imagemin-webp' 5 | import pngquant, { Options as PngOptions } from 'imagemin-pngquant' 6 | import { minify as minifyHtml } from 'html-minifier-terser' 7 | import { minifyCss, MinifyCSSOption } from './css' 8 | import createDebug from 'debug' 9 | import globRegex from 'glob-regex' 10 | import chalk from 'chalk' 11 | import SVGO from 'svgo' 12 | import zlib from 'zlib' 13 | import path from 'path' 14 | import fs from 'fs' 15 | 16 | const fsp = fs.promises 17 | const debug = createDebug('vite:plugin-compress') 18 | 19 | type HtmlMinifyOptions = import('html-minifier-terser').Options extends infer Options 20 | ? Omit & { minifyCSS?: MinifyCSSOption } 21 | : never 22 | 23 | type PluginOptions = { 24 | /** 25 | * Log compressed files and their compression ratios. 26 | */ 27 | verbose?: boolean 28 | /** 29 | * Set false to disable Brotli compression. 30 | * Useful when your web server handles compression. 31 | * @default true 32 | */ 33 | brotli?: boolean | { exclude?: string[] } 34 | /** 35 | * Brotli compression quality (from `0` to `11`). 36 | * @default 11 37 | */ 38 | quality?: number 39 | /** 40 | * Minimum file size before compression is used. 41 | * @default 1501 42 | */ 43 | threshold?: number 44 | /** 45 | * Globs to exclude certain files from being compressed. 46 | */ 47 | exclude?: string[] 48 | /** 49 | * Additional extensions for Brotli compression. 50 | */ 51 | extensions?: string[] 52 | /** 53 | * Set false to disable the SVG optimizer. 54 | */ 55 | svgo?: SvgOptions | false 56 | /** 57 | * Set false to disable the PNG optimizer. 58 | */ 59 | pngquant?: PngOptions | false 60 | /** 61 | * Set to convert PNG images to WEBP format. 62 | * This also sets the `pngquant` option to false. 63 | */ 64 | webp?: WebpOptions | true 65 | /** 66 | * Set to minify HTML outputs using `html-minifier-terser` and 67 | * optionally `clean-css`. 68 | */ 69 | minifyHtml?: HtmlMinifyOptions | true 70 | } 71 | 72 | const mtimeCache = new Map() 73 | const defaultExts = ['html', 'js', 'css', 'svg', 'json'] 74 | const dataUriPrefix = 'data:image/svg+xml,' 75 | const htmlExt = /\.html$/ 76 | const pngExt = /\.png$/ 77 | const svgExt = /\.svg$/ 78 | 79 | export default (opts: PluginOptions = {}): Plugin[] => { 80 | const excludeRegex = opts.exclude ? globRegex(opts.exclude) : /^$/ 81 | const brotliExcludeRegex = 82 | opts.brotli && opts.brotli !== true && opts.brotli.exclude 83 | ? globRegex(opts.brotli.exclude) 84 | : opts.brotli !== false 85 | ? /^$/ 86 | : /.+/ 87 | 88 | const extensionRegex = new RegExp( 89 | '\\.(png|' + 90 | defaultExts 91 | .concat(opts.extensions || []) 92 | .map(ext => ext.replace(/^\./, '')) 93 | .join('|') + 94 | ')$' 95 | ) 96 | 97 | let pngOptimizer: any 98 | let webpGenerator: any 99 | let svgOptimizer: SVGO 100 | 101 | async function optimizeSvg(content: string, filePath: string) { 102 | svgOptimizer ??= new SVGO({ 103 | plugins: Object.entries({ 104 | removeViewBox: false, 105 | removeDimensions: true, 106 | ...opts.svgo, 107 | }).map(([name, value]): any => ({ [name]: value })), 108 | }) 109 | 110 | try { 111 | const svg = await svgOptimizer.optimize(content, { path: filePath }) 112 | return svg.data 113 | } catch (err) { 114 | debug(`Failed to optimize "${filePath}". ` + err.message) 115 | return content 116 | } 117 | } 118 | 119 | let outRoot: string 120 | 121 | const prePlugin: Plugin = { 122 | name: 'vite:compress', 123 | apply: 'build', 124 | enforce: 'pre', 125 | configResolved({ root, publicDir, build: { outDir, ssr } }) { 126 | if (ssr) return 127 | outRoot = normalizePath(path.resolve(root, outDir)) 128 | 129 | if (publicDir && opts.webp) { 130 | const pngFiles = crawl(publicDir, { 131 | only: ['*.png'], 132 | }) 133 | this.resolveBuiltUrl = url => { 134 | if (url[0] === '/' && pngFiles.includes(url.slice(1))) { 135 | return url.replace(pngExt, '.webp') 136 | } 137 | } 138 | } 139 | 140 | if (opts.svgo !== false) 141 | // Optimize any inlined SVGs. Non-inlined SVGs are optimized 142 | // in the `closeBundle` phase. 143 | this.transform = async function (code, id) { 144 | if (svgExt.test(id)) { 145 | let exported = /^export default (".+?")$/.exec(code)?.[1] 146 | if (!exported) return 147 | const isRaw = /(\?|&)raw(?:&|$)/.test(id) 148 | try { 149 | let content = JSON.parse(exported) 150 | if (!isRaw) { 151 | if (!content.startsWith(dataUriPrefix)) return 152 | content = decodeURIComponent( 153 | content.slice(dataUriPrefix.length) 154 | ) 155 | } 156 | let optimized = await optimizeSvg(content, id) 157 | if (!isRaw) { 158 | optimized = dataUriPrefix + encodeURIComponent(optimized) 159 | } 160 | console.log('optimizeSvg:', { id, content, optimized }) 161 | return code.replace(exported, JSON.stringify(optimized)) 162 | } catch (err) { 163 | debug(`Failed to transform "${id}". ` + err.message) 164 | } 165 | } 166 | } 167 | }, 168 | } 169 | 170 | const postPlugin: Plugin = { 171 | name: 'vite:compress', 172 | apply: 'build', 173 | enforce: 'post', 174 | configResolved({ root, logger, build: { ssr } }) { 175 | if (ssr) return 176 | const threshold = opts.threshold ?? 1501 177 | 178 | this.buildStart = () => { 179 | this.closeBundle = closeBundle 180 | } 181 | this.buildEnd = error => { 182 | if (error) this.closeBundle = undefined 183 | } 184 | 185 | let htmlOpts: HtmlMinifyOptions | undefined 186 | if (opts.minifyHtml) { 187 | const overrides = opts.minifyHtml === true ? {} : opts.minifyHtml 188 | htmlOpts = { 189 | collapseBooleanAttributes: true, 190 | collapseWhitespace: true, 191 | keepClosingSlash: true, 192 | minifyJS: true, 193 | removeAttributeQuotes: true, 194 | removeComments: true, 195 | removeEmptyAttributes: true, 196 | removeRedundantAttributes: true, 197 | removeScriptTypeAttributes: true, 198 | removeStyleLinkTypeAttributes: true, 199 | useShortDoctype: true, 200 | ...overrides, 201 | minifyCSS: minifyCss(overrides.minifyCSS), 202 | } 203 | } 204 | 205 | async function closeBundle() { 206 | const files = crawl(outRoot, { 207 | skip: ['.DS_Store'], 208 | }) 209 | const compressed = new Map() 210 | await Promise.all( 211 | files.map( 212 | async (name): Promise => { 213 | if (!extensionRegex.test(name) || excludeRegex.test(name)) return 214 | let filePath = path.posix.join(outRoot, name) 215 | if (excludeRegex.test(filePath)) return 216 | 217 | let { mtimeMs, size: oldSize } = await fsp.stat(filePath) 218 | if (mtimeMs <= (mtimeCache.get(filePath) || 0)) return 219 | 220 | let newFilePath: string | undefined 221 | let compress: 222 | | ((content: Buffer) => Buffer | Promise) 223 | | undefined 224 | 225 | if (pngExt.test(name)) { 226 | if (opts.webp) { 227 | webpGenerator ??= webp( 228 | opts.webp === true ? undefined : opts.webp 229 | ) 230 | newFilePath = filePath.replace(pngExt, '.webp') 231 | compress = content => 232 | imagemin.buffer(content, { 233 | plugins: [webpGenerator], 234 | }) 235 | } else if (opts.pngquant !== false) { 236 | pngOptimizer ??= pngquant(opts.pngquant) 237 | compress = content => 238 | imagemin.buffer(content, { 239 | plugins: [pngOptimizer], 240 | }) 241 | } 242 | } else { 243 | const useBrotli = 244 | oldSize >= threshold && 245 | !brotliExcludeRegex.test(name) && 246 | !brotliExcludeRegex.test(filePath) 247 | if (opts.minifyHtml && htmlExt.test(name)) { 248 | compress = content => { 249 | const html = minifyHtml(content.toString('utf8'), htmlOpts) 250 | content = Buffer.from(html) 251 | return useBrotli && content.byteLength >= threshold 252 | ? brotli(content) 253 | : content 254 | } 255 | } else if (useBrotli) { 256 | compress = brotli 257 | } 258 | } 259 | 260 | let content: Buffer | undefined 261 | if (opts.svgo !== false && svgExt.test(name)) { 262 | content = await fsp.readFile(filePath) 263 | content = Buffer.from( 264 | await optimizeSvg(content.toString('utf8'), filePath) 265 | ) 266 | } else if (compress) { 267 | content = await fsp.readFile(filePath) 268 | content = await compress(content) 269 | } 270 | 271 | if (content) { 272 | mtimeCache.set(filePath, Date.now()) 273 | if (newFilePath) { 274 | await fsp.unlink(filePath) 275 | name = path.relative(outRoot, (filePath = newFilePath)) 276 | } 277 | await fsp.writeFile(filePath, content) 278 | compressed.set(name, 1 - content.byteLength / oldSize) 279 | } 280 | } 281 | ) 282 | ) 283 | if (opts.verbose) { 284 | logger.info('\nFiles compressed:') 285 | const lengths = Array.from(compressed.keys(), name => name.length) 286 | const maxLength = Math.max(...lengths) 287 | const outDir = path.posix.relative(root, outRoot) 288 | compressed.forEach((ratio, name) => { 289 | logger.info( 290 | ' ' + 291 | chalk.gray(outDir + '/') + 292 | chalk.green(name) + 293 | ' '.repeat(2 + maxLength - name.length) + 294 | chalk.blueBright(`${Math.floor(100 * ratio)}% smaller`) 295 | ) 296 | }) 297 | logger.info('') 298 | } 299 | } 300 | 301 | function brotli(content: Buffer) { 302 | const params = { 303 | [zlib.constants.BROTLI_PARAM_MODE]: zlib.constants.BROTLI_MODE_TEXT, 304 | [zlib.constants.BROTLI_PARAM_QUALITY]: 305 | opts.quality ?? zlib.constants.BROTLI_MAX_QUALITY, 306 | [zlib.constants.BROTLI_PARAM_SIZE_HINT]: content.byteLength, 307 | } 308 | return new Promise((resolve, reject) => { 309 | zlib.brotliCompress(content, { params }, (err, result) => 310 | err ? reject(err) : resolve(result) 311 | ) 312 | }) 313 | } 314 | }, 315 | } 316 | 317 | return [prePlugin, postPlugin] 318 | } 319 | 320 | export { PngOptions } 321 | 322 | export type SvgOptions = Partial< 323 | Remap> 324 | > 325 | 326 | type Remap = {} & { [P in keyof T]: T[P] } 327 | 328 | type UnionToIntersection = (T extends any ? (x: T) => any : never) extends ( 329 | x: infer R 330 | ) => any 331 | ? R 332 | : never 333 | -------------------------------------------------------------------------------- /demo/public/goku.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.3 2 | 3 | specifiers: 4 | '@alloc/prettier-config': ^1.0.0 5 | '@types/clean-css': ^4.2.5 6 | '@types/debug': ^4.1.7 7 | '@types/html-minifier-terser': ^5.1.2 8 | '@types/imagemin': ^7.0.0 9 | '@types/imagemin-webp': ^5.1.2 10 | '@types/node': ^14.14.20 11 | '@types/svgo': ^1.3.3 12 | chalk: ^4.1.0 13 | clean-css: ^4.2.3 14 | debug: ^4.3.2 15 | glob-regex: ^0.3.2 16 | html-minifier-terser: ^5.1.1 17 | imagemin: ^7.0.1 18 | imagemin-pngquant: ^9.0.1 19 | imagemin-webp: ^6.0.0 20 | prettier: ^2.0.5 21 | recrawl-sync: ^2.0.2 22 | svgo: ^1.3.2 23 | typescript: ^4.0.0 24 | vite: latest 25 | 26 | dependencies: 27 | '@types/clean-css': 4.2.5 28 | '@types/html-minifier-terser': 5.1.2 29 | '@types/imagemin-webp': 5.1.2 30 | '@types/svgo': 1.3.3 31 | chalk: 4.1.0 32 | clean-css: 4.2.3 33 | debug: 4.3.2 34 | glob-regex: 0.3.2 35 | html-minifier-terser: 5.1.1 36 | imagemin: 7.0.1 37 | imagemin-pngquant: 9.0.1 38 | imagemin-webp: 6.0.0 39 | recrawl-sync: 2.0.2 40 | svgo: 1.3.2 41 | 42 | devDependencies: 43 | '@alloc/prettier-config': 1.0.0 44 | '@types/debug': 4.1.7 45 | '@types/imagemin': 7.0.0 46 | '@types/node': 14.14.22 47 | prettier: 2.2.1 48 | typescript: 4.1.3 49 | vite: 2.6.7 50 | 51 | packages: 52 | 53 | /@alloc/prettier-config/1.0.0: 54 | resolution: {integrity: sha512-xm50V1qxSdTh1O1fKA+gqcU605YSnxfq6HwtYSFU3fRsKMFnUSuSOxqSAPI7y2sRxqPed2EIuGmNn107LVQM6g==} 55 | dev: true 56 | 57 | /@cush/relative/0.1.0: 58 | resolution: {integrity: sha512-pnF2c2hhHyC520CmYYKq3hGOS0kipkGBgRnp3z7wx7lDzykaUwQW3wPQmiX9YtbHUcgUu1qQtzstixmeYMwQoA==} 59 | dev: false 60 | 61 | /@nodelib/fs.scandir/2.1.4: 62 | resolution: {integrity: sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==} 63 | engines: {node: '>= 8'} 64 | dependencies: 65 | '@nodelib/fs.stat': 2.0.4 66 | run-parallel: 1.1.10 67 | dev: false 68 | 69 | /@nodelib/fs.stat/2.0.4: 70 | resolution: {integrity: sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==} 71 | engines: {node: '>= 8'} 72 | dev: false 73 | 74 | /@nodelib/fs.walk/1.2.6: 75 | resolution: {integrity: sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==} 76 | engines: {node: '>= 8'} 77 | dependencies: 78 | '@nodelib/fs.scandir': 2.1.4 79 | fastq: 1.10.0 80 | dev: false 81 | 82 | /@sindresorhus/is/0.7.0: 83 | resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==} 84 | engines: {node: '>=4'} 85 | dev: false 86 | 87 | /@types/clean-css/4.2.5: 88 | resolution: {integrity: sha512-NEzjkGGpbs9S9fgC4abuBvTpVwE3i+Acu9BBod3PUyjDVZcNsGx61b8r2PphR61QGPnn0JHVs5ey6/I4eTrkxw==} 89 | dependencies: 90 | '@types/node': 14.17.5 91 | source-map: 0.6.1 92 | dev: false 93 | 94 | /@types/debug/4.1.7: 95 | resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} 96 | dependencies: 97 | '@types/ms': 0.7.31 98 | dev: true 99 | 100 | /@types/glob/7.1.3: 101 | resolution: {integrity: sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==} 102 | dependencies: 103 | '@types/minimatch': 3.0.3 104 | '@types/node': 14.14.22 105 | dev: false 106 | 107 | /@types/html-minifier-terser/5.1.2: 108 | resolution: {integrity: sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==} 109 | dev: false 110 | 111 | /@types/imagemin-webp/5.1.2: 112 | resolution: {integrity: sha512-elm1oHtWvpu56ucCgnlcP4uiaH9tO8icfF+Vqma4VzuS2b1dgchSRccf7iI1eDxWatvmRt91jHwP0MDwsHhnuA==} 113 | dependencies: 114 | '@types/imagemin': 7.0.1 115 | dev: false 116 | 117 | /@types/imagemin/7.0.0: 118 | resolution: {integrity: sha512-BiNd5FazD5ZmJUYD9txsbrttL0P0welrb9yAPn6ykKK3kWufwFsxYqw5KdggfZQDjiNYwsBrX+Fwei0Xsw4oAw==} 119 | dependencies: 120 | '@types/node': 14.14.22 121 | dev: true 122 | 123 | /@types/imagemin/7.0.1: 124 | resolution: {integrity: sha512-xEn5+M3lDBtI3JxLy6eU3ksoVurygnlG7OYhTqJfGGP4PcvYnfn+IABCmMve7ziM/SneHDm5xgJFKC8hCYPicw==} 125 | dependencies: 126 | '@types/node': 14.17.5 127 | dev: false 128 | 129 | /@types/minimatch/3.0.3: 130 | resolution: {integrity: sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==} 131 | dev: false 132 | 133 | /@types/ms/0.7.31: 134 | resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} 135 | dev: true 136 | 137 | /@types/node/14.14.22: 138 | resolution: {integrity: sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==} 139 | 140 | /@types/node/14.17.5: 141 | resolution: {integrity: sha512-bjqH2cX/O33jXT/UmReo2pM7DIJREPMnarixbQ57DOOzzFaI6D2+IcwaJQaJpv0M1E9TIhPCYVxrkcityLjlqA==} 142 | dev: false 143 | 144 | /@types/q/1.5.4: 145 | resolution: {integrity: sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==} 146 | dev: false 147 | 148 | /@types/svgo/1.3.3: 149 | resolution: {integrity: sha512-eDLVUvvTn+mol3NpP211DTH9JzSS6YKssRIhHNmXk5BiCl+gc4s+xQQjRFTSsGBohmka5qBsHX6qhL4x88Wkvg==} 150 | dev: false 151 | 152 | /ansi-regex/2.1.1: 153 | resolution: {integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=} 154 | engines: {node: '>=0.10.0'} 155 | dev: false 156 | 157 | /ansi-styles/2.2.1: 158 | resolution: {integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=} 159 | engines: {node: '>=0.10.0'} 160 | dev: false 161 | 162 | /ansi-styles/3.2.1: 163 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 164 | engines: {node: '>=4'} 165 | dependencies: 166 | color-convert: 1.9.3 167 | dev: false 168 | 169 | /ansi-styles/4.3.0: 170 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 171 | engines: {node: '>=8'} 172 | dependencies: 173 | color-convert: 2.0.1 174 | dev: false 175 | 176 | /arch/2.2.0: 177 | resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} 178 | dev: false 179 | 180 | /archive-type/4.0.0: 181 | resolution: {integrity: sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=} 182 | engines: {node: '>=4'} 183 | dependencies: 184 | file-type: 4.4.0 185 | dev: false 186 | 187 | /argparse/1.0.10: 188 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 189 | dependencies: 190 | sprintf-js: 1.0.3 191 | dev: false 192 | 193 | /array-find-index/1.0.2: 194 | resolution: {integrity: sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=} 195 | engines: {node: '>=0.10.0'} 196 | dev: false 197 | 198 | /array-union/2.1.0: 199 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 200 | engines: {node: '>=8'} 201 | dev: false 202 | 203 | /balanced-match/1.0.0: 204 | resolution: {integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c=} 205 | dev: false 206 | 207 | /base64-js/1.5.1: 208 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 209 | dev: false 210 | 211 | /bin-build/3.0.0: 212 | resolution: {integrity: sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==} 213 | engines: {node: '>=4'} 214 | dependencies: 215 | decompress: 4.2.1 216 | download: 6.2.5 217 | execa: 0.7.0 218 | p-map-series: 1.0.0 219 | tempfile: 2.0.0 220 | dev: false 221 | 222 | /bin-check/4.1.0: 223 | resolution: {integrity: sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==} 224 | engines: {node: '>=4'} 225 | dependencies: 226 | execa: 0.7.0 227 | executable: 4.1.1 228 | dev: false 229 | 230 | /bin-version-check/4.0.0: 231 | resolution: {integrity: sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==} 232 | engines: {node: '>=6'} 233 | dependencies: 234 | bin-version: 3.1.0 235 | semver: 5.7.1 236 | semver-truncate: 1.1.2 237 | dev: false 238 | 239 | /bin-version/3.1.0: 240 | resolution: {integrity: sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==} 241 | engines: {node: '>=6'} 242 | dependencies: 243 | execa: 1.0.0 244 | find-versions: 3.2.0 245 | dev: false 246 | 247 | /bin-wrapper/4.1.0: 248 | resolution: {integrity: sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==} 249 | engines: {node: '>=6'} 250 | dependencies: 251 | bin-check: 4.1.0 252 | bin-version-check: 4.0.0 253 | download: 7.1.0 254 | import-lazy: 3.1.0 255 | os-filter-obj: 2.0.0 256 | pify: 4.0.1 257 | dev: false 258 | 259 | /bl/1.2.3: 260 | resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} 261 | dependencies: 262 | readable-stream: 2.3.7 263 | safe-buffer: 5.2.1 264 | dev: false 265 | 266 | /boolbase/1.0.0: 267 | resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=} 268 | dev: false 269 | 270 | /brace-expansion/1.1.11: 271 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 272 | dependencies: 273 | balanced-match: 1.0.0 274 | concat-map: 0.0.1 275 | dev: false 276 | 277 | /braces/3.0.2: 278 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 279 | engines: {node: '>=8'} 280 | dependencies: 281 | fill-range: 7.0.1 282 | dev: false 283 | 284 | /buffer-alloc-unsafe/1.1.0: 285 | resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} 286 | dev: false 287 | 288 | /buffer-alloc/1.2.0: 289 | resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} 290 | dependencies: 291 | buffer-alloc-unsafe: 1.1.0 292 | buffer-fill: 1.0.0 293 | dev: false 294 | 295 | /buffer-crc32/0.2.13: 296 | resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} 297 | dev: false 298 | 299 | /buffer-fill/1.0.0: 300 | resolution: {integrity: sha1-+PeLdniYiO858gXNY39o5wISKyw=} 301 | dev: false 302 | 303 | /buffer-from/1.1.1: 304 | resolution: {integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==} 305 | dev: false 306 | 307 | /buffer/5.7.1: 308 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 309 | dependencies: 310 | base64-js: 1.5.1 311 | ieee754: 1.2.1 312 | dev: false 313 | 314 | /cacheable-request/2.1.4: 315 | resolution: {integrity: sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=} 316 | dependencies: 317 | clone-response: 1.0.2 318 | get-stream: 3.0.0 319 | http-cache-semantics: 3.8.1 320 | keyv: 3.0.0 321 | lowercase-keys: 1.0.0 322 | normalize-url: 2.0.1 323 | responselike: 1.0.2 324 | dev: false 325 | 326 | /call-bind/1.0.2: 327 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 328 | dependencies: 329 | function-bind: 1.1.1 330 | get-intrinsic: 1.0.2 331 | dev: false 332 | 333 | /camel-case/4.1.2: 334 | resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} 335 | dependencies: 336 | pascal-case: 3.1.2 337 | tslib: 2.3.0 338 | dev: false 339 | 340 | /camelcase-keys/2.1.0: 341 | resolution: {integrity: sha1-MIvur/3ygRkFHvodkyITyRuPkuc=} 342 | engines: {node: '>=0.10.0'} 343 | dependencies: 344 | camelcase: 2.1.1 345 | map-obj: 1.0.1 346 | dev: false 347 | 348 | /camelcase/2.1.1: 349 | resolution: {integrity: sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=} 350 | engines: {node: '>=0.10.0'} 351 | dev: false 352 | 353 | /caw/2.0.1: 354 | resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==} 355 | engines: {node: '>=4'} 356 | dependencies: 357 | get-proxy: 2.1.0 358 | isurl: 1.0.0 359 | tunnel-agent: 0.6.0 360 | url-to-options: 1.0.1 361 | dev: false 362 | 363 | /chalk/1.1.3: 364 | resolution: {integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=} 365 | engines: {node: '>=0.10.0'} 366 | dependencies: 367 | ansi-styles: 2.2.1 368 | escape-string-regexp: 1.0.5 369 | has-ansi: 2.0.0 370 | strip-ansi: 3.0.1 371 | supports-color: 2.0.0 372 | dev: false 373 | 374 | /chalk/2.4.2: 375 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 376 | engines: {node: '>=4'} 377 | dependencies: 378 | ansi-styles: 3.2.1 379 | escape-string-regexp: 1.0.5 380 | supports-color: 5.5.0 381 | dev: false 382 | 383 | /chalk/4.1.0: 384 | resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==} 385 | engines: {node: '>=10'} 386 | dependencies: 387 | ansi-styles: 4.3.0 388 | supports-color: 7.2.0 389 | dev: false 390 | 391 | /clean-css/4.2.3: 392 | resolution: {integrity: sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==} 393 | engines: {node: '>= 4.0'} 394 | dependencies: 395 | source-map: 0.6.1 396 | dev: false 397 | 398 | /clone-response/1.0.2: 399 | resolution: {integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=} 400 | dependencies: 401 | mimic-response: 1.0.1 402 | dev: false 403 | 404 | /coa/2.0.2: 405 | resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} 406 | engines: {node: '>= 4.0'} 407 | dependencies: 408 | '@types/q': 1.5.4 409 | chalk: 2.4.2 410 | q: 1.5.1 411 | dev: false 412 | 413 | /color-convert/1.9.3: 414 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 415 | dependencies: 416 | color-name: 1.1.3 417 | dev: false 418 | 419 | /color-convert/2.0.1: 420 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 421 | engines: {node: '>=7.0.0'} 422 | dependencies: 423 | color-name: 1.1.4 424 | dev: false 425 | 426 | /color-name/1.1.3: 427 | resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} 428 | dev: false 429 | 430 | /color-name/1.1.4: 431 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 432 | dev: false 433 | 434 | /commander/2.20.3: 435 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 436 | dev: false 437 | 438 | /commander/4.1.1: 439 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 440 | engines: {node: '>= 6'} 441 | dev: false 442 | 443 | /concat-map/0.0.1: 444 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 445 | dev: false 446 | 447 | /config-chain/1.1.12: 448 | resolution: {integrity: sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==} 449 | dependencies: 450 | ini: 1.3.8 451 | proto-list: 1.2.4 452 | dev: false 453 | 454 | /console-stream/0.1.1: 455 | resolution: {integrity: sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=} 456 | dev: false 457 | 458 | /content-disposition/0.5.3: 459 | resolution: {integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==} 460 | engines: {node: '>= 0.6'} 461 | dependencies: 462 | safe-buffer: 5.1.2 463 | dev: false 464 | 465 | /core-util-is/1.0.2: 466 | resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=} 467 | dev: false 468 | 469 | /cross-spawn/5.1.0: 470 | resolution: {integrity: sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=} 471 | dependencies: 472 | lru-cache: 4.1.5 473 | shebang-command: 1.2.0 474 | which: 1.3.1 475 | dev: false 476 | 477 | /cross-spawn/6.0.5: 478 | resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} 479 | engines: {node: '>=4.8'} 480 | dependencies: 481 | nice-try: 1.0.5 482 | path-key: 2.0.1 483 | semver: 5.7.1 484 | shebang-command: 1.2.0 485 | which: 1.3.1 486 | dev: false 487 | 488 | /cross-spawn/7.0.3: 489 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 490 | engines: {node: '>= 8'} 491 | dependencies: 492 | path-key: 3.1.1 493 | shebang-command: 2.0.0 494 | which: 2.0.2 495 | dev: false 496 | 497 | /css-select-base-adapter/0.1.1: 498 | resolution: {integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==} 499 | dev: false 500 | 501 | /css-select/2.1.0: 502 | resolution: {integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==} 503 | dependencies: 504 | boolbase: 1.0.0 505 | css-what: 3.4.2 506 | domutils: 1.7.0 507 | nth-check: 1.0.2 508 | dev: false 509 | 510 | /css-tree/1.0.0-alpha.37: 511 | resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} 512 | engines: {node: '>=8.0.0'} 513 | dependencies: 514 | mdn-data: 2.0.4 515 | source-map: 0.6.1 516 | dev: false 517 | 518 | /css-tree/1.1.2: 519 | resolution: {integrity: sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==} 520 | engines: {node: '>=8.0.0'} 521 | dependencies: 522 | mdn-data: 2.0.14 523 | source-map: 0.6.1 524 | dev: false 525 | 526 | /css-what/3.4.2: 527 | resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==} 528 | engines: {node: '>= 6'} 529 | dev: false 530 | 531 | /csso/4.2.0: 532 | resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} 533 | engines: {node: '>=8.0.0'} 534 | dependencies: 535 | css-tree: 1.1.2 536 | dev: false 537 | 538 | /currently-unhandled/0.4.1: 539 | resolution: {integrity: sha1-mI3zP+qxke95mmE2nddsF635V+o=} 540 | engines: {node: '>=0.10.0'} 541 | dependencies: 542 | array-find-index: 1.0.2 543 | dev: false 544 | 545 | /cwebp-bin/5.1.0: 546 | resolution: {integrity: sha512-BsPKStaNr98zfxwejWWLIGELbPERULJoD2v5ijvpeutSAGsegX7gmABgnkRK7MUucCPROXXfaPqkLAwI509JzA==} 547 | engines: {node: '>=6'} 548 | hasBin: true 549 | requiresBuild: true 550 | dependencies: 551 | bin-build: 3.0.0 552 | bin-wrapper: 4.1.0 553 | logalot: 2.1.0 554 | dev: false 555 | 556 | /debug/4.3.2: 557 | resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} 558 | engines: {node: '>=6.0'} 559 | peerDependencies: 560 | supports-color: '*' 561 | peerDependenciesMeta: 562 | supports-color: 563 | optional: true 564 | dependencies: 565 | ms: 2.1.2 566 | dev: false 567 | 568 | /decamelize/1.2.0: 569 | resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} 570 | engines: {node: '>=0.10.0'} 571 | dev: false 572 | 573 | /decode-uri-component/0.2.0: 574 | resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=} 575 | engines: {node: '>=0.10'} 576 | dev: false 577 | 578 | /decompress-response/3.3.0: 579 | resolution: {integrity: sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=} 580 | engines: {node: '>=4'} 581 | dependencies: 582 | mimic-response: 1.0.1 583 | dev: false 584 | 585 | /decompress-tar/4.1.1: 586 | resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} 587 | engines: {node: '>=4'} 588 | dependencies: 589 | file-type: 5.2.0 590 | is-stream: 1.1.0 591 | tar-stream: 1.6.2 592 | dev: false 593 | 594 | /decompress-tarbz2/4.1.1: 595 | resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} 596 | engines: {node: '>=4'} 597 | dependencies: 598 | decompress-tar: 4.1.1 599 | file-type: 6.2.0 600 | is-stream: 1.1.0 601 | seek-bzip: 1.0.6 602 | unbzip2-stream: 1.4.3 603 | dev: false 604 | 605 | /decompress-targz/4.1.1: 606 | resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} 607 | engines: {node: '>=4'} 608 | dependencies: 609 | decompress-tar: 4.1.1 610 | file-type: 5.2.0 611 | is-stream: 1.1.0 612 | dev: false 613 | 614 | /decompress-unzip/4.0.1: 615 | resolution: {integrity: sha1-3qrM39FK6vhVePczroIQ+bSEj2k=} 616 | engines: {node: '>=4'} 617 | dependencies: 618 | file-type: 3.9.0 619 | get-stream: 2.3.1 620 | pify: 2.3.0 621 | yauzl: 2.10.0 622 | dev: false 623 | 624 | /decompress/4.2.1: 625 | resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} 626 | engines: {node: '>=4'} 627 | dependencies: 628 | decompress-tar: 4.1.1 629 | decompress-tarbz2: 4.1.1 630 | decompress-targz: 4.1.1 631 | decompress-unzip: 4.0.1 632 | graceful-fs: 4.2.4 633 | make-dir: 1.3.0 634 | pify: 2.3.0 635 | strip-dirs: 2.1.0 636 | dev: false 637 | 638 | /define-properties/1.1.3: 639 | resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} 640 | engines: {node: '>= 0.4'} 641 | dependencies: 642 | object-keys: 1.1.1 643 | dev: false 644 | 645 | /dir-glob/3.0.1: 646 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 647 | engines: {node: '>=8'} 648 | dependencies: 649 | path-type: 4.0.0 650 | dev: false 651 | 652 | /dom-serializer/0.2.2: 653 | resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} 654 | dependencies: 655 | domelementtype: 2.1.0 656 | entities: 2.1.0 657 | dev: false 658 | 659 | /domelementtype/1.3.1: 660 | resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} 661 | dev: false 662 | 663 | /domelementtype/2.1.0: 664 | resolution: {integrity: sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==} 665 | dev: false 666 | 667 | /domutils/1.7.0: 668 | resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} 669 | dependencies: 670 | dom-serializer: 0.2.2 671 | domelementtype: 1.3.1 672 | dev: false 673 | 674 | /dot-case/3.0.4: 675 | resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} 676 | dependencies: 677 | no-case: 3.0.4 678 | tslib: 2.3.0 679 | dev: false 680 | 681 | /download/6.2.5: 682 | resolution: {integrity: sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==} 683 | engines: {node: '>=4'} 684 | dependencies: 685 | caw: 2.0.1 686 | content-disposition: 0.5.3 687 | decompress: 4.2.1 688 | ext-name: 5.0.0 689 | file-type: 5.2.0 690 | filenamify: 2.1.0 691 | get-stream: 3.0.0 692 | got: 7.1.0 693 | make-dir: 1.3.0 694 | p-event: 1.3.0 695 | pify: 3.0.0 696 | dev: false 697 | 698 | /download/7.1.0: 699 | resolution: {integrity: sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==} 700 | engines: {node: '>=6'} 701 | dependencies: 702 | archive-type: 4.0.0 703 | caw: 2.0.1 704 | content-disposition: 0.5.3 705 | decompress: 4.2.1 706 | ext-name: 5.0.0 707 | file-type: 8.1.0 708 | filenamify: 2.1.0 709 | get-stream: 3.0.0 710 | got: 8.3.2 711 | make-dir: 1.3.0 712 | p-event: 2.3.1 713 | pify: 3.0.0 714 | dev: false 715 | 716 | /duplexer3/0.1.4: 717 | resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=} 718 | dev: false 719 | 720 | /end-of-stream/1.4.4: 721 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 722 | dependencies: 723 | once: 1.4.0 724 | dev: false 725 | 726 | /entities/2.1.0: 727 | resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} 728 | dev: false 729 | 730 | /error-ex/1.3.2: 731 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 732 | dependencies: 733 | is-arrayish: 0.2.1 734 | dev: false 735 | 736 | /es-abstract/1.17.7: 737 | resolution: {integrity: sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==} 738 | engines: {node: '>= 0.4'} 739 | dependencies: 740 | es-to-primitive: 1.2.1 741 | function-bind: 1.1.1 742 | has: 1.0.3 743 | has-symbols: 1.0.1 744 | is-callable: 1.2.2 745 | is-regex: 1.1.1 746 | object-inspect: 1.9.0 747 | object-keys: 1.1.1 748 | object.assign: 4.1.2 749 | string.prototype.trimend: 1.0.3 750 | string.prototype.trimstart: 1.0.3 751 | dev: false 752 | 753 | /es-abstract/1.18.0-next.2: 754 | resolution: {integrity: sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==} 755 | engines: {node: '>= 0.4'} 756 | dependencies: 757 | call-bind: 1.0.2 758 | es-to-primitive: 1.2.1 759 | function-bind: 1.1.1 760 | get-intrinsic: 1.0.2 761 | has: 1.0.3 762 | has-symbols: 1.0.1 763 | is-callable: 1.2.2 764 | is-negative-zero: 2.0.1 765 | is-regex: 1.1.1 766 | object-inspect: 1.9.0 767 | object-keys: 1.1.1 768 | object.assign: 4.1.2 769 | string.prototype.trimend: 1.0.3 770 | string.prototype.trimstart: 1.0.3 771 | dev: false 772 | 773 | /es-to-primitive/1.2.1: 774 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 775 | engines: {node: '>= 0.4'} 776 | dependencies: 777 | is-callable: 1.2.2 778 | is-date-object: 1.0.2 779 | is-symbol: 1.0.3 780 | dev: false 781 | 782 | /esbuild-android-arm64/0.13.6: 783 | resolution: {integrity: sha512-uEwrMRzqNzXxzIi0K/CtHn3/SPoRso4Dd/aJCpf9KuX+kCs9Tlhz29cKbZieznYAekdo36fDUrZyuugAwSdI+A==} 784 | cpu: [arm64] 785 | os: [android] 786 | requiresBuild: true 787 | dev: true 788 | optional: true 789 | 790 | /esbuild-darwin-64/0.13.6: 791 | resolution: {integrity: sha512-oJdWZn2QV5LTM24/vVWaUFlMVlRhpG9zZIA6Xd+xbCULOURwYnYRQWIzRpXNtTfuAr3+em9PqKUaGtYqvO/DYg==} 792 | cpu: [x64] 793 | os: [darwin] 794 | requiresBuild: true 795 | dev: true 796 | optional: true 797 | 798 | /esbuild-darwin-arm64/0.13.6: 799 | resolution: {integrity: sha512-+f8Yn5doTEpCWtBaGxciDTikxESdGCNZpLYtXzMJLTWFHr8zqfAf4TAYGvg6T5T6N7OMC8HHy3GM+BijFXDXMg==} 800 | cpu: [arm64] 801 | os: [darwin] 802 | requiresBuild: true 803 | dev: true 804 | optional: true 805 | 806 | /esbuild-freebsd-64/0.13.6: 807 | resolution: {integrity: sha512-Yb/DgZUX0C6i4vnOymthLzoWAJBYWbn3Y2F4wKEufsx2veGN/wlwO/yz7IWGVVzb2zMUqbt30hCLF61sUFe7gA==} 808 | cpu: [x64] 809 | os: [freebsd] 810 | requiresBuild: true 811 | dev: true 812 | optional: true 813 | 814 | /esbuild-freebsd-arm64/0.13.6: 815 | resolution: {integrity: sha512-UKYlEb7mwprSJ9VW9+q3/Mgxest45I6rGMB/hrKY1T6lqoBVhWS4BTbL4EGetWdk05Tw4njFAO9+nmxgl7jMlA==} 816 | cpu: [arm64] 817 | os: [freebsd] 818 | requiresBuild: true 819 | dev: true 820 | optional: true 821 | 822 | /esbuild-linux-32/0.13.6: 823 | resolution: {integrity: sha512-hQCZfSLBYtn8f1afFT6Dh9KeLsW12xLqrqssbhpi/xfN9c/bbCh/QQZaR9ZOEnmBHHRPb7rbSo3jQqlCWYb7LQ==} 824 | cpu: [ia32] 825 | os: [linux] 826 | requiresBuild: true 827 | dev: true 828 | optional: true 829 | 830 | /esbuild-linux-64/0.13.6: 831 | resolution: {integrity: sha512-bRQwsD+xJoajonfyeq5JpiNRogH4mYFYbYsGhwrtQ4pMGk93V/4KuKQiKEisRZO0hYhZL4MtxufwF195zKlCAw==} 832 | cpu: [x64] 833 | os: [linux] 834 | requiresBuild: true 835 | dev: true 836 | optional: true 837 | 838 | /esbuild-linux-arm/0.13.6: 839 | resolution: {integrity: sha512-qQUrpL7QoPqujXEFSpeu6QZ43z0+OdDPHDkLO0GPbpV/jebP7J+0FreMqoq7ZxWG4rPigwcRdEyqzHh8Bh4Faw==} 840 | cpu: [arm] 841 | os: [linux] 842 | requiresBuild: true 843 | dev: true 844 | optional: true 845 | 846 | /esbuild-linux-arm64/0.13.6: 847 | resolution: {integrity: sha512-sRc1lt9ma1xBvInCwpS77ywR6KVdcJNsErsrDkDXx3mVe8DLLEn05TG0nIX9I+s8ouHEepikdKCfe1DZdILRjQ==} 848 | cpu: [arm64] 849 | os: [linux] 850 | requiresBuild: true 851 | dev: true 852 | optional: true 853 | 854 | /esbuild-linux-mips64le/0.13.6: 855 | resolution: {integrity: sha512-1lsHZaIsHlFkHn1QRa/EONPGVHwzdIrkKn6r2m9cYUIn2J+rKtJg0e+WkNG3MaIrxozaGKaiSPGvaG1toCbZjw==} 856 | cpu: [mips64el] 857 | os: [linux] 858 | requiresBuild: true 859 | dev: true 860 | optional: true 861 | 862 | /esbuild-linux-ppc64le/0.13.6: 863 | resolution: {integrity: sha512-x223JNC8XeLDf05zLaKfxqCEWVct4frp8ft8Qc13cha33TMrqMFaSPq6cgpgT2VYuUsXtwoocoWChKfvy+AUQg==} 864 | cpu: [ppc64] 865 | os: [linux] 866 | requiresBuild: true 867 | dev: true 868 | optional: true 869 | 870 | /esbuild-netbsd-64/0.13.6: 871 | resolution: {integrity: sha512-TonKf530kT25+zi1Da6esITmuBJe13QiN+QGVch6YE8t720IvIelDGwkOQN3Td7A0JjbSbK3u+Fo6YaL151VxQ==} 872 | cpu: [x64] 873 | os: [netbsd] 874 | requiresBuild: true 875 | dev: true 876 | optional: true 877 | 878 | /esbuild-openbsd-64/0.13.6: 879 | resolution: {integrity: sha512-WFa5J0IuyER0UJbCGw87gvGWXGfhxeNppYcvQjp0pWYuH4FS+YqphyjV0RJlybzzDpAXkyZ9RzkMFtSAp+6AUA==} 880 | cpu: [x64] 881 | os: [openbsd] 882 | requiresBuild: true 883 | dev: true 884 | optional: true 885 | 886 | /esbuild-sunos-64/0.13.6: 887 | resolution: {integrity: sha512-duCL8Ewri+zjKxuN/61maniDxcd8fHwSuubdAPofll0y0E6WcL/R/e/mQzhHIuoguFm5RJkKun1qua54javh7g==} 888 | cpu: [x64] 889 | os: [sunos] 890 | requiresBuild: true 891 | dev: true 892 | optional: true 893 | 894 | /esbuild-windows-32/0.13.6: 895 | resolution: {integrity: sha512-U8RkpT4f0/dygA5ytFyHNZ/fRECU9LWBMrqWflNhM31iTi6RhU0QTuOzFYkmpYnwl358ZZhVoBeEOm313d4u4A==} 896 | cpu: [ia32] 897 | os: [win32] 898 | requiresBuild: true 899 | dev: true 900 | optional: true 901 | 902 | /esbuild-windows-64/0.13.6: 903 | resolution: {integrity: sha512-A23VyUeyBfSWUYNL0jtrJi5M/2yR/RR8zfpGQ0wU0fldqV2vxnvmBYOBwRxexFYCDRpRWh4cPFsoYoXRCFa8Dg==} 904 | cpu: [x64] 905 | os: [win32] 906 | requiresBuild: true 907 | dev: true 908 | optional: true 909 | 910 | /esbuild-windows-arm64/0.13.6: 911 | resolution: {integrity: sha512-K/pFqK/s5C6wXYcFKO9iPY4yU3DI0/Gbl1W2+OhaPHoXu13VGBmqbCiQ5lohHGE72FFQl76naOjEayEiI+gDMQ==} 912 | cpu: [arm64] 913 | os: [win32] 914 | requiresBuild: true 915 | dev: true 916 | optional: true 917 | 918 | /esbuild/0.13.6: 919 | resolution: {integrity: sha512-zkMkYwC9ohVe6qxXykKf/4jfbtM/09CL8UEEnwuhO7Xq8NOTN2yAwCrmKKvHlGrEej6Y8e/tAmHB7wMMg7O0ew==} 920 | hasBin: true 921 | requiresBuild: true 922 | optionalDependencies: 923 | esbuild-android-arm64: 0.13.6 924 | esbuild-darwin-64: 0.13.6 925 | esbuild-darwin-arm64: 0.13.6 926 | esbuild-freebsd-64: 0.13.6 927 | esbuild-freebsd-arm64: 0.13.6 928 | esbuild-linux-32: 0.13.6 929 | esbuild-linux-64: 0.13.6 930 | esbuild-linux-arm: 0.13.6 931 | esbuild-linux-arm64: 0.13.6 932 | esbuild-linux-mips64le: 0.13.6 933 | esbuild-linux-ppc64le: 0.13.6 934 | esbuild-netbsd-64: 0.13.6 935 | esbuild-openbsd-64: 0.13.6 936 | esbuild-sunos-64: 0.13.6 937 | esbuild-windows-32: 0.13.6 938 | esbuild-windows-64: 0.13.6 939 | esbuild-windows-arm64: 0.13.6 940 | dev: true 941 | 942 | /escape-string-regexp/1.0.5: 943 | resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} 944 | engines: {node: '>=0.8.0'} 945 | dev: false 946 | 947 | /esprima/4.0.1: 948 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 949 | engines: {node: '>=4'} 950 | hasBin: true 951 | dev: false 952 | 953 | /exec-buffer/3.2.0: 954 | resolution: {integrity: sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==} 955 | engines: {node: '>=4'} 956 | dependencies: 957 | execa: 0.7.0 958 | p-finally: 1.0.0 959 | pify: 3.0.0 960 | rimraf: 2.7.1 961 | tempfile: 2.0.0 962 | dev: false 963 | 964 | /execa/0.7.0: 965 | resolution: {integrity: sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=} 966 | engines: {node: '>=4'} 967 | dependencies: 968 | cross-spawn: 5.1.0 969 | get-stream: 3.0.0 970 | is-stream: 1.1.0 971 | npm-run-path: 2.0.2 972 | p-finally: 1.0.0 973 | signal-exit: 3.0.3 974 | strip-eof: 1.0.0 975 | dev: false 976 | 977 | /execa/1.0.0: 978 | resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} 979 | engines: {node: '>=6'} 980 | dependencies: 981 | cross-spawn: 6.0.5 982 | get-stream: 4.1.0 983 | is-stream: 1.1.0 984 | npm-run-path: 2.0.2 985 | p-finally: 1.0.0 986 | signal-exit: 3.0.3 987 | strip-eof: 1.0.0 988 | dev: false 989 | 990 | /execa/4.1.0: 991 | resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} 992 | engines: {node: '>=10'} 993 | dependencies: 994 | cross-spawn: 7.0.3 995 | get-stream: 5.2.0 996 | human-signals: 1.1.1 997 | is-stream: 2.0.0 998 | merge-stream: 2.0.0 999 | npm-run-path: 4.0.1 1000 | onetime: 5.1.2 1001 | signal-exit: 3.0.3 1002 | strip-final-newline: 2.0.0 1003 | dev: false 1004 | 1005 | /executable/4.1.1: 1006 | resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} 1007 | engines: {node: '>=4'} 1008 | dependencies: 1009 | pify: 2.3.0 1010 | dev: false 1011 | 1012 | /ext-list/2.2.2: 1013 | resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} 1014 | engines: {node: '>=0.10.0'} 1015 | dependencies: 1016 | mime-db: 1.45.0 1017 | dev: false 1018 | 1019 | /ext-name/5.0.0: 1020 | resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} 1021 | engines: {node: '>=4'} 1022 | dependencies: 1023 | ext-list: 2.2.2 1024 | sort-keys-length: 1.0.1 1025 | dev: false 1026 | 1027 | /fast-glob/3.2.5: 1028 | resolution: {integrity: sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==} 1029 | engines: {node: '>=8'} 1030 | dependencies: 1031 | '@nodelib/fs.stat': 2.0.4 1032 | '@nodelib/fs.walk': 1.2.6 1033 | glob-parent: 5.1.1 1034 | merge2: 1.4.1 1035 | micromatch: 4.0.2 1036 | picomatch: 2.2.2 1037 | dev: false 1038 | 1039 | /fastq/1.10.0: 1040 | resolution: {integrity: sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==} 1041 | dependencies: 1042 | reusify: 1.0.4 1043 | dev: false 1044 | 1045 | /fd-slicer/1.1.0: 1046 | resolution: {integrity: sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=} 1047 | dependencies: 1048 | pend: 1.2.0 1049 | dev: false 1050 | 1051 | /figures/1.7.0: 1052 | resolution: {integrity: sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=} 1053 | engines: {node: '>=0.10.0'} 1054 | dependencies: 1055 | escape-string-regexp: 1.0.5 1056 | object-assign: 4.1.1 1057 | dev: false 1058 | 1059 | /file-type/10.11.0: 1060 | resolution: {integrity: sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==} 1061 | engines: {node: '>=6'} 1062 | dev: false 1063 | 1064 | /file-type/12.4.2: 1065 | resolution: {integrity: sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==} 1066 | engines: {node: '>=8'} 1067 | dev: false 1068 | 1069 | /file-type/3.9.0: 1070 | resolution: {integrity: sha1-JXoHg4TR24CHvESdEH1SpSZyuek=} 1071 | engines: {node: '>=0.10.0'} 1072 | dev: false 1073 | 1074 | /file-type/4.4.0: 1075 | resolution: {integrity: sha1-G2AOX8ofvcboDApwxxyNul95BsU=} 1076 | engines: {node: '>=4'} 1077 | dev: false 1078 | 1079 | /file-type/5.2.0: 1080 | resolution: {integrity: sha1-LdvqfHP/42No365J3DOMBYwritY=} 1081 | engines: {node: '>=4'} 1082 | dev: false 1083 | 1084 | /file-type/6.2.0: 1085 | resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} 1086 | engines: {node: '>=4'} 1087 | dev: false 1088 | 1089 | /file-type/8.1.0: 1090 | resolution: {integrity: sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==} 1091 | engines: {node: '>=6'} 1092 | dev: false 1093 | 1094 | /filename-reserved-regex/2.0.0: 1095 | resolution: {integrity: sha1-q/c9+rc10EVECr/qLZHzieu/oik=} 1096 | engines: {node: '>=4'} 1097 | dev: false 1098 | 1099 | /filenamify/2.1.0: 1100 | resolution: {integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==} 1101 | engines: {node: '>=4'} 1102 | dependencies: 1103 | filename-reserved-regex: 2.0.0 1104 | strip-outer: 1.0.1 1105 | trim-repeated: 1.0.0 1106 | dev: false 1107 | 1108 | /fill-range/7.0.1: 1109 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1110 | engines: {node: '>=8'} 1111 | dependencies: 1112 | to-regex-range: 5.0.1 1113 | dev: false 1114 | 1115 | /find-up/1.1.2: 1116 | resolution: {integrity: sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=} 1117 | engines: {node: '>=0.10.0'} 1118 | dependencies: 1119 | path-exists: 2.1.0 1120 | pinkie-promise: 2.0.1 1121 | dev: false 1122 | 1123 | /find-versions/3.2.0: 1124 | resolution: {integrity: sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==} 1125 | engines: {node: '>=6'} 1126 | dependencies: 1127 | semver-regex: 2.0.0 1128 | dev: false 1129 | 1130 | /from2/2.3.0: 1131 | resolution: {integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=} 1132 | dependencies: 1133 | inherits: 2.0.4 1134 | readable-stream: 2.3.7 1135 | dev: false 1136 | 1137 | /fs-constants/1.0.0: 1138 | resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 1139 | dev: false 1140 | 1141 | /fs.realpath/1.0.0: 1142 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} 1143 | dev: false 1144 | 1145 | /fsevents/2.3.2: 1146 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1147 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1148 | os: [darwin] 1149 | dev: true 1150 | optional: true 1151 | 1152 | /function-bind/1.1.1: 1153 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1154 | 1155 | /get-intrinsic/1.0.2: 1156 | resolution: {integrity: sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==} 1157 | dependencies: 1158 | function-bind: 1.1.1 1159 | has: 1.0.3 1160 | has-symbols: 1.0.1 1161 | dev: false 1162 | 1163 | /get-proxy/2.1.0: 1164 | resolution: {integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==} 1165 | engines: {node: '>=4'} 1166 | dependencies: 1167 | npm-conf: 1.1.3 1168 | dev: false 1169 | 1170 | /get-stdin/4.0.1: 1171 | resolution: {integrity: sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=} 1172 | engines: {node: '>=0.10.0'} 1173 | dev: false 1174 | 1175 | /get-stream/2.3.1: 1176 | resolution: {integrity: sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=} 1177 | engines: {node: '>=0.10.0'} 1178 | dependencies: 1179 | object-assign: 4.1.1 1180 | pinkie-promise: 2.0.1 1181 | dev: false 1182 | 1183 | /get-stream/3.0.0: 1184 | resolution: {integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=} 1185 | engines: {node: '>=4'} 1186 | dev: false 1187 | 1188 | /get-stream/4.1.0: 1189 | resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} 1190 | engines: {node: '>=6'} 1191 | dependencies: 1192 | pump: 3.0.0 1193 | dev: false 1194 | 1195 | /get-stream/5.2.0: 1196 | resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} 1197 | engines: {node: '>=8'} 1198 | dependencies: 1199 | pump: 3.0.0 1200 | dev: false 1201 | 1202 | /glob-parent/5.1.1: 1203 | resolution: {integrity: sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==} 1204 | engines: {node: '>= 6'} 1205 | dependencies: 1206 | is-glob: 4.0.1 1207 | dev: false 1208 | 1209 | /glob-regex/0.3.2: 1210 | resolution: {integrity: sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==} 1211 | dev: false 1212 | 1213 | /glob/7.1.6: 1214 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} 1215 | dependencies: 1216 | fs.realpath: 1.0.0 1217 | inflight: 1.0.6 1218 | inherits: 2.0.4 1219 | minimatch: 3.0.4 1220 | once: 1.4.0 1221 | path-is-absolute: 1.0.1 1222 | dev: false 1223 | 1224 | /glob/7.1.7: 1225 | resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} 1226 | dependencies: 1227 | fs.realpath: 1.0.0 1228 | inflight: 1.0.6 1229 | inherits: 2.0.4 1230 | minimatch: 3.0.4 1231 | once: 1.4.0 1232 | path-is-absolute: 1.0.1 1233 | dev: false 1234 | 1235 | /globby/10.0.2: 1236 | resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} 1237 | engines: {node: '>=8'} 1238 | dependencies: 1239 | '@types/glob': 7.1.3 1240 | array-union: 2.1.0 1241 | dir-glob: 3.0.1 1242 | fast-glob: 3.2.5 1243 | glob: 7.1.6 1244 | ignore: 5.1.8 1245 | merge2: 1.4.1 1246 | slash: 3.0.0 1247 | dev: false 1248 | 1249 | /got/7.1.0: 1250 | resolution: {integrity: sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==} 1251 | engines: {node: '>=4'} 1252 | dependencies: 1253 | decompress-response: 3.3.0 1254 | duplexer3: 0.1.4 1255 | get-stream: 3.0.0 1256 | is-plain-obj: 1.1.0 1257 | is-retry-allowed: 1.2.0 1258 | is-stream: 1.1.0 1259 | isurl: 1.0.0 1260 | lowercase-keys: 1.0.1 1261 | p-cancelable: 0.3.0 1262 | p-timeout: 1.2.1 1263 | safe-buffer: 5.2.1 1264 | timed-out: 4.0.1 1265 | url-parse-lax: 1.0.0 1266 | url-to-options: 1.0.1 1267 | dev: false 1268 | 1269 | /got/8.3.2: 1270 | resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==} 1271 | engines: {node: '>=4'} 1272 | dependencies: 1273 | '@sindresorhus/is': 0.7.0 1274 | cacheable-request: 2.1.4 1275 | decompress-response: 3.3.0 1276 | duplexer3: 0.1.4 1277 | get-stream: 3.0.0 1278 | into-stream: 3.1.0 1279 | is-retry-allowed: 1.2.0 1280 | isurl: 1.0.0 1281 | lowercase-keys: 1.0.1 1282 | mimic-response: 1.0.1 1283 | p-cancelable: 0.4.1 1284 | p-timeout: 2.0.1 1285 | pify: 3.0.0 1286 | safe-buffer: 5.2.1 1287 | timed-out: 4.0.1 1288 | url-parse-lax: 3.0.0 1289 | url-to-options: 1.0.1 1290 | dev: false 1291 | 1292 | /graceful-fs/4.2.4: 1293 | resolution: {integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==} 1294 | dev: false 1295 | 1296 | /has-ansi/2.0.0: 1297 | resolution: {integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=} 1298 | engines: {node: '>=0.10.0'} 1299 | dependencies: 1300 | ansi-regex: 2.1.1 1301 | dev: false 1302 | 1303 | /has-flag/3.0.0: 1304 | resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} 1305 | engines: {node: '>=4'} 1306 | dev: false 1307 | 1308 | /has-flag/4.0.0: 1309 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1310 | engines: {node: '>=8'} 1311 | dev: false 1312 | 1313 | /has-symbol-support-x/1.4.2: 1314 | resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==} 1315 | dev: false 1316 | 1317 | /has-symbols/1.0.1: 1318 | resolution: {integrity: sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==} 1319 | engines: {node: '>= 0.4'} 1320 | dev: false 1321 | 1322 | /has-to-string-tag-x/1.4.1: 1323 | resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==} 1324 | dependencies: 1325 | has-symbol-support-x: 1.4.2 1326 | dev: false 1327 | 1328 | /has/1.0.3: 1329 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1330 | engines: {node: '>= 0.4.0'} 1331 | dependencies: 1332 | function-bind: 1.1.1 1333 | 1334 | /he/1.2.0: 1335 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} 1336 | hasBin: true 1337 | dev: false 1338 | 1339 | /hosted-git-info/2.8.8: 1340 | resolution: {integrity: sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==} 1341 | dev: false 1342 | 1343 | /html-minifier-terser/5.1.1: 1344 | resolution: {integrity: sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==} 1345 | engines: {node: '>=6'} 1346 | hasBin: true 1347 | dependencies: 1348 | camel-case: 4.1.2 1349 | clean-css: 4.2.3 1350 | commander: 4.1.1 1351 | he: 1.2.0 1352 | param-case: 3.0.4 1353 | relateurl: 0.2.7 1354 | terser: 4.8.0 1355 | dev: false 1356 | 1357 | /http-cache-semantics/3.8.1: 1358 | resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==} 1359 | dev: false 1360 | 1361 | /human-signals/1.1.1: 1362 | resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} 1363 | engines: {node: '>=8.12.0'} 1364 | dev: false 1365 | 1366 | /ieee754/1.2.1: 1367 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 1368 | dev: false 1369 | 1370 | /ignore/5.1.8: 1371 | resolution: {integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==} 1372 | engines: {node: '>= 4'} 1373 | dev: false 1374 | 1375 | /imagemin-pngquant/9.0.1: 1376 | resolution: {integrity: sha512-PYyo9G/xwddf+Qqlqe3onz5ZH7p6vHYVVkiuuczUjxZmfekyY77RXaOA/AR6FnVoeQxGa/pDtEK5xUKOcVo+sA==} 1377 | engines: {node: '>=10'} 1378 | dependencies: 1379 | execa: 4.1.0 1380 | is-png: 2.0.0 1381 | is-stream: 2.0.0 1382 | ow: 0.17.0 1383 | pngquant-bin: 6.0.0 1384 | dev: false 1385 | 1386 | /imagemin-webp/6.0.0: 1387 | resolution: {integrity: sha512-DmVCkI8H1csyqAExsk93LzC88gj2uKXaLLW5Ly+WYsvNx7xv5cJAlozXWIx9Z0kEQr9w98gphi5aP2b++iDH8g==} 1388 | engines: {node: '>=10'} 1389 | dependencies: 1390 | cwebp-bin: 5.1.0 1391 | exec-buffer: 3.2.0 1392 | is-cwebp-readable: 3.0.0 1393 | dev: false 1394 | 1395 | /imagemin/7.0.1: 1396 | resolution: {integrity: sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==} 1397 | engines: {node: '>=8'} 1398 | dependencies: 1399 | file-type: 12.4.2 1400 | globby: 10.0.2 1401 | graceful-fs: 4.2.4 1402 | junk: 3.1.0 1403 | make-dir: 3.1.0 1404 | p-pipe: 3.1.0 1405 | replace-ext: 1.0.1 1406 | dev: false 1407 | 1408 | /import-lazy/3.1.0: 1409 | resolution: {integrity: sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==} 1410 | engines: {node: '>=6'} 1411 | dev: false 1412 | 1413 | /indent-string/2.1.0: 1414 | resolution: {integrity: sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=} 1415 | engines: {node: '>=0.10.0'} 1416 | dependencies: 1417 | repeating: 2.0.1 1418 | dev: false 1419 | 1420 | /inflight/1.0.6: 1421 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} 1422 | dependencies: 1423 | once: 1.4.0 1424 | wrappy: 1.0.2 1425 | dev: false 1426 | 1427 | /inherits/2.0.4: 1428 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1429 | dev: false 1430 | 1431 | /ini/1.3.8: 1432 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 1433 | dev: false 1434 | 1435 | /into-stream/3.1.0: 1436 | resolution: {integrity: sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=} 1437 | engines: {node: '>=4'} 1438 | dependencies: 1439 | from2: 2.3.0 1440 | p-is-promise: 1.1.0 1441 | dev: false 1442 | 1443 | /is-arrayish/0.2.1: 1444 | resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} 1445 | dev: false 1446 | 1447 | /is-callable/1.2.2: 1448 | resolution: {integrity: sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==} 1449 | engines: {node: '>= 0.4'} 1450 | dev: false 1451 | 1452 | /is-core-module/2.2.0: 1453 | resolution: {integrity: sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==} 1454 | dependencies: 1455 | has: 1.0.3 1456 | dev: false 1457 | 1458 | /is-core-module/2.4.0: 1459 | resolution: {integrity: sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==} 1460 | dependencies: 1461 | has: 1.0.3 1462 | dev: true 1463 | 1464 | /is-cwebp-readable/3.0.0: 1465 | resolution: {integrity: sha512-bpELc7/Q1/U5MWHn4NdHI44R3jxk0h9ew9ljzabiRl70/UIjL/ZAqRMb52F5+eke/VC8yTiv4Ewryo1fPWidvA==} 1466 | dependencies: 1467 | file-type: 10.11.0 1468 | dev: false 1469 | 1470 | /is-date-object/1.0.2: 1471 | resolution: {integrity: sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==} 1472 | engines: {node: '>= 0.4'} 1473 | dev: false 1474 | 1475 | /is-extglob/2.1.1: 1476 | resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} 1477 | engines: {node: '>=0.10.0'} 1478 | dev: false 1479 | 1480 | /is-finite/1.1.0: 1481 | resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==} 1482 | engines: {node: '>=0.10.0'} 1483 | dev: false 1484 | 1485 | /is-glob/4.0.1: 1486 | resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} 1487 | engines: {node: '>=0.10.0'} 1488 | dependencies: 1489 | is-extglob: 2.1.1 1490 | dev: false 1491 | 1492 | /is-natural-number/4.0.1: 1493 | resolution: {integrity: sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=} 1494 | dev: false 1495 | 1496 | /is-negative-zero/2.0.1: 1497 | resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} 1498 | engines: {node: '>= 0.4'} 1499 | dev: false 1500 | 1501 | /is-number/7.0.0: 1502 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1503 | engines: {node: '>=0.12.0'} 1504 | dev: false 1505 | 1506 | /is-object/1.0.2: 1507 | resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} 1508 | dev: false 1509 | 1510 | /is-plain-obj/1.1.0: 1511 | resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=} 1512 | engines: {node: '>=0.10.0'} 1513 | dev: false 1514 | 1515 | /is-png/2.0.0: 1516 | resolution: {integrity: sha512-4KPGizaVGj2LK7xwJIz8o5B2ubu1D/vcQsgOGFEDlpcvgZHto4gBnyd0ig7Ws+67ixmwKoNmu0hYnpo6AaKb5g==} 1517 | engines: {node: '>=8'} 1518 | dev: false 1519 | 1520 | /is-regex/1.1.1: 1521 | resolution: {integrity: sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==} 1522 | engines: {node: '>= 0.4'} 1523 | dependencies: 1524 | has-symbols: 1.0.1 1525 | dev: false 1526 | 1527 | /is-retry-allowed/1.2.0: 1528 | resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} 1529 | engines: {node: '>=0.10.0'} 1530 | dev: false 1531 | 1532 | /is-stream/1.1.0: 1533 | resolution: {integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=} 1534 | engines: {node: '>=0.10.0'} 1535 | dev: false 1536 | 1537 | /is-stream/2.0.0: 1538 | resolution: {integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==} 1539 | engines: {node: '>=8'} 1540 | dev: false 1541 | 1542 | /is-symbol/1.0.3: 1543 | resolution: {integrity: sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==} 1544 | engines: {node: '>= 0.4'} 1545 | dependencies: 1546 | has-symbols: 1.0.1 1547 | dev: false 1548 | 1549 | /is-utf8/0.2.1: 1550 | resolution: {integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=} 1551 | dev: false 1552 | 1553 | /isarray/1.0.0: 1554 | resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} 1555 | dev: false 1556 | 1557 | /isexe/2.0.0: 1558 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} 1559 | dev: false 1560 | 1561 | /isurl/1.0.0: 1562 | resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} 1563 | engines: {node: '>= 4'} 1564 | dependencies: 1565 | has-to-string-tag-x: 1.4.1 1566 | is-object: 1.0.2 1567 | dev: false 1568 | 1569 | /js-yaml/3.14.1: 1570 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 1571 | hasBin: true 1572 | dependencies: 1573 | argparse: 1.0.10 1574 | esprima: 4.0.1 1575 | dev: false 1576 | 1577 | /json-buffer/3.0.0: 1578 | resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} 1579 | dev: false 1580 | 1581 | /junk/3.1.0: 1582 | resolution: {integrity: sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==} 1583 | engines: {node: '>=8'} 1584 | dev: false 1585 | 1586 | /keyv/3.0.0: 1587 | resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==} 1588 | dependencies: 1589 | json-buffer: 3.0.0 1590 | dev: false 1591 | 1592 | /load-json-file/1.1.0: 1593 | resolution: {integrity: sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=} 1594 | engines: {node: '>=0.10.0'} 1595 | dependencies: 1596 | graceful-fs: 4.2.4 1597 | parse-json: 2.2.0 1598 | pify: 2.3.0 1599 | pinkie-promise: 2.0.1 1600 | strip-bom: 2.0.0 1601 | dev: false 1602 | 1603 | /logalot/2.1.0: 1604 | resolution: {integrity: sha1-X46MkNME7fElMJUaVVSruMXj9VI=} 1605 | engines: {node: '>=0.10.0'} 1606 | dependencies: 1607 | figures: 1.7.0 1608 | squeak: 1.3.0 1609 | dev: false 1610 | 1611 | /longest/1.0.1: 1612 | resolution: {integrity: sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=} 1613 | engines: {node: '>=0.10.0'} 1614 | dev: false 1615 | 1616 | /loud-rejection/1.6.0: 1617 | resolution: {integrity: sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=} 1618 | engines: {node: '>=0.10.0'} 1619 | dependencies: 1620 | currently-unhandled: 0.4.1 1621 | signal-exit: 3.0.3 1622 | dev: false 1623 | 1624 | /lower-case/2.0.2: 1625 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} 1626 | dependencies: 1627 | tslib: 2.3.0 1628 | dev: false 1629 | 1630 | /lowercase-keys/1.0.0: 1631 | resolution: {integrity: sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=} 1632 | engines: {node: '>=0.10.0'} 1633 | dev: false 1634 | 1635 | /lowercase-keys/1.0.1: 1636 | resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} 1637 | engines: {node: '>=0.10.0'} 1638 | dev: false 1639 | 1640 | /lpad-align/1.1.2: 1641 | resolution: {integrity: sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=} 1642 | engines: {node: '>=0.10.0'} 1643 | hasBin: true 1644 | dependencies: 1645 | get-stdin: 4.0.1 1646 | indent-string: 2.1.0 1647 | longest: 1.0.1 1648 | meow: 3.7.0 1649 | dev: false 1650 | 1651 | /lru-cache/4.1.5: 1652 | resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} 1653 | dependencies: 1654 | pseudomap: 1.0.2 1655 | yallist: 2.1.2 1656 | dev: false 1657 | 1658 | /make-dir/1.3.0: 1659 | resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} 1660 | engines: {node: '>=4'} 1661 | dependencies: 1662 | pify: 3.0.0 1663 | dev: false 1664 | 1665 | /make-dir/3.1.0: 1666 | resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} 1667 | engines: {node: '>=8'} 1668 | dependencies: 1669 | semver: 6.3.0 1670 | dev: false 1671 | 1672 | /map-obj/1.0.1: 1673 | resolution: {integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=} 1674 | engines: {node: '>=0.10.0'} 1675 | dev: false 1676 | 1677 | /mdn-data/2.0.14: 1678 | resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} 1679 | dev: false 1680 | 1681 | /mdn-data/2.0.4: 1682 | resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} 1683 | dev: false 1684 | 1685 | /meow/3.7.0: 1686 | resolution: {integrity: sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=} 1687 | engines: {node: '>=0.10.0'} 1688 | dependencies: 1689 | camelcase-keys: 2.1.0 1690 | decamelize: 1.2.0 1691 | loud-rejection: 1.6.0 1692 | map-obj: 1.0.1 1693 | minimist: 1.2.5 1694 | normalize-package-data: 2.5.0 1695 | object-assign: 4.1.1 1696 | read-pkg-up: 1.0.1 1697 | redent: 1.0.0 1698 | trim-newlines: 1.0.0 1699 | dev: false 1700 | 1701 | /merge-stream/2.0.0: 1702 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1703 | dev: false 1704 | 1705 | /merge2/1.4.1: 1706 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1707 | engines: {node: '>= 8'} 1708 | dev: false 1709 | 1710 | /micromatch/4.0.2: 1711 | resolution: {integrity: sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==} 1712 | engines: {node: '>=8'} 1713 | dependencies: 1714 | braces: 3.0.2 1715 | picomatch: 2.2.2 1716 | dev: false 1717 | 1718 | /mime-db/1.45.0: 1719 | resolution: {integrity: sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==} 1720 | engines: {node: '>= 0.6'} 1721 | dev: false 1722 | 1723 | /mimic-fn/2.1.0: 1724 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1725 | engines: {node: '>=6'} 1726 | dev: false 1727 | 1728 | /mimic-response/1.0.1: 1729 | resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} 1730 | engines: {node: '>=4'} 1731 | dev: false 1732 | 1733 | /minimatch/3.0.4: 1734 | resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} 1735 | dependencies: 1736 | brace-expansion: 1.1.11 1737 | dev: false 1738 | 1739 | /minimist/1.2.5: 1740 | resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} 1741 | dev: false 1742 | 1743 | /mkdirp/0.5.5: 1744 | resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} 1745 | hasBin: true 1746 | dependencies: 1747 | minimist: 1.2.5 1748 | dev: false 1749 | 1750 | /ms/2.1.2: 1751 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1752 | dev: false 1753 | 1754 | /nanoid/3.1.30: 1755 | resolution: {integrity: sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==} 1756 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1757 | hasBin: true 1758 | dev: true 1759 | 1760 | /nice-try/1.0.5: 1761 | resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} 1762 | dev: false 1763 | 1764 | /no-case/3.0.4: 1765 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} 1766 | dependencies: 1767 | lower-case: 2.0.2 1768 | tslib: 2.3.0 1769 | dev: false 1770 | 1771 | /normalize-package-data/2.5.0: 1772 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 1773 | dependencies: 1774 | hosted-git-info: 2.8.8 1775 | resolve: 1.19.0 1776 | semver: 5.7.1 1777 | validate-npm-package-license: 3.0.4 1778 | dev: false 1779 | 1780 | /normalize-url/2.0.1: 1781 | resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} 1782 | engines: {node: '>=4'} 1783 | dependencies: 1784 | prepend-http: 2.0.0 1785 | query-string: 5.1.1 1786 | sort-keys: 2.0.0 1787 | dev: false 1788 | 1789 | /npm-conf/1.1.3: 1790 | resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==} 1791 | engines: {node: '>=4'} 1792 | dependencies: 1793 | config-chain: 1.1.12 1794 | pify: 3.0.0 1795 | dev: false 1796 | 1797 | /npm-run-path/2.0.2: 1798 | resolution: {integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=} 1799 | engines: {node: '>=4'} 1800 | dependencies: 1801 | path-key: 2.0.1 1802 | dev: false 1803 | 1804 | /npm-run-path/4.0.1: 1805 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 1806 | engines: {node: '>=8'} 1807 | dependencies: 1808 | path-key: 3.1.1 1809 | dev: false 1810 | 1811 | /nth-check/1.0.2: 1812 | resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} 1813 | dependencies: 1814 | boolbase: 1.0.0 1815 | dev: false 1816 | 1817 | /object-assign/4.1.1: 1818 | resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} 1819 | engines: {node: '>=0.10.0'} 1820 | dev: false 1821 | 1822 | /object-inspect/1.9.0: 1823 | resolution: {integrity: sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==} 1824 | dev: false 1825 | 1826 | /object-keys/1.1.1: 1827 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1828 | engines: {node: '>= 0.4'} 1829 | dev: false 1830 | 1831 | /object.assign/4.1.2: 1832 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} 1833 | engines: {node: '>= 0.4'} 1834 | dependencies: 1835 | call-bind: 1.0.2 1836 | define-properties: 1.1.3 1837 | has-symbols: 1.0.1 1838 | object-keys: 1.1.1 1839 | dev: false 1840 | 1841 | /object.getownpropertydescriptors/2.1.1: 1842 | resolution: {integrity: sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==} 1843 | engines: {node: '>= 0.8'} 1844 | dependencies: 1845 | call-bind: 1.0.2 1846 | define-properties: 1.1.3 1847 | es-abstract: 1.18.0-next.2 1848 | dev: false 1849 | 1850 | /object.values/1.1.2: 1851 | resolution: {integrity: sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==} 1852 | engines: {node: '>= 0.4'} 1853 | dependencies: 1854 | call-bind: 1.0.2 1855 | define-properties: 1.1.3 1856 | es-abstract: 1.18.0-next.2 1857 | has: 1.0.3 1858 | dev: false 1859 | 1860 | /once/1.4.0: 1861 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} 1862 | dependencies: 1863 | wrappy: 1.0.2 1864 | dev: false 1865 | 1866 | /onetime/5.1.2: 1867 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1868 | engines: {node: '>=6'} 1869 | dependencies: 1870 | mimic-fn: 2.1.0 1871 | dev: false 1872 | 1873 | /os-filter-obj/2.0.0: 1874 | resolution: {integrity: sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==} 1875 | engines: {node: '>=4'} 1876 | dependencies: 1877 | arch: 2.2.0 1878 | dev: false 1879 | 1880 | /ow/0.17.0: 1881 | resolution: {integrity: sha512-i3keDzDQP5lWIe4oODyDFey1qVrq2hXKTuTH2VpqwpYtzPiKZt2ziRI4NBQmgW40AnV5Euz17OyWweCb+bNEQA==} 1882 | engines: {node: '>=10'} 1883 | dependencies: 1884 | type-fest: 0.11.0 1885 | dev: false 1886 | 1887 | /p-cancelable/0.3.0: 1888 | resolution: {integrity: sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==} 1889 | engines: {node: '>=4'} 1890 | dev: false 1891 | 1892 | /p-cancelable/0.4.1: 1893 | resolution: {integrity: sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==} 1894 | engines: {node: '>=4'} 1895 | dev: false 1896 | 1897 | /p-event/1.3.0: 1898 | resolution: {integrity: sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=} 1899 | engines: {node: '>=4'} 1900 | dependencies: 1901 | p-timeout: 1.2.1 1902 | dev: false 1903 | 1904 | /p-event/2.3.1: 1905 | resolution: {integrity: sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==} 1906 | engines: {node: '>=6'} 1907 | dependencies: 1908 | p-timeout: 2.0.1 1909 | dev: false 1910 | 1911 | /p-finally/1.0.0: 1912 | resolution: {integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=} 1913 | engines: {node: '>=4'} 1914 | dev: false 1915 | 1916 | /p-is-promise/1.1.0: 1917 | resolution: {integrity: sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=} 1918 | engines: {node: '>=4'} 1919 | dev: false 1920 | 1921 | /p-map-series/1.0.0: 1922 | resolution: {integrity: sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=} 1923 | engines: {node: '>=4'} 1924 | dependencies: 1925 | p-reduce: 1.0.0 1926 | dev: false 1927 | 1928 | /p-pipe/3.1.0: 1929 | resolution: {integrity: sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==} 1930 | engines: {node: '>=8'} 1931 | dev: false 1932 | 1933 | /p-reduce/1.0.0: 1934 | resolution: {integrity: sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=} 1935 | engines: {node: '>=4'} 1936 | dev: false 1937 | 1938 | /p-timeout/1.2.1: 1939 | resolution: {integrity: sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=} 1940 | engines: {node: '>=4'} 1941 | dependencies: 1942 | p-finally: 1.0.0 1943 | dev: false 1944 | 1945 | /p-timeout/2.0.1: 1946 | resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==} 1947 | engines: {node: '>=4'} 1948 | dependencies: 1949 | p-finally: 1.0.0 1950 | dev: false 1951 | 1952 | /param-case/3.0.4: 1953 | resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} 1954 | dependencies: 1955 | dot-case: 3.0.4 1956 | tslib: 2.3.0 1957 | dev: false 1958 | 1959 | /parse-json/2.2.0: 1960 | resolution: {integrity: sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=} 1961 | engines: {node: '>=0.10.0'} 1962 | dependencies: 1963 | error-ex: 1.3.2 1964 | dev: false 1965 | 1966 | /pascal-case/3.1.2: 1967 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} 1968 | dependencies: 1969 | no-case: 3.0.4 1970 | tslib: 2.3.0 1971 | dev: false 1972 | 1973 | /path-exists/2.1.0: 1974 | resolution: {integrity: sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=} 1975 | engines: {node: '>=0.10.0'} 1976 | dependencies: 1977 | pinkie-promise: 2.0.1 1978 | dev: false 1979 | 1980 | /path-is-absolute/1.0.1: 1981 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} 1982 | engines: {node: '>=0.10.0'} 1983 | dev: false 1984 | 1985 | /path-key/2.0.1: 1986 | resolution: {integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=} 1987 | engines: {node: '>=4'} 1988 | dev: false 1989 | 1990 | /path-key/3.1.1: 1991 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1992 | engines: {node: '>=8'} 1993 | dev: false 1994 | 1995 | /path-parse/1.0.6: 1996 | resolution: {integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==} 1997 | dev: false 1998 | 1999 | /path-parse/1.0.7: 2000 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2001 | dev: true 2002 | 2003 | /path-type/1.1.0: 2004 | resolution: {integrity: sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=} 2005 | engines: {node: '>=0.10.0'} 2006 | dependencies: 2007 | graceful-fs: 4.2.4 2008 | pify: 2.3.0 2009 | pinkie-promise: 2.0.1 2010 | dev: false 2011 | 2012 | /path-type/4.0.0: 2013 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2014 | engines: {node: '>=8'} 2015 | dev: false 2016 | 2017 | /pend/1.2.0: 2018 | resolution: {integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA=} 2019 | dev: false 2020 | 2021 | /picocolors/0.2.1: 2022 | resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} 2023 | dev: true 2024 | 2025 | /picomatch/2.2.2: 2026 | resolution: {integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==} 2027 | engines: {node: '>=8.6'} 2028 | dev: false 2029 | 2030 | /pify/2.3.0: 2031 | resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=} 2032 | engines: {node: '>=0.10.0'} 2033 | dev: false 2034 | 2035 | /pify/3.0.0: 2036 | resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} 2037 | engines: {node: '>=4'} 2038 | dev: false 2039 | 2040 | /pify/4.0.1: 2041 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 2042 | engines: {node: '>=6'} 2043 | dev: false 2044 | 2045 | /pinkie-promise/2.0.1: 2046 | resolution: {integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o=} 2047 | engines: {node: '>=0.10.0'} 2048 | dependencies: 2049 | pinkie: 2.0.4 2050 | dev: false 2051 | 2052 | /pinkie/2.0.4: 2053 | resolution: {integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA=} 2054 | engines: {node: '>=0.10.0'} 2055 | dev: false 2056 | 2057 | /pngquant-bin/6.0.0: 2058 | resolution: {integrity: sha512-oXWAS9MQ9iiDAJRdAZ9KO1mC5UwhzKkJsmetiu0iqIjJuW7JsuLhmc4JdRm7uJkIWRzIAou/Vq2VcjfJwz30Ow==} 2059 | engines: {node: '>=10'} 2060 | hasBin: true 2061 | requiresBuild: true 2062 | dependencies: 2063 | bin-build: 3.0.0 2064 | bin-wrapper: 4.1.0 2065 | execa: 4.1.0 2066 | logalot: 2.1.0 2067 | dev: false 2068 | 2069 | /postcss/8.3.9: 2070 | resolution: {integrity: sha512-f/ZFyAKh9Dnqytx5X62jgjhhzttjZS7hMsohcI7HEI5tjELX/HxCy3EFhsRxyzGvrzFF+82XPvCS8T9TFleVJw==} 2071 | engines: {node: ^10 || ^12 || >=14} 2072 | dependencies: 2073 | nanoid: 3.1.30 2074 | picocolors: 0.2.1 2075 | source-map-js: 0.6.2 2076 | dev: true 2077 | 2078 | /prepend-http/1.0.4: 2079 | resolution: {integrity: sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=} 2080 | engines: {node: '>=0.10.0'} 2081 | dev: false 2082 | 2083 | /prepend-http/2.0.0: 2084 | resolution: {integrity: sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=} 2085 | engines: {node: '>=4'} 2086 | dev: false 2087 | 2088 | /prettier/2.2.1: 2089 | resolution: {integrity: sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==} 2090 | engines: {node: '>=10.13.0'} 2091 | hasBin: true 2092 | dev: true 2093 | 2094 | /process-nextick-args/2.0.1: 2095 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 2096 | dev: false 2097 | 2098 | /proto-list/1.2.4: 2099 | resolution: {integrity: sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=} 2100 | dev: false 2101 | 2102 | /pseudomap/1.0.2: 2103 | resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=} 2104 | dev: false 2105 | 2106 | /pump/3.0.0: 2107 | resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 2108 | dependencies: 2109 | end-of-stream: 1.4.4 2110 | once: 1.4.0 2111 | dev: false 2112 | 2113 | /q/1.5.1: 2114 | resolution: {integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=} 2115 | engines: {node: '>=0.6.0', teleport: '>=0.2.0'} 2116 | dev: false 2117 | 2118 | /query-string/5.1.1: 2119 | resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} 2120 | engines: {node: '>=0.10.0'} 2121 | dependencies: 2122 | decode-uri-component: 0.2.0 2123 | object-assign: 4.1.1 2124 | strict-uri-encode: 1.1.0 2125 | dev: false 2126 | 2127 | /read-pkg-up/1.0.1: 2128 | resolution: {integrity: sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=} 2129 | engines: {node: '>=0.10.0'} 2130 | dependencies: 2131 | find-up: 1.1.2 2132 | read-pkg: 1.1.0 2133 | dev: false 2134 | 2135 | /read-pkg/1.1.0: 2136 | resolution: {integrity: sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=} 2137 | engines: {node: '>=0.10.0'} 2138 | dependencies: 2139 | load-json-file: 1.1.0 2140 | normalize-package-data: 2.5.0 2141 | path-type: 1.1.0 2142 | dev: false 2143 | 2144 | /readable-stream/2.3.7: 2145 | resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} 2146 | dependencies: 2147 | core-util-is: 1.0.2 2148 | inherits: 2.0.4 2149 | isarray: 1.0.0 2150 | process-nextick-args: 2.0.1 2151 | safe-buffer: 5.1.2 2152 | string_decoder: 1.1.1 2153 | util-deprecate: 1.0.2 2154 | dev: false 2155 | 2156 | /recrawl-sync/2.0.2: 2157 | resolution: {integrity: sha512-8qprPoeIB7k9r1AoMNcW4lKVBLRyETJsODYB5/tGJtOrU/8Tw4DHRmvPfwjKa/2AP2Kzc/6QHtj+imeeJXP0MQ==} 2158 | dependencies: 2159 | '@cush/relative': 0.1.0 2160 | glob-regex: 0.3.2 2161 | tslib: 1.14.1 2162 | dev: false 2163 | 2164 | /redent/1.0.0: 2165 | resolution: {integrity: sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=} 2166 | engines: {node: '>=0.10.0'} 2167 | dependencies: 2168 | indent-string: 2.1.0 2169 | strip-indent: 1.0.1 2170 | dev: false 2171 | 2172 | /relateurl/0.2.7: 2173 | resolution: {integrity: sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=} 2174 | engines: {node: '>= 0.10'} 2175 | dev: false 2176 | 2177 | /repeating/2.0.1: 2178 | resolution: {integrity: sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=} 2179 | engines: {node: '>=0.10.0'} 2180 | dependencies: 2181 | is-finite: 1.1.0 2182 | dev: false 2183 | 2184 | /replace-ext/1.0.1: 2185 | resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} 2186 | engines: {node: '>= 0.10'} 2187 | dev: false 2188 | 2189 | /resolve/1.19.0: 2190 | resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} 2191 | dependencies: 2192 | is-core-module: 2.2.0 2193 | path-parse: 1.0.6 2194 | dev: false 2195 | 2196 | /resolve/1.20.0: 2197 | resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} 2198 | dependencies: 2199 | is-core-module: 2.4.0 2200 | path-parse: 1.0.7 2201 | dev: true 2202 | 2203 | /responselike/1.0.2: 2204 | resolution: {integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=} 2205 | dependencies: 2206 | lowercase-keys: 1.0.1 2207 | dev: false 2208 | 2209 | /reusify/1.0.4: 2210 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2211 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2212 | dev: false 2213 | 2214 | /rimraf/2.7.1: 2215 | resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} 2216 | hasBin: true 2217 | dependencies: 2218 | glob: 7.1.7 2219 | dev: false 2220 | 2221 | /rollup/2.58.0: 2222 | resolution: {integrity: sha512-NOXpusKnaRpbS7ZVSzcEXqxcLDOagN6iFS8p45RkoiMqPHDLwJm758UF05KlMoCRbLBTZsPOIa887gZJ1AiXvw==} 2223 | engines: {node: '>=10.0.0'} 2224 | hasBin: true 2225 | optionalDependencies: 2226 | fsevents: 2.3.2 2227 | dev: true 2228 | 2229 | /run-parallel/1.1.10: 2230 | resolution: {integrity: sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==} 2231 | dev: false 2232 | 2233 | /safe-buffer/5.1.2: 2234 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 2235 | dev: false 2236 | 2237 | /safe-buffer/5.2.1: 2238 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 2239 | dev: false 2240 | 2241 | /sax/1.2.4: 2242 | resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} 2243 | dev: false 2244 | 2245 | /seek-bzip/1.0.6: 2246 | resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} 2247 | hasBin: true 2248 | dependencies: 2249 | commander: 2.20.3 2250 | dev: false 2251 | 2252 | /semver-regex/2.0.0: 2253 | resolution: {integrity: sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==} 2254 | engines: {node: '>=6'} 2255 | dev: false 2256 | 2257 | /semver-truncate/1.1.2: 2258 | resolution: {integrity: sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=} 2259 | engines: {node: '>=0.10.0'} 2260 | dependencies: 2261 | semver: 5.7.1 2262 | dev: false 2263 | 2264 | /semver/5.7.1: 2265 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 2266 | hasBin: true 2267 | dev: false 2268 | 2269 | /semver/6.3.0: 2270 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 2271 | hasBin: true 2272 | dev: false 2273 | 2274 | /shebang-command/1.2.0: 2275 | resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=} 2276 | engines: {node: '>=0.10.0'} 2277 | dependencies: 2278 | shebang-regex: 1.0.0 2279 | dev: false 2280 | 2281 | /shebang-command/2.0.0: 2282 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2283 | engines: {node: '>=8'} 2284 | dependencies: 2285 | shebang-regex: 3.0.0 2286 | dev: false 2287 | 2288 | /shebang-regex/1.0.0: 2289 | resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=} 2290 | engines: {node: '>=0.10.0'} 2291 | dev: false 2292 | 2293 | /shebang-regex/3.0.0: 2294 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2295 | engines: {node: '>=8'} 2296 | dev: false 2297 | 2298 | /signal-exit/3.0.3: 2299 | resolution: {integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==} 2300 | dev: false 2301 | 2302 | /slash/3.0.0: 2303 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2304 | engines: {node: '>=8'} 2305 | dev: false 2306 | 2307 | /sort-keys-length/1.0.1: 2308 | resolution: {integrity: sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=} 2309 | engines: {node: '>=0.10.0'} 2310 | dependencies: 2311 | sort-keys: 1.1.2 2312 | dev: false 2313 | 2314 | /sort-keys/1.1.2: 2315 | resolution: {integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0=} 2316 | engines: {node: '>=0.10.0'} 2317 | dependencies: 2318 | is-plain-obj: 1.1.0 2319 | dev: false 2320 | 2321 | /sort-keys/2.0.0: 2322 | resolution: {integrity: sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=} 2323 | engines: {node: '>=4'} 2324 | dependencies: 2325 | is-plain-obj: 1.1.0 2326 | dev: false 2327 | 2328 | /source-map-js/0.6.2: 2329 | resolution: {integrity: sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==} 2330 | engines: {node: '>=0.10.0'} 2331 | dev: true 2332 | 2333 | /source-map-support/0.5.19: 2334 | resolution: {integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==} 2335 | dependencies: 2336 | buffer-from: 1.1.1 2337 | source-map: 0.6.1 2338 | dev: false 2339 | 2340 | /source-map/0.6.1: 2341 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2342 | engines: {node: '>=0.10.0'} 2343 | dev: false 2344 | 2345 | /spdx-correct/3.1.1: 2346 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} 2347 | dependencies: 2348 | spdx-expression-parse: 3.0.1 2349 | spdx-license-ids: 3.0.7 2350 | dev: false 2351 | 2352 | /spdx-exceptions/2.3.0: 2353 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 2354 | dev: false 2355 | 2356 | /spdx-expression-parse/3.0.1: 2357 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 2358 | dependencies: 2359 | spdx-exceptions: 2.3.0 2360 | spdx-license-ids: 3.0.7 2361 | dev: false 2362 | 2363 | /spdx-license-ids/3.0.7: 2364 | resolution: {integrity: sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==} 2365 | dev: false 2366 | 2367 | /sprintf-js/1.0.3: 2368 | resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} 2369 | dev: false 2370 | 2371 | /squeak/1.3.0: 2372 | resolution: {integrity: sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=} 2373 | engines: {node: '>=0.10.0'} 2374 | dependencies: 2375 | chalk: 1.1.3 2376 | console-stream: 0.1.1 2377 | lpad-align: 1.1.2 2378 | dev: false 2379 | 2380 | /stable/0.1.8: 2381 | resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} 2382 | dev: false 2383 | 2384 | /strict-uri-encode/1.1.0: 2385 | resolution: {integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=} 2386 | engines: {node: '>=0.10.0'} 2387 | dev: false 2388 | 2389 | /string.prototype.trimend/1.0.3: 2390 | resolution: {integrity: sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==} 2391 | dependencies: 2392 | call-bind: 1.0.2 2393 | define-properties: 1.1.3 2394 | dev: false 2395 | 2396 | /string.prototype.trimstart/1.0.3: 2397 | resolution: {integrity: sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==} 2398 | dependencies: 2399 | call-bind: 1.0.2 2400 | define-properties: 1.1.3 2401 | dev: false 2402 | 2403 | /string_decoder/1.1.1: 2404 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 2405 | dependencies: 2406 | safe-buffer: 5.1.2 2407 | dev: false 2408 | 2409 | /strip-ansi/3.0.1: 2410 | resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=} 2411 | engines: {node: '>=0.10.0'} 2412 | dependencies: 2413 | ansi-regex: 2.1.1 2414 | dev: false 2415 | 2416 | /strip-bom/2.0.0: 2417 | resolution: {integrity: sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=} 2418 | engines: {node: '>=0.10.0'} 2419 | dependencies: 2420 | is-utf8: 0.2.1 2421 | dev: false 2422 | 2423 | /strip-dirs/2.1.0: 2424 | resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} 2425 | dependencies: 2426 | is-natural-number: 4.0.1 2427 | dev: false 2428 | 2429 | /strip-eof/1.0.0: 2430 | resolution: {integrity: sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=} 2431 | engines: {node: '>=0.10.0'} 2432 | dev: false 2433 | 2434 | /strip-final-newline/2.0.0: 2435 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 2436 | engines: {node: '>=6'} 2437 | dev: false 2438 | 2439 | /strip-indent/1.0.1: 2440 | resolution: {integrity: sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=} 2441 | engines: {node: '>=0.10.0'} 2442 | hasBin: true 2443 | dependencies: 2444 | get-stdin: 4.0.1 2445 | dev: false 2446 | 2447 | /strip-outer/1.0.1: 2448 | resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} 2449 | engines: {node: '>=0.10.0'} 2450 | dependencies: 2451 | escape-string-regexp: 1.0.5 2452 | dev: false 2453 | 2454 | /supports-color/2.0.0: 2455 | resolution: {integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=} 2456 | engines: {node: '>=0.8.0'} 2457 | dev: false 2458 | 2459 | /supports-color/5.5.0: 2460 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2461 | engines: {node: '>=4'} 2462 | dependencies: 2463 | has-flag: 3.0.0 2464 | dev: false 2465 | 2466 | /supports-color/7.2.0: 2467 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2468 | engines: {node: '>=8'} 2469 | dependencies: 2470 | has-flag: 4.0.0 2471 | dev: false 2472 | 2473 | /svgo/1.3.2: 2474 | resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} 2475 | engines: {node: '>=4.0.0'} 2476 | hasBin: true 2477 | dependencies: 2478 | chalk: 2.4.2 2479 | coa: 2.0.2 2480 | css-select: 2.1.0 2481 | css-select-base-adapter: 0.1.1 2482 | css-tree: 1.0.0-alpha.37 2483 | csso: 4.2.0 2484 | js-yaml: 3.14.1 2485 | mkdirp: 0.5.5 2486 | object.values: 1.1.2 2487 | sax: 1.2.4 2488 | stable: 0.1.8 2489 | unquote: 1.1.1 2490 | util.promisify: 1.0.1 2491 | dev: false 2492 | 2493 | /tar-stream/1.6.2: 2494 | resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} 2495 | engines: {node: '>= 0.8.0'} 2496 | dependencies: 2497 | bl: 1.2.3 2498 | buffer-alloc: 1.2.0 2499 | end-of-stream: 1.4.4 2500 | fs-constants: 1.0.0 2501 | readable-stream: 2.3.7 2502 | to-buffer: 1.1.1 2503 | xtend: 4.0.2 2504 | dev: false 2505 | 2506 | /temp-dir/1.0.0: 2507 | resolution: {integrity: sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=} 2508 | engines: {node: '>=4'} 2509 | dev: false 2510 | 2511 | /tempfile/2.0.0: 2512 | resolution: {integrity: sha1-awRGhWqbERTRhW/8vlCczLCXcmU=} 2513 | engines: {node: '>=4'} 2514 | dependencies: 2515 | temp-dir: 1.0.0 2516 | uuid: 3.4.0 2517 | dev: false 2518 | 2519 | /terser/4.8.0: 2520 | resolution: {integrity: sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==} 2521 | engines: {node: '>=6.0.0'} 2522 | hasBin: true 2523 | dependencies: 2524 | commander: 2.20.3 2525 | source-map: 0.6.1 2526 | source-map-support: 0.5.19 2527 | dev: false 2528 | 2529 | /through/2.3.8: 2530 | resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} 2531 | dev: false 2532 | 2533 | /timed-out/4.0.1: 2534 | resolution: {integrity: sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=} 2535 | engines: {node: '>=0.10.0'} 2536 | dev: false 2537 | 2538 | /to-buffer/1.1.1: 2539 | resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} 2540 | dev: false 2541 | 2542 | /to-regex-range/5.0.1: 2543 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2544 | engines: {node: '>=8.0'} 2545 | dependencies: 2546 | is-number: 7.0.0 2547 | dev: false 2548 | 2549 | /trim-newlines/1.0.0: 2550 | resolution: {integrity: sha1-WIeWa7WCpFA6QetST301ARgVphM=} 2551 | engines: {node: '>=0.10.0'} 2552 | dev: false 2553 | 2554 | /trim-repeated/1.0.0: 2555 | resolution: {integrity: sha1-42RqLqTokTEr9+rObPsFOAvAHCE=} 2556 | engines: {node: '>=0.10.0'} 2557 | dependencies: 2558 | escape-string-regexp: 1.0.5 2559 | dev: false 2560 | 2561 | /tslib/1.14.1: 2562 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 2563 | dev: false 2564 | 2565 | /tslib/2.3.0: 2566 | resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} 2567 | dev: false 2568 | 2569 | /tunnel-agent/0.6.0: 2570 | resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=} 2571 | dependencies: 2572 | safe-buffer: 5.2.1 2573 | dev: false 2574 | 2575 | /type-fest/0.11.0: 2576 | resolution: {integrity: sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==} 2577 | engines: {node: '>=8'} 2578 | dev: false 2579 | 2580 | /typescript/4.1.3: 2581 | resolution: {integrity: sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==} 2582 | engines: {node: '>=4.2.0'} 2583 | hasBin: true 2584 | dev: true 2585 | 2586 | /unbzip2-stream/1.4.3: 2587 | resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} 2588 | dependencies: 2589 | buffer: 5.7.1 2590 | through: 2.3.8 2591 | dev: false 2592 | 2593 | /unquote/1.1.1: 2594 | resolution: {integrity: sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=} 2595 | dev: false 2596 | 2597 | /url-parse-lax/1.0.0: 2598 | resolution: {integrity: sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=} 2599 | engines: {node: '>=0.10.0'} 2600 | dependencies: 2601 | prepend-http: 1.0.4 2602 | dev: false 2603 | 2604 | /url-parse-lax/3.0.0: 2605 | resolution: {integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=} 2606 | engines: {node: '>=4'} 2607 | dependencies: 2608 | prepend-http: 2.0.0 2609 | dev: false 2610 | 2611 | /url-to-options/1.0.1: 2612 | resolution: {integrity: sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=} 2613 | engines: {node: '>= 4'} 2614 | dev: false 2615 | 2616 | /util-deprecate/1.0.2: 2617 | resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} 2618 | dev: false 2619 | 2620 | /util.promisify/1.0.1: 2621 | resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} 2622 | dependencies: 2623 | define-properties: 1.1.3 2624 | es-abstract: 1.17.7 2625 | has-symbols: 1.0.1 2626 | object.getownpropertydescriptors: 2.1.1 2627 | dev: false 2628 | 2629 | /uuid/3.4.0: 2630 | resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} 2631 | hasBin: true 2632 | dev: false 2633 | 2634 | /validate-npm-package-license/3.0.4: 2635 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 2636 | dependencies: 2637 | spdx-correct: 3.1.1 2638 | spdx-expression-parse: 3.0.1 2639 | dev: false 2640 | 2641 | /vite/2.6.7: 2642 | resolution: {integrity: sha512-ewk//jve9k6vlU8PfJmWUHN8k0YYdw4VaKOMvoQ3nT2Pb6k5OSMKQi4jPOzVH/TlUqMsCrq7IJ80xcuDDVyigg==} 2643 | engines: {node: '>=12.2.0'} 2644 | hasBin: true 2645 | peerDependencies: 2646 | less: '*' 2647 | sass: '*' 2648 | stylus: '*' 2649 | peerDependenciesMeta: 2650 | less: 2651 | optional: true 2652 | sass: 2653 | optional: true 2654 | stylus: 2655 | optional: true 2656 | dependencies: 2657 | esbuild: 0.13.6 2658 | postcss: 8.3.9 2659 | resolve: 1.20.0 2660 | rollup: 2.58.0 2661 | optionalDependencies: 2662 | fsevents: 2.3.2 2663 | dev: true 2664 | 2665 | /which/1.3.1: 2666 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 2667 | hasBin: true 2668 | dependencies: 2669 | isexe: 2.0.0 2670 | dev: false 2671 | 2672 | /which/2.0.2: 2673 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2674 | engines: {node: '>= 8'} 2675 | hasBin: true 2676 | dependencies: 2677 | isexe: 2.0.0 2678 | dev: false 2679 | 2680 | /wrappy/1.0.2: 2681 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} 2682 | dev: false 2683 | 2684 | /xtend/4.0.2: 2685 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 2686 | engines: {node: '>=0.4'} 2687 | dev: false 2688 | 2689 | /yallist/2.1.2: 2690 | resolution: {integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=} 2691 | dev: false 2692 | 2693 | /yauzl/2.10.0: 2694 | resolution: {integrity: sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=} 2695 | dependencies: 2696 | buffer-crc32: 0.2.13 2697 | fd-slicer: 1.1.0 2698 | dev: false 2699 | --------------------------------------------------------------------------------