├── 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 | [](https://www.npmjs.com/package/vite-plugin-compress)
4 | [](https://github.com/prettier/prettier)
5 | [](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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------