├── .editorconfig ├── .eslintrc.yml ├── .gitignore ├── .prettierrc.yml ├── README.md ├── eleventy-plugin-sharp.js ├── package.json └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [{package.json,*.yml}] 12 | indent_style = space 13 | indent_size = 2 14 | 15 | [*.md] 16 | trim_trailing_whitespace = false 17 | -------------------------------------------------------------------------------- /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | env: 2 | browser: true 3 | es6: true 4 | node: true 5 | 6 | extends: 7 | - eslint:recommended 8 | 9 | parserOptions: 10 | ecmaVersion: 2019 11 | sourceType: module 12 | 13 | rules: 14 | semi: error 15 | no-shadow: error 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | *.sublime-project 3 | -------------------------------------------------------------------------------- /.prettierrc.yml: -------------------------------------------------------------------------------- 1 | # .prettierrc or .prettierrc.yml 2 | tabWidth: 2 3 | singleQuote: true 4 | semi: true 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # eleventy-plugin-sharp 2 | 3 | **npm**: `npm i eleventy-plugin-sharp` 4 | 5 | Inspired by the [Craft CMS image transform API](https://craftcms.com/docs/3.x/image-transforms.html). 6 | This plugin gives you the full power of the awesome [sharp](https://sharp.pixelplumbing.com/) library in your [11ty](https://www.11ty.dev/) templates. 7 | 8 | 9 | ## Usage 10 | 11 | ```js 12 | // .eleventy.js 13 | const sharpPlugin = require('eleventy-plugin-sharp'); 14 | 15 | module.exports = function (eleventyConfig) { 16 | eleventyConfig.addPlugin(sharpPlugin({ 17 | urlPath: '/images', 18 | outputDir: 'public/images' 19 | })); 20 | }; 21 | ``` 22 | 23 | 24 | ## Filters 25 | 26 | Filters are used to build up the Sharp instance. Pretty much all the methods that the [Sharp API](https://sharp.pixelplumbing.com/api-constructor) provides can be called. [`output options`](https://sharp.pixelplumbing.com/api-output), [`resizing`](https://sharp.pixelplumbing.com/api-resize), [`operations`](https://sharp.pixelplumbing.com/api-operation), [`colour`](https://sharp.pixelplumbing.com/api-colour), etc. 27 | 28 | 29 | ## Shortcodes 30 | 31 | In addition shortcodes are used to execute the async functions of Sharp, something filters don't support. 32 | 33 | - `getUrl(instanceOrFilepath)` Saves the image to disk and gets the url. 34 | - `getWidth(instanceOrFilepath)` Gets the width of an image. 35 | - `getHeight(instanceOrFilepath)` Gets the height of an image. 36 | - `getMetadata(instanceOrFilepath)` Gets the metadata of an image. 37 | - `getStats(instanceOrFilepath)` Gets the stats of an image. 38 | 39 | 40 | ## Responsive images using `` 41 | 42 | The `sharp` filter is optional if the input file is followed by any Sharp transform. 43 | 44 | ```njk 45 | {% set image = "src/images/zen-pond.jpg" | sharp %} 46 | 47 | 48 | 49 | 50 | 51 | {{ image.title }} 52 | 53 | ``` 54 | 55 | 56 | ## Get the dimensions of a saved image w/ custom output filepath 57 | 58 | ```njk 59 | {% set bannerImage = "src/images/zen-pond.jpg" | resize(1440, 460) | toFile("public/images/custom-name.webp") %} 60 | 61 | {% getUrl bannerImage %} 62 | {% getWidth bannerImage.fileOut %} 63 | {% getHeight bannerImage.fileOut %} 64 | ``` 65 | -------------------------------------------------------------------------------- /eleventy-plugin-sharp.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const sharp = require('sharp'); 3 | const debug = require('debug')('EleventyPluginSharp'); 4 | 5 | const exclude = [ 6 | 'clone', 7 | 'metadata', 8 | 'stats', 9 | 'trim', // trim is a built-in filter for most templating languages 10 | 'toFile', 11 | 'toBuffer', 12 | ]; 13 | 14 | const forwardMethods = Object.keys(sharp.prototype).filter((method) => { 15 | return !method.startsWith('_') && !exclude.includes(method); 16 | }); 17 | 18 | const globalOptions = { 19 | urlPath: '/images', 20 | outputDir: 'public/images', 21 | }; 22 | 23 | function createSharpPlugin(options) { 24 | options = Object.assign({}, globalOptions, options); 25 | 26 | return function sharpPlugin(eleventyConfig) { 27 | /** 28 | * Sharp filters 29 | */ 30 | eleventyConfig.addFilter('sharp', sharp); 31 | 32 | forwardMethods.forEach((method) => { 33 | eleventyConfig.addFilter(method, function (instance, ...args) { 34 | if (typeof instance === 'string') instance = sharp(instance); 35 | return instance[method](...args); 36 | }); 37 | }); 38 | 39 | eleventyConfig.addFilter('toFile', function (instance, fileOut) { 40 | if (typeof instance === 'string') instance = sharp(instance); 41 | instance.fileOut = fileOut; 42 | return instance; 43 | }); 44 | 45 | /** 46 | * Async shortcodes 47 | */ 48 | eleventyConfig.addAsyncShortcode('getUrl', async function (instance) { 49 | if (!instance.fileOut) { 50 | instance.fileOut = path.join( 51 | options.outputDir, 52 | createFileOutName(instance.options) 53 | ); 54 | } 55 | 56 | debug('Writing %o', instance.fileOut); 57 | await instance.toFile(instance.fileOut); 58 | return path.join(options.urlPath, path.basename(instance.fileOut)); 59 | }); 60 | 61 | eleventyConfig.addAsyncShortcode('getWidth', async function (instance) { 62 | const metadata = await getMetadata(instance); 63 | return `${metadata.width}`; 64 | }); 65 | 66 | eleventyConfig.addAsyncShortcode('getHeight', async function (instance) { 67 | const metadata = await getMetadata(instance); 68 | return `${metadata.height}`; 69 | }); 70 | 71 | eleventyConfig.addAsyncShortcode('getMetadata', getMetadata); 72 | 73 | function getMetadata(instance) { 74 | if (typeof instance === 'string') instance = sharp(instance); 75 | return instance.metadata(); 76 | } 77 | 78 | eleventyConfig.addAsyncShortcode('getStats', function (instance) { 79 | if (typeof instance === 'string') instance = sharp(instance); 80 | return instance.stats(); 81 | }); 82 | }; 83 | } 84 | 85 | /** 86 | * Adds a postfix to the file out name. 87 | * @param {Object} options 88 | * @return {String} 89 | */ 90 | function createFileOutName(opts) { 91 | const { width, height, formatOut } = opts; 92 | 93 | let postfix = ''; 94 | if (width > 0 || height > 0) { 95 | if (width) { 96 | postfix += width; 97 | if (height) postfix += 'x'; 98 | } 99 | if (height) { 100 | postfix += height; 101 | if (!width) postfix += 'h'; 102 | } 103 | } 104 | if (postfix) postfix = `-${postfix}`; 105 | 106 | const input = opts.input.file; 107 | const extname = formatOut === 'input' ? path.extname(input) : `.${formatOut}`; 108 | const basename = path.basename(input, path.extname(input)); 109 | 110 | return `${basename}${postfix}${extname}`; 111 | } 112 | 113 | module.exports = createSharpPlugin; 114 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eleventy-plugin-sharp", 3 | "version": "0.1.0", 4 | "keywords": [ 5 | "eleventy", 6 | "eleventy-plugin", 7 | "11ty", 8 | "sharp", 9 | "image", 10 | "img", 11 | "transform", 12 | "resize", 13 | "responsive", 14 | "picture", 15 | "srcset" 16 | ], 17 | "homepage": "https://github.com/luwes/eleventy-plugin-sharp#readme", 18 | "bugs": { 19 | "url": "https://github.com/luwes/eleventy-plugin-sharp/issues" 20 | }, 21 | "repository": "luwes/eleventy-plugin-sharp", 22 | "license": "MIT", 23 | "author": "Wesley Luyten (https://wesleyluyten.com)", 24 | "main": "eleventy-plugin-sharp.js", 25 | "dependencies": { 26 | "debug": "^4.1.1", 27 | "sharp": "^0.30.0" 28 | }, 29 | "devDependencies": { 30 | "eslint": "^7.7.0", 31 | "prettier": "^2.1.1" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.10.4" 7 | resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz" 8 | integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/helper-validator-identifier@^7.10.4": 13 | version "7.10.4" 14 | resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz" 15 | integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== 16 | 17 | "@babel/highlight@^7.10.4": 18 | version "7.10.4" 19 | resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz" 20 | integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.10.4" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@types/color-name@^1.1.1": 27 | version "1.1.1" 28 | resolved "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz" 29 | integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== 30 | 31 | acorn-jsx@^5.2.0: 32 | version "5.2.0" 33 | resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz" 34 | integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== 35 | 36 | acorn@^7.4.0: 37 | version "7.4.0" 38 | resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz" 39 | integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== 40 | 41 | ajv@^6.10.0, ajv@^6.10.2: 42 | version "6.12.4" 43 | resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz" 44 | integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== 45 | dependencies: 46 | fast-deep-equal "^3.1.1" 47 | fast-json-stable-stringify "^2.0.0" 48 | json-schema-traverse "^0.4.1" 49 | uri-js "^4.2.2" 50 | 51 | ansi-colors@^4.1.1: 52 | version "4.1.1" 53 | resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" 54 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 55 | 56 | ansi-regex@^2.0.0: 57 | version "2.1.1" 58 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" 59 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 60 | 61 | ansi-regex@^4.1.0: 62 | version "4.1.0" 63 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" 64 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== 65 | 66 | ansi-regex@^5.0.0: 67 | version "5.0.0" 68 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz" 69 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 70 | 71 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 72 | version "3.2.1" 73 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" 74 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 75 | dependencies: 76 | color-convert "^1.9.0" 77 | 78 | ansi-styles@^4.1.0: 79 | version "4.2.1" 80 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz" 81 | integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== 82 | dependencies: 83 | "@types/color-name" "^1.1.1" 84 | color-convert "^2.0.1" 85 | 86 | aproba@^1.0.3: 87 | version "1.2.0" 88 | resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" 89 | integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== 90 | 91 | are-we-there-yet@~1.1.2: 92 | version "1.1.5" 93 | resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz" 94 | integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== 95 | dependencies: 96 | delegates "^1.0.0" 97 | readable-stream "^2.0.6" 98 | 99 | argparse@^1.0.7: 100 | version "1.0.10" 101 | resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" 102 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 103 | dependencies: 104 | sprintf-js "~1.0.2" 105 | 106 | astral-regex@^1.0.0: 107 | version "1.0.0" 108 | resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" 109 | integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== 110 | 111 | balanced-match@^1.0.0: 112 | version "1.0.0" 113 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" 114 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 115 | 116 | base64-js@^1.0.2: 117 | version "1.3.1" 118 | resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz" 119 | integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== 120 | 121 | bl@^4.0.3: 122 | version "4.1.0" 123 | resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" 124 | integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== 125 | dependencies: 126 | buffer "^5.5.0" 127 | inherits "^2.0.4" 128 | readable-stream "^3.4.0" 129 | 130 | brace-expansion@^1.1.7: 131 | version "1.1.11" 132 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" 133 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 134 | dependencies: 135 | balanced-match "^1.0.0" 136 | concat-map "0.0.1" 137 | 138 | buffer@^5.5.0: 139 | version "5.6.0" 140 | resolved "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz" 141 | integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== 142 | dependencies: 143 | base64-js "^1.0.2" 144 | ieee754 "^1.1.4" 145 | 146 | callsites@^3.0.0: 147 | version "3.1.0" 148 | resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" 149 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 150 | 151 | chalk@^2.0.0: 152 | version "2.4.2" 153 | resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" 154 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 155 | dependencies: 156 | ansi-styles "^3.2.1" 157 | escape-string-regexp "^1.0.5" 158 | supports-color "^5.3.0" 159 | 160 | chalk@^4.0.0: 161 | version "4.1.0" 162 | resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz" 163 | integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== 164 | dependencies: 165 | ansi-styles "^4.1.0" 166 | supports-color "^7.1.0" 167 | 168 | chownr@^1.1.1: 169 | version "1.1.4" 170 | resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" 171 | integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== 172 | 173 | code-point-at@^1.0.0: 174 | version "1.1.0" 175 | resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" 176 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 177 | 178 | color-convert@^1.9.0: 179 | version "1.9.3" 180 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" 181 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 182 | dependencies: 183 | color-name "1.1.3" 184 | 185 | color-convert@^2.0.1: 186 | version "2.0.1" 187 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 188 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 189 | dependencies: 190 | color-name "~1.1.4" 191 | 192 | color-name@1.1.3: 193 | version "1.1.3" 194 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" 195 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 196 | 197 | color-name@^1.0.0, color-name@~1.1.4: 198 | version "1.1.4" 199 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 200 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 201 | 202 | color-string@^1.9.0: 203 | version "1.9.0" 204 | resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz" 205 | integrity sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ== 206 | dependencies: 207 | color-name "^1.0.0" 208 | simple-swizzle "^0.2.2" 209 | 210 | color@^4.2.1: 211 | version "4.2.1" 212 | resolved "https://registry.npmjs.org/color/-/color-4.2.1.tgz" 213 | integrity sha512-MFJr0uY4RvTQUKvPq7dh9grVOTYSFeXja2mBXioCGjnjJoXrAp9jJ1NQTDR73c9nwBSAQiNKloKl5zq9WB9UPw== 214 | dependencies: 215 | color-convert "^2.0.1" 216 | color-string "^1.9.0" 217 | 218 | concat-map@0.0.1: 219 | version "0.0.1" 220 | resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 221 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 222 | 223 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 224 | version "1.1.0" 225 | resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" 226 | integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= 227 | 228 | core-util-is@~1.0.0: 229 | version "1.0.2" 230 | resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" 231 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 232 | 233 | cross-spawn@^7.0.2: 234 | version "7.0.3" 235 | resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" 236 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 237 | dependencies: 238 | path-key "^3.1.0" 239 | shebang-command "^2.0.0" 240 | which "^2.0.1" 241 | 242 | debug@^4.0.1, debug@^4.1.1: 243 | version "4.1.1" 244 | resolved "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz" 245 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 246 | dependencies: 247 | ms "^2.1.1" 248 | 249 | decompress-response@^6.0.0: 250 | version "6.0.0" 251 | resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" 252 | integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== 253 | dependencies: 254 | mimic-response "^3.1.0" 255 | 256 | deep-extend@^0.6.0: 257 | version "0.6.0" 258 | resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" 259 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 260 | 261 | deep-is@^0.1.3: 262 | version "0.1.3" 263 | resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" 264 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 265 | 266 | delegates@^1.0.0: 267 | version "1.0.0" 268 | resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" 269 | integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= 270 | 271 | detect-libc@^2.0.0, detect-libc@^2.0.1: 272 | version "2.0.1" 273 | resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz" 274 | integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w== 275 | 276 | doctrine@^3.0.0: 277 | version "3.0.0" 278 | resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" 279 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 280 | dependencies: 281 | esutils "^2.0.2" 282 | 283 | emoji-regex@^7.0.1: 284 | version "7.0.3" 285 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" 286 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== 287 | 288 | end-of-stream@^1.1.0, end-of-stream@^1.4.1: 289 | version "1.4.4" 290 | resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" 291 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 292 | dependencies: 293 | once "^1.4.0" 294 | 295 | enquirer@^2.3.5: 296 | version "2.3.6" 297 | resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" 298 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== 299 | dependencies: 300 | ansi-colors "^4.1.1" 301 | 302 | escape-string-regexp@^1.0.5: 303 | version "1.0.5" 304 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" 305 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 306 | 307 | eslint-scope@^5.1.0: 308 | version "5.1.0" 309 | resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz" 310 | integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== 311 | dependencies: 312 | esrecurse "^4.1.0" 313 | estraverse "^4.1.1" 314 | 315 | eslint-utils@^2.1.0: 316 | version "2.1.0" 317 | resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" 318 | integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== 319 | dependencies: 320 | eslint-visitor-keys "^1.1.0" 321 | 322 | eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: 323 | version "1.3.0" 324 | resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" 325 | integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== 326 | 327 | eslint@^7.7.0: 328 | version "7.7.0" 329 | resolved "https://registry.npmjs.org/eslint/-/eslint-7.7.0.tgz" 330 | integrity sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg== 331 | dependencies: 332 | "@babel/code-frame" "^7.0.0" 333 | ajv "^6.10.0" 334 | chalk "^4.0.0" 335 | cross-spawn "^7.0.2" 336 | debug "^4.0.1" 337 | doctrine "^3.0.0" 338 | enquirer "^2.3.5" 339 | eslint-scope "^5.1.0" 340 | eslint-utils "^2.1.0" 341 | eslint-visitor-keys "^1.3.0" 342 | espree "^7.2.0" 343 | esquery "^1.2.0" 344 | esutils "^2.0.2" 345 | file-entry-cache "^5.0.1" 346 | functional-red-black-tree "^1.0.1" 347 | glob-parent "^5.0.0" 348 | globals "^12.1.0" 349 | ignore "^4.0.6" 350 | import-fresh "^3.0.0" 351 | imurmurhash "^0.1.4" 352 | is-glob "^4.0.0" 353 | js-yaml "^3.13.1" 354 | json-stable-stringify-without-jsonify "^1.0.1" 355 | levn "^0.4.1" 356 | lodash "^4.17.19" 357 | minimatch "^3.0.4" 358 | natural-compare "^1.4.0" 359 | optionator "^0.9.1" 360 | progress "^2.0.0" 361 | regexpp "^3.1.0" 362 | semver "^7.2.1" 363 | strip-ansi "^6.0.0" 364 | strip-json-comments "^3.1.0" 365 | table "^5.2.3" 366 | text-table "^0.2.0" 367 | v8-compile-cache "^2.0.3" 368 | 369 | espree@^7.2.0: 370 | version "7.3.0" 371 | resolved "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz" 372 | integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw== 373 | dependencies: 374 | acorn "^7.4.0" 375 | acorn-jsx "^5.2.0" 376 | eslint-visitor-keys "^1.3.0" 377 | 378 | esprima@^4.0.0: 379 | version "4.0.1" 380 | resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" 381 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 382 | 383 | esquery@^1.2.0: 384 | version "1.3.1" 385 | resolved "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz" 386 | integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== 387 | dependencies: 388 | estraverse "^5.1.0" 389 | 390 | esrecurse@^4.1.0: 391 | version "4.2.1" 392 | resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz" 393 | integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== 394 | dependencies: 395 | estraverse "^4.1.0" 396 | 397 | estraverse@^4.1.0, estraverse@^4.1.1: 398 | version "4.3.0" 399 | resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" 400 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 401 | 402 | estraverse@^5.1.0: 403 | version "5.2.0" 404 | resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" 405 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== 406 | 407 | esutils@^2.0.2: 408 | version "2.0.3" 409 | resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" 410 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 411 | 412 | expand-template@^2.0.3: 413 | version "2.0.3" 414 | resolved "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz" 415 | integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== 416 | 417 | fast-deep-equal@^3.1.1: 418 | version "3.1.3" 419 | resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" 420 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 421 | 422 | fast-json-stable-stringify@^2.0.0: 423 | version "2.1.0" 424 | resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" 425 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 426 | 427 | fast-levenshtein@^2.0.6: 428 | version "2.0.6" 429 | resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" 430 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 431 | 432 | file-entry-cache@^5.0.1: 433 | version "5.0.1" 434 | resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz" 435 | integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== 436 | dependencies: 437 | flat-cache "^2.0.1" 438 | 439 | flat-cache@^2.0.1: 440 | version "2.0.1" 441 | resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz" 442 | integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== 443 | dependencies: 444 | flatted "^2.0.0" 445 | rimraf "2.6.3" 446 | write "1.0.3" 447 | 448 | flatted@^2.0.0: 449 | version "2.0.2" 450 | resolved "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz" 451 | integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== 452 | 453 | fs-constants@^1.0.0: 454 | version "1.0.0" 455 | resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" 456 | integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== 457 | 458 | fs.realpath@^1.0.0: 459 | version "1.0.0" 460 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" 461 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 462 | 463 | functional-red-black-tree@^1.0.1: 464 | version "1.0.1" 465 | resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" 466 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 467 | 468 | gauge@~2.7.3: 469 | version "2.7.4" 470 | resolved "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz" 471 | integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= 472 | dependencies: 473 | aproba "^1.0.3" 474 | console-control-strings "^1.0.0" 475 | has-unicode "^2.0.0" 476 | object-assign "^4.1.0" 477 | signal-exit "^3.0.0" 478 | string-width "^1.0.1" 479 | strip-ansi "^3.0.1" 480 | wide-align "^1.1.0" 481 | 482 | github-from-package@0.0.0: 483 | version "0.0.0" 484 | resolved "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz" 485 | integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= 486 | 487 | glob-parent@^5.0.0: 488 | version "5.1.1" 489 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz" 490 | integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== 491 | dependencies: 492 | is-glob "^4.0.1" 493 | 494 | glob@^7.1.3: 495 | version "7.1.6" 496 | resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" 497 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 498 | dependencies: 499 | fs.realpath "^1.0.0" 500 | inflight "^1.0.4" 501 | inherits "2" 502 | minimatch "^3.0.4" 503 | once "^1.3.0" 504 | path-is-absolute "^1.0.0" 505 | 506 | globals@^12.1.0: 507 | version "12.4.0" 508 | resolved "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz" 509 | integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== 510 | dependencies: 511 | type-fest "^0.8.1" 512 | 513 | has-flag@^3.0.0: 514 | version "3.0.0" 515 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" 516 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 517 | 518 | has-flag@^4.0.0: 519 | version "4.0.0" 520 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" 521 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 522 | 523 | has-unicode@^2.0.0: 524 | version "2.0.1" 525 | resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" 526 | integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= 527 | 528 | ieee754@^1.1.4: 529 | version "1.1.13" 530 | resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz" 531 | integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== 532 | 533 | ignore@^4.0.6: 534 | version "4.0.6" 535 | resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" 536 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 537 | 538 | import-fresh@^3.0.0: 539 | version "3.2.1" 540 | resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz" 541 | integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== 542 | dependencies: 543 | parent-module "^1.0.0" 544 | resolve-from "^4.0.0" 545 | 546 | imurmurhash@^0.1.4: 547 | version "0.1.4" 548 | resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" 549 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 550 | 551 | inflight@^1.0.4: 552 | version "1.0.6" 553 | resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" 554 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 555 | dependencies: 556 | once "^1.3.0" 557 | wrappy "1" 558 | 559 | inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: 560 | version "2.0.4" 561 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 562 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 563 | 564 | ini@~1.3.0: 565 | version "1.3.5" 566 | resolved "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz" 567 | integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== 568 | 569 | is-arrayish@^0.3.1: 570 | version "0.3.2" 571 | resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" 572 | integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== 573 | 574 | is-extglob@^2.1.1: 575 | version "2.1.1" 576 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 577 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 578 | 579 | is-fullwidth-code-point@^1.0.0: 580 | version "1.0.0" 581 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" 582 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 583 | dependencies: 584 | number-is-nan "^1.0.0" 585 | 586 | is-fullwidth-code-point@^2.0.0: 587 | version "2.0.0" 588 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" 589 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 590 | 591 | is-glob@^4.0.0, is-glob@^4.0.1: 592 | version "4.0.1" 593 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" 594 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 595 | dependencies: 596 | is-extglob "^2.1.1" 597 | 598 | isarray@~1.0.0: 599 | version "1.0.0" 600 | resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" 601 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 602 | 603 | isexe@^2.0.0: 604 | version "2.0.0" 605 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" 606 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 607 | 608 | js-tokens@^4.0.0: 609 | version "4.0.0" 610 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" 611 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 612 | 613 | js-yaml@^3.13.1: 614 | version "3.14.0" 615 | resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz" 616 | integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== 617 | dependencies: 618 | argparse "^1.0.7" 619 | esprima "^4.0.0" 620 | 621 | json-schema-traverse@^0.4.1: 622 | version "0.4.1" 623 | resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" 624 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 625 | 626 | json-stable-stringify-without-jsonify@^1.0.1: 627 | version "1.0.1" 628 | resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" 629 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 630 | 631 | levn@^0.4.1: 632 | version "0.4.1" 633 | resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" 634 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 635 | dependencies: 636 | prelude-ls "^1.2.1" 637 | type-check "~0.4.0" 638 | 639 | lodash@^4.17.14, lodash@^4.17.19: 640 | version "4.17.20" 641 | resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz" 642 | integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== 643 | 644 | lru-cache@^6.0.0: 645 | version "6.0.0" 646 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" 647 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 648 | dependencies: 649 | yallist "^4.0.0" 650 | 651 | mimic-response@^3.1.0: 652 | version "3.1.0" 653 | resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" 654 | integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== 655 | 656 | minimatch@^3.0.4: 657 | version "3.0.4" 658 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" 659 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 660 | dependencies: 661 | brace-expansion "^1.1.7" 662 | 663 | minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: 664 | version "1.2.5" 665 | resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" 666 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 667 | 668 | mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: 669 | version "0.5.3" 670 | resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" 671 | integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== 672 | 673 | mkdirp@^0.5.1: 674 | version "0.5.5" 675 | resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" 676 | integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== 677 | dependencies: 678 | minimist "^1.2.5" 679 | 680 | ms@^2.1.1: 681 | version "2.1.2" 682 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 683 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 684 | 685 | napi-build-utils@^1.0.1: 686 | version "1.0.2" 687 | resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz" 688 | integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== 689 | 690 | natural-compare@^1.4.0: 691 | version "1.4.0" 692 | resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" 693 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 694 | 695 | node-abi@^3.3.0: 696 | version "3.8.0" 697 | resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.8.0.tgz" 698 | integrity sha512-tzua9qWWi7iW4I42vUPKM+SfaF0vQSLAm4yO5J83mSwB7GeoWrDKC/K+8YCnYNwqP5duwazbw2X9l4m8SC2cUw== 699 | dependencies: 700 | semver "^7.3.5" 701 | 702 | node-addon-api@^4.3.0: 703 | version "4.3.0" 704 | resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz" 705 | integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== 706 | 707 | npmlog@^4.0.1: 708 | version "4.1.2" 709 | resolved "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz" 710 | integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== 711 | dependencies: 712 | are-we-there-yet "~1.1.2" 713 | console-control-strings "~1.1.0" 714 | gauge "~2.7.3" 715 | set-blocking "~2.0.0" 716 | 717 | number-is-nan@^1.0.0: 718 | version "1.0.1" 719 | resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" 720 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 721 | 722 | object-assign@^4.1.0: 723 | version "4.1.1" 724 | resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" 725 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 726 | 727 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 728 | version "1.4.0" 729 | resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 730 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 731 | dependencies: 732 | wrappy "1" 733 | 734 | optionator@^0.9.1: 735 | version "0.9.1" 736 | resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" 737 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 738 | dependencies: 739 | deep-is "^0.1.3" 740 | fast-levenshtein "^2.0.6" 741 | levn "^0.4.1" 742 | prelude-ls "^1.2.1" 743 | type-check "^0.4.0" 744 | word-wrap "^1.2.3" 745 | 746 | parent-module@^1.0.0: 747 | version "1.0.1" 748 | resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" 749 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 750 | dependencies: 751 | callsites "^3.0.0" 752 | 753 | path-is-absolute@^1.0.0: 754 | version "1.0.1" 755 | resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" 756 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 757 | 758 | path-key@^3.1.0: 759 | version "3.1.1" 760 | resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" 761 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 762 | 763 | prebuild-install@^7.0.1: 764 | version "7.0.1" 765 | resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.1.tgz" 766 | integrity sha512-QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg== 767 | dependencies: 768 | detect-libc "^2.0.0" 769 | expand-template "^2.0.3" 770 | github-from-package "0.0.0" 771 | minimist "^1.2.3" 772 | mkdirp-classic "^0.5.3" 773 | napi-build-utils "^1.0.1" 774 | node-abi "^3.3.0" 775 | npmlog "^4.0.1" 776 | pump "^3.0.0" 777 | rc "^1.2.7" 778 | simple-get "^4.0.0" 779 | tar-fs "^2.0.0" 780 | tunnel-agent "^0.6.0" 781 | 782 | prelude-ls@^1.2.1: 783 | version "1.2.1" 784 | resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" 785 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 786 | 787 | prettier@^2.1.1: 788 | version "2.1.1" 789 | resolved "https://registry.npmjs.org/prettier/-/prettier-2.1.1.tgz" 790 | integrity sha512-9bY+5ZWCfqj3ghYBLxApy2zf6m+NJo5GzmLTpr9FsApsfjriNnS2dahWReHMi7qNPhhHl9SYHJs2cHZLgexNIw== 791 | 792 | process-nextick-args@~2.0.0: 793 | version "2.0.1" 794 | resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" 795 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 796 | 797 | progress@^2.0.0: 798 | version "2.0.3" 799 | resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" 800 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 801 | 802 | pump@^3.0.0: 803 | version "3.0.0" 804 | resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" 805 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 806 | dependencies: 807 | end-of-stream "^1.1.0" 808 | once "^1.3.1" 809 | 810 | punycode@^2.1.0: 811 | version "2.1.1" 812 | resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" 813 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 814 | 815 | rc@^1.2.7: 816 | version "1.2.8" 817 | resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" 818 | integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== 819 | dependencies: 820 | deep-extend "^0.6.0" 821 | ini "~1.3.0" 822 | minimist "^1.2.0" 823 | strip-json-comments "~2.0.1" 824 | 825 | readable-stream@^2.0.6: 826 | version "2.3.7" 827 | resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" 828 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 829 | dependencies: 830 | core-util-is "~1.0.0" 831 | inherits "~2.0.3" 832 | isarray "~1.0.0" 833 | process-nextick-args "~2.0.0" 834 | safe-buffer "~5.1.1" 835 | string_decoder "~1.1.1" 836 | util-deprecate "~1.0.1" 837 | 838 | readable-stream@^3.1.1, readable-stream@^3.4.0: 839 | version "3.6.0" 840 | resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" 841 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== 842 | dependencies: 843 | inherits "^2.0.3" 844 | string_decoder "^1.1.1" 845 | util-deprecate "^1.0.1" 846 | 847 | regexpp@^3.1.0: 848 | version "3.1.0" 849 | resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz" 850 | integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== 851 | 852 | resolve-from@^4.0.0: 853 | version "4.0.0" 854 | resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" 855 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 856 | 857 | rimraf@2.6.3: 858 | version "2.6.3" 859 | resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" 860 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 861 | dependencies: 862 | glob "^7.1.3" 863 | 864 | safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 865 | version "5.1.2" 866 | resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" 867 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 868 | 869 | semver@^7.2.1, semver@^7.3.5: 870 | version "7.3.5" 871 | resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" 872 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 873 | dependencies: 874 | lru-cache "^6.0.0" 875 | 876 | set-blocking@~2.0.0: 877 | version "2.0.0" 878 | resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" 879 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 880 | 881 | sharp@^0.30.0: 882 | version "0.30.2" 883 | resolved "https://registry.npmjs.org/sharp/-/sharp-0.30.2.tgz" 884 | integrity sha512-mrMeKI5ECTdYhslPlA2TbBtU3nZXMEBcQwI6qYXjPlu1LpW4HBZLFm6xshMI1HpIdEEJ3UcYp5AKifLT/fEHZQ== 885 | dependencies: 886 | color "^4.2.1" 887 | detect-libc "^2.0.1" 888 | node-addon-api "^4.3.0" 889 | prebuild-install "^7.0.1" 890 | semver "^7.3.5" 891 | simple-get "^4.0.1" 892 | tar-fs "^2.1.1" 893 | tunnel-agent "^0.6.0" 894 | 895 | shebang-command@^2.0.0: 896 | version "2.0.0" 897 | resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" 898 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 899 | dependencies: 900 | shebang-regex "^3.0.0" 901 | 902 | shebang-regex@^3.0.0: 903 | version "3.0.0" 904 | resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" 905 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 906 | 907 | signal-exit@^3.0.0: 908 | version "3.0.3" 909 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" 910 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 911 | 912 | simple-concat@^1.0.0: 913 | version "1.0.1" 914 | resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" 915 | integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== 916 | 917 | simple-get@^4.0.0, simple-get@^4.0.1: 918 | version "4.0.1" 919 | resolved "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz" 920 | integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== 921 | dependencies: 922 | decompress-response "^6.0.0" 923 | once "^1.3.1" 924 | simple-concat "^1.0.0" 925 | 926 | simple-swizzle@^0.2.2: 927 | version "0.2.2" 928 | resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" 929 | integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= 930 | dependencies: 931 | is-arrayish "^0.3.1" 932 | 933 | slice-ansi@^2.1.0: 934 | version "2.1.0" 935 | resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz" 936 | integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== 937 | dependencies: 938 | ansi-styles "^3.2.0" 939 | astral-regex "^1.0.0" 940 | is-fullwidth-code-point "^2.0.0" 941 | 942 | sprintf-js@~1.0.2: 943 | version "1.0.3" 944 | resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" 945 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 946 | 947 | string-width@^1.0.1, "string-width@^1.0.2 || 2": 948 | version "1.0.2" 949 | resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" 950 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 951 | dependencies: 952 | code-point-at "^1.0.0" 953 | is-fullwidth-code-point "^1.0.0" 954 | strip-ansi "^3.0.0" 955 | 956 | string-width@^3.0.0: 957 | version "3.1.0" 958 | resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" 959 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== 960 | dependencies: 961 | emoji-regex "^7.0.1" 962 | is-fullwidth-code-point "^2.0.0" 963 | strip-ansi "^5.1.0" 964 | 965 | string_decoder@^1.1.1, string_decoder@~1.1.1: 966 | version "1.1.1" 967 | resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" 968 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 969 | dependencies: 970 | safe-buffer "~5.1.0" 971 | 972 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 973 | version "3.0.1" 974 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" 975 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 976 | dependencies: 977 | ansi-regex "^2.0.0" 978 | 979 | strip-ansi@^5.1.0: 980 | version "5.2.0" 981 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" 982 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 983 | dependencies: 984 | ansi-regex "^4.1.0" 985 | 986 | strip-ansi@^6.0.0: 987 | version "6.0.0" 988 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz" 989 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 990 | dependencies: 991 | ansi-regex "^5.0.0" 992 | 993 | strip-json-comments@^3.1.0: 994 | version "3.1.1" 995 | resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" 996 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 997 | 998 | strip-json-comments@~2.0.1: 999 | version "2.0.1" 1000 | resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" 1001 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 1002 | 1003 | supports-color@^5.3.0: 1004 | version "5.5.0" 1005 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" 1006 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1007 | dependencies: 1008 | has-flag "^3.0.0" 1009 | 1010 | supports-color@^7.1.0: 1011 | version "7.2.0" 1012 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" 1013 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1014 | dependencies: 1015 | has-flag "^4.0.0" 1016 | 1017 | table@^5.2.3: 1018 | version "5.4.6" 1019 | resolved "https://registry.npmjs.org/table/-/table-5.4.6.tgz" 1020 | integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== 1021 | dependencies: 1022 | ajv "^6.10.2" 1023 | lodash "^4.17.14" 1024 | slice-ansi "^2.1.0" 1025 | string-width "^3.0.0" 1026 | 1027 | tar-fs@^2.0.0, tar-fs@^2.1.1: 1028 | version "2.1.1" 1029 | resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" 1030 | integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== 1031 | dependencies: 1032 | chownr "^1.1.1" 1033 | mkdirp-classic "^0.5.2" 1034 | pump "^3.0.0" 1035 | tar-stream "^2.1.4" 1036 | 1037 | tar-stream@^2.1.4: 1038 | version "2.2.0" 1039 | resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" 1040 | integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== 1041 | dependencies: 1042 | bl "^4.0.3" 1043 | end-of-stream "^1.4.1" 1044 | fs-constants "^1.0.0" 1045 | inherits "^2.0.3" 1046 | readable-stream "^3.1.1" 1047 | 1048 | text-table@^0.2.0: 1049 | version "0.2.0" 1050 | resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" 1051 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 1052 | 1053 | tunnel-agent@^0.6.0: 1054 | version "0.6.0" 1055 | resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" 1056 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 1057 | dependencies: 1058 | safe-buffer "^5.0.1" 1059 | 1060 | type-check@^0.4.0, type-check@~0.4.0: 1061 | version "0.4.0" 1062 | resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" 1063 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 1064 | dependencies: 1065 | prelude-ls "^1.2.1" 1066 | 1067 | type-fest@^0.8.1: 1068 | version "0.8.1" 1069 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" 1070 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 1071 | 1072 | uri-js@^4.2.2: 1073 | version "4.3.0" 1074 | resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.3.0.tgz" 1075 | integrity sha512-Q9Q9RlMM08eWfdPPmDDrXd8Ny3R1sY/DaRDR2zTPPneJ6GYiLx3++fPiZobv49ovkYAnHl/P72Ie3HWXIRVVYA== 1076 | dependencies: 1077 | punycode "^2.1.0" 1078 | 1079 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 1080 | version "1.0.2" 1081 | resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 1082 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1083 | 1084 | v8-compile-cache@^2.0.3: 1085 | version "2.1.1" 1086 | resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz" 1087 | integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== 1088 | 1089 | which@^2.0.1: 1090 | version "2.0.2" 1091 | resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" 1092 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1093 | dependencies: 1094 | isexe "^2.0.0" 1095 | 1096 | wide-align@^1.1.0: 1097 | version "1.1.3" 1098 | resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz" 1099 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 1100 | dependencies: 1101 | string-width "^1.0.2 || 2" 1102 | 1103 | word-wrap@^1.2.3: 1104 | version "1.2.3" 1105 | resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" 1106 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 1107 | 1108 | wrappy@1: 1109 | version "1.0.2" 1110 | resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 1111 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1112 | 1113 | write@1.0.3: 1114 | version "1.0.3" 1115 | resolved "https://registry.npmjs.org/write/-/write-1.0.3.tgz" 1116 | integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== 1117 | dependencies: 1118 | mkdirp "^0.5.1" 1119 | 1120 | yallist@^4.0.0: 1121 | version "4.0.0" 1122 | resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" 1123 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1124 | --------------------------------------------------------------------------------