├── .github └── workflows │ └── test.yml ├── .gitignore ├── .nvmrc ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── index.js ├── package-lock.json ├── package.json ├── test ├── dir │ ├── a.js │ ├── a.less │ ├── b.js │ └── subdir │ │ ├── c.js │ │ └── c.less └── test-all.js └── utils.js /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Tests 2 | on: [push, pull_request] 3 | env: 4 | CI: true 5 | 6 | jobs: 7 | run: 8 | name: Node ${{ matrix.node }} on ${{ matrix.os }} 9 | runs-on: ${{ matrix.os }} 10 | 11 | strategy: 12 | fail-fast: false 13 | matrix: 14 | node: [12, 14, 15] 15 | os: [ubuntu-latest, macOS-latest] 16 | 17 | steps: 18 | - name: Clone repository 19 | uses: actions/checkout@v1 20 | 21 | - name: Set Node.js version 22 | uses: actions/setup-node@v1 23 | with: 24 | node-version: ${{ matrix.node }} 25 | 26 | - run: node --version 27 | - run: npm --version 28 | 29 | - name: Install npm dependencies 30 | run: npm ci 31 | 32 | - name: Run tests 33 | run: npm test 34 | shell: bash 35 | env: 36 | SHELL: "/bin/bash" 37 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test-fixtures 3 | coverage 4 | *.bak 5 | *.log 6 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 10.16.0 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Pull requests and contributions are warmly welcome. 4 | Please follow existing code style and commit message conventions. 5 | Remember to keep documentation updated. 6 | 7 | **Pull requests:** You don't need to bump version numbers or modify anything 8 | related to releasing. That stuff is fully automated, just write the functionality. 9 | 10 | # Maintaining 11 | 12 | ## Release 13 | 14 | * Commit all changes 15 | * Bump package.json & pacakge-lock.json version number 16 | * Create GitHub release with release notes 17 | * Publish to NPM 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Kimmo Brunfeldt 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. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Chokidar CLI 2 | 3 | [![Build Status](https://github.com/open-cli-tools/chokidar-cli/workflows/Tests/badge.svg)](https://github.com/open-cli-tools/chokidar-cli/actions?workflow=Tests) 4 | 5 | Fast cross-platform command line utility to watch file system changes. 6 | 7 | The underlying watch library is [Chokidar](https://github.com/paulmillr/chokidar), which is one of the best watch utilities for Node. Chokidar is battle-tested: 8 | 9 | > It is used in 10 | > [brunch](http://brunch.io), 11 | > [gulp](https://github.com/gulpjs/gulp/), 12 | > [karma](http://karma-runner.github.io), 13 | > [PM2](https://github.com/Unitech/PM2), 14 | > [browserify](http://browserify.org/), 15 | > [webpack](http://webpack.github.io/), 16 | > [BrowserSync](http://www.browsersync.io/), 17 | > [socketstream](http://www.socketstream.org), 18 | > [derby](http://derbyjs.com/), 19 | > and [many others](https://www.npmjs.org/browse/depended/chokidar/). 20 | > It has proven itself in production environments. 21 | 22 | ## Prerequisites 23 | 24 | - Node.js v8.10.0 or newer 25 | 26 | ## Install 27 | 28 | If you need it only with npm scripts: 29 | 30 | ```bash 31 | npm install chokidar-cli 32 | ``` 33 | 34 | Or globally 35 | 36 | ```bash 37 | npm install -g chokidar-cli 38 | ``` 39 | 40 | ## Usage 41 | 42 | Chokidar can be invoked using the `chokidar` command, without the `-cli` suffix. 43 | 44 | Arguments use the form of runtime flags with string parameters, delimited by quotes. While in principal both single and double quotes are supported by `chokidar-cli`, the actual command line argument parsing is dependent on the operating system and shell used; for cross-platform compatibility, use double quotes (with escaping, if necessary), as single quotes are not universally supported by all operating systems. 45 | 46 | This is particularly important when using chokidar-cli for run scripts specified in `package.json`. For maximum platform compatibility, make sure to use escaped double quotes around chokidar's parameters: 47 | 48 | ```json 49 | "run": { 50 | "chokidar": "chokidar \"**/*.js\" -c \"...\"" 51 | }, 52 | ``` 53 | 54 | ## Default behavior 55 | 56 | By default `chokidar` streams changes for all patterns to stdout: 57 | 58 | ```bash 59 | $ chokidar "**/*.js" "**/*.less" 60 | change:test/dir/a.js 61 | change:test/dir/a.less 62 | add:test/b.js 63 | unlink:test/b.js 64 | ``` 65 | 66 | Each change is represented with format `event:relativepath`. Possible events: `add`, `unlink`, `addDir`, `unlinkDir`, `change`. 67 | 68 | **Output only relative paths on each change** 69 | 70 | ```bash 71 | $ chokidar "**/*.js" "**/*.less" | cut -d ":" -f 2- 72 | test/dir/a.js 73 | test/dir/a.less 74 | test/b.js 75 | test/b.js 76 | ``` 77 | 78 | **Run *npm run build-js* whenever any .js file changes in the current work directory tree** 79 | 80 | ```chokidar "**/*.js" -c "npm run build-js"``` 81 | 82 | **Watching in network directories must use polling** 83 | 84 | ```chokidar "**/*.less" -c "npm run build-less" --polling``` 85 | 86 | **Pass the path and event details in to your custom command** 87 | 88 | ```chokidar "**/*.less" -c "if [ '{event}' = 'change' ]; then npm run build-less -- {path}; fi;"``` 89 | 90 | **Detailed help** 91 | 92 | ``` 93 | Usage: chokidar [...] [options] 94 | 95 | : 96 | Glob pattern to specify files to be watched. 97 | Multiple patterns can be watched by separating patterns with spaces. 98 | To prevent shell globbing, write pattern inside quotes. 99 | Guide to globs: https://github.com/isaacs/node-glob#glob-primer 100 | 101 | 102 | Options: 103 | -c, --command Command to run after each change. Needs to be 104 | surrounded with quotes when command contains spaces. 105 | Instances of `{path}` or `{event}` within the command 106 | will be replaced by the corresponding values from the 107 | chokidar event. 108 | -d, --debounce Debounce timeout in ms for executing command 109 | [default: 400] 110 | -t, --throttle Throttle timeout in ms for executing command 111 | [default: 0] 112 | -s, --follow-symlinks When not set, only the symlinks themselves will be 113 | watched for changes instead of following the link 114 | references and bubbling events through the links path 115 | [boolean] [default: false] 116 | -i, --ignore Pattern for files which should be ignored. Needs to be 117 | surrounded with quotes to prevent shell globbing. The 118 | whole relative or absolute path is tested, not just 119 | filename. Supports glob patterns or regexes using 120 | format: /yourmatch/i 121 | --initial When set, command is initially run once 122 | [boolean] [default: false] 123 | -p, --polling Whether to use fs.watchFile(backed by polling) instead 124 | of fs.watch. This might lead to high CPU utilization. 125 | It is typically necessary to set this to true to 126 | successfully watch files over a network, and it may be 127 | necessary to successfully watch files in other non- 128 | standard situations [boolean] [default: false] 129 | --poll-interval Interval of file system polling. Effective when -- 130 | polling is set [default: 100] 131 | --poll-interval-binary Interval of file system polling for binary files. 132 | Effective when --polling is set [default: 300] 133 | --verbose When set, output is more verbose and human readable. 134 | [boolean] [default: false] 135 | --silent When set, internal messages of chokidar-cli won't be 136 | written. [boolean] [default: false] 137 | -h, --help Show help [boolean] 138 | -v, --version Show version number [boolean] 139 | 140 | Examples: 141 | chokidar "**/*.js" -c "npm run build-js" build when any .js file changes 142 | chokidar "**/*.js" "**/*.less" output changes of .js and .less 143 | files 144 | ``` 145 | 146 | ## License 147 | 148 | MIT 149 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | const throttle = require('lodash.throttle'); 6 | const debounce = require('lodash.debounce'); 7 | const chokidar = require('chokidar'); 8 | const yargs = require('yargs'); 9 | const { version: chokidarVersion } = require('chokidar/package.json'); 10 | const { version } = require('./package.json'); 11 | const utils = require('./utils'); 12 | 13 | const EVENT_DESCRIPTIONS = { 14 | add: 'File added', 15 | addDir: 'Directory added', 16 | unlink: 'File removed', 17 | unlinkDir: 'Directory removed', 18 | change: 'File changed' 19 | }; 20 | 21 | const defaultOpts = { 22 | debounce: 400, 23 | throttle: 0, 24 | followSymlinks: false, 25 | ignore: null, 26 | polling: false, 27 | pollInterval: 100, 28 | pollIntervalBinary: 300, 29 | verbose: false, 30 | silent: false, 31 | initial: false, 32 | command: null 33 | }; 34 | 35 | const VERSION = `chokidar-cli: ${version}\nchokidar: ${chokidarVersion}`; 36 | 37 | const {argv} = yargs 38 | .usage( 39 | 'Usage: chokidar [...] [options]\n\n' + 40 | ':\n' + 41 | 'Glob pattern to specify files to be watched.\n' + 42 | 'Multiple patterns can be watched by separating patterns with spaces.\n' + 43 | 'To prevent shell globbing, write pattern inside quotes.\n' + 44 | 'Guide to globs: https://github.com/isaacs/node-glob#glob-primer\n' 45 | ) 46 | .example('chokidar "**/*.js" -c "npm run build-js"', 'build when any .js file changes') 47 | .example('chokidar "**/*.js" "**/*.less"', 'output changes of .js and .less files') 48 | .demand(1) 49 | .option('c', { 50 | alias: 'command', 51 | describe: 'Command to run after each change. ' + 52 | 'Needs to be surrounded with quotes when command contains ' + 53 | 'spaces. Instances of `{path}` or `{event}` within the ' + 54 | 'command will be replaced by the corresponding values from ' + 55 | 'the chokidar event.' 56 | }) 57 | .option('d', { 58 | alias: 'debounce', 59 | default: defaultOpts.debounce, 60 | describe: 'Debounce timeout in ms for executing command', 61 | type: 'number' 62 | }) 63 | .option('t', { 64 | alias: 'throttle', 65 | default: defaultOpts.throttle, 66 | describe: 'Throttle timeout in ms for executing command', 67 | type: 'number' 68 | }) 69 | .option('s', { 70 | alias: 'follow-symlinks', 71 | default: defaultOpts.followSymlinks, 72 | describe: 'When not set, only the symlinks themselves will be watched ' + 73 | 'for changes instead of following the link references and ' + 74 | 'bubbling events through the links path', 75 | type: 'boolean' 76 | }) 77 | .option('i', { 78 | alias: 'ignore', 79 | describe: 'Pattern for files which should be ignored. ' + 80 | 'Needs to be surrounded with quotes to prevent shell globbing. ' + 81 | 'The whole relative or absolute path is tested, not just filename. ' + 82 | 'Supports glob patters or regexes using format: /yourmatch/i' 83 | }) 84 | .option('initial', { 85 | describe: 'When set, command is initially run once', 86 | default: defaultOpts.initial, 87 | type: 'boolean' 88 | }) 89 | .option('p', { 90 | alias: 'polling', 91 | describe: 'Whether to use fs.watchFile(backed by polling) instead of ' + 92 | 'fs.watch. This might lead to high CPU utilization. ' + 93 | 'It is typically necessary to set this to true to ' + 94 | 'successfully watch files over a network, and it may be ' + 95 | 'necessary to successfully watch files in other ' + 96 | 'non-standard situations', 97 | default: defaultOpts.polling, 98 | type: 'boolean' 99 | }) 100 | .option('poll-interval', { 101 | describe: 'Interval of file system polling. Effective when --polling ' + 102 | 'is set', 103 | default: defaultOpts.pollInterval, 104 | type: 'number' 105 | }) 106 | .option('poll-interval-binary', { 107 | describe: 'Interval of file system polling for binary files. ' + 108 | 'Effective when --polling is set', 109 | default: defaultOpts.pollIntervalBinary, 110 | type: 'number' 111 | }) 112 | .option('verbose', { 113 | describe: 'When set, output is more verbose and human readable.', 114 | default: defaultOpts.verbose, 115 | type: 'boolean' 116 | }) 117 | .option('silent', { 118 | describe: 'When set, internal messages of chokidar-cli won\'t be written.', 119 | default: defaultOpts.silent, 120 | type: 'boolean' 121 | }) 122 | .help('h') 123 | .alias('h', 'help') 124 | .alias('v', 'version') 125 | .version(VERSION); 126 | 127 | function main() { 128 | const userOpts = getUserOpts(argv); 129 | const opts = Object.assign(defaultOpts, userOpts); 130 | startWatching(opts); 131 | } 132 | 133 | function getUserOpts(argv) { 134 | argv.patterns = argv._; 135 | return argv; 136 | } 137 | 138 | // Estimates spent working hours based on commit dates 139 | function startWatching(opts) { 140 | const chokidarOpts = createChokidarOpts(opts); 141 | const watcher = chokidar.watch(opts.patterns, chokidarOpts); 142 | 143 | let throttledRun = run; 144 | if (opts.throttle > 0) { 145 | throttledRun = throttle(run, opts.throttle); 146 | } 147 | 148 | let debouncedRun = throttledRun; 149 | if (opts.debounce > 0) { 150 | debouncedRun = debounce(throttledRun, opts.debounce); 151 | } 152 | 153 | watcher.on('all', (event, path) => { 154 | const description = `${EVENT_DESCRIPTIONS[event]}:`; 155 | 156 | if (opts.verbose) { 157 | console.error(description, path); 158 | } else if (!opts.silent) { 159 | console.log(`${event}:${path}`); 160 | } 161 | 162 | // XXX: commands might be still run concurrently 163 | if (opts.command) { 164 | debouncedRun( 165 | opts.command 166 | .replace(/\{path\}/ig, path) 167 | .replace(/\{event\}/ig, event) 168 | ); 169 | } 170 | }); 171 | 172 | watcher.on('error', error => { 173 | console.error('Error:', error); 174 | console.error(error.stack); 175 | }); 176 | 177 | watcher.once('ready', () => { 178 | const list = opts.patterns.join('", "'); 179 | if (!opts.silent) { 180 | console.error('Watching', `"${list}" ..`); 181 | } 182 | }); 183 | } 184 | 185 | function createChokidarOpts(opts) { 186 | // Transform e.g. regex ignores to real regex objects 187 | opts.ignore = _resolveIgnoreOpt(opts.ignore); 188 | 189 | const chokidarOpts = { 190 | followSymlinks: opts.followSymlinks, 191 | usePolling: opts.polling, 192 | interval: opts.pollInterval, 193 | binaryInterval: opts.pollIntervalBinary, 194 | ignoreInitial: !opts.initial 195 | }; 196 | 197 | if (opts.ignore) { 198 | chokidarOpts.ignored = opts.ignore; 199 | } 200 | 201 | return chokidarOpts; 202 | } 203 | 204 | // Takes string or array of strings 205 | function _resolveIgnoreOpt(ignoreOpt) { 206 | if (!ignoreOpt) { 207 | return ignoreOpt; 208 | } 209 | 210 | const ignores = Array.isArray(ignoreOpt) ? ignoreOpt : [ignoreOpt]; 211 | 212 | return ignores.map(ignore => { 213 | const isRegex = ignore[0] === '/' && ignore[ignore.length - 1] === '/'; 214 | if (isRegex) { 215 | // Convert user input to regex object 216 | const match = ignore.match(/^\/(.*)\/(.*?)$/); 217 | return new RegExp(match[1], match[2]); 218 | } 219 | 220 | return ignore; 221 | }); 222 | } 223 | 224 | function run(cmd) { 225 | return utils.run(cmd) 226 | .catch(error => { 227 | console.error('Error when executing', cmd); 228 | console.error(error.stack); 229 | }); 230 | } 231 | 232 | main(); 233 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "chokidar-cli", 3 | "version": "3.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "version": "3.0.0", 9 | "license": "MIT", 10 | "dependencies": { 11 | "chokidar": "^3.5.2", 12 | "lodash.debounce": "^4.0.8", 13 | "lodash.throttle": "^4.1.1", 14 | "yargs": "^13.3.0" 15 | }, 16 | "bin": { 17 | "chokidar": "index.js" 18 | }, 19 | "devDependencies": { 20 | "eslint": "^6.6.0", 21 | "mocha": "^6.2.2" 22 | }, 23 | "engines": { 24 | "node": ">= 8.10.0" 25 | } 26 | }, 27 | "node_modules/@babel/code-frame": { 28 | "version": "7.5.5", 29 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", 30 | "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", 31 | "dev": true, 32 | "dependencies": { 33 | "@babel/highlight": "^7.0.0" 34 | } 35 | }, 36 | "node_modules/@babel/highlight": { 37 | "version": "7.5.0", 38 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", 39 | "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", 40 | "dev": true, 41 | "dependencies": { 42 | "chalk": "^2.0.0", 43 | "esutils": "^2.0.2", 44 | "js-tokens": "^4.0.0" 45 | } 46 | }, 47 | "node_modules/acorn": { 48 | "version": "7.1.0", 49 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", 50 | "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", 51 | "dev": true, 52 | "bin": { 53 | "acorn": "bin/acorn" 54 | }, 55 | "engines": { 56 | "node": ">=0.4.0" 57 | } 58 | }, 59 | "node_modules/acorn-jsx": { 60 | "version": "5.1.0", 61 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", 62 | "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", 63 | "dev": true 64 | }, 65 | "node_modules/ajv": { 66 | "version": "6.10.2", 67 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", 68 | "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", 69 | "dev": true, 70 | "dependencies": { 71 | "fast-deep-equal": "^2.0.1", 72 | "fast-json-stable-stringify": "^2.0.0", 73 | "json-schema-traverse": "^0.4.1", 74 | "uri-js": "^4.2.2" 75 | } 76 | }, 77 | "node_modules/ansi-colors": { 78 | "version": "3.2.3", 79 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", 80 | "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", 81 | "dev": true, 82 | "engines": { 83 | "node": ">=6" 84 | } 85 | }, 86 | "node_modules/ansi-escapes": { 87 | "version": "4.2.1", 88 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz", 89 | "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==", 90 | "dev": true, 91 | "dependencies": { 92 | "type-fest": "^0.5.2" 93 | }, 94 | "engines": { 95 | "node": ">=8" 96 | } 97 | }, 98 | "node_modules/ansi-regex": { 99 | "version": "4.1.0", 100 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 101 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 102 | "engines": { 103 | "node": ">=6" 104 | } 105 | }, 106 | "node_modules/ansi-styles": { 107 | "version": "3.2.1", 108 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 109 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 110 | "dependencies": { 111 | "color-convert": "^1.9.0" 112 | }, 113 | "engines": { 114 | "node": ">=4" 115 | } 116 | }, 117 | "node_modules/anymatch": { 118 | "version": "3.1.2", 119 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 120 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 121 | "dependencies": { 122 | "normalize-path": "^3.0.0", 123 | "picomatch": "^2.0.4" 124 | }, 125 | "engines": { 126 | "node": ">= 8" 127 | } 128 | }, 129 | "node_modules/argparse": { 130 | "version": "1.0.10", 131 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 132 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 133 | "dev": true, 134 | "dependencies": { 135 | "sprintf-js": "~1.0.2" 136 | } 137 | }, 138 | "node_modules/astral-regex": { 139 | "version": "1.0.0", 140 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", 141 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 142 | "dev": true, 143 | "engines": { 144 | "node": ">=4" 145 | } 146 | }, 147 | "node_modules/balanced-match": { 148 | "version": "1.0.0", 149 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 150 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 151 | "dev": true 152 | }, 153 | "node_modules/binary-extensions": { 154 | "version": "2.0.0", 155 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", 156 | "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", 157 | "engines": { 158 | "node": ">=8" 159 | } 160 | }, 161 | "node_modules/brace-expansion": { 162 | "version": "1.1.11", 163 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 164 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 165 | "dev": true, 166 | "dependencies": { 167 | "balanced-match": "^1.0.0", 168 | "concat-map": "0.0.1" 169 | } 170 | }, 171 | "node_modules/braces": { 172 | "version": "3.0.2", 173 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 174 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 175 | "dependencies": { 176 | "fill-range": "^7.0.1" 177 | }, 178 | "engines": { 179 | "node": ">=8" 180 | } 181 | }, 182 | "node_modules/browser-stdout": { 183 | "version": "1.3.1", 184 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", 185 | "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", 186 | "dev": true 187 | }, 188 | "node_modules/callsites": { 189 | "version": "3.1.0", 190 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 191 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 192 | "dev": true, 193 | "engines": { 194 | "node": ">=6" 195 | } 196 | }, 197 | "node_modules/camelcase": { 198 | "version": "5.3.1", 199 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 200 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 201 | "engines": { 202 | "node": ">=6" 203 | } 204 | }, 205 | "node_modules/chalk": { 206 | "version": "2.4.2", 207 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 208 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 209 | "dev": true, 210 | "dependencies": { 211 | "ansi-styles": "^3.2.1", 212 | "escape-string-regexp": "^1.0.5", 213 | "supports-color": "^5.3.0" 214 | }, 215 | "engines": { 216 | "node": ">=4" 217 | } 218 | }, 219 | "node_modules/chardet": { 220 | "version": "0.7.0", 221 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 222 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", 223 | "dev": true 224 | }, 225 | "node_modules/chokidar": { 226 | "version": "3.5.2", 227 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", 228 | "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", 229 | "dependencies": { 230 | "anymatch": "~3.1.2", 231 | "braces": "~3.0.2", 232 | "glob-parent": "~5.1.2", 233 | "is-binary-path": "~2.1.0", 234 | "is-glob": "~4.0.1", 235 | "normalize-path": "~3.0.0", 236 | "readdirp": "~3.6.0" 237 | }, 238 | "engines": { 239 | "node": ">= 8.10.0" 240 | }, 241 | "optionalDependencies": { 242 | "fsevents": "~2.3.2" 243 | } 244 | }, 245 | "node_modules/cli-cursor": { 246 | "version": "3.1.0", 247 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 248 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 249 | "dev": true, 250 | "dependencies": { 251 | "restore-cursor": "^3.1.0" 252 | }, 253 | "engines": { 254 | "node": ">=8" 255 | } 256 | }, 257 | "node_modules/cli-width": { 258 | "version": "2.2.0", 259 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 260 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", 261 | "dev": true 262 | }, 263 | "node_modules/cliui": { 264 | "version": "5.0.0", 265 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", 266 | "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", 267 | "dependencies": { 268 | "string-width": "^3.1.0", 269 | "strip-ansi": "^5.2.0", 270 | "wrap-ansi": "^5.1.0" 271 | } 272 | }, 273 | "node_modules/color-convert": { 274 | "version": "1.9.3", 275 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 276 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 277 | "dependencies": { 278 | "color-name": "1.1.3" 279 | } 280 | }, 281 | "node_modules/color-name": { 282 | "version": "1.1.3", 283 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 284 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 285 | }, 286 | "node_modules/concat-map": { 287 | "version": "0.0.1", 288 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 289 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 290 | "dev": true 291 | }, 292 | "node_modules/cross-spawn": { 293 | "version": "6.0.5", 294 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 295 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 296 | "dev": true, 297 | "dependencies": { 298 | "nice-try": "^1.0.4", 299 | "path-key": "^2.0.1", 300 | "semver": "^5.5.0", 301 | "shebang-command": "^1.2.0", 302 | "which": "^1.2.9" 303 | }, 304 | "engines": { 305 | "node": ">=4.8" 306 | } 307 | }, 308 | "node_modules/cross-spawn/node_modules/semver": { 309 | "version": "5.7.1", 310 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 311 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 312 | "dev": true, 313 | "bin": { 314 | "semver": "bin/semver" 315 | } 316 | }, 317 | "node_modules/debug": { 318 | "version": "4.1.1", 319 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 320 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 321 | "dev": true, 322 | "dependencies": { 323 | "ms": "^2.1.1" 324 | } 325 | }, 326 | "node_modules/decamelize": { 327 | "version": "1.2.0", 328 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 329 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 330 | "engines": { 331 | "node": ">=0.10.0" 332 | } 333 | }, 334 | "node_modules/deep-is": { 335 | "version": "0.1.3", 336 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 337 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 338 | "dev": true 339 | }, 340 | "node_modules/define-properties": { 341 | "version": "1.1.3", 342 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 343 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 344 | "dev": true, 345 | "dependencies": { 346 | "object-keys": "^1.0.12" 347 | }, 348 | "engines": { 349 | "node": ">= 0.4" 350 | } 351 | }, 352 | "node_modules/diff": { 353 | "version": "3.5.0", 354 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", 355 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", 356 | "dev": true, 357 | "engines": { 358 | "node": ">=0.3.1" 359 | } 360 | }, 361 | "node_modules/doctrine": { 362 | "version": "3.0.0", 363 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 364 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 365 | "dev": true, 366 | "dependencies": { 367 | "esutils": "^2.0.2" 368 | }, 369 | "engines": { 370 | "node": ">=6.0.0" 371 | } 372 | }, 373 | "node_modules/emoji-regex": { 374 | "version": "7.0.3", 375 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 376 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" 377 | }, 378 | "node_modules/es-abstract": { 379 | "version": "1.16.0", 380 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz", 381 | "integrity": "sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==", 382 | "dev": true, 383 | "dependencies": { 384 | "es-to-primitive": "^1.2.0", 385 | "function-bind": "^1.1.1", 386 | "has": "^1.0.3", 387 | "has-symbols": "^1.0.0", 388 | "is-callable": "^1.1.4", 389 | "is-regex": "^1.0.4", 390 | "object-inspect": "^1.6.0", 391 | "object-keys": "^1.1.1", 392 | "string.prototype.trimleft": "^2.1.0", 393 | "string.prototype.trimright": "^2.1.0" 394 | }, 395 | "engines": { 396 | "node": ">= 0.4" 397 | } 398 | }, 399 | "node_modules/es-to-primitive": { 400 | "version": "1.2.0", 401 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", 402 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", 403 | "dev": true, 404 | "dependencies": { 405 | "is-callable": "^1.1.4", 406 | "is-date-object": "^1.0.1", 407 | "is-symbol": "^1.0.2" 408 | }, 409 | "engines": { 410 | "node": ">= 0.4" 411 | } 412 | }, 413 | "node_modules/escape-string-regexp": { 414 | "version": "1.0.5", 415 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 416 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 417 | "dev": true, 418 | "engines": { 419 | "node": ">=0.8.0" 420 | } 421 | }, 422 | "node_modules/eslint": { 423 | "version": "6.6.0", 424 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.6.0.tgz", 425 | "integrity": "sha512-PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g==", 426 | "dev": true, 427 | "dependencies": { 428 | "@babel/code-frame": "^7.0.0", 429 | "ajv": "^6.10.0", 430 | "chalk": "^2.1.0", 431 | "cross-spawn": "^6.0.5", 432 | "debug": "^4.0.1", 433 | "doctrine": "^3.0.0", 434 | "eslint-scope": "^5.0.0", 435 | "eslint-utils": "^1.4.3", 436 | "eslint-visitor-keys": "^1.1.0", 437 | "espree": "^6.1.2", 438 | "esquery": "^1.0.1", 439 | "esutils": "^2.0.2", 440 | "file-entry-cache": "^5.0.1", 441 | "functional-red-black-tree": "^1.0.1", 442 | "glob-parent": "^5.0.0", 443 | "globals": "^11.7.0", 444 | "ignore": "^4.0.6", 445 | "import-fresh": "^3.0.0", 446 | "imurmurhash": "^0.1.4", 447 | "inquirer": "^7.0.0", 448 | "is-glob": "^4.0.0", 449 | "js-yaml": "^3.13.1", 450 | "json-stable-stringify-without-jsonify": "^1.0.1", 451 | "levn": "^0.3.0", 452 | "lodash": "^4.17.14", 453 | "minimatch": "^3.0.4", 454 | "mkdirp": "^0.5.1", 455 | "natural-compare": "^1.4.0", 456 | "optionator": "^0.8.2", 457 | "progress": "^2.0.0", 458 | "regexpp": "^2.0.1", 459 | "semver": "^6.1.2", 460 | "strip-ansi": "^5.2.0", 461 | "strip-json-comments": "^3.0.1", 462 | "table": "^5.2.3", 463 | "text-table": "^0.2.0", 464 | "v8-compile-cache": "^2.0.3" 465 | }, 466 | "bin": { 467 | "eslint": "bin/eslint.js" 468 | }, 469 | "engines": { 470 | "node": "^8.10.0 || ^10.13.0 || >=11.10.1" 471 | } 472 | }, 473 | "node_modules/eslint-scope": { 474 | "version": "5.0.0", 475 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", 476 | "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", 477 | "dev": true, 478 | "dependencies": { 479 | "esrecurse": "^4.1.0", 480 | "estraverse": "^4.1.1" 481 | }, 482 | "engines": { 483 | "node": ">=8.0.0" 484 | } 485 | }, 486 | "node_modules/eslint-utils": { 487 | "version": "1.4.3", 488 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", 489 | "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", 490 | "dev": true, 491 | "dependencies": { 492 | "eslint-visitor-keys": "^1.1.0" 493 | }, 494 | "engines": { 495 | "node": ">=6" 496 | } 497 | }, 498 | "node_modules/eslint-visitor-keys": { 499 | "version": "1.1.0", 500 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", 501 | "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", 502 | "dev": true, 503 | "engines": { 504 | "node": ">=4" 505 | } 506 | }, 507 | "node_modules/espree": { 508 | "version": "6.1.2", 509 | "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", 510 | "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", 511 | "dev": true, 512 | "dependencies": { 513 | "acorn": "^7.1.0", 514 | "acorn-jsx": "^5.1.0", 515 | "eslint-visitor-keys": "^1.1.0" 516 | }, 517 | "engines": { 518 | "node": ">=6.0.0" 519 | } 520 | }, 521 | "node_modules/esprima": { 522 | "version": "4.0.1", 523 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 524 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 525 | "dev": true, 526 | "bin": { 527 | "esparse": "bin/esparse.js", 528 | "esvalidate": "bin/esvalidate.js" 529 | }, 530 | "engines": { 531 | "node": ">=4" 532 | } 533 | }, 534 | "node_modules/esquery": { 535 | "version": "1.0.1", 536 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", 537 | "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", 538 | "dev": true, 539 | "dependencies": { 540 | "estraverse": "^4.0.0" 541 | }, 542 | "engines": { 543 | "node": ">=0.6" 544 | } 545 | }, 546 | "node_modules/esrecurse": { 547 | "version": "4.2.1", 548 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", 549 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", 550 | "dev": true, 551 | "dependencies": { 552 | "estraverse": "^4.1.0" 553 | }, 554 | "engines": { 555 | "node": ">=4.0" 556 | } 557 | }, 558 | "node_modules/estraverse": { 559 | "version": "4.3.0", 560 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 561 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 562 | "dev": true, 563 | "engines": { 564 | "node": ">=4.0" 565 | } 566 | }, 567 | "node_modules/esutils": { 568 | "version": "2.0.3", 569 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 570 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 571 | "dev": true, 572 | "engines": { 573 | "node": ">=0.10.0" 574 | } 575 | }, 576 | "node_modules/external-editor": { 577 | "version": "3.1.0", 578 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", 579 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", 580 | "dev": true, 581 | "dependencies": { 582 | "chardet": "^0.7.0", 583 | "iconv-lite": "^0.4.24", 584 | "tmp": "^0.0.33" 585 | }, 586 | "engines": { 587 | "node": ">=4" 588 | } 589 | }, 590 | "node_modules/fast-deep-equal": { 591 | "version": "2.0.1", 592 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", 593 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", 594 | "dev": true 595 | }, 596 | "node_modules/fast-json-stable-stringify": { 597 | "version": "2.0.0", 598 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 599 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", 600 | "dev": true 601 | }, 602 | "node_modules/fast-levenshtein": { 603 | "version": "2.0.6", 604 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 605 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 606 | "dev": true 607 | }, 608 | "node_modules/figures": { 609 | "version": "3.1.0", 610 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", 611 | "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", 612 | "dev": true, 613 | "dependencies": { 614 | "escape-string-regexp": "^1.0.5" 615 | }, 616 | "engines": { 617 | "node": ">=8" 618 | } 619 | }, 620 | "node_modules/file-entry-cache": { 621 | "version": "5.0.1", 622 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", 623 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", 624 | "dev": true, 625 | "dependencies": { 626 | "flat-cache": "^2.0.1" 627 | }, 628 | "engines": { 629 | "node": ">=4" 630 | } 631 | }, 632 | "node_modules/fill-range": { 633 | "version": "7.0.1", 634 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 635 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 636 | "dependencies": { 637 | "to-regex-range": "^5.0.1" 638 | }, 639 | "engines": { 640 | "node": ">=8" 641 | } 642 | }, 643 | "node_modules/find-up": { 644 | "version": "3.0.0", 645 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 646 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 647 | "dependencies": { 648 | "locate-path": "^3.0.0" 649 | }, 650 | "engines": { 651 | "node": ">=6" 652 | } 653 | }, 654 | "node_modules/flat": { 655 | "version": "4.1.0", 656 | "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", 657 | "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", 658 | "dev": true, 659 | "dependencies": { 660 | "is-buffer": "~2.0.3" 661 | }, 662 | "bin": { 663 | "flat": "cli.js" 664 | } 665 | }, 666 | "node_modules/flat-cache": { 667 | "version": "2.0.1", 668 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", 669 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", 670 | "dev": true, 671 | "dependencies": { 672 | "flatted": "^2.0.0", 673 | "rimraf": "2.6.3", 674 | "write": "1.0.3" 675 | }, 676 | "engines": { 677 | "node": ">=4" 678 | } 679 | }, 680 | "node_modules/flatted": { 681 | "version": "2.0.1", 682 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", 683 | "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", 684 | "dev": true 685 | }, 686 | "node_modules/fs.realpath": { 687 | "version": "1.0.0", 688 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 689 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 690 | "dev": true 691 | }, 692 | "node_modules/fsevents": { 693 | "version": "2.3.2", 694 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 695 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 696 | "hasInstallScript": true, 697 | "optional": true, 698 | "os": [ 699 | "darwin" 700 | ], 701 | "engines": { 702 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 703 | } 704 | }, 705 | "node_modules/function-bind": { 706 | "version": "1.1.1", 707 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 708 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 709 | "dev": true 710 | }, 711 | "node_modules/functional-red-black-tree": { 712 | "version": "1.0.1", 713 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 714 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 715 | "dev": true 716 | }, 717 | "node_modules/get-caller-file": { 718 | "version": "2.0.5", 719 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 720 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 721 | "engines": { 722 | "node": "6.* || 8.* || >= 10.*" 723 | } 724 | }, 725 | "node_modules/glob": { 726 | "version": "7.1.5", 727 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", 728 | "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", 729 | "dev": true, 730 | "dependencies": { 731 | "fs.realpath": "^1.0.0", 732 | "inflight": "^1.0.4", 733 | "inherits": "2", 734 | "minimatch": "^3.0.4", 735 | "once": "^1.3.0", 736 | "path-is-absolute": "^1.0.0" 737 | }, 738 | "engines": { 739 | "node": "*" 740 | } 741 | }, 742 | "node_modules/glob-parent": { 743 | "version": "5.1.2", 744 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 745 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 746 | "dependencies": { 747 | "is-glob": "^4.0.1" 748 | }, 749 | "engines": { 750 | "node": ">= 6" 751 | } 752 | }, 753 | "node_modules/globals": { 754 | "version": "11.12.0", 755 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 756 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 757 | "dev": true, 758 | "engines": { 759 | "node": ">=4" 760 | } 761 | }, 762 | "node_modules/growl": { 763 | "version": "1.10.5", 764 | "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", 765 | "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", 766 | "dev": true, 767 | "engines": { 768 | "node": ">=4.x" 769 | } 770 | }, 771 | "node_modules/has": { 772 | "version": "1.0.3", 773 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 774 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 775 | "dev": true, 776 | "dependencies": { 777 | "function-bind": "^1.1.1" 778 | }, 779 | "engines": { 780 | "node": ">= 0.4.0" 781 | } 782 | }, 783 | "node_modules/has-flag": { 784 | "version": "3.0.0", 785 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 786 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 787 | "dev": true, 788 | "engines": { 789 | "node": ">=4" 790 | } 791 | }, 792 | "node_modules/has-symbols": { 793 | "version": "1.0.0", 794 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", 795 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", 796 | "dev": true, 797 | "engines": { 798 | "node": ">= 0.4" 799 | } 800 | }, 801 | "node_modules/he": { 802 | "version": "1.2.0", 803 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 804 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 805 | "dev": true, 806 | "bin": { 807 | "he": "bin/he" 808 | } 809 | }, 810 | "node_modules/iconv-lite": { 811 | "version": "0.4.24", 812 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 813 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 814 | "dev": true, 815 | "dependencies": { 816 | "safer-buffer": ">= 2.1.2 < 3" 817 | }, 818 | "engines": { 819 | "node": ">=0.10.0" 820 | } 821 | }, 822 | "node_modules/ignore": { 823 | "version": "4.0.6", 824 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 825 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 826 | "dev": true, 827 | "engines": { 828 | "node": ">= 4" 829 | } 830 | }, 831 | "node_modules/import-fresh": { 832 | "version": "3.1.0", 833 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", 834 | "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", 835 | "dev": true, 836 | "dependencies": { 837 | "parent-module": "^1.0.0", 838 | "resolve-from": "^4.0.0" 839 | }, 840 | "engines": { 841 | "node": ">=6" 842 | } 843 | }, 844 | "node_modules/imurmurhash": { 845 | "version": "0.1.4", 846 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 847 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 848 | "dev": true, 849 | "engines": { 850 | "node": ">=0.8.19" 851 | } 852 | }, 853 | "node_modules/inflight": { 854 | "version": "1.0.6", 855 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 856 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 857 | "dev": true, 858 | "dependencies": { 859 | "once": "^1.3.0", 860 | "wrappy": "1" 861 | } 862 | }, 863 | "node_modules/inherits": { 864 | "version": "2.0.4", 865 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 866 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 867 | "dev": true 868 | }, 869 | "node_modules/inquirer": { 870 | "version": "7.0.0", 871 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz", 872 | "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==", 873 | "dev": true, 874 | "dependencies": { 875 | "ansi-escapes": "^4.2.1", 876 | "chalk": "^2.4.2", 877 | "cli-cursor": "^3.1.0", 878 | "cli-width": "^2.0.0", 879 | "external-editor": "^3.0.3", 880 | "figures": "^3.0.0", 881 | "lodash": "^4.17.15", 882 | "mute-stream": "0.0.8", 883 | "run-async": "^2.2.0", 884 | "rxjs": "^6.4.0", 885 | "string-width": "^4.1.0", 886 | "strip-ansi": "^5.1.0", 887 | "through": "^2.3.6" 888 | }, 889 | "engines": { 890 | "node": ">=6.0.0" 891 | } 892 | }, 893 | "node_modules/inquirer/node_modules/emoji-regex": { 894 | "version": "8.0.0", 895 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 896 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 897 | "dev": true 898 | }, 899 | "node_modules/inquirer/node_modules/is-fullwidth-code-point": { 900 | "version": "3.0.0", 901 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 902 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 903 | "dev": true, 904 | "engines": { 905 | "node": ">=8" 906 | } 907 | }, 908 | "node_modules/inquirer/node_modules/string-width": { 909 | "version": "4.1.0", 910 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", 911 | "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", 912 | "dev": true, 913 | "dependencies": { 914 | "emoji-regex": "^8.0.0", 915 | "is-fullwidth-code-point": "^3.0.0", 916 | "strip-ansi": "^5.2.0" 917 | }, 918 | "engines": { 919 | "node": ">=8" 920 | } 921 | }, 922 | "node_modules/is-binary-path": { 923 | "version": "2.1.0", 924 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 925 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 926 | "dependencies": { 927 | "binary-extensions": "^2.0.0" 928 | }, 929 | "engines": { 930 | "node": ">=8" 931 | } 932 | }, 933 | "node_modules/is-buffer": { 934 | "version": "2.0.4", 935 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", 936 | "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", 937 | "dev": true, 938 | "engines": { 939 | "node": ">=4" 940 | } 941 | }, 942 | "node_modules/is-callable": { 943 | "version": "1.1.4", 944 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", 945 | "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", 946 | "dev": true, 947 | "engines": { 948 | "node": ">= 0.4" 949 | } 950 | }, 951 | "node_modules/is-date-object": { 952 | "version": "1.0.1", 953 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", 954 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", 955 | "dev": true, 956 | "engines": { 957 | "node": ">= 0.4" 958 | } 959 | }, 960 | "node_modules/is-extglob": { 961 | "version": "2.1.1", 962 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 963 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 964 | "engines": { 965 | "node": ">=0.10.0" 966 | } 967 | }, 968 | "node_modules/is-fullwidth-code-point": { 969 | "version": "2.0.0", 970 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 971 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 972 | "engines": { 973 | "node": ">=4" 974 | } 975 | }, 976 | "node_modules/is-glob": { 977 | "version": "4.0.1", 978 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 979 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 980 | "dependencies": { 981 | "is-extglob": "^2.1.1" 982 | }, 983 | "engines": { 984 | "node": ">=0.10.0" 985 | } 986 | }, 987 | "node_modules/is-number": { 988 | "version": "7.0.0", 989 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 990 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 991 | "engines": { 992 | "node": ">=0.12.0" 993 | } 994 | }, 995 | "node_modules/is-promise": { 996 | "version": "2.1.0", 997 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 998 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 999 | "dev": true 1000 | }, 1001 | "node_modules/is-regex": { 1002 | "version": "1.0.4", 1003 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", 1004 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", 1005 | "dev": true, 1006 | "dependencies": { 1007 | "has": "^1.0.1" 1008 | }, 1009 | "engines": { 1010 | "node": ">= 0.4" 1011 | } 1012 | }, 1013 | "node_modules/is-symbol": { 1014 | "version": "1.0.2", 1015 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", 1016 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", 1017 | "dev": true, 1018 | "dependencies": { 1019 | "has-symbols": "^1.0.0" 1020 | }, 1021 | "engines": { 1022 | "node": ">= 0.4" 1023 | } 1024 | }, 1025 | "node_modules/isexe": { 1026 | "version": "2.0.0", 1027 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1028 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1029 | "dev": true 1030 | }, 1031 | "node_modules/js-tokens": { 1032 | "version": "4.0.0", 1033 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1034 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1035 | "dev": true 1036 | }, 1037 | "node_modules/js-yaml": { 1038 | "version": "3.13.1", 1039 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", 1040 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", 1041 | "dev": true, 1042 | "dependencies": { 1043 | "argparse": "^1.0.7", 1044 | "esprima": "^4.0.0" 1045 | }, 1046 | "bin": { 1047 | "js-yaml": "bin/js-yaml.js" 1048 | } 1049 | }, 1050 | "node_modules/json-schema-traverse": { 1051 | "version": "0.4.1", 1052 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1053 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1054 | "dev": true 1055 | }, 1056 | "node_modules/json-stable-stringify-without-jsonify": { 1057 | "version": "1.0.1", 1058 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1059 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 1060 | "dev": true 1061 | }, 1062 | "node_modules/levn": { 1063 | "version": "0.3.0", 1064 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 1065 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 1066 | "dev": true, 1067 | "dependencies": { 1068 | "prelude-ls": "~1.1.2", 1069 | "type-check": "~0.3.2" 1070 | }, 1071 | "engines": { 1072 | "node": ">= 0.8.0" 1073 | } 1074 | }, 1075 | "node_modules/locate-path": { 1076 | "version": "3.0.0", 1077 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 1078 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 1079 | "dependencies": { 1080 | "p-locate": "^3.0.0", 1081 | "path-exists": "^3.0.0" 1082 | }, 1083 | "engines": { 1084 | "node": ">=6" 1085 | } 1086 | }, 1087 | "node_modules/lodash": { 1088 | "version": "4.17.15", 1089 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", 1090 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", 1091 | "dev": true 1092 | }, 1093 | "node_modules/lodash.debounce": { 1094 | "version": "4.0.8", 1095 | "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", 1096 | "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" 1097 | }, 1098 | "node_modules/lodash.throttle": { 1099 | "version": "4.1.1", 1100 | "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", 1101 | "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" 1102 | }, 1103 | "node_modules/log-symbols": { 1104 | "version": "2.2.0", 1105 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", 1106 | "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", 1107 | "dev": true, 1108 | "dependencies": { 1109 | "chalk": "^2.0.1" 1110 | }, 1111 | "engines": { 1112 | "node": ">=4" 1113 | } 1114 | }, 1115 | "node_modules/mimic-fn": { 1116 | "version": "2.1.0", 1117 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1118 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 1119 | "dev": true, 1120 | "engines": { 1121 | "node": ">=6" 1122 | } 1123 | }, 1124 | "node_modules/minimatch": { 1125 | "version": "3.0.4", 1126 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1127 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1128 | "dev": true, 1129 | "dependencies": { 1130 | "brace-expansion": "^1.1.7" 1131 | }, 1132 | "engines": { 1133 | "node": "*" 1134 | } 1135 | }, 1136 | "node_modules/minimist": { 1137 | "version": "0.0.8", 1138 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 1139 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 1140 | "dev": true 1141 | }, 1142 | "node_modules/mkdirp": { 1143 | "version": "0.5.1", 1144 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1145 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 1146 | "dev": true, 1147 | "dependencies": { 1148 | "minimist": "0.0.8" 1149 | }, 1150 | "bin": { 1151 | "mkdirp": "bin/cmd.js" 1152 | } 1153 | }, 1154 | "node_modules/mocha": { 1155 | "version": "6.2.2", 1156 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz", 1157 | "integrity": "sha512-FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==", 1158 | "dev": true, 1159 | "dependencies": { 1160 | "ansi-colors": "3.2.3", 1161 | "browser-stdout": "1.3.1", 1162 | "debug": "3.2.6", 1163 | "diff": "3.5.0", 1164 | "escape-string-regexp": "1.0.5", 1165 | "find-up": "3.0.0", 1166 | "glob": "7.1.3", 1167 | "growl": "1.10.5", 1168 | "he": "1.2.0", 1169 | "js-yaml": "3.13.1", 1170 | "log-symbols": "2.2.0", 1171 | "minimatch": "3.0.4", 1172 | "mkdirp": "0.5.1", 1173 | "ms": "2.1.1", 1174 | "node-environment-flags": "1.0.5", 1175 | "object.assign": "4.1.0", 1176 | "strip-json-comments": "2.0.1", 1177 | "supports-color": "6.0.0", 1178 | "which": "1.3.1", 1179 | "wide-align": "1.1.3", 1180 | "yargs": "13.3.0", 1181 | "yargs-parser": "13.1.1", 1182 | "yargs-unparser": "1.6.0" 1183 | }, 1184 | "bin": { 1185 | "_mocha": "bin/_mocha", 1186 | "mocha": "bin/mocha" 1187 | }, 1188 | "engines": { 1189 | "node": ">= 6.0.0" 1190 | } 1191 | }, 1192 | "node_modules/mocha/node_modules/debug": { 1193 | "version": "3.2.6", 1194 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", 1195 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", 1196 | "dev": true, 1197 | "dependencies": { 1198 | "ms": "^2.1.1" 1199 | } 1200 | }, 1201 | "node_modules/mocha/node_modules/glob": { 1202 | "version": "7.1.3", 1203 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", 1204 | "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", 1205 | "dev": true, 1206 | "dependencies": { 1207 | "fs.realpath": "^1.0.0", 1208 | "inflight": "^1.0.4", 1209 | "inherits": "2", 1210 | "minimatch": "^3.0.4", 1211 | "once": "^1.3.0", 1212 | "path-is-absolute": "^1.0.0" 1213 | }, 1214 | "engines": { 1215 | "node": "*" 1216 | } 1217 | }, 1218 | "node_modules/mocha/node_modules/ms": { 1219 | "version": "2.1.1", 1220 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 1221 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", 1222 | "dev": true 1223 | }, 1224 | "node_modules/mocha/node_modules/strip-json-comments": { 1225 | "version": "2.0.1", 1226 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 1227 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 1228 | "dev": true, 1229 | "engines": { 1230 | "node": ">=0.10.0" 1231 | } 1232 | }, 1233 | "node_modules/mocha/node_modules/supports-color": { 1234 | "version": "6.0.0", 1235 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", 1236 | "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", 1237 | "dev": true, 1238 | "dependencies": { 1239 | "has-flag": "^3.0.0" 1240 | }, 1241 | "engines": { 1242 | "node": ">=6" 1243 | } 1244 | }, 1245 | "node_modules/ms": { 1246 | "version": "2.1.2", 1247 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1248 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1249 | "dev": true 1250 | }, 1251 | "node_modules/mute-stream": { 1252 | "version": "0.0.8", 1253 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", 1254 | "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", 1255 | "dev": true 1256 | }, 1257 | "node_modules/natural-compare": { 1258 | "version": "1.4.0", 1259 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1260 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 1261 | "dev": true 1262 | }, 1263 | "node_modules/nice-try": { 1264 | "version": "1.0.5", 1265 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 1266 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 1267 | "dev": true 1268 | }, 1269 | "node_modules/node-environment-flags": { 1270 | "version": "1.0.5", 1271 | "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", 1272 | "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", 1273 | "dev": true, 1274 | "dependencies": { 1275 | "object.getownpropertydescriptors": "^2.0.3", 1276 | "semver": "^5.7.0" 1277 | } 1278 | }, 1279 | "node_modules/node-environment-flags/node_modules/semver": { 1280 | "version": "5.7.1", 1281 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 1282 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 1283 | "dev": true, 1284 | "bin": { 1285 | "semver": "bin/semver" 1286 | } 1287 | }, 1288 | "node_modules/normalize-path": { 1289 | "version": "3.0.0", 1290 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1291 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1292 | "engines": { 1293 | "node": ">=0.10.0" 1294 | } 1295 | }, 1296 | "node_modules/object-inspect": { 1297 | "version": "1.6.0", 1298 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", 1299 | "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", 1300 | "dev": true 1301 | }, 1302 | "node_modules/object-keys": { 1303 | "version": "1.1.1", 1304 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1305 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 1306 | "dev": true, 1307 | "engines": { 1308 | "node": ">= 0.4" 1309 | } 1310 | }, 1311 | "node_modules/object.assign": { 1312 | "version": "4.1.0", 1313 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", 1314 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", 1315 | "dev": true, 1316 | "dependencies": { 1317 | "define-properties": "^1.1.2", 1318 | "function-bind": "^1.1.1", 1319 | "has-symbols": "^1.0.0", 1320 | "object-keys": "^1.0.11" 1321 | }, 1322 | "engines": { 1323 | "node": ">= 0.4" 1324 | } 1325 | }, 1326 | "node_modules/object.getownpropertydescriptors": { 1327 | "version": "2.0.3", 1328 | "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", 1329 | "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", 1330 | "dev": true, 1331 | "dependencies": { 1332 | "define-properties": "^1.1.2", 1333 | "es-abstract": "^1.5.1" 1334 | }, 1335 | "engines": { 1336 | "node": ">= 0.8" 1337 | } 1338 | }, 1339 | "node_modules/once": { 1340 | "version": "1.4.0", 1341 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1342 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1343 | "dev": true, 1344 | "dependencies": { 1345 | "wrappy": "1" 1346 | } 1347 | }, 1348 | "node_modules/onetime": { 1349 | "version": "5.1.0", 1350 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", 1351 | "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", 1352 | "dev": true, 1353 | "dependencies": { 1354 | "mimic-fn": "^2.1.0" 1355 | }, 1356 | "engines": { 1357 | "node": ">=6" 1358 | } 1359 | }, 1360 | "node_modules/optionator": { 1361 | "version": "0.8.2", 1362 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 1363 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 1364 | "dev": true, 1365 | "dependencies": { 1366 | "deep-is": "~0.1.3", 1367 | "fast-levenshtein": "~2.0.4", 1368 | "levn": "~0.3.0", 1369 | "prelude-ls": "~1.1.2", 1370 | "type-check": "~0.3.2", 1371 | "wordwrap": "~1.0.0" 1372 | }, 1373 | "engines": { 1374 | "node": ">= 0.8.0" 1375 | } 1376 | }, 1377 | "node_modules/os-tmpdir": { 1378 | "version": "1.0.2", 1379 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 1380 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 1381 | "dev": true, 1382 | "engines": { 1383 | "node": ">=0.10.0" 1384 | } 1385 | }, 1386 | "node_modules/p-limit": { 1387 | "version": "2.2.1", 1388 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", 1389 | "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", 1390 | "dependencies": { 1391 | "p-try": "^2.0.0" 1392 | }, 1393 | "engines": { 1394 | "node": ">=6" 1395 | } 1396 | }, 1397 | "node_modules/p-locate": { 1398 | "version": "3.0.0", 1399 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 1400 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 1401 | "dependencies": { 1402 | "p-limit": "^2.0.0" 1403 | }, 1404 | "engines": { 1405 | "node": ">=6" 1406 | } 1407 | }, 1408 | "node_modules/p-try": { 1409 | "version": "2.2.0", 1410 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 1411 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 1412 | "engines": { 1413 | "node": ">=6" 1414 | } 1415 | }, 1416 | "node_modules/parent-module": { 1417 | "version": "1.0.1", 1418 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1419 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1420 | "dev": true, 1421 | "dependencies": { 1422 | "callsites": "^3.0.0" 1423 | }, 1424 | "engines": { 1425 | "node": ">=6" 1426 | } 1427 | }, 1428 | "node_modules/path-exists": { 1429 | "version": "3.0.0", 1430 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 1431 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 1432 | "engines": { 1433 | "node": ">=4" 1434 | } 1435 | }, 1436 | "node_modules/path-is-absolute": { 1437 | "version": "1.0.1", 1438 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1439 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1440 | "dev": true, 1441 | "engines": { 1442 | "node": ">=0.10.0" 1443 | } 1444 | }, 1445 | "node_modules/path-key": { 1446 | "version": "2.0.1", 1447 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 1448 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 1449 | "dev": true, 1450 | "engines": { 1451 | "node": ">=4" 1452 | } 1453 | }, 1454 | "node_modules/picomatch": { 1455 | "version": "2.3.0", 1456 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", 1457 | "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", 1458 | "engines": { 1459 | "node": ">=8.6" 1460 | }, 1461 | "funding": { 1462 | "url": "https://github.com/sponsors/jonschlinkert" 1463 | } 1464 | }, 1465 | "node_modules/prelude-ls": { 1466 | "version": "1.1.2", 1467 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 1468 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 1469 | "dev": true, 1470 | "engines": { 1471 | "node": ">= 0.8.0" 1472 | } 1473 | }, 1474 | "node_modules/progress": { 1475 | "version": "2.0.3", 1476 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 1477 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 1478 | "dev": true, 1479 | "engines": { 1480 | "node": ">=0.4.0" 1481 | } 1482 | }, 1483 | "node_modules/punycode": { 1484 | "version": "2.1.1", 1485 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1486 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1487 | "dev": true, 1488 | "engines": { 1489 | "node": ">=6" 1490 | } 1491 | }, 1492 | "node_modules/readdirp": { 1493 | "version": "3.6.0", 1494 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1495 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1496 | "dependencies": { 1497 | "picomatch": "^2.2.1" 1498 | }, 1499 | "engines": { 1500 | "node": ">=8.10.0" 1501 | } 1502 | }, 1503 | "node_modules/regexpp": { 1504 | "version": "2.0.1", 1505 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", 1506 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", 1507 | "dev": true, 1508 | "engines": { 1509 | "node": ">=6.5.0" 1510 | } 1511 | }, 1512 | "node_modules/require-directory": { 1513 | "version": "2.1.1", 1514 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1515 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 1516 | "engines": { 1517 | "node": ">=0.10.0" 1518 | } 1519 | }, 1520 | "node_modules/require-main-filename": { 1521 | "version": "2.0.0", 1522 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 1523 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" 1524 | }, 1525 | "node_modules/resolve-from": { 1526 | "version": "4.0.0", 1527 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1528 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1529 | "dev": true, 1530 | "engines": { 1531 | "node": ">=4" 1532 | } 1533 | }, 1534 | "node_modules/restore-cursor": { 1535 | "version": "3.1.0", 1536 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 1537 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 1538 | "dev": true, 1539 | "dependencies": { 1540 | "onetime": "^5.1.0", 1541 | "signal-exit": "^3.0.2" 1542 | }, 1543 | "engines": { 1544 | "node": ">=8" 1545 | } 1546 | }, 1547 | "node_modules/rimraf": { 1548 | "version": "2.6.3", 1549 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 1550 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 1551 | "dev": true, 1552 | "dependencies": { 1553 | "glob": "^7.1.3" 1554 | }, 1555 | "bin": { 1556 | "rimraf": "bin.js" 1557 | } 1558 | }, 1559 | "node_modules/run-async": { 1560 | "version": "2.3.0", 1561 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 1562 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 1563 | "dev": true, 1564 | "dependencies": { 1565 | "is-promise": "^2.1.0" 1566 | }, 1567 | "engines": { 1568 | "node": ">=0.12.0" 1569 | } 1570 | }, 1571 | "node_modules/rxjs": { 1572 | "version": "6.5.3", 1573 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", 1574 | "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", 1575 | "dev": true, 1576 | "dependencies": { 1577 | "tslib": "^1.9.0" 1578 | }, 1579 | "engines": { 1580 | "npm": ">=2.0.0" 1581 | } 1582 | }, 1583 | "node_modules/safer-buffer": { 1584 | "version": "2.1.2", 1585 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1586 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 1587 | "dev": true 1588 | }, 1589 | "node_modules/semver": { 1590 | "version": "6.3.0", 1591 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 1592 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 1593 | "dev": true, 1594 | "bin": { 1595 | "semver": "bin/semver.js" 1596 | } 1597 | }, 1598 | "node_modules/set-blocking": { 1599 | "version": "2.0.0", 1600 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 1601 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" 1602 | }, 1603 | "node_modules/shebang-command": { 1604 | "version": "1.2.0", 1605 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 1606 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 1607 | "dev": true, 1608 | "dependencies": { 1609 | "shebang-regex": "^1.0.0" 1610 | }, 1611 | "engines": { 1612 | "node": ">=0.10.0" 1613 | } 1614 | }, 1615 | "node_modules/shebang-regex": { 1616 | "version": "1.0.0", 1617 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 1618 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 1619 | "dev": true, 1620 | "engines": { 1621 | "node": ">=0.10.0" 1622 | } 1623 | }, 1624 | "node_modules/signal-exit": { 1625 | "version": "3.0.2", 1626 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 1627 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 1628 | "dev": true 1629 | }, 1630 | "node_modules/slice-ansi": { 1631 | "version": "2.1.0", 1632 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", 1633 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", 1634 | "dev": true, 1635 | "dependencies": { 1636 | "ansi-styles": "^3.2.0", 1637 | "astral-regex": "^1.0.0", 1638 | "is-fullwidth-code-point": "^2.0.0" 1639 | }, 1640 | "engines": { 1641 | "node": ">=6" 1642 | } 1643 | }, 1644 | "node_modules/sprintf-js": { 1645 | "version": "1.0.3", 1646 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 1647 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 1648 | "dev": true 1649 | }, 1650 | "node_modules/string-width": { 1651 | "version": "3.1.0", 1652 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 1653 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 1654 | "dependencies": { 1655 | "emoji-regex": "^7.0.1", 1656 | "is-fullwidth-code-point": "^2.0.0", 1657 | "strip-ansi": "^5.1.0" 1658 | }, 1659 | "engines": { 1660 | "node": ">=6" 1661 | } 1662 | }, 1663 | "node_modules/string.prototype.trimleft": { 1664 | "version": "2.1.0", 1665 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", 1666 | "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", 1667 | "dev": true, 1668 | "dependencies": { 1669 | "define-properties": "^1.1.3", 1670 | "function-bind": "^1.1.1" 1671 | }, 1672 | "engines": { 1673 | "node": ">= 0.4" 1674 | } 1675 | }, 1676 | "node_modules/string.prototype.trimright": { 1677 | "version": "2.1.0", 1678 | "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", 1679 | "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", 1680 | "dev": true, 1681 | "dependencies": { 1682 | "define-properties": "^1.1.3", 1683 | "function-bind": "^1.1.1" 1684 | }, 1685 | "engines": { 1686 | "node": ">= 0.4" 1687 | } 1688 | }, 1689 | "node_modules/strip-ansi": { 1690 | "version": "5.2.0", 1691 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 1692 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 1693 | "dependencies": { 1694 | "ansi-regex": "^4.1.0" 1695 | }, 1696 | "engines": { 1697 | "node": ">=6" 1698 | } 1699 | }, 1700 | "node_modules/strip-json-comments": { 1701 | "version": "3.0.1", 1702 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", 1703 | "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", 1704 | "dev": true, 1705 | "engines": { 1706 | "node": ">=8" 1707 | } 1708 | }, 1709 | "node_modules/supports-color": { 1710 | "version": "5.5.0", 1711 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1712 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1713 | "dev": true, 1714 | "dependencies": { 1715 | "has-flag": "^3.0.0" 1716 | }, 1717 | "engines": { 1718 | "node": ">=4" 1719 | } 1720 | }, 1721 | "node_modules/table": { 1722 | "version": "5.4.6", 1723 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", 1724 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", 1725 | "dev": true, 1726 | "dependencies": { 1727 | "ajv": "^6.10.2", 1728 | "lodash": "^4.17.14", 1729 | "slice-ansi": "^2.1.0", 1730 | "string-width": "^3.0.0" 1731 | }, 1732 | "engines": { 1733 | "node": ">=6.0.0" 1734 | } 1735 | }, 1736 | "node_modules/text-table": { 1737 | "version": "0.2.0", 1738 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1739 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 1740 | "dev": true 1741 | }, 1742 | "node_modules/through": { 1743 | "version": "2.3.8", 1744 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1745 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 1746 | "dev": true 1747 | }, 1748 | "node_modules/tmp": { 1749 | "version": "0.0.33", 1750 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 1751 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 1752 | "dev": true, 1753 | "dependencies": { 1754 | "os-tmpdir": "~1.0.2" 1755 | }, 1756 | "engines": { 1757 | "node": ">=0.6.0" 1758 | } 1759 | }, 1760 | "node_modules/to-regex-range": { 1761 | "version": "5.0.1", 1762 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1763 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1764 | "dependencies": { 1765 | "is-number": "^7.0.0" 1766 | }, 1767 | "engines": { 1768 | "node": ">=8.0" 1769 | } 1770 | }, 1771 | "node_modules/tslib": { 1772 | "version": "1.10.0", 1773 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", 1774 | "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", 1775 | "dev": true 1776 | }, 1777 | "node_modules/type-check": { 1778 | "version": "0.3.2", 1779 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 1780 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 1781 | "dev": true, 1782 | "dependencies": { 1783 | "prelude-ls": "~1.1.2" 1784 | }, 1785 | "engines": { 1786 | "node": ">= 0.8.0" 1787 | } 1788 | }, 1789 | "node_modules/type-fest": { 1790 | "version": "0.5.2", 1791 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", 1792 | "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==", 1793 | "dev": true, 1794 | "engines": { 1795 | "node": ">=6" 1796 | } 1797 | }, 1798 | "node_modules/uri-js": { 1799 | "version": "4.2.2", 1800 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 1801 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 1802 | "dev": true, 1803 | "dependencies": { 1804 | "punycode": "^2.1.0" 1805 | } 1806 | }, 1807 | "node_modules/v8-compile-cache": { 1808 | "version": "2.1.0", 1809 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", 1810 | "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", 1811 | "dev": true 1812 | }, 1813 | "node_modules/which": { 1814 | "version": "1.3.1", 1815 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 1816 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 1817 | "dev": true, 1818 | "dependencies": { 1819 | "isexe": "^2.0.0" 1820 | }, 1821 | "bin": { 1822 | "which": "bin/which" 1823 | } 1824 | }, 1825 | "node_modules/which-module": { 1826 | "version": "2.0.0", 1827 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 1828 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" 1829 | }, 1830 | "node_modules/wide-align": { 1831 | "version": "1.1.3", 1832 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", 1833 | "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", 1834 | "dev": true, 1835 | "dependencies": { 1836 | "string-width": "^1.0.2 || 2" 1837 | } 1838 | }, 1839 | "node_modules/wide-align/node_modules/ansi-regex": { 1840 | "version": "3.0.0", 1841 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 1842 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 1843 | "dev": true, 1844 | "engines": { 1845 | "node": ">=4" 1846 | } 1847 | }, 1848 | "node_modules/wide-align/node_modules/string-width": { 1849 | "version": "2.1.1", 1850 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 1851 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 1852 | "dev": true, 1853 | "dependencies": { 1854 | "is-fullwidth-code-point": "^2.0.0", 1855 | "strip-ansi": "^4.0.0" 1856 | }, 1857 | "engines": { 1858 | "node": ">=4" 1859 | } 1860 | }, 1861 | "node_modules/wide-align/node_modules/strip-ansi": { 1862 | "version": "4.0.0", 1863 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 1864 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 1865 | "dev": true, 1866 | "dependencies": { 1867 | "ansi-regex": "^3.0.0" 1868 | }, 1869 | "engines": { 1870 | "node": ">=4" 1871 | } 1872 | }, 1873 | "node_modules/wordwrap": { 1874 | "version": "1.0.0", 1875 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 1876 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 1877 | "dev": true 1878 | }, 1879 | "node_modules/wrap-ansi": { 1880 | "version": "5.1.0", 1881 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", 1882 | "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", 1883 | "dependencies": { 1884 | "ansi-styles": "^3.2.0", 1885 | "string-width": "^3.0.0", 1886 | "strip-ansi": "^5.0.0" 1887 | }, 1888 | "engines": { 1889 | "node": ">=6" 1890 | } 1891 | }, 1892 | "node_modules/wrappy": { 1893 | "version": "1.0.2", 1894 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1895 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1896 | "dev": true 1897 | }, 1898 | "node_modules/write": { 1899 | "version": "1.0.3", 1900 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", 1901 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", 1902 | "dev": true, 1903 | "dependencies": { 1904 | "mkdirp": "^0.5.1" 1905 | }, 1906 | "engines": { 1907 | "node": ">=4" 1908 | } 1909 | }, 1910 | "node_modules/y18n": { 1911 | "version": "4.0.0", 1912 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", 1913 | "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" 1914 | }, 1915 | "node_modules/yargs": { 1916 | "version": "13.3.0", 1917 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", 1918 | "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", 1919 | "dependencies": { 1920 | "cliui": "^5.0.0", 1921 | "find-up": "^3.0.0", 1922 | "get-caller-file": "^2.0.1", 1923 | "require-directory": "^2.1.1", 1924 | "require-main-filename": "^2.0.0", 1925 | "set-blocking": "^2.0.0", 1926 | "string-width": "^3.0.0", 1927 | "which-module": "^2.0.0", 1928 | "y18n": "^4.0.0", 1929 | "yargs-parser": "^13.1.1" 1930 | } 1931 | }, 1932 | "node_modules/yargs-parser": { 1933 | "version": "13.1.1", 1934 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", 1935 | "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", 1936 | "dependencies": { 1937 | "camelcase": "^5.0.0", 1938 | "decamelize": "^1.2.0" 1939 | } 1940 | }, 1941 | "node_modules/yargs-unparser": { 1942 | "version": "1.6.0", 1943 | "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", 1944 | "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", 1945 | "dev": true, 1946 | "dependencies": { 1947 | "flat": "^4.1.0", 1948 | "lodash": "^4.17.15", 1949 | "yargs": "^13.3.0" 1950 | }, 1951 | "engines": { 1952 | "node": ">=6" 1953 | } 1954 | } 1955 | }, 1956 | "dependencies": { 1957 | "@babel/code-frame": { 1958 | "version": "7.5.5", 1959 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", 1960 | "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", 1961 | "dev": true, 1962 | "requires": { 1963 | "@babel/highlight": "^7.0.0" 1964 | } 1965 | }, 1966 | "@babel/highlight": { 1967 | "version": "7.5.0", 1968 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", 1969 | "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", 1970 | "dev": true, 1971 | "requires": { 1972 | "chalk": "^2.0.0", 1973 | "esutils": "^2.0.2", 1974 | "js-tokens": "^4.0.0" 1975 | } 1976 | }, 1977 | "acorn": { 1978 | "version": "7.1.0", 1979 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", 1980 | "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", 1981 | "dev": true 1982 | }, 1983 | "acorn-jsx": { 1984 | "version": "5.1.0", 1985 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", 1986 | "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", 1987 | "dev": true 1988 | }, 1989 | "ajv": { 1990 | "version": "6.10.2", 1991 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", 1992 | "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", 1993 | "dev": true, 1994 | "requires": { 1995 | "fast-deep-equal": "^2.0.1", 1996 | "fast-json-stable-stringify": "^2.0.0", 1997 | "json-schema-traverse": "^0.4.1", 1998 | "uri-js": "^4.2.2" 1999 | } 2000 | }, 2001 | "ansi-colors": { 2002 | "version": "3.2.3", 2003 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", 2004 | "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", 2005 | "dev": true 2006 | }, 2007 | "ansi-escapes": { 2008 | "version": "4.2.1", 2009 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz", 2010 | "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==", 2011 | "dev": true, 2012 | "requires": { 2013 | "type-fest": "^0.5.2" 2014 | } 2015 | }, 2016 | "ansi-regex": { 2017 | "version": "4.1.0", 2018 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 2019 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" 2020 | }, 2021 | "ansi-styles": { 2022 | "version": "3.2.1", 2023 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 2024 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 2025 | "requires": { 2026 | "color-convert": "^1.9.0" 2027 | } 2028 | }, 2029 | "anymatch": { 2030 | "version": "3.1.2", 2031 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", 2032 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", 2033 | "requires": { 2034 | "normalize-path": "^3.0.0", 2035 | "picomatch": "^2.0.4" 2036 | } 2037 | }, 2038 | "argparse": { 2039 | "version": "1.0.10", 2040 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 2041 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 2042 | "dev": true, 2043 | "requires": { 2044 | "sprintf-js": "~1.0.2" 2045 | } 2046 | }, 2047 | "astral-regex": { 2048 | "version": "1.0.0", 2049 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", 2050 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 2051 | "dev": true 2052 | }, 2053 | "balanced-match": { 2054 | "version": "1.0.0", 2055 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 2056 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 2057 | "dev": true 2058 | }, 2059 | "binary-extensions": { 2060 | "version": "2.0.0", 2061 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", 2062 | "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" 2063 | }, 2064 | "brace-expansion": { 2065 | "version": "1.1.11", 2066 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2067 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2068 | "dev": true, 2069 | "requires": { 2070 | "balanced-match": "^1.0.0", 2071 | "concat-map": "0.0.1" 2072 | } 2073 | }, 2074 | "braces": { 2075 | "version": "3.0.2", 2076 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 2077 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 2078 | "requires": { 2079 | "fill-range": "^7.0.1" 2080 | } 2081 | }, 2082 | "browser-stdout": { 2083 | "version": "1.3.1", 2084 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", 2085 | "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", 2086 | "dev": true 2087 | }, 2088 | "callsites": { 2089 | "version": "3.1.0", 2090 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 2091 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 2092 | "dev": true 2093 | }, 2094 | "camelcase": { 2095 | "version": "5.3.1", 2096 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 2097 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" 2098 | }, 2099 | "chalk": { 2100 | "version": "2.4.2", 2101 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 2102 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 2103 | "dev": true, 2104 | "requires": { 2105 | "ansi-styles": "^3.2.1", 2106 | "escape-string-regexp": "^1.0.5", 2107 | "supports-color": "^5.3.0" 2108 | } 2109 | }, 2110 | "chardet": { 2111 | "version": "0.7.0", 2112 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 2113 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", 2114 | "dev": true 2115 | }, 2116 | "chokidar": { 2117 | "version": "3.5.2", 2118 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", 2119 | "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", 2120 | "requires": { 2121 | "anymatch": "~3.1.2", 2122 | "braces": "~3.0.2", 2123 | "fsevents": "~2.3.2", 2124 | "glob-parent": "~5.1.2", 2125 | "is-binary-path": "~2.1.0", 2126 | "is-glob": "~4.0.1", 2127 | "normalize-path": "~3.0.0", 2128 | "readdirp": "~3.6.0" 2129 | } 2130 | }, 2131 | "cli-cursor": { 2132 | "version": "3.1.0", 2133 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 2134 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 2135 | "dev": true, 2136 | "requires": { 2137 | "restore-cursor": "^3.1.0" 2138 | } 2139 | }, 2140 | "cli-width": { 2141 | "version": "2.2.0", 2142 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 2143 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", 2144 | "dev": true 2145 | }, 2146 | "cliui": { 2147 | "version": "5.0.0", 2148 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", 2149 | "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", 2150 | "requires": { 2151 | "string-width": "^3.1.0", 2152 | "strip-ansi": "^5.2.0", 2153 | "wrap-ansi": "^5.1.0" 2154 | } 2155 | }, 2156 | "color-convert": { 2157 | "version": "1.9.3", 2158 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 2159 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 2160 | "requires": { 2161 | "color-name": "1.1.3" 2162 | } 2163 | }, 2164 | "color-name": { 2165 | "version": "1.1.3", 2166 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 2167 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 2168 | }, 2169 | "concat-map": { 2170 | "version": "0.0.1", 2171 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2172 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 2173 | "dev": true 2174 | }, 2175 | "cross-spawn": { 2176 | "version": "6.0.5", 2177 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 2178 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 2179 | "dev": true, 2180 | "requires": { 2181 | "nice-try": "^1.0.4", 2182 | "path-key": "^2.0.1", 2183 | "semver": "^5.5.0", 2184 | "shebang-command": "^1.2.0", 2185 | "which": "^1.2.9" 2186 | }, 2187 | "dependencies": { 2188 | "semver": { 2189 | "version": "5.7.1", 2190 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 2191 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 2192 | "dev": true 2193 | } 2194 | } 2195 | }, 2196 | "debug": { 2197 | "version": "4.1.1", 2198 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 2199 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 2200 | "dev": true, 2201 | "requires": { 2202 | "ms": "^2.1.1" 2203 | } 2204 | }, 2205 | "decamelize": { 2206 | "version": "1.2.0", 2207 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 2208 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" 2209 | }, 2210 | "deep-is": { 2211 | "version": "0.1.3", 2212 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 2213 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 2214 | "dev": true 2215 | }, 2216 | "define-properties": { 2217 | "version": "1.1.3", 2218 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 2219 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 2220 | "dev": true, 2221 | "requires": { 2222 | "object-keys": "^1.0.12" 2223 | } 2224 | }, 2225 | "diff": { 2226 | "version": "3.5.0", 2227 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", 2228 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", 2229 | "dev": true 2230 | }, 2231 | "doctrine": { 2232 | "version": "3.0.0", 2233 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 2234 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 2235 | "dev": true, 2236 | "requires": { 2237 | "esutils": "^2.0.2" 2238 | } 2239 | }, 2240 | "emoji-regex": { 2241 | "version": "7.0.3", 2242 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 2243 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" 2244 | }, 2245 | "es-abstract": { 2246 | "version": "1.16.0", 2247 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz", 2248 | "integrity": "sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==", 2249 | "dev": true, 2250 | "requires": { 2251 | "es-to-primitive": "^1.2.0", 2252 | "function-bind": "^1.1.1", 2253 | "has": "^1.0.3", 2254 | "has-symbols": "^1.0.0", 2255 | "is-callable": "^1.1.4", 2256 | "is-regex": "^1.0.4", 2257 | "object-inspect": "^1.6.0", 2258 | "object-keys": "^1.1.1", 2259 | "string.prototype.trimleft": "^2.1.0", 2260 | "string.prototype.trimright": "^2.1.0" 2261 | } 2262 | }, 2263 | "es-to-primitive": { 2264 | "version": "1.2.0", 2265 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", 2266 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", 2267 | "dev": true, 2268 | "requires": { 2269 | "is-callable": "^1.1.4", 2270 | "is-date-object": "^1.0.1", 2271 | "is-symbol": "^1.0.2" 2272 | } 2273 | }, 2274 | "escape-string-regexp": { 2275 | "version": "1.0.5", 2276 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 2277 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 2278 | "dev": true 2279 | }, 2280 | "eslint": { 2281 | "version": "6.6.0", 2282 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.6.0.tgz", 2283 | "integrity": "sha512-PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g==", 2284 | "dev": true, 2285 | "requires": { 2286 | "@babel/code-frame": "^7.0.0", 2287 | "ajv": "^6.10.0", 2288 | "chalk": "^2.1.0", 2289 | "cross-spawn": "^6.0.5", 2290 | "debug": "^4.0.1", 2291 | "doctrine": "^3.0.0", 2292 | "eslint-scope": "^5.0.0", 2293 | "eslint-utils": "^1.4.3", 2294 | "eslint-visitor-keys": "^1.1.0", 2295 | "espree": "^6.1.2", 2296 | "esquery": "^1.0.1", 2297 | "esutils": "^2.0.2", 2298 | "file-entry-cache": "^5.0.1", 2299 | "functional-red-black-tree": "^1.0.1", 2300 | "glob-parent": "^5.0.0", 2301 | "globals": "^11.7.0", 2302 | "ignore": "^4.0.6", 2303 | "import-fresh": "^3.0.0", 2304 | "imurmurhash": "^0.1.4", 2305 | "inquirer": "^7.0.0", 2306 | "is-glob": "^4.0.0", 2307 | "js-yaml": "^3.13.1", 2308 | "json-stable-stringify-without-jsonify": "^1.0.1", 2309 | "levn": "^0.3.0", 2310 | "lodash": "^4.17.14", 2311 | "minimatch": "^3.0.4", 2312 | "mkdirp": "^0.5.1", 2313 | "natural-compare": "^1.4.0", 2314 | "optionator": "^0.8.2", 2315 | "progress": "^2.0.0", 2316 | "regexpp": "^2.0.1", 2317 | "semver": "^6.1.2", 2318 | "strip-ansi": "^5.2.0", 2319 | "strip-json-comments": "^3.0.1", 2320 | "table": "^5.2.3", 2321 | "text-table": "^0.2.0", 2322 | "v8-compile-cache": "^2.0.3" 2323 | } 2324 | }, 2325 | "eslint-scope": { 2326 | "version": "5.0.0", 2327 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", 2328 | "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", 2329 | "dev": true, 2330 | "requires": { 2331 | "esrecurse": "^4.1.0", 2332 | "estraverse": "^4.1.1" 2333 | } 2334 | }, 2335 | "eslint-utils": { 2336 | "version": "1.4.3", 2337 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", 2338 | "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", 2339 | "dev": true, 2340 | "requires": { 2341 | "eslint-visitor-keys": "^1.1.0" 2342 | } 2343 | }, 2344 | "eslint-visitor-keys": { 2345 | "version": "1.1.0", 2346 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", 2347 | "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", 2348 | "dev": true 2349 | }, 2350 | "espree": { 2351 | "version": "6.1.2", 2352 | "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz", 2353 | "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==", 2354 | "dev": true, 2355 | "requires": { 2356 | "acorn": "^7.1.0", 2357 | "acorn-jsx": "^5.1.0", 2358 | "eslint-visitor-keys": "^1.1.0" 2359 | } 2360 | }, 2361 | "esprima": { 2362 | "version": "4.0.1", 2363 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 2364 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 2365 | "dev": true 2366 | }, 2367 | "esquery": { 2368 | "version": "1.0.1", 2369 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", 2370 | "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", 2371 | "dev": true, 2372 | "requires": { 2373 | "estraverse": "^4.0.0" 2374 | } 2375 | }, 2376 | "esrecurse": { 2377 | "version": "4.2.1", 2378 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", 2379 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", 2380 | "dev": true, 2381 | "requires": { 2382 | "estraverse": "^4.1.0" 2383 | } 2384 | }, 2385 | "estraverse": { 2386 | "version": "4.3.0", 2387 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 2388 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 2389 | "dev": true 2390 | }, 2391 | "esutils": { 2392 | "version": "2.0.3", 2393 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2394 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 2395 | "dev": true 2396 | }, 2397 | "external-editor": { 2398 | "version": "3.1.0", 2399 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", 2400 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", 2401 | "dev": true, 2402 | "requires": { 2403 | "chardet": "^0.7.0", 2404 | "iconv-lite": "^0.4.24", 2405 | "tmp": "^0.0.33" 2406 | } 2407 | }, 2408 | "fast-deep-equal": { 2409 | "version": "2.0.1", 2410 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", 2411 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", 2412 | "dev": true 2413 | }, 2414 | "fast-json-stable-stringify": { 2415 | "version": "2.0.0", 2416 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 2417 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", 2418 | "dev": true 2419 | }, 2420 | "fast-levenshtein": { 2421 | "version": "2.0.6", 2422 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 2423 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 2424 | "dev": true 2425 | }, 2426 | "figures": { 2427 | "version": "3.1.0", 2428 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", 2429 | "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", 2430 | "dev": true, 2431 | "requires": { 2432 | "escape-string-regexp": "^1.0.5" 2433 | } 2434 | }, 2435 | "file-entry-cache": { 2436 | "version": "5.0.1", 2437 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", 2438 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", 2439 | "dev": true, 2440 | "requires": { 2441 | "flat-cache": "^2.0.1" 2442 | } 2443 | }, 2444 | "fill-range": { 2445 | "version": "7.0.1", 2446 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 2447 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 2448 | "requires": { 2449 | "to-regex-range": "^5.0.1" 2450 | } 2451 | }, 2452 | "find-up": { 2453 | "version": "3.0.0", 2454 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 2455 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 2456 | "requires": { 2457 | "locate-path": "^3.0.0" 2458 | } 2459 | }, 2460 | "flat": { 2461 | "version": "4.1.0", 2462 | "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", 2463 | "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", 2464 | "dev": true, 2465 | "requires": { 2466 | "is-buffer": "~2.0.3" 2467 | } 2468 | }, 2469 | "flat-cache": { 2470 | "version": "2.0.1", 2471 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", 2472 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", 2473 | "dev": true, 2474 | "requires": { 2475 | "flatted": "^2.0.0", 2476 | "rimraf": "2.6.3", 2477 | "write": "1.0.3" 2478 | } 2479 | }, 2480 | "flatted": { 2481 | "version": "2.0.1", 2482 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", 2483 | "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", 2484 | "dev": true 2485 | }, 2486 | "fs.realpath": { 2487 | "version": "1.0.0", 2488 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2489 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 2490 | "dev": true 2491 | }, 2492 | "fsevents": { 2493 | "version": "2.3.2", 2494 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 2495 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2496 | "optional": true 2497 | }, 2498 | "function-bind": { 2499 | "version": "1.1.1", 2500 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 2501 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 2502 | "dev": true 2503 | }, 2504 | "functional-red-black-tree": { 2505 | "version": "1.0.1", 2506 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 2507 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 2508 | "dev": true 2509 | }, 2510 | "get-caller-file": { 2511 | "version": "2.0.5", 2512 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 2513 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" 2514 | }, 2515 | "glob": { 2516 | "version": "7.1.5", 2517 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", 2518 | "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", 2519 | "dev": true, 2520 | "requires": { 2521 | "fs.realpath": "^1.0.0", 2522 | "inflight": "^1.0.4", 2523 | "inherits": "2", 2524 | "minimatch": "^3.0.4", 2525 | "once": "^1.3.0", 2526 | "path-is-absolute": "^1.0.0" 2527 | } 2528 | }, 2529 | "glob-parent": { 2530 | "version": "5.1.2", 2531 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2532 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2533 | "requires": { 2534 | "is-glob": "^4.0.1" 2535 | } 2536 | }, 2537 | "globals": { 2538 | "version": "11.12.0", 2539 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 2540 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 2541 | "dev": true 2542 | }, 2543 | "growl": { 2544 | "version": "1.10.5", 2545 | "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", 2546 | "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", 2547 | "dev": true 2548 | }, 2549 | "has": { 2550 | "version": "1.0.3", 2551 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 2552 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 2553 | "dev": true, 2554 | "requires": { 2555 | "function-bind": "^1.1.1" 2556 | } 2557 | }, 2558 | "has-flag": { 2559 | "version": "3.0.0", 2560 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 2561 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 2562 | "dev": true 2563 | }, 2564 | "has-symbols": { 2565 | "version": "1.0.0", 2566 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", 2567 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", 2568 | "dev": true 2569 | }, 2570 | "he": { 2571 | "version": "1.2.0", 2572 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 2573 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 2574 | "dev": true 2575 | }, 2576 | "iconv-lite": { 2577 | "version": "0.4.24", 2578 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 2579 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 2580 | "dev": true, 2581 | "requires": { 2582 | "safer-buffer": ">= 2.1.2 < 3" 2583 | } 2584 | }, 2585 | "ignore": { 2586 | "version": "4.0.6", 2587 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 2588 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 2589 | "dev": true 2590 | }, 2591 | "import-fresh": { 2592 | "version": "3.1.0", 2593 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", 2594 | "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", 2595 | "dev": true, 2596 | "requires": { 2597 | "parent-module": "^1.0.0", 2598 | "resolve-from": "^4.0.0" 2599 | } 2600 | }, 2601 | "imurmurhash": { 2602 | "version": "0.1.4", 2603 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2604 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 2605 | "dev": true 2606 | }, 2607 | "inflight": { 2608 | "version": "1.0.6", 2609 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2610 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 2611 | "dev": true, 2612 | "requires": { 2613 | "once": "^1.3.0", 2614 | "wrappy": "1" 2615 | } 2616 | }, 2617 | "inherits": { 2618 | "version": "2.0.4", 2619 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2620 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2621 | "dev": true 2622 | }, 2623 | "inquirer": { 2624 | "version": "7.0.0", 2625 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz", 2626 | "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==", 2627 | "dev": true, 2628 | "requires": { 2629 | "ansi-escapes": "^4.2.1", 2630 | "chalk": "^2.4.2", 2631 | "cli-cursor": "^3.1.0", 2632 | "cli-width": "^2.0.0", 2633 | "external-editor": "^3.0.3", 2634 | "figures": "^3.0.0", 2635 | "lodash": "^4.17.15", 2636 | "mute-stream": "0.0.8", 2637 | "run-async": "^2.2.0", 2638 | "rxjs": "^6.4.0", 2639 | "string-width": "^4.1.0", 2640 | "strip-ansi": "^5.1.0", 2641 | "through": "^2.3.6" 2642 | }, 2643 | "dependencies": { 2644 | "emoji-regex": { 2645 | "version": "8.0.0", 2646 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2647 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 2648 | "dev": true 2649 | }, 2650 | "is-fullwidth-code-point": { 2651 | "version": "3.0.0", 2652 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 2653 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 2654 | "dev": true 2655 | }, 2656 | "string-width": { 2657 | "version": "4.1.0", 2658 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", 2659 | "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", 2660 | "dev": true, 2661 | "requires": { 2662 | "emoji-regex": "^8.0.0", 2663 | "is-fullwidth-code-point": "^3.0.0", 2664 | "strip-ansi": "^5.2.0" 2665 | } 2666 | } 2667 | } 2668 | }, 2669 | "is-binary-path": { 2670 | "version": "2.1.0", 2671 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 2672 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 2673 | "requires": { 2674 | "binary-extensions": "^2.0.0" 2675 | } 2676 | }, 2677 | "is-buffer": { 2678 | "version": "2.0.4", 2679 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", 2680 | "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", 2681 | "dev": true 2682 | }, 2683 | "is-callable": { 2684 | "version": "1.1.4", 2685 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", 2686 | "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", 2687 | "dev": true 2688 | }, 2689 | "is-date-object": { 2690 | "version": "1.0.1", 2691 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", 2692 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", 2693 | "dev": true 2694 | }, 2695 | "is-extglob": { 2696 | "version": "2.1.1", 2697 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2698 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" 2699 | }, 2700 | "is-fullwidth-code-point": { 2701 | "version": "2.0.0", 2702 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 2703 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 2704 | }, 2705 | "is-glob": { 2706 | "version": "4.0.1", 2707 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 2708 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 2709 | "requires": { 2710 | "is-extglob": "^2.1.1" 2711 | } 2712 | }, 2713 | "is-number": { 2714 | "version": "7.0.0", 2715 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2716 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" 2717 | }, 2718 | "is-promise": { 2719 | "version": "2.1.0", 2720 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 2721 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 2722 | "dev": true 2723 | }, 2724 | "is-regex": { 2725 | "version": "1.0.4", 2726 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", 2727 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", 2728 | "dev": true, 2729 | "requires": { 2730 | "has": "^1.0.1" 2731 | } 2732 | }, 2733 | "is-symbol": { 2734 | "version": "1.0.2", 2735 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", 2736 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", 2737 | "dev": true, 2738 | "requires": { 2739 | "has-symbols": "^1.0.0" 2740 | } 2741 | }, 2742 | "isexe": { 2743 | "version": "2.0.0", 2744 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2745 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 2746 | "dev": true 2747 | }, 2748 | "js-tokens": { 2749 | "version": "4.0.0", 2750 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2751 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 2752 | "dev": true 2753 | }, 2754 | "js-yaml": { 2755 | "version": "3.13.1", 2756 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", 2757 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", 2758 | "dev": true, 2759 | "requires": { 2760 | "argparse": "^1.0.7", 2761 | "esprima": "^4.0.0" 2762 | } 2763 | }, 2764 | "json-schema-traverse": { 2765 | "version": "0.4.1", 2766 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2767 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 2768 | "dev": true 2769 | }, 2770 | "json-stable-stringify-without-jsonify": { 2771 | "version": "1.0.1", 2772 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2773 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 2774 | "dev": true 2775 | }, 2776 | "levn": { 2777 | "version": "0.3.0", 2778 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 2779 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 2780 | "dev": true, 2781 | "requires": { 2782 | "prelude-ls": "~1.1.2", 2783 | "type-check": "~0.3.2" 2784 | } 2785 | }, 2786 | "locate-path": { 2787 | "version": "3.0.0", 2788 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 2789 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 2790 | "requires": { 2791 | "p-locate": "^3.0.0", 2792 | "path-exists": "^3.0.0" 2793 | } 2794 | }, 2795 | "lodash": { 2796 | "version": "4.17.15", 2797 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", 2798 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", 2799 | "dev": true 2800 | }, 2801 | "lodash.debounce": { 2802 | "version": "4.0.8", 2803 | "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", 2804 | "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" 2805 | }, 2806 | "lodash.throttle": { 2807 | "version": "4.1.1", 2808 | "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", 2809 | "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" 2810 | }, 2811 | "log-symbols": { 2812 | "version": "2.2.0", 2813 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", 2814 | "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", 2815 | "dev": true, 2816 | "requires": { 2817 | "chalk": "^2.0.1" 2818 | } 2819 | }, 2820 | "mimic-fn": { 2821 | "version": "2.1.0", 2822 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 2823 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 2824 | "dev": true 2825 | }, 2826 | "minimatch": { 2827 | "version": "3.0.4", 2828 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2829 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2830 | "dev": true, 2831 | "requires": { 2832 | "brace-expansion": "^1.1.7" 2833 | } 2834 | }, 2835 | "minimist": { 2836 | "version": "0.0.8", 2837 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 2838 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 2839 | "dev": true 2840 | }, 2841 | "mkdirp": { 2842 | "version": "0.5.1", 2843 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 2844 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 2845 | "dev": true, 2846 | "requires": { 2847 | "minimist": "0.0.8" 2848 | } 2849 | }, 2850 | "mocha": { 2851 | "version": "6.2.2", 2852 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz", 2853 | "integrity": "sha512-FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==", 2854 | "dev": true, 2855 | "requires": { 2856 | "ansi-colors": "3.2.3", 2857 | "browser-stdout": "1.3.1", 2858 | "debug": "3.2.6", 2859 | "diff": "3.5.0", 2860 | "escape-string-regexp": "1.0.5", 2861 | "find-up": "3.0.0", 2862 | "glob": "7.1.3", 2863 | "growl": "1.10.5", 2864 | "he": "1.2.0", 2865 | "js-yaml": "3.13.1", 2866 | "log-symbols": "2.2.0", 2867 | "minimatch": "3.0.4", 2868 | "mkdirp": "0.5.1", 2869 | "ms": "2.1.1", 2870 | "node-environment-flags": "1.0.5", 2871 | "object.assign": "4.1.0", 2872 | "strip-json-comments": "2.0.1", 2873 | "supports-color": "6.0.0", 2874 | "which": "1.3.1", 2875 | "wide-align": "1.1.3", 2876 | "yargs": "13.3.0", 2877 | "yargs-parser": "13.1.1", 2878 | "yargs-unparser": "1.6.0" 2879 | }, 2880 | "dependencies": { 2881 | "debug": { 2882 | "version": "3.2.6", 2883 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", 2884 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", 2885 | "dev": true, 2886 | "requires": { 2887 | "ms": "^2.1.1" 2888 | } 2889 | }, 2890 | "glob": { 2891 | "version": "7.1.3", 2892 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", 2893 | "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", 2894 | "dev": true, 2895 | "requires": { 2896 | "fs.realpath": "^1.0.0", 2897 | "inflight": "^1.0.4", 2898 | "inherits": "2", 2899 | "minimatch": "^3.0.4", 2900 | "once": "^1.3.0", 2901 | "path-is-absolute": "^1.0.0" 2902 | } 2903 | }, 2904 | "ms": { 2905 | "version": "2.1.1", 2906 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 2907 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", 2908 | "dev": true 2909 | }, 2910 | "strip-json-comments": { 2911 | "version": "2.0.1", 2912 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 2913 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 2914 | "dev": true 2915 | }, 2916 | "supports-color": { 2917 | "version": "6.0.0", 2918 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", 2919 | "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", 2920 | "dev": true, 2921 | "requires": { 2922 | "has-flag": "^3.0.0" 2923 | } 2924 | } 2925 | } 2926 | }, 2927 | "ms": { 2928 | "version": "2.1.2", 2929 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2930 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 2931 | "dev": true 2932 | }, 2933 | "mute-stream": { 2934 | "version": "0.0.8", 2935 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", 2936 | "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", 2937 | "dev": true 2938 | }, 2939 | "natural-compare": { 2940 | "version": "1.4.0", 2941 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 2942 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 2943 | "dev": true 2944 | }, 2945 | "nice-try": { 2946 | "version": "1.0.5", 2947 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 2948 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 2949 | "dev": true 2950 | }, 2951 | "node-environment-flags": { 2952 | "version": "1.0.5", 2953 | "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", 2954 | "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", 2955 | "dev": true, 2956 | "requires": { 2957 | "object.getownpropertydescriptors": "^2.0.3", 2958 | "semver": "^5.7.0" 2959 | }, 2960 | "dependencies": { 2961 | "semver": { 2962 | "version": "5.7.1", 2963 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 2964 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 2965 | "dev": true 2966 | } 2967 | } 2968 | }, 2969 | "normalize-path": { 2970 | "version": "3.0.0", 2971 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2972 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" 2973 | }, 2974 | "object-inspect": { 2975 | "version": "1.6.0", 2976 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", 2977 | "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", 2978 | "dev": true 2979 | }, 2980 | "object-keys": { 2981 | "version": "1.1.1", 2982 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 2983 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 2984 | "dev": true 2985 | }, 2986 | "object.assign": { 2987 | "version": "4.1.0", 2988 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", 2989 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", 2990 | "dev": true, 2991 | "requires": { 2992 | "define-properties": "^1.1.2", 2993 | "function-bind": "^1.1.1", 2994 | "has-symbols": "^1.0.0", 2995 | "object-keys": "^1.0.11" 2996 | } 2997 | }, 2998 | "object.getownpropertydescriptors": { 2999 | "version": "2.0.3", 3000 | "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", 3001 | "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", 3002 | "dev": true, 3003 | "requires": { 3004 | "define-properties": "^1.1.2", 3005 | "es-abstract": "^1.5.1" 3006 | } 3007 | }, 3008 | "once": { 3009 | "version": "1.4.0", 3010 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3011 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 3012 | "dev": true, 3013 | "requires": { 3014 | "wrappy": "1" 3015 | } 3016 | }, 3017 | "onetime": { 3018 | "version": "5.1.0", 3019 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", 3020 | "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", 3021 | "dev": true, 3022 | "requires": { 3023 | "mimic-fn": "^2.1.0" 3024 | } 3025 | }, 3026 | "optionator": { 3027 | "version": "0.8.2", 3028 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 3029 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 3030 | "dev": true, 3031 | "requires": { 3032 | "deep-is": "~0.1.3", 3033 | "fast-levenshtein": "~2.0.4", 3034 | "levn": "~0.3.0", 3035 | "prelude-ls": "~1.1.2", 3036 | "type-check": "~0.3.2", 3037 | "wordwrap": "~1.0.0" 3038 | } 3039 | }, 3040 | "os-tmpdir": { 3041 | "version": "1.0.2", 3042 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 3043 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 3044 | "dev": true 3045 | }, 3046 | "p-limit": { 3047 | "version": "2.2.1", 3048 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", 3049 | "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", 3050 | "requires": { 3051 | "p-try": "^2.0.0" 3052 | } 3053 | }, 3054 | "p-locate": { 3055 | "version": "3.0.0", 3056 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 3057 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 3058 | "requires": { 3059 | "p-limit": "^2.0.0" 3060 | } 3061 | }, 3062 | "p-try": { 3063 | "version": "2.2.0", 3064 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 3065 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" 3066 | }, 3067 | "parent-module": { 3068 | "version": "1.0.1", 3069 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 3070 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 3071 | "dev": true, 3072 | "requires": { 3073 | "callsites": "^3.0.0" 3074 | } 3075 | }, 3076 | "path-exists": { 3077 | "version": "3.0.0", 3078 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 3079 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" 3080 | }, 3081 | "path-is-absolute": { 3082 | "version": "1.0.1", 3083 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3084 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 3085 | "dev": true 3086 | }, 3087 | "path-key": { 3088 | "version": "2.0.1", 3089 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 3090 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 3091 | "dev": true 3092 | }, 3093 | "picomatch": { 3094 | "version": "2.3.0", 3095 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", 3096 | "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" 3097 | }, 3098 | "prelude-ls": { 3099 | "version": "1.1.2", 3100 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 3101 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 3102 | "dev": true 3103 | }, 3104 | "progress": { 3105 | "version": "2.0.3", 3106 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 3107 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 3108 | "dev": true 3109 | }, 3110 | "punycode": { 3111 | "version": "2.1.1", 3112 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 3113 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 3114 | "dev": true 3115 | }, 3116 | "readdirp": { 3117 | "version": "3.6.0", 3118 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 3119 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 3120 | "requires": { 3121 | "picomatch": "^2.2.1" 3122 | } 3123 | }, 3124 | "regexpp": { 3125 | "version": "2.0.1", 3126 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", 3127 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", 3128 | "dev": true 3129 | }, 3130 | "require-directory": { 3131 | "version": "2.1.1", 3132 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 3133 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" 3134 | }, 3135 | "require-main-filename": { 3136 | "version": "2.0.0", 3137 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 3138 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" 3139 | }, 3140 | "resolve-from": { 3141 | "version": "4.0.0", 3142 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 3143 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 3144 | "dev": true 3145 | }, 3146 | "restore-cursor": { 3147 | "version": "3.1.0", 3148 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 3149 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 3150 | "dev": true, 3151 | "requires": { 3152 | "onetime": "^5.1.0", 3153 | "signal-exit": "^3.0.2" 3154 | } 3155 | }, 3156 | "rimraf": { 3157 | "version": "2.6.3", 3158 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 3159 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 3160 | "dev": true, 3161 | "requires": { 3162 | "glob": "^7.1.3" 3163 | } 3164 | }, 3165 | "run-async": { 3166 | "version": "2.3.0", 3167 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 3168 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 3169 | "dev": true, 3170 | "requires": { 3171 | "is-promise": "^2.1.0" 3172 | } 3173 | }, 3174 | "rxjs": { 3175 | "version": "6.5.3", 3176 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", 3177 | "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", 3178 | "dev": true, 3179 | "requires": { 3180 | "tslib": "^1.9.0" 3181 | } 3182 | }, 3183 | "safer-buffer": { 3184 | "version": "2.1.2", 3185 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 3186 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 3187 | "dev": true 3188 | }, 3189 | "semver": { 3190 | "version": "6.3.0", 3191 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 3192 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 3193 | "dev": true 3194 | }, 3195 | "set-blocking": { 3196 | "version": "2.0.0", 3197 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 3198 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" 3199 | }, 3200 | "shebang-command": { 3201 | "version": "1.2.0", 3202 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 3203 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 3204 | "dev": true, 3205 | "requires": { 3206 | "shebang-regex": "^1.0.0" 3207 | } 3208 | }, 3209 | "shebang-regex": { 3210 | "version": "1.0.0", 3211 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 3212 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 3213 | "dev": true 3214 | }, 3215 | "signal-exit": { 3216 | "version": "3.0.2", 3217 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 3218 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 3219 | "dev": true 3220 | }, 3221 | "slice-ansi": { 3222 | "version": "2.1.0", 3223 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", 3224 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", 3225 | "dev": true, 3226 | "requires": { 3227 | "ansi-styles": "^3.2.0", 3228 | "astral-regex": "^1.0.0", 3229 | "is-fullwidth-code-point": "^2.0.0" 3230 | } 3231 | }, 3232 | "sprintf-js": { 3233 | "version": "1.0.3", 3234 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 3235 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 3236 | "dev": true 3237 | }, 3238 | "string-width": { 3239 | "version": "3.1.0", 3240 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 3241 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 3242 | "requires": { 3243 | "emoji-regex": "^7.0.1", 3244 | "is-fullwidth-code-point": "^2.0.0", 3245 | "strip-ansi": "^5.1.0" 3246 | } 3247 | }, 3248 | "string.prototype.trimleft": { 3249 | "version": "2.1.0", 3250 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", 3251 | "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", 3252 | "dev": true, 3253 | "requires": { 3254 | "define-properties": "^1.1.3", 3255 | "function-bind": "^1.1.1" 3256 | } 3257 | }, 3258 | "string.prototype.trimright": { 3259 | "version": "2.1.0", 3260 | "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", 3261 | "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", 3262 | "dev": true, 3263 | "requires": { 3264 | "define-properties": "^1.1.3", 3265 | "function-bind": "^1.1.1" 3266 | } 3267 | }, 3268 | "strip-ansi": { 3269 | "version": "5.2.0", 3270 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 3271 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 3272 | "requires": { 3273 | "ansi-regex": "^4.1.0" 3274 | } 3275 | }, 3276 | "strip-json-comments": { 3277 | "version": "3.0.1", 3278 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", 3279 | "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", 3280 | "dev": true 3281 | }, 3282 | "supports-color": { 3283 | "version": "5.5.0", 3284 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 3285 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 3286 | "dev": true, 3287 | "requires": { 3288 | "has-flag": "^3.0.0" 3289 | } 3290 | }, 3291 | "table": { 3292 | "version": "5.4.6", 3293 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", 3294 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", 3295 | "dev": true, 3296 | "requires": { 3297 | "ajv": "^6.10.2", 3298 | "lodash": "^4.17.14", 3299 | "slice-ansi": "^2.1.0", 3300 | "string-width": "^3.0.0" 3301 | } 3302 | }, 3303 | "text-table": { 3304 | "version": "0.2.0", 3305 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 3306 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 3307 | "dev": true 3308 | }, 3309 | "through": { 3310 | "version": "2.3.8", 3311 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 3312 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 3313 | "dev": true 3314 | }, 3315 | "tmp": { 3316 | "version": "0.0.33", 3317 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 3318 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 3319 | "dev": true, 3320 | "requires": { 3321 | "os-tmpdir": "~1.0.2" 3322 | } 3323 | }, 3324 | "to-regex-range": { 3325 | "version": "5.0.1", 3326 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3327 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3328 | "requires": { 3329 | "is-number": "^7.0.0" 3330 | } 3331 | }, 3332 | "tslib": { 3333 | "version": "1.10.0", 3334 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", 3335 | "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", 3336 | "dev": true 3337 | }, 3338 | "type-check": { 3339 | "version": "0.3.2", 3340 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 3341 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 3342 | "dev": true, 3343 | "requires": { 3344 | "prelude-ls": "~1.1.2" 3345 | } 3346 | }, 3347 | "type-fest": { 3348 | "version": "0.5.2", 3349 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", 3350 | "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==", 3351 | "dev": true 3352 | }, 3353 | "uri-js": { 3354 | "version": "4.2.2", 3355 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 3356 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 3357 | "dev": true, 3358 | "requires": { 3359 | "punycode": "^2.1.0" 3360 | } 3361 | }, 3362 | "v8-compile-cache": { 3363 | "version": "2.1.0", 3364 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", 3365 | "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", 3366 | "dev": true 3367 | }, 3368 | "which": { 3369 | "version": "1.3.1", 3370 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 3371 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 3372 | "dev": true, 3373 | "requires": { 3374 | "isexe": "^2.0.0" 3375 | } 3376 | }, 3377 | "which-module": { 3378 | "version": "2.0.0", 3379 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 3380 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" 3381 | }, 3382 | "wide-align": { 3383 | "version": "1.1.3", 3384 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", 3385 | "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", 3386 | "dev": true, 3387 | "requires": { 3388 | "string-width": "^1.0.2 || 2" 3389 | }, 3390 | "dependencies": { 3391 | "ansi-regex": { 3392 | "version": "3.0.0", 3393 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 3394 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 3395 | "dev": true 3396 | }, 3397 | "string-width": { 3398 | "version": "2.1.1", 3399 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 3400 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 3401 | "dev": true, 3402 | "requires": { 3403 | "is-fullwidth-code-point": "^2.0.0", 3404 | "strip-ansi": "^4.0.0" 3405 | } 3406 | }, 3407 | "strip-ansi": { 3408 | "version": "4.0.0", 3409 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 3410 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 3411 | "dev": true, 3412 | "requires": { 3413 | "ansi-regex": "^3.0.0" 3414 | } 3415 | } 3416 | } 3417 | }, 3418 | "wordwrap": { 3419 | "version": "1.0.0", 3420 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 3421 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 3422 | "dev": true 3423 | }, 3424 | "wrap-ansi": { 3425 | "version": "5.1.0", 3426 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", 3427 | "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", 3428 | "requires": { 3429 | "ansi-styles": "^3.2.0", 3430 | "string-width": "^3.0.0", 3431 | "strip-ansi": "^5.0.0" 3432 | } 3433 | }, 3434 | "wrappy": { 3435 | "version": "1.0.2", 3436 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3437 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3438 | "dev": true 3439 | }, 3440 | "write": { 3441 | "version": "1.0.3", 3442 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", 3443 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", 3444 | "dev": true, 3445 | "requires": { 3446 | "mkdirp": "^0.5.1" 3447 | } 3448 | }, 3449 | "y18n": { 3450 | "version": "4.0.0", 3451 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", 3452 | "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" 3453 | }, 3454 | "yargs": { 3455 | "version": "13.3.0", 3456 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", 3457 | "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", 3458 | "requires": { 3459 | "cliui": "^5.0.0", 3460 | "find-up": "^3.0.0", 3461 | "get-caller-file": "^2.0.1", 3462 | "require-directory": "^2.1.1", 3463 | "require-main-filename": "^2.0.0", 3464 | "set-blocking": "^2.0.0", 3465 | "string-width": "^3.0.0", 3466 | "which-module": "^2.0.0", 3467 | "y18n": "^4.0.0", 3468 | "yargs-parser": "^13.1.1" 3469 | } 3470 | }, 3471 | "yargs-parser": { 3472 | "version": "13.1.1", 3473 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", 3474 | "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", 3475 | "requires": { 3476 | "camelcase": "^5.0.0", 3477 | "decamelize": "^1.2.0" 3478 | } 3479 | }, 3480 | "yargs-unparser": { 3481 | "version": "1.6.0", 3482 | "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", 3483 | "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", 3484 | "dev": true, 3485 | "requires": { 3486 | "flat": "^4.1.0", 3487 | "lodash": "^4.17.15", 3488 | "yargs": "^13.3.0" 3489 | } 3490 | } 3491 | } 3492 | } 3493 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "chokidar-cli", 3 | "description": "Ultra-fast cross-platform command line utility to watch file system changes.", 4 | "version": "3.0.0", 5 | "keywords": [ 6 | "fs", 7 | "watch", 8 | "watchFile", 9 | "watcher", 10 | "watching", 11 | "file", 12 | "fsevents", 13 | "chokidar", 14 | "cli", 15 | "command", 16 | "shell", 17 | "bash" 18 | ], 19 | "bin": { 20 | "chokidar": "index.js" 21 | }, 22 | "homepage": "https://github.com/open-cli-tools/chokidar-cli", 23 | "author": "Kimmo Brunfeldt ", 24 | "repository": { 25 | "type": "git", 26 | "url": "https://github.com/open-cli-tools/chokidar-cli.git" 27 | }, 28 | "bugs": { 29 | "url": "http://github.com/open-cli-tools/chokidar-cli/issues" 30 | }, 31 | "license": "MIT", 32 | "dependencies": { 33 | "chokidar": "^3.5.2", 34 | "lodash.debounce": "^4.0.8", 35 | "lodash.throttle": "^4.1.1", 36 | "yargs": "^13.3.0" 37 | }, 38 | "devDependencies": { 39 | "eslint": "^6.6.0", 40 | "mocha": "^6.2.2" 41 | }, 42 | "scripts": { 43 | "lint": "eslint --report-unused-disable-directives --ignore-path .gitignore .", 44 | "mocha": "mocha", 45 | "test": "npm run lint && npm run mocha" 46 | }, 47 | "engines": { 48 | "node": ">= 8.10.0" 49 | }, 50 | "files": [ 51 | "*.js" 52 | ], 53 | "eslintConfig": { 54 | "extends": "eslint:recommended", 55 | "parserOptions": { 56 | "ecmaVersion": 9, 57 | "sourceType": "script" 58 | }, 59 | "env": { 60 | "node": true, 61 | "es6": true 62 | }, 63 | "rules": { 64 | "array-callback-return": "error", 65 | "indent": [ 66 | "error", 67 | 4 68 | ], 69 | "no-empty": [ 70 | "error", 71 | { 72 | "allowEmptyCatch": true 73 | } 74 | ], 75 | "object-shorthand": "error", 76 | "prefer-arrow-callback": [ 77 | "error", 78 | { 79 | "allowNamedFunctions": true 80 | } 81 | ], 82 | "prefer-const": [ 83 | "error", 84 | { 85 | "ignoreReadBeforeAssign": true 86 | } 87 | ], 88 | "prefer-destructuring": [ 89 | "error", 90 | { 91 | "object": true, 92 | "array": false 93 | } 94 | ], 95 | "prefer-spread": "error", 96 | "prefer-template": "error", 97 | "radix": "error", 98 | "strict": "error", 99 | "quotes": [ 100 | "error", 101 | "single" 102 | ], 103 | "no-var": "error" 104 | } 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /test/dir/a.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/open-cli-tools/chokidar-cli/214494a336c49129d8828f22838b7a0b36980c8e/test/dir/a.js -------------------------------------------------------------------------------- /test/dir/a.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/open-cli-tools/chokidar-cli/214494a336c49129d8828f22838b7a0b36980c8e/test/dir/a.less -------------------------------------------------------------------------------- /test/dir/b.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/open-cli-tools/chokidar-cli/214494a336c49129d8828f22838b7a0b36980c8e/test/dir/b.js -------------------------------------------------------------------------------- /test/dir/subdir/c.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/open-cli-tools/chokidar-cli/214494a336c49129d8828f22838b7a0b36980c8e/test/dir/subdir/c.js -------------------------------------------------------------------------------- /test/dir/subdir/c.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/open-cli-tools/chokidar-cli/214494a336c49129d8828f22838b7a0b36980c8e/test/dir/subdir/c.less -------------------------------------------------------------------------------- /test/test-all.js: -------------------------------------------------------------------------------- 1 | // Test basic usage of cli. Contains confusing setTimeouts 2 | 3 | /* eslint-env mocha */ 4 | 5 | 'use strict'; 6 | 7 | const fs = require('fs'); 8 | const path = require('path'); 9 | const assert = require('assert'); 10 | const {run} = require('../utils'); 11 | 12 | // If true, output of commands are shown 13 | const DEBUG_TESTS = false; 14 | 15 | // Arbitrary file which is created on detected changes 16 | // Used to determine that file changes were actually detected. 17 | const CHANGE_FILE = 'dir/change'; 18 | 19 | // Time to wait for different tasks 20 | const TIMEOUT_WATCH_READY = 1000; 21 | const TIMEOUT_CHANGE_DETECTED = 700; 22 | const TIMEOUT_KILL = TIMEOUT_WATCH_READY + TIMEOUT_CHANGE_DETECTED + 1000; 23 | 24 | // Abs path to test directory 25 | const testDir = path.resolve(__dirname); 26 | process.chdir(path.join(testDir, '..')); 27 | 28 | describe('chokidar-cli', function() { 29 | this.timeout(5000); 30 | 31 | afterEach(function clean(done) { 32 | if (changeFileExists()) { 33 | fs.unlinkSync(resolve(CHANGE_FILE)); 34 | } 35 | 36 | // Clear all changes in the test directory 37 | run('git checkout HEAD dir', {cwd: testDir}) 38 | .then(() => { 39 | done(); 40 | }); 41 | }); 42 | 43 | it('help should be succesful', done => { 44 | run('node index.js --help', {pipe: DEBUG_TESTS}) 45 | .then(exitCode => { 46 | // exit code 0 means success 47 | assert.strictEqual(exitCode, 0); 48 | done(); 49 | }); 50 | }); 51 | 52 | it('version should be successful', done => { 53 | run('node index.js -v', {pipe: DEBUG_TESTS}) 54 | .then(exitCode => { 55 | // exit code 0 means success 56 | assert.strictEqual(exitCode, 0); 57 | done(); 58 | }); 59 | }); 60 | 61 | it('**/*.less should detect all less files in dir tree', done => { 62 | let killed = false; 63 | 64 | // Use a file to detect that trigger command is actually run 65 | const touch = `touch ${CHANGE_FILE}`; 66 | 67 | // No quotes needed in glob pattern because node process spawn 68 | // does no globbing 69 | // TODO: touch command does not always create file before assertion 70 | run(`node ../index.js "dir/**/*.less" -c "${touch}"`, { 71 | pipe: DEBUG_TESTS, 72 | cwd: './test', 73 | // Called after process is spawned 74 | callback(child) { 75 | setTimeout(function killChild() { 76 | // Kill child after test case 77 | child.kill(); 78 | killed = true; 79 | }, TIMEOUT_KILL); 80 | } 81 | }) 82 | .then(function childProcessExited() { 83 | // Process should be killed after a timeout, 84 | // test if the process died unexpectedly before it 85 | assert(killed, 'process exited too quickly'); 86 | done(); 87 | }); 88 | 89 | setTimeout(function afterWatchIsReady() { 90 | fs.writeFileSync(resolve('dir/subdir/c.less'), 'content'); 91 | 92 | setTimeout(() => { 93 | assert(changeFileExists(), 'change file should exist'); 94 | }, TIMEOUT_CHANGE_DETECTED); 95 | }, TIMEOUT_WATCH_READY); 96 | }); 97 | 98 | it('should replace {path} and {event} in command', done => { 99 | const command = `echo '{event}:{path}' > ${CHANGE_FILE}`; 100 | 101 | setTimeout(() => { 102 | fs.writeFileSync(resolve('dir/a.js'), 'content'); 103 | }, TIMEOUT_WATCH_READY); 104 | 105 | run(`node ../index.js "dir/a.js" -c "${command}"`, { 106 | pipe: DEBUG_TESTS, 107 | cwd: './test', 108 | callback(child) { 109 | setTimeout(child.kill.bind(child), TIMEOUT_KILL); 110 | } 111 | }) 112 | .then(() => { 113 | const res = fs.readFileSync(resolve(CHANGE_FILE)).toString().trim(); 114 | assert.strictEqual(res, 'change:dir/a.js', 'need event/path detail'); 115 | done(); 116 | }); 117 | }); 118 | }); 119 | 120 | function resolve(relativePath) { 121 | return path.join(testDir, relativePath); 122 | } 123 | 124 | function changeFileExists() { 125 | return fs.existsSync(resolve(CHANGE_FILE)); 126 | } 127 | -------------------------------------------------------------------------------- /utils.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const {spawn} = require('child_process'); 4 | 5 | // Try to resolve path to shell. 6 | // We assume that Windows provides COMSPEC env variable 7 | // and other platforms provide SHELL env variable 8 | const SHELL_PATH = process.env.SHELL || process.env.COMSPEC; 9 | const EXECUTE_OPTION = process.env.COMSPEC !== undefined && process.env.SHELL === undefined ? '/c' : '-c'; 10 | 11 | // XXX: Wrapping tos to a promise is a bit wrong abstraction. Maybe RX suits 12 | // better? 13 | function run(cmd, opts) { 14 | if (!SHELL_PATH) { 15 | // If we cannot resolve shell, better to just crash 16 | throw new Error('$SHELL environment variable is not set.'); 17 | } 18 | 19 | opts = { 20 | pipe: true, 21 | cwd: undefined, 22 | callback(child) { // eslint-disable-line no-unused-vars 23 | // Since we return promise, we need to provide 24 | // this callback if one wants to access the child 25 | // process reference 26 | // Called immediately after successful child process 27 | // spawn 28 | }, ...opts}; 29 | 30 | return new Promise((resolve, reject) => { 31 | let child; 32 | 33 | try { 34 | child = spawn(SHELL_PATH, [EXECUTE_OPTION, cmd], { 35 | cwd: opts.cwd, 36 | stdio: opts.pipe ? 'inherit' : null 37 | }); 38 | } catch (error) { 39 | return reject(error); 40 | } 41 | 42 | opts.callback(child); 43 | 44 | function errorHandler(err) { 45 | child.removeListener('close', closeHandler); 46 | reject(err); 47 | } 48 | 49 | function closeHandler(exitCode) { 50 | child.removeListener('error', errorHandler); 51 | resolve(exitCode); 52 | } 53 | 54 | child.once('error', errorHandler); 55 | child.once('close', closeHandler); 56 | }); 57 | } 58 | 59 | module.exports = { 60 | run 61 | }; 62 | --------------------------------------------------------------------------------