(github.com/kevva)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
diff --git a/tools/node_modules/eslint/node_modules/astral-regex/package.json b/tools/node_modules/eslint/node_modules/astral-regex/package.json
new file mode 100644
index 00000000000000..61089098b382bc
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/astral-regex/package.json
@@ -0,0 +1,41 @@
+{
+ "author": {
+ "name": "Kevin Mårtensson",
+ "email": "kevinmartensson@gmail.com",
+ "url": "github.com/kevva"
+ },
+ "bugs": {
+ "url": "https://github.com/kevva/astral-regex/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {},
+ "deprecated": false,
+ "description": "Regular expression for matching astral symbols",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/kevva/astral-regex#readme",
+ "keywords": [
+ "astral",
+ "emoji",
+ "regex",
+ "surrogate"
+ ],
+ "license": "MIT",
+ "name": "astral-regex",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/kevva/astral-regex.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "1.0.0"
+}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/astral-regex/readme.md b/tools/node_modules/eslint/node_modules/astral-regex/readme.md
new file mode 100644
index 00000000000000..cde44f7bc0cc83
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/astral-regex/readme.md
@@ -0,0 +1,43 @@
+# astral-regex [![Build Status](https://travis-ci.org/kevva/astral-regex.svg?branch=master)](https://travis-ci.org/kevva/astral-regex)
+
+> Regular expression for matching astral symbols
+
+
+## Install
+
+```
+$ npm install astral-regex
+```
+
+
+## Usage
+
+```js
+const astralRegex = require('astral-regex');
+
+astralRegex({exact: true}).test('');
+//=> true
+```
+
+
+## API
+
+### astralRegex([options])
+
+Returns a `RegExp` for matching astral symbols.
+
+#### options
+
+Type: `Object`
+
+##### exact
+
+Type: `boolean`
+Default: `false` *(Matches any astral symbols in a string)*
+
+Only match an exact string. Useful with `RegExp#test()` to check if a string is a astral symbol.
+
+
+## License
+
+MIT © [Kevin Mårtensson](https://github.com/kevva)
diff --git a/tools/node_modules/eslint/node_modules/del/index.js b/tools/node_modules/eslint/node_modules/del/index.js
deleted file mode 100644
index 3b602af374f9e7..00000000000000
--- a/tools/node_modules/eslint/node_modules/del/index.js
+++ /dev/null
@@ -1,70 +0,0 @@
-'use strict';
-const path = require('path');
-const globby = require('globby');
-const isPathCwd = require('is-path-cwd');
-const isPathInCwd = require('is-path-in-cwd');
-const pify = require('pify');
-const rimraf = require('rimraf');
-const pMap = require('p-map');
-
-const rimrafP = pify(rimraf);
-
-function safeCheck(file) {
- if (isPathCwd(file)) {
- throw new Error('Cannot delete the current working directory. Can be overriden with the `force` option.');
- }
-
- if (!isPathInCwd(file)) {
- throw new Error('Cannot delete files/folders outside the current working directory. Can be overriden with the `force` option.');
- }
-}
-
-module.exports = (patterns, opts) => {
- opts = Object.assign({}, opts);
-
- const force = opts.force;
- delete opts.force;
-
- const dryRun = opts.dryRun;
- delete opts.dryRun;
-
- const mapper = file => {
- if (!force) {
- safeCheck(file);
- }
-
- file = path.resolve(opts.cwd || '', file);
-
- if (dryRun) {
- return file;
- }
-
- return rimrafP(file, {glob: false}).then(() => file);
- };
-
- return globby(patterns, opts).then(files => pMap(files, mapper, opts));
-};
-
-module.exports.sync = (patterns, opts) => {
- opts = Object.assign({}, opts);
-
- const force = opts.force;
- delete opts.force;
-
- const dryRun = opts.dryRun;
- delete opts.dryRun;
-
- return globby.sync(patterns, opts).map(file => {
- if (!force) {
- safeCheck(file);
- }
-
- file = path.resolve(opts.cwd || '', file);
-
- if (!dryRun) {
- rimraf.sync(file, {glob: false});
- }
-
- return file;
- });
-};
diff --git a/tools/node_modules/eslint/node_modules/del/package.json b/tools/node_modules/eslint/node_modules/del/package.json
deleted file mode 100644
index ce3433dce6550e..00000000000000
--- a/tools/node_modules/eslint/node_modules/del/package.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/del/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "globby": "^6.1.0",
- "is-path-cwd": "^1.0.0",
- "is-path-in-cwd": "^1.0.0",
- "p-map": "^1.1.1",
- "pify": "^3.0.0",
- "rimraf": "^2.2.8"
- },
- "deprecated": false,
- "description": "Delete files and folders",
- "devDependencies": {
- "ava": "*",
- "make-dir": "^1.0.0",
- "tempy": "^0.1.0",
- "xo": "*"
- },
- "engines": {
- "node": ">=4"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/del#readme",
- "keywords": [
- "delete",
- "files",
- "folders",
- "directories",
- "del",
- "remove",
- "destroy",
- "trash",
- "unlink",
- "clean",
- "cleaning",
- "cleanup",
- "rm",
- "rmrf",
- "rimraf",
- "rmdir",
- "glob",
- "gulpfriendly",
- "file",
- "folder",
- "directory",
- "dir",
- "fs",
- "filesystem"
- ],
- "license": "MIT",
- "name": "del",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/del.git"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "version": "3.0.0"
-}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/del/readme.md b/tools/node_modules/eslint/node_modules/del/readme.md
deleted file mode 100644
index 664aa0f67fb06c..00000000000000
--- a/tools/node_modules/eslint/node_modules/del/readme.md
+++ /dev/null
@@ -1,121 +0,0 @@
-# del [![Build Status](https://travis-ci.org/sindresorhus/del.svg?branch=master)](https://travis-ci.org/sindresorhus/del) [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)
-
-> Delete files and folders using [globs](https://github.com/isaacs/minimatch#usage)
-
-Similar to [rimraf](https://github.com/isaacs/rimraf), but with a Promise API and support for multiple files and globbing. It also protects you against deleting the current working directory and above.
-
----
-
-🐶
-Support this project and improve your JavaScript skills with this great ES6 course by Wes Bos.
Try his free JavaScript 30 course for a taste of what to expect. You might also like his React and Sublime course.
-
----
-
-
-## Install
-
-```
-$ npm install --save del
-```
-
-
-## Usage
-
-```js
-const del = require('del');
-
-del(['tmp/*.js', '!tmp/unicorn.js']).then(paths => {
- console.log('Deleted files and folders:\n', paths.join('\n'));
-});
-```
-
-
-## Beware
-
-The glob pattern `**` matches all children and *the parent*.
-
-So this won't work:
-
-```js
-del.sync(['public/assets/**', '!public/assets/goat.png']);
-```
-
-You have to explicitly ignore the parent directories too:
-
-```js
-del.sync(['public/assets/**', '!public/assets', '!public/assets/goat.png']);
-```
-
-Suggestions on how to improve this welcome!
-
-
-## API
-
-### del(patterns, [options])
-
-Returns a promise for an array of deleted paths.
-
-### del.sync(patterns, [options])
-
-Returns an array of deleted paths.
-
-#### patterns
-
-Type: `string` `Array`
-
-See supported minimatch [patterns](https://github.com/isaacs/minimatch#usage).
-
-- [Pattern examples with expected matches](https://github.com/sindresorhus/multimatch/blob/master/test.js)
-- [Quick globbing pattern overview](https://github.com/sindresorhus/multimatch#globbing-patterns)
-
-#### options
-
-Type: `Object`
-
-See the [`glob` options](https://github.com/isaacs/node-glob#options).
-
-##### force
-
-Type: `boolean`
-Default: `false`
-
-Allow deleting the current working directory and outside.
-
-##### dryRun
-
-Type: `boolean`
-Default: `false`
-
-See what would be deleted.
-
-```js
-const del = require('del');
-
-del(['tmp/*.js'], {dryRun: true}).then(paths => {
- console.log('Files and folders that would be deleted:\n', paths.join('\n'));
-});
-```
-
-##### concurrency
-
-Type: `number`
-Default: `Infinity`
-Minimum: `1`
-
-Concurrency limit.
-
-
-## CLI
-
-See [del-cli](https://github.com/sindresorhus/del-cli) for a CLI for this module and [trash-cli](https://github.com/sindresorhus/trash-cli) for a safe version that is suitable for running by hand.
-
-
-## Related
-
-- [make-dir](https://github.com/sindresorhus/make-dir) - Make a directory and its parents if needed
-- [globby](https://github.com/sindresorhus/globby) - User-friendly glob matching
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/espree/README.md b/tools/node_modules/eslint/node_modules/espree/README.md
index 16fb93f85607e2..7e496f661987a7 100644
--- a/tools/node_modules/eslint/node_modules/espree/README.md
+++ b/tools/node_modules/eslint/node_modules/espree/README.md
@@ -12,24 +12,24 @@ Espree started out as a fork of [Esprima](http://esprima.org) v1.2.2, the last s
Install:
```
-npm i espree --save
+npm i espree
```
And in your Node.js code:
```javascript
-var espree = require("espree");
+const espree = require("espree");
-var ast = espree.parse(code);
+const ast = espree.parse(code);
```
There is a second argument to `parse()` that allows you to specify various options:
```javascript
-var espree = require("espree");
+const espree = require("espree");
// Optional second options argument with the following default settings
-var ast = espree.parse(code, {
+const ast = espree.parse(code, {
// attach range information to each node
range: false,
@@ -40,9 +40,6 @@ var ast = espree.parse(code, {
// create a top-level comments array containing all comments
comment: false,
- // attach comments to the closest relevant node as leadingComments and trailingComments
- attachComment: false,
-
// create a top-level tokens array containing all tokens
tokens: false,
diff --git a/tools/node_modules/eslint/node_modules/espree/espree.js b/tools/node_modules/eslint/node_modules/espree/espree.js
index dea35ef083db54..7c16b696563656 100644
--- a/tools/node_modules/eslint/node_modules/espree/espree.js
+++ b/tools/node_modules/eslint/node_modules/espree/espree.js
@@ -88,6 +88,7 @@ const parsers = {
options.ecmaFeatures &&
options.ecmaFeatures.jsx
);
+
return useJsx ? this.jsx : this.regular;
}
};
@@ -109,7 +110,7 @@ function tokenize(code, options) {
// Ensure to collect tokens.
if (!options || options.tokens !== true) {
- options = Object.assign({}, options, { tokens: true });
+ options = Object.assign({}, options, { tokens: true }); // eslint-disable-line no-param-reassign
}
return new Parser(options, code).tokenize();
@@ -128,6 +129,7 @@ function tokenize(code, options) {
*/
function parse(code, options) {
const Parser = parsers.get(options);
+
return new Parser(options, code).parse();
}
@@ -144,7 +146,8 @@ exports.parse = parse;
// Deep copy.
/* istanbul ignore next */
exports.Syntax = (function() {
- var name, types = {};
+ let name,
+ types = {};
if (typeof Object.create === "function") {
types = Object.create(null);
diff --git a/tools/node_modules/eslint/node_modules/espree/lib/comment-attachment.js b/tools/node_modules/eslint/node_modules/espree/lib/comment-attachment.js
deleted file mode 100644
index b82b5f1cd39cdd..00000000000000
--- a/tools/node_modules/eslint/node_modules/espree/lib/comment-attachment.js
+++ /dev/null
@@ -1,175 +0,0 @@
-/**
- * @fileoverview Attaches comments to the AST.
- * @author Nicholas C. Zakas
- */
-
-"use strict";
-
-//------------------------------------------------------------------------------
-// Requirements
-//------------------------------------------------------------------------------
-
-var astNodeTypes = require("./ast-node-types");
-
-//------------------------------------------------------------------------------
-// Private
-//------------------------------------------------------------------------------
-
-var extra = {
- trailingComments: [],
- leadingComments: [],
- bottomRightStack: [],
- previousNode: null
-};
-
-//------------------------------------------------------------------------------
-// Public
-//------------------------------------------------------------------------------
-
-module.exports = {
-
- reset: function() {
- extra.trailingComments = [];
- extra.leadingComments = [];
- extra.bottomRightStack = [];
- extra.previousNode = null;
- },
-
- addComment: function(comment) {
- extra.trailingComments.push(comment);
- extra.leadingComments.push(comment);
- },
-
- processComment: function(node) {
- var lastChild,
- trailingComments,
- i,
- j;
-
- if (node.type === astNodeTypes.Program) {
- if (node.body.length > 0) {
- return;
- }
- }
-
- if (extra.trailingComments.length > 0) {
-
- /*
- * If the first comment in trailingComments comes after the
- * current node, then we're good - all comments in the array will
- * come after the node and so it's safe to add then as official
- * trailingComments.
- */
- if (extra.trailingComments[0].range[0] >= node.range[1]) {
- trailingComments = extra.trailingComments;
- extra.trailingComments = [];
- } else {
-
- /*
- * Otherwise, if the first comment doesn't come after the
- * current node, that means we have a mix of leading and trailing
- * comments in the array and that leadingComments contains the
- * same items as trailingComments. Reset trailingComments to
- * zero items and we'll handle this by evaluating leadingComments
- * later.
- */
- extra.trailingComments.length = 0;
- }
- } else {
- if (extra.bottomRightStack.length > 0 &&
- extra.bottomRightStack[extra.bottomRightStack.length - 1].trailingComments &&
- extra.bottomRightStack[extra.bottomRightStack.length - 1].trailingComments[0].range[0] >= node.range[1]) {
- trailingComments = extra.bottomRightStack[extra.bottomRightStack.length - 1].trailingComments;
- delete extra.bottomRightStack[extra.bottomRightStack.length - 1].trailingComments;
- }
- }
-
- // Eating the stack.
- while (extra.bottomRightStack.length > 0 && extra.bottomRightStack[extra.bottomRightStack.length - 1].range[0] >= node.range[0]) {
- lastChild = extra.bottomRightStack.pop();
- }
-
- if (lastChild) {
- if (lastChild.leadingComments) {
- if (lastChild.leadingComments[lastChild.leadingComments.length - 1].range[1] <= node.range[0]) {
- node.leadingComments = lastChild.leadingComments;
- delete lastChild.leadingComments;
- } else {
- // A leading comment for an anonymous class had been stolen by its first MethodDefinition,
- // so this takes back the leading comment.
- // See Also: https://github.com/eslint/espree/issues/158
- for (i = lastChild.leadingComments.length - 2; i >= 0; --i) {
- if (lastChild.leadingComments[i].range[1] <= node.range[0]) {
- node.leadingComments = lastChild.leadingComments.splice(0, i + 1);
- break;
- }
- }
- }
- }
- } else if (extra.leadingComments.length > 0) {
- if (extra.leadingComments[extra.leadingComments.length - 1].range[1] <= node.range[0]) {
- if (extra.previousNode) {
- for (j = 0; j < extra.leadingComments.length; j++) {
- if (extra.leadingComments[j].end < extra.previousNode.end) {
- extra.leadingComments.splice(j, 1);
- j--;
- }
- }
- }
- if (extra.leadingComments.length > 0) {
- node.leadingComments = extra.leadingComments;
- extra.leadingComments = [];
- }
- } else {
-
- // https://github.com/eslint/espree/issues/2
-
- /*
- * In special cases, such as return (without a value) and
- * debugger, all comments will end up as leadingComments and
- * will otherwise be eliminated. This extra step runs when the
- * bottomRightStack is empty and there are comments left
- * in leadingComments.
- *
- * This loop figures out the stopping point between the actual
- * leading and trailing comments by finding the location of the
- * first comment that comes after the given node.
- */
- for (i = 0; i < extra.leadingComments.length; i++) {
- if (extra.leadingComments[i].range[1] > node.range[0]) {
- break;
- }
- }
-
- /*
- * Split the array based on the location of the first comment
- * that comes after the node. Keep in mind that this could
- * result in an empty array, and if so, the array must be
- * deleted.
- */
- node.leadingComments = extra.leadingComments.slice(0, i);
- if (node.leadingComments.length === 0) {
- delete node.leadingComments;
- }
-
- /*
- * Similarly, trailing comments are attached later. The variable
- * must be reset to null if there are no trailing comments.
- */
- trailingComments = extra.leadingComments.slice(i);
- if (trailingComments.length === 0) {
- trailingComments = null;
- }
- }
- }
-
- extra.previousNode = node;
-
- if (trailingComments) {
- node.trailingComments = trailingComments;
- }
-
- extra.bottomRightStack.push(node);
- }
-
-};
diff --git a/tools/node_modules/eslint/node_modules/espree/lib/espree.js b/tools/node_modules/eslint/node_modules/espree/lib/espree.js
index 3b4d1eab65d379..107affd1d6ca26 100644
--- a/tools/node_modules/eslint/node_modules/espree/lib/espree.js
+++ b/tools/node_modules/eslint/node_modules/espree/lib/espree.js
@@ -1,8 +1,8 @@
"use strict";
+/* eslint-disable no-param-reassign*/
const acorn = require("acorn");
const jsx = require("acorn-jsx");
-const commentAttachment = require("./comment-attachment");
const TokenTranslator = require("./token-translator");
const DEFAULT_ECMA_VERSION = 5;
@@ -89,23 +89,24 @@ module.exports = () => Parser => class Espree extends Parser {
const ecmaVersion = normalizeEcmaVersion(options.ecmaVersion);
const isModule = options.sourceType === "module";
const tokenTranslator =
- options.tokens === true ?
- new TokenTranslator(tokTypes, code) :
- null;
+ options.tokens === true
+ ? new TokenTranslator(tokTypes, code)
+ : null;
// Initialize acorn parser.
super({
ecmaVersion: isModule ? Math.max(6, ecmaVersion) : ecmaVersion,
sourceType: isModule ? "module" : "script",
- ranges: options.range === true || options.attachComment === true,
+ ranges: options.range === true,
locations: options.loc === true,
// Truthy value is true for backward compatibility.
allowReturnOutsideFunction: Boolean(ecmaFeatures.globalReturn),
// Collect tokens
- onToken: (token) => {
+ onToken: token => {
if (tokenTranslator) {
+
// Use `tokens`, `ecmaVersion`, and `jsxAttrValueToken` in the state.
tokenTranslator.onToken(token, this[STATE]);
}
@@ -118,23 +119,16 @@ module.exports = () => Parser => class Espree extends Parser {
onComment: (block, text, start, end, startLoc, endLoc) => {
if (this[STATE].comments) {
const comment = convertAcornCommentToEsprimaComment(block, text, start, end, startLoc, endLoc);
- this[STATE].comments.push(comment);
- if (options.attachComment === true) {
- commentAttachment.addComment(comment);
- }
+ this[STATE].comments.push(comment);
}
}
}, code);
- // TODO: remove global state.
- commentAttachment.reset();
-
// Initialize internal state.
this[STATE] = {
tokens: tokenTranslator ? [] : null,
- comments: options.comment === true || options.attachComment === true ? [] : null,
- attachComment: options.attachComment === true,
+ comments: options.comment === true ? [] : null,
impliedStrict: ecmaFeatures.impliedStrict === true && this.options.ecmaVersion >= 5,
ecmaVersion: this.options.ecmaVersion,
jsxAttrValueToken: false,
@@ -159,11 +153,13 @@ module.exports = () => Parser => class Espree extends Parser {
finishNode(...args) {
const result = super.finishNode(...args);
+
return this[ESPRIMA_FINISH_NODE](result);
}
finishNodeAt(...args) {
const result = super.finishNodeAt(...args);
+
return this[ESPRIMA_FINISH_NODE](result);
}
@@ -216,6 +212,7 @@ module.exports = () => Parser => class Espree extends Parser {
raise(pos, message) {
const loc = acorn.getLineInfo(this.input, pos);
const err = new SyntaxError(message);
+
err.index = pos;
err.lineNumber = loc.line;
err.column = loc.column + 1; // acorn uses 0-based columns
@@ -256,7 +253,7 @@ module.exports = () => Parser => class Espree extends Parser {
}
if (this.end > this.start) {
- message += " " + this.input.slice(this.start, this.end);
+ message += ` ${this.input.slice(this.start, this.end)}`;
}
this.raise(this.start, message);
@@ -271,6 +268,7 @@ module.exports = () => Parser => class Espree extends Parser {
*/
jsx_readString(quote) { // eslint-disable-line camelcase
const result = super.jsx_readString(quote);
+
if (this.type === tokTypes.string) {
this[STATE].jsxAttrValueToken = true;
}
@@ -283,6 +281,7 @@ module.exports = () => Parser => class Espree extends Parser {
* @returns {ASTNode} The finished node.
*/
[ESPRIMA_FINISH_NODE](result) {
+
// Acorn doesn't count the opening and closing backticks as part of templates
// so we have to adjust ranges/locations appropriately.
if (result.type === "TemplateElement") {
@@ -301,10 +300,6 @@ module.exports = () => Parser => class Espree extends Parser {
}
}
- if (this[STATE].attachComment) {
- commentAttachment.processComment(result);
- }
-
if (result.type.indexOf("Function") > -1 && !result.generator) {
result.generator = false;
}
diff --git a/tools/node_modules/eslint/node_modules/espree/lib/token-translator.js b/tools/node_modules/eslint/node_modules/espree/lib/token-translator.js
index f47b3621beb269..9919e1af236476 100644
--- a/tools/node_modules/eslint/node_modules/espree/lib/token-translator.js
+++ b/tools/node_modules/eslint/node_modules/espree/lib/token-translator.js
@@ -18,7 +18,7 @@
// Esprima Token Types
-var Token = {
+const Token = {
Boolean: "Boolean",
EOF: "",
Identifier: "Identifier",
@@ -41,10 +41,10 @@ var Token = {
* @private
*/
function convertTemplatePart(tokens, code) {
- var firstToken = tokens[0],
+ const firstToken = tokens[0],
lastTemplateToken = tokens[tokens.length - 1];
- var token = {
+ const token = {
type: Token.Template,
value: code.slice(firstToken.start, lastTemplateToken.end)
};
@@ -99,9 +99,9 @@ TokenTranslator.prototype = {
* @param {Object} extra Espree extra object.
* @returns {EsprimaToken} The Esprima version of the token.
*/
- translate: function(token, extra) {
+ translate(token, extra) {
- var type = token.type,
+ const type = token.type,
tt = this._acornTokTypes;
if (type === tt.name) {
@@ -157,12 +157,13 @@ TokenTranslator.prototype = {
token.value = this._code.slice(token.start, token.end);
} else if (type === tt.regexp) {
token.type = Token.RegularExpression;
- var value = token.value;
+ const value = token.value;
+
token.regex = {
flags: value.flags,
pattern: value.pattern
};
- token.value = "/" + value.pattern + "/" + value.flags;
+ token.value = `/${value.pattern}/${value.flags}`;
}
return token;
@@ -174,9 +175,9 @@ TokenTranslator.prototype = {
* @param {Object} extra The Espree extra object.
* @returns {void}
*/
- onToken: function(token, extra) {
+ onToken(token, extra) {
- var that = this,
+ const that = this,
tt = this._acornTokTypes,
tokens = extra.tokens,
templateTokens = this._tokens;
@@ -218,11 +219,13 @@ TokenTranslator.prototype = {
}
return;
- } else if (token.type === tt.dollarBraceL) {
+ }
+ if (token.type === tt.dollarBraceL) {
templateTokens.push(token);
translateTemplateTokens();
return;
- } else if (token.type === tt.braceR) {
+ }
+ if (token.type === tt.braceR) {
// if there's already a curly, it's not part of the template
if (this._curlyBrace) {
@@ -232,7 +235,8 @@ TokenTranslator.prototype = {
// store new curly for later
this._curlyBrace = token;
return;
- } else if (token.type === tt.template || token.type === tt.invalidTemplate) {
+ }
+ if (token.type === tt.template || token.type === tt.invalidTemplate) {
if (this._curlyBrace) {
templateTokens.push(this._curlyBrace);
this._curlyBrace = null;
diff --git a/tools/node_modules/eslint/node_modules/espree/lib/visitor-keys.js b/tools/node_modules/eslint/node_modules/espree/lib/visitor-keys.js
new file mode 100644
index 00000000000000..4216864f1c27c9
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/espree/lib/visitor-keys.js
@@ -0,0 +1,123 @@
+/**
+ * @fileoverview The visitor keys for the node types Espree supports
+ * @author Nicholas C. Zakas
+ *
+ * This file contains code from estraverse-fb.
+ *
+ * The MIT license. Copyright (c) 2014 Ingvar Stepanyan
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+"use strict";
+
+//------------------------------------------------------------------------------
+// Requirements
+//------------------------------------------------------------------------------
+
+// None!
+
+//------------------------------------------------------------------------------
+// Public
+//------------------------------------------------------------------------------
+
+module.exports = {
+
+ // ECMAScript
+ AssignmentExpression: ["left", "right"],
+ AssignmentPattern: ["left", "right"],
+ ArrayExpression: ["elements"],
+ ArrayPattern: ["elements"],
+ ArrowFunctionExpression: ["params", "body"],
+ BlockStatement: ["body"],
+ BinaryExpression: ["left", "right"],
+ BreakStatement: ["label"],
+ CallExpression: ["callee", "arguments"],
+ CatchClause: ["param", "body"],
+ ClassBody: ["body"],
+ ClassDeclaration: ["id", "superClass", "body"],
+ ClassExpression: ["id", "superClass", "body"],
+ ConditionalExpression: ["test", "consequent", "alternate"],
+ ContinueStatement: ["label"],
+ DebuggerStatement: [],
+ DirectiveStatement: [],
+ DoWhileStatement: ["body", "test"],
+ EmptyStatement: [],
+ ExportAllDeclaration: ["source"],
+ ExportDefaultDeclaration: ["declaration"],
+ ExportNamedDeclaration: ["declaration", "specifiers", "source"],
+ ExportSpecifier: ["exported", "local"],
+ ExpressionStatement: ["expression"],
+ ForStatement: ["init", "test", "update", "body"],
+ ForInStatement: ["left", "right", "body"],
+ ForOfStatement: ["left", "right", "body"],
+ FunctionDeclaration: ["id", "params", "body"],
+ FunctionExpression: ["id", "params", "body"],
+ Identifier: [],
+ IfStatement: ["test", "consequent", "alternate"],
+ ImportDeclaration: ["specifiers", "source"],
+ ImportDefaultSpecifier: ["local"],
+ ImportNamespaceSpecifier: ["local"],
+ ImportSpecifier: ["imported", "local"],
+ Literal: [],
+ LabeledStatement: ["label", "body"],
+ LogicalExpression: ["left", "right"],
+ MemberExpression: ["object", "property"],
+ MetaProperty: ["meta", "property"],
+ MethodDefinition: ["key", "value"],
+ ModuleSpecifier: [],
+ NewExpression: ["callee", "arguments"],
+ ObjectExpression: ["properties"],
+ ObjectPattern: ["properties"],
+ Program: ["body"],
+ Property: ["key", "value"],
+ RestElement: ["argument"],
+ ReturnStatement: ["argument"],
+ SequenceExpression: ["expressions"],
+ SpreadElement: ["argument"],
+ Super: [],
+ SwitchStatement: ["discriminant", "cases"],
+ SwitchCase: ["test", "consequent"],
+ TaggedTemplateExpression: ["tag", "quasi"],
+ TemplateElement: [],
+ TemplateLiteral: ["quasis", "expressions"],
+ ThisExpression: [],
+ ThrowStatement: ["argument"],
+ TryStatement: ["block", "handler", "finalizer"],
+ UnaryExpression: ["argument"],
+ UpdateExpression: ["argument"],
+ VariableDeclaration: ["declarations"],
+ VariableDeclarator: ["id", "init"],
+ WhileStatement: ["test", "body"],
+ WithStatement: ["object", "body"],
+ YieldExpression: ["argument"],
+
+ // JSX
+ JSXIdentifier: [],
+ JSXNamespacedName: ["namespace", "name"],
+ JSXMemberExpression: ["object", "property"],
+ JSXEmptyExpression: [],
+ JSXExpressionContainer: ["expression"],
+ JSXElement: ["openingElement", "closingElement", "children"],
+ JSXClosingElement: ["name"],
+ JSXOpeningElement: ["name", "attributes"],
+ JSXAttribute: ["name", "value"],
+ JSXText: null,
+ JSXSpreadAttribute: ["argument"]
+};
diff --git a/tools/node_modules/eslint/node_modules/espree/package.json b/tools/node_modules/eslint/node_modules/espree/package.json
index 91e99e4b2136c0..273d2c5bda0d7c 100644
--- a/tools/node_modules/eslint/node_modules/espree/package.json
+++ b/tools/node_modules/eslint/node_modules/espree/package.json
@@ -17,8 +17,9 @@
"devDependencies": {
"browserify": "^7.0.0",
"chai": "^1.10.0",
- "eslint": "^2.13.1",
- "eslint-config-eslint": "^3.0.0",
+ "eslint": "^5.7.0",
+ "eslint-config-eslint": "^5.0.1",
+ "eslint-plugin-node": "^8.0.0",
"eslint-release": "^1.0.0",
"esprima": "latest",
"esprima-fb": "^8001.2001.0-dev-harmony-fb",
@@ -65,5 +66,5 @@
"publish-release": "eslint-publish-release",
"test": "npm run-script lint && node Makefile.js test"
},
- "version": "4.1.0"
+ "version": "5.0.0"
}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/flat-cache/cache.js b/tools/node_modules/eslint/node_modules/flat-cache/cache.js
index 799e09eb7cb0fe..29219c86b1700d 100644
--- a/tools/node_modules/eslint/node_modules/flat-cache/cache.js
+++ b/tools/node_modules/eslint/node_modules/flat-cache/cache.js
@@ -1,7 +1,7 @@
var path = require( 'path' );
var fs = require( 'graceful-fs' );
-var del = require( 'del' ).sync;
var utils = require( './utils' );
+var del = require( './del' );
var writeJSON = utils.writeJSON;
var cache = {
@@ -125,9 +125,7 @@ var cache = {
* @return {Boolean} true or false if the file was successfully deleted
*/
removeCacheFile: function () {
- return del( this._pathToFile, {
- force: true
- } );
+ return del( this._pathToFile );
},
/**
* Destroy the file cache and cache content.
@@ -185,9 +183,7 @@ module.exports = {
*/
clearCacheById: function ( docId, cacheDir ) {
var filePath = cacheDir ? path.resolve( cacheDir, docId ) : path.resolve( __dirname, './.cache/', docId );
- return del( filePath, {
- force: true
- } ).length > 0;
+ return del( filePath );
},
/**
* Remove all cache stored in the cache directory
@@ -196,8 +192,6 @@ module.exports = {
*/
clearAll: function ( cacheDir ) {
var filePath = cacheDir ? path.resolve( cacheDir ) : path.resolve( __dirname, './.cache/' );
- return del( filePath, {
- force: true
- } ).length > 0;
+ return del( filePath );
}
};
diff --git a/tools/node_modules/eslint/node_modules/flat-cache/changelog.md b/tools/node_modules/eslint/node_modules/flat-cache/changelog.md
index f35f6da4bfeb07..037a08ba17fbb8 100644
--- a/tools/node_modules/eslint/node_modules/flat-cache/changelog.md
+++ b/tools/node_modules/eslint/node_modules/flat-cache/changelog.md
@@ -1,31 +1,56 @@
# flat-cache - Changelog
-## v1.3.2
+## v1.3.4
+- **Refactoring**
+ - Add del.js and utils.js to the list of files to be beautified - [9d0ca9b]( https://github.com/royriojas/flat-cache/commit/9d0ca9b ), [Roy Riojas](https://github.com/Roy Riojas), 14/11/2018 12:19:02
+
+
+## v1.3.3
- **Refactoring**
- - remove yarn.lock file - [704c6c4]( https://github.com/royriojas/flat-cache/commit/704c6c4 ), [Roy Riojas](https://github.com/Roy Riojas), 07/11/2018 18:41:08
+ - Make sure package-lock.json is up to date - [a7d2598]( https://github.com/royriojas/flat-cache/commit/a7d2598 ), [Roy Riojas](https://github.com/Roy Riojas), 14/11/2018 11:36:08
+
+
+- **Other changes**
+ - Removed the need for del ([#33](https://github.com/royriojas/flat-cache/issues/33)) - [c429012]( https://github.com/royriojas/flat-cache/commit/c429012 ), [S. Gilroy](https://github.com/S. Gilroy), 13/11/2018 13:56:37
+ * Removed the need for del
+
+ Removed the need for del as newer versions have broken backwards
+ compatibility. del mainly uses rimraf for deleting folders
+ and files, replaceing it with rimraf only is a minimal change.
+
+ * Disable glob on rimraf calls
+
+ * Added glob disable to wrong call
+
+ * Wrapped rimraf to simplify solution
+
+## v1.3.2
+- **Refactoring**
+ - remove yarn.lock file - [704c6c4]( https://github.com/royriojas/flat-cache/commit/704c6c4 ), [Roy Riojas](https://github.com/Roy Riojas), 07/11/2018 15:41:08
+
- **undefined**
- - replace circular-json with flatted ([#23](https://github.com/royriojas/flat-cache/issues/23))" - [db12d74]( https://github.com/royriojas/flat-cache/commit/db12d74 ), [Roy Riojas](https://github.com/Roy Riojas), 07/11/2018 18:40:39
+ - replace circular-json with flatted ([#23](https://github.com/royriojas/flat-cache/issues/23))" - [db12d74]( https://github.com/royriojas/flat-cache/commit/db12d74 ), [Roy Riojas](https://github.com/Roy Riojas), 07/11/2018 15:40:39
This reverts commit 00f689277a75e85fef28e6a048fad227afc525e6.
-
+
## v1.3.1
- **Refactoring**
- - upgrade deps to remove some security warnings - [f405719]( https://github.com/royriojas/flat-cache/commit/f405719 ), [Roy Riojas](https://github.com/Roy Riojas), 06/11/2018 15:07:31
-
+ - upgrade deps to remove some security warnings - [f405719]( https://github.com/royriojas/flat-cache/commit/f405719 ), [Roy Riojas](https://github.com/Roy Riojas), 06/11/2018 12:07:31
+
- **Bug Fixes**
- - replace circular-json with flatted ([#23](https://github.com/royriojas/flat-cache/issues/23)) - [00f6892]( https://github.com/royriojas/flat-cache/commit/00f6892 ), [Terry](https://github.com/Terry), 05/11/2018 21:44:16
-
+ - replace circular-json with flatted ([#23](https://github.com/royriojas/flat-cache/issues/23)) - [00f6892]( https://github.com/royriojas/flat-cache/commit/00f6892 ), [Terry](https://github.com/Terry), 05/11/2018 18:44:16
+
- **undefined**
- - update del to v3.0.0 ([#26](https://github.com/royriojas/flat-cache/issues/26)) - [d42883f]( https://github.com/royriojas/flat-cache/commit/d42883f ), [Patrick Silva](https://github.com/Patrick Silva), 03/11/2018 03:00:44
+ - update del to v3.0.0 ([#26](https://github.com/royriojas/flat-cache/issues/26)) - [d42883f]( https://github.com/royriojas/flat-cache/commit/d42883f ), [Patrick Silva](https://github.com/Patrick Silva), 03/11/2018 01:00:44
Closes #25
## v1.3.0
- **Other changes**
- - Added #all method ([#16](https://github.com/royriojas/flat-cache/issues/16)) - [12293be]( https://github.com/royriojas/flat-cache/commit/12293be ), [Ozair Patel](https://github.com/Ozair Patel), 25/09/2017 16:46:38
+ - Added #all method ([#16](https://github.com/royriojas/flat-cache/issues/16)) - [12293be]( https://github.com/royriojas/flat-cache/commit/12293be ), [Ozair Patel](https://github.com/Ozair Patel), 25/09/2017 14:46:38
* Added #all method
@@ -39,12 +64,12 @@
* Beautified file
- - fix changelog title style ([#14](https://github.com/royriojas/flat-cache/issues/14)) - [af8338a]( https://github.com/royriojas/flat-cache/commit/af8338a ), [前端小武](https://github.com/前端小武), 19/12/2016 23:34:48
+ - fix changelog title style ([#14](https://github.com/royriojas/flat-cache/issues/14)) - [af8338a]( https://github.com/royriojas/flat-cache/commit/af8338a ), [前端小武](https://github.com/前端小武), 19/12/2016 20:34:48
## v1.2.2
- **Bug Fixes**
- - Do not crash if cache file is invalid JSON. ([#13](https://github.com/royriojas/flat-cache/issues/13)) - [87beaa6]( https://github.com/royriojas/flat-cache/commit/87beaa6 ), [Roy Riojas](https://github.com/Roy Riojas), 19/12/2016 21:03:35
+ - Do not crash if cache file is invalid JSON. ([#13](https://github.com/royriojas/flat-cache/issues/13)) - [87beaa6]( https://github.com/royriojas/flat-cache/commit/87beaa6 ), [Roy Riojas](https://github.com/Roy Riojas), 19/12/2016 18:03:35
Fixes #12
@@ -55,186 +80,186 @@
If the cache is somehow not valid the cache will be discarded an a
a new cache will be stored instead
- **Other changes**
- - Added travis ci support for modern node versions ([#11](https://github.com/royriojas/flat-cache/issues/11)) - [1c2b1f7]( https://github.com/royriojas/flat-cache/commit/1c2b1f7 ), [Amila Welihinda](https://github.com/Amila Welihinda), 11/11/2016 02:47:52
+ - Added travis ci support for modern node versions ([#11](https://github.com/royriojas/flat-cache/issues/11)) - [1c2b1f7]( https://github.com/royriojas/flat-cache/commit/1c2b1f7 ), [Amila Welihinda](https://github.com/Amila Welihinda), 10/11/2016 23:47:52
- - Bumping `circular-son` version ([#10](https://github.com/royriojas/flat-cache/issues/10)) - [4d5e861]( https://github.com/royriojas/flat-cache/commit/4d5e861 ), [Andrea Giammarchi](https://github.com/Andrea Giammarchi), 02/08/2016 09:13:52
+ - Bumping `circular-son` version ([#10](https://github.com/royriojas/flat-cache/issues/10)) - [4d5e861]( https://github.com/royriojas/flat-cache/commit/4d5e861 ), [Andrea Giammarchi](https://github.com/Andrea Giammarchi), 02/08/2016 07:13:52
As mentioned in https://github.com/WebReflection/circular-json/issues/25 `circular-json` wan't rightly implementing the license field.
Latest version bump changed only that bit so that ESLint should now be happy.
## v1.2.1
- **Bug Fixes**
- - Add missing utils.js file to the package. closes [#8](https://github.com/royriojas/flat-cache/issues/8) - [ec10cf2]( https://github.com/royriojas/flat-cache/commit/ec10cf2 ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 04:18:57
+ - Add missing utils.js file to the package. closes [#8](https://github.com/royriojas/flat-cache/issues/8) - [ec10cf2]( https://github.com/royriojas/flat-cache/commit/ec10cf2 ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 02:18:57
## v1.2.0
- **Documentation**
- - Add documentation about noPrune option - [23e11f9]( https://github.com/royriojas/flat-cache/commit/23e11f9 ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 04:06:49
+ - Add documentation about noPrune option - [23e11f9]( https://github.com/royriojas/flat-cache/commit/23e11f9 ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 02:06:49
## v1.1.0
- **Features**
- - Add noPrune option to cache.save() method. closes [#7](https://github.com/royriojas/flat-cache/issues/7) - [2c8016a]( https://github.com/royriojas/flat-cache/commit/2c8016a ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 04:00:29
+ - Add noPrune option to cache.save() method. closes [#7](https://github.com/royriojas/flat-cache/issues/7) - [2c8016a]( https://github.com/royriojas/flat-cache/commit/2c8016a ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 02:00:29
- - Add json read and write utility based on circular-json - [c31081e]( https://github.com/royriojas/flat-cache/commit/c31081e ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:58:17
+ - Add json read and write utility based on circular-json - [c31081e]( https://github.com/royriojas/flat-cache/commit/c31081e ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:58:17
- **Bug Fixes**
- - Remove UTF16 BOM stripping - [4a41e22]( https://github.com/royriojas/flat-cache/commit/4a41e22 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 04:18:06
+ - Remove UTF16 BOM stripping - [4a41e22]( https://github.com/royriojas/flat-cache/commit/4a41e22 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 02:18:06
Since we control both writing and reading of JSON stream, there no needs
to handle unicode BOM.
- - Use circular-json to handle circular references (fix [#5](https://github.com/royriojas/flat-cache/issues/5)) - [cd7aeed]( https://github.com/royriojas/flat-cache/commit/cd7aeed ), [Jean Ponchon](https://github.com/Jean Ponchon), 25/07/2016 13:11:59
+ - Use circular-json to handle circular references (fix [#5](https://github.com/royriojas/flat-cache/issues/5)) - [cd7aeed]( https://github.com/royriojas/flat-cache/commit/cd7aeed ), [Jean Ponchon](https://github.com/Jean Ponchon), 25/07/2016 11:11:59
- **Tests Related fixes**
- - Add missing file from eslint test - [d6fa3c3]( https://github.com/royriojas/flat-cache/commit/d6fa3c3 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 04:15:51
+ - Add missing file from eslint test - [d6fa3c3]( https://github.com/royriojas/flat-cache/commit/d6fa3c3 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 02:15:51
- - Add test for circular json serialization / deserialization - [07d2ddd]( https://github.com/royriojas/flat-cache/commit/07d2ddd ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:59:36
+ - Add test for circular json serialization / deserialization - [07d2ddd]( https://github.com/royriojas/flat-cache/commit/07d2ddd ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:59:36
- **Refactoring**
- - Remove unused read-json-sync - [2be1c24]( https://github.com/royriojas/flat-cache/commit/2be1c24 ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:59:18
+ - Remove unused read-json-sync - [2be1c24]( https://github.com/royriojas/flat-cache/commit/2be1c24 ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:59:18
- **Build Scripts Changes**
- - travis tests on 0.12 and 4x - [3a613fd]( https://github.com/royriojas/flat-cache/commit/3a613fd ), [royriojas](https://github.com/royriojas), 15/11/2015 17:34:40
+ - travis tests on 0.12 and 4x - [3a613fd]( https://github.com/royriojas/flat-cache/commit/3a613fd ), [royriojas](https://github.com/royriojas), 15/11/2015 14:34:40
- - add eslint-fix task - [fd29e52]( https://github.com/royriojas/flat-cache/commit/fd29e52 ), [royriojas](https://github.com/royriojas), 01/11/2015 18:04:08
+ - add eslint-fix task - [fd29e52]( https://github.com/royriojas/flat-cache/commit/fd29e52 ), [royriojas](https://github.com/royriojas), 01/11/2015 15:04:08
- - make sure the test script also verify beautification and linting of files before running tests - [e94e176]( https://github.com/royriojas/flat-cache/commit/e94e176 ), [royriojas](https://github.com/royriojas), 01/11/2015 14:54:48
+ - make sure the test script also verify beautification and linting of files before running tests - [e94e176]( https://github.com/royriojas/flat-cache/commit/e94e176 ), [royriojas](https://github.com/royriojas), 01/11/2015 11:54:48
- **Other changes**
- - add clearAll for cacheDir - [97383d9]( https://github.com/royriojas/flat-cache/commit/97383d9 ), [xieyaowu](https://github.com/xieyaowu), 31/10/2015 23:02:18
+ - add clearAll for cacheDir - [97383d9]( https://github.com/royriojas/flat-cache/commit/97383d9 ), [xieyaowu](https://github.com/xieyaowu), 31/10/2015 21:02:18
## v1.0.9
- **Bug Fixes**
- - wrong default values for changelogx user repo name - [7bb52d1]( https://github.com/royriojas/flat-cache/commit/7bb52d1 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:59:30
+ - wrong default values for changelogx user repo name - [7bb52d1]( https://github.com/royriojas/flat-cache/commit/7bb52d1 ), [royriojas](https://github.com/royriojas), 11/09/2015 15:59:30
## v1.0.8
- **Build Scripts Changes**
- - test against node 4 - [c395b66]( https://github.com/royriojas/flat-cache/commit/c395b66 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:51:39
+ - test against node 4 - [c395b66]( https://github.com/royriojas/flat-cache/commit/c395b66 ), [royriojas](https://github.com/royriojas), 11/09/2015 15:51:39
## v1.0.7
- **Other changes**
- - Move dependencies into devDep - [7e47099]( https://github.com/royriojas/flat-cache/commit/7e47099 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 17:10:57
+ - Move dependencies into devDep - [7e47099]( https://github.com/royriojas/flat-cache/commit/7e47099 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 15:10:57
- **Documentation**
- - Add missing changelog link - [f51197a]( https://github.com/royriojas/flat-cache/commit/f51197a ), [royriojas](https://github.com/royriojas), 11/09/2015 16:48:05
+ - Add missing changelog link - [f51197a]( https://github.com/royriojas/flat-cache/commit/f51197a ), [royriojas](https://github.com/royriojas), 11/09/2015 14:48:05
## v1.0.6
- **Build Scripts Changes**
- - Add helpers/code check scripts - [bdb82f3]( https://github.com/royriojas/flat-cache/commit/bdb82f3 ), [royriojas](https://github.com/royriojas), 11/09/2015 16:44:31
+ - Add helpers/code check scripts - [bdb82f3]( https://github.com/royriojas/flat-cache/commit/bdb82f3 ), [royriojas](https://github.com/royriojas), 11/09/2015 14:44:31
## v1.0.5
- **Documentation**
- - better description for the module - [436817f]( https://github.com/royriojas/flat-cache/commit/436817f ), [royriojas](https://github.com/royriojas), 11/09/2015 16:35:33
+ - better description for the module - [436817f]( https://github.com/royriojas/flat-cache/commit/436817f ), [royriojas](https://github.com/royriojas), 11/09/2015 14:35:33
- **Other changes**
- - Update dependencies - [be88aa3]( https://github.com/royriojas/flat-cache/commit/be88aa3 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 15:47:41
+ - Update dependencies - [be88aa3]( https://github.com/royriojas/flat-cache/commit/be88aa3 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 13:47:41
## v1.0.11
- **Features**
- - Add noPrune option to cache.save() method. closes [#7](https://github.com/royriojas/flat-cache/issues/7) - [2c8016a]( https://github.com/royriojas/flat-cache/commit/2c8016a ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 04:00:29
-
-
- - Add json read and write utility based on circular-json - [c31081e]( https://github.com/royriojas/flat-cache/commit/c31081e ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:58:17
+ - Add noPrune option to cache.save() method. closes [#7](https://github.com/royriojas/flat-cache/issues/7) - [2c8016a]( https://github.com/royriojas/flat-cache/commit/2c8016a ), [Roy Riojas](https://github.com/Roy Riojas), 01/08/2016 02:00:29
+
+ - Add json read and write utility based on circular-json - [c31081e]( https://github.com/royriojas/flat-cache/commit/c31081e ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:58:17
+
- **Bug Fixes**
- - Remove UTF16 BOM stripping - [4a41e22]( https://github.com/royriojas/flat-cache/commit/4a41e22 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 04:18:06
+ - Remove UTF16 BOM stripping - [4a41e22]( https://github.com/royriojas/flat-cache/commit/4a41e22 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 02:18:06
- Since we control both writing and reading of JSON stream, there no needs
+ Since we control both writing and reading of JSON stream, there no needs
to handle unicode BOM.
- - Use circular-json to handle circular references (fix [#5](https://github.com/royriojas/flat-cache/issues/5)) - [cd7aeed]( https://github.com/royriojas/flat-cache/commit/cd7aeed ), [Jean Ponchon](https://github.com/Jean Ponchon), 25/07/2016 13:11:59
-
+ - Use circular-json to handle circular references (fix [#5](https://github.com/royriojas/flat-cache/issues/5)) - [cd7aeed]( https://github.com/royriojas/flat-cache/commit/cd7aeed ), [Jean Ponchon](https://github.com/Jean Ponchon), 25/07/2016 11:11:59
+
- **Tests Related fixes**
- - Add missing file from eslint test - [d6fa3c3]( https://github.com/royriojas/flat-cache/commit/d6fa3c3 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 04:15:51
-
-
- - Add test for circular json serialization / deserialization - [07d2ddd]( https://github.com/royriojas/flat-cache/commit/07d2ddd ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:59:36
+ - Add missing file from eslint test - [d6fa3c3]( https://github.com/royriojas/flat-cache/commit/d6fa3c3 ), [Jean Ponchon](https://github.com/Jean Ponchon), 29/07/2016 02:15:51
+
+ - Add test for circular json serialization / deserialization - [07d2ddd]( https://github.com/royriojas/flat-cache/commit/07d2ddd ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:59:36
+
- **Refactoring**
- - Remove unused read-json-sync - [2be1c24]( https://github.com/royriojas/flat-cache/commit/2be1c24 ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 10:59:18
-
+ - Remove unused read-json-sync - [2be1c24]( https://github.com/royriojas/flat-cache/commit/2be1c24 ), [Jean Ponchon](https://github.com/Jean Ponchon), 28/07/2016 08:59:18
+
- **Build Scripts Changes**
- - travis tests on 0.12 and 4x - [3a613fd]( https://github.com/royriojas/flat-cache/commit/3a613fd ), [royriojas](https://github.com/royriojas), 15/11/2015 17:34:40
-
+ - travis tests on 0.12 and 4x - [3a613fd]( https://github.com/royriojas/flat-cache/commit/3a613fd ), [royriojas](https://github.com/royriojas), 15/11/2015 14:34:40
+
## v1.0.10
- **Build Scripts Changes**
- - add eslint-fix task - [fd29e52]( https://github.com/royriojas/flat-cache/commit/fd29e52 ), [royriojas](https://github.com/royriojas), 01/11/2015 18:04:08
-
-
- - make sure the test script also verify beautification and linting of files before running tests - [e94e176]( https://github.com/royriojas/flat-cache/commit/e94e176 ), [royriojas](https://github.com/royriojas), 01/11/2015 14:54:48
-
-
- - test against node 4 - [c395b66]( https://github.com/royriojas/flat-cache/commit/c395b66 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:51:39
+ - add eslint-fix task - [fd29e52]( https://github.com/royriojas/flat-cache/commit/fd29e52 ), [royriojas](https://github.com/royriojas), 01/11/2015 15:04:08
+
+ - make sure the test script also verify beautification and linting of files before running tests - [e94e176]( https://github.com/royriojas/flat-cache/commit/e94e176 ), [royriojas](https://github.com/royriojas), 01/11/2015 11:54:48
- - Add helpers/code check scripts - [bdb82f3]( https://github.com/royriojas/flat-cache/commit/bdb82f3 ), [royriojas](https://github.com/royriojas), 11/09/2015 16:44:31
+
+ - test against node 4 - [c395b66]( https://github.com/royriojas/flat-cache/commit/c395b66 ), [royriojas](https://github.com/royriojas), 11/09/2015 15:51:39
+
+ - Add helpers/code check scripts - [bdb82f3]( https://github.com/royriojas/flat-cache/commit/bdb82f3 ), [royriojas](https://github.com/royriojas), 11/09/2015 14:44:31
+
- **Other changes**
- - add clearAll for cacheDir - [97383d9]( https://github.com/royriojas/flat-cache/commit/97383d9 ), [xieyaowu](https://github.com/xieyaowu), 31/10/2015 23:02:18
-
-
- - Move dependencies into devDep - [7e47099]( https://github.com/royriojas/flat-cache/commit/7e47099 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 17:10:57
+ - add clearAll for cacheDir - [97383d9]( https://github.com/royriojas/flat-cache/commit/97383d9 ), [xieyaowu](https://github.com/xieyaowu), 31/10/2015 21:02:18
+
+ - Move dependencies into devDep - [7e47099]( https://github.com/royriojas/flat-cache/commit/7e47099 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 15:10:57
- - Update dependencies - [be88aa3]( https://github.com/royriojas/flat-cache/commit/be88aa3 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 15:47:41
-
+
+ - Update dependencies - [be88aa3]( https://github.com/royriojas/flat-cache/commit/be88aa3 ), [Bogdan Chadkin](https://github.com/Bogdan Chadkin), 11/09/2015 13:47:41
+
- **Bug Fixes**
- - wrong default values for changelogx user repo name - [7bb52d1]( https://github.com/royriojas/flat-cache/commit/7bb52d1 ), [royriojas](https://github.com/royriojas), 11/09/2015 17:59:30
+ - wrong default values for changelogx user repo name - [7bb52d1]( https://github.com/royriojas/flat-cache/commit/7bb52d1 ), [royriojas](https://github.com/royriojas), 11/09/2015 15:59:30
- **Documentation**
- - Add missing changelog link - [f51197a]( https://github.com/royriojas/flat-cache/commit/f51197a ), [royriojas](https://github.com/royriojas), 11/09/2015 16:48:05
-
-
- - better description for the module - [436817f]( https://github.com/royriojas/flat-cache/commit/436817f ), [royriojas](https://github.com/royriojas), 11/09/2015 16:35:33
+ - Add missing changelog link - [f51197a]( https://github.com/royriojas/flat-cache/commit/f51197a ), [royriojas](https://github.com/royriojas), 11/09/2015 14:48:05
+
+ - better description for the module - [436817f]( https://github.com/royriojas/flat-cache/commit/436817f ), [royriojas](https://github.com/royriojas), 11/09/2015 14:35:33
- - Add documentation about `clearAll` and `clearCacheById` - [13947c1]( https://github.com/royriojas/flat-cache/commit/13947c1 ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 02:44:05
+
+ - Add documentation about `clearAll` and `clearCacheById` - [13947c1]( https://github.com/royriojas/flat-cache/commit/13947c1 ), [Roy Riojas](https://github.com/Roy Riojas), 01/03/2015 23:44:05
- **Refactoring**
- - load a cache file using the full filepath - [b8f68c2]( https://github.com/royriojas/flat-cache/commit/b8f68c2 ), [Roy Riojas](https://github.com/Roy Riojas), 30/08/2015 06:19:14
-
+ - load a cache file using the full filepath - [b8f68c2]( https://github.com/royriojas/flat-cache/commit/b8f68c2 ), [Roy Riojas](https://github.com/Roy Riojas), 30/08/2015 04:19:14
+
- **Features**
- - Add methods to remove the cache documents created - [af40443]( https://github.com/royriojas/flat-cache/commit/af40443 ), [Roy Riojas](https://github.com/Roy Riojas), 02/03/2015 02:39:27
+ - Add methods to remove the cache documents created - [af40443]( https://github.com/royriojas/flat-cache/commit/af40443 ), [Roy Riojas](https://github.com/Roy Riojas), 01/03/2015 23:39:27
## v1.0.1
- **Other changes**
- - Update README.md - [c2b6805]( https://github.com/royriojas/flat-cache/commit/c2b6805 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 07:28:07
+ - Update README.md - [c2b6805]( https://github.com/royriojas/flat-cache/commit/c2b6805 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 04:28:07
## v1.0.0
- **Refactoring**
- - flat-cache v.1.0.0 - [c984274]( https://github.com/royriojas/flat-cache/commit/c984274 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 07:11:50
+ - flat-cache v.1.0.0 - [c984274]( https://github.com/royriojas/flat-cache/commit/c984274 ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 04:11:50
- **Other changes**
- - Initial commit - [d43cccf]( https://github.com/royriojas/flat-cache/commit/d43cccf ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 04:12:16
+ - Initial commit - [d43cccf]( https://github.com/royriojas/flat-cache/commit/d43cccf ), [Roy Riojas](https://github.com/Roy Riojas), 26/02/2015 01:12:16
diff --git a/tools/node_modules/eslint/node_modules/flat-cache/del.js b/tools/node_modules/eslint/node_modules/flat-cache/del.js
new file mode 100644
index 00000000000000..542baac70a0c78
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/flat-cache/del.js
@@ -0,0 +1,13 @@
+var rimraf = require( 'rimraf' ).sync;
+var fs = require( 'graceful-fs' );
+
+module.exports = function del( file ) {
+ if ( fs.existsSync( file ) ) {
+ //if rimraf doesn't throw then the file has been deleted or didn't exist
+ rimraf( file, {
+ glob: false
+ } );
+ return true;
+ }
+ return false;
+};
diff --git a/tools/node_modules/eslint/node_modules/flat-cache/package.json b/tools/node_modules/eslint/node_modules/flat-cache/package.json
index 5e7f5f3acabcfa..66290b456afaee 100644
--- a/tools/node_modules/eslint/node_modules/flat-cache/package.json
+++ b/tools/node_modules/eslint/node_modules/flat-cache/package.json
@@ -21,8 +21,8 @@
},
"dependencies": {
"circular-json": "^0.3.1",
- "del": "^3.0.0",
"graceful-fs": "^4.1.2",
+ "rimraf": "~2.6.2",
"write": "^0.2.1"
},
"deprecated": false,
@@ -47,7 +47,8 @@
},
"files": [
"cache.js",
- "utils.js"
+ "utils.js",
+ "del.js"
],
"homepage": "https://github.com/royriojas/flat-cache#readme",
"keywords": [
@@ -73,7 +74,7 @@
},
"scripts": {
"autofix": "npm run beautify && npm run eslint-fix",
- "beautify": "esbeautifier 'cache.js' 'test/specs/**/*.js'",
+ "beautify": "esbeautifier 'cache.js' 'utils.js' 'del.js' 'test/specs/**/*.js'",
"beautify-check": "npm run beautify -- -k",
"bump-major": "npm run pre-v && npm version major -m 'BLD: Release v%s' && npm run post-v",
"bump-minor": "npm run pre-v && npm version minor -m 'BLD: Release v%s' && npm run post-v",
@@ -82,7 +83,7 @@
"check": "npm run beautify-check && npm run eslint",
"cover": "istanbul cover test/runner.js html text-summary",
"do-changelog": "npm run changelog && git add ./changelog.md && git commit -m 'DOC: Generate changelog' --no-verify",
- "eslint": "eslinter 'cache.js' 'utils.js' 'specs/**/*.js'",
+ "eslint": "eslinter 'cache.js' 'utils.js' 'del.js' 'specs/**/*.js'",
"eslint-fix": "npm run eslint -- --fix",
"install-hooks": "prepush install && changelogx install-hook && precommit install",
"post-v": "npm run do-changelog && git push --no-verify && git push --tags --no-verify",
@@ -92,5 +93,5 @@
"verify": "npm run check && npm run test:cache",
"watch": "watch-run -i -p 'test/specs/**/*.js' istanbul cover test/runner.js html text-summary"
},
- "version": "1.3.2"
+ "version": "1.3.4"
}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/flat-cache/utils.js b/tools/node_modules/eslint/node_modules/flat-cache/utils.js
index e3654d23fa3d87..11b41f437027b5 100644
--- a/tools/node_modules/eslint/node_modules/flat-cache/utils.js
+++ b/tools/node_modules/eslint/node_modules/flat-cache/utils.js
@@ -4,7 +4,7 @@ var circularJson = require( 'circular-json' );
module.exports = {
- tryParse: function ( filePath, defaultValue) {
+ tryParse: function ( filePath, defaultValue ) {
var result;
try {
result = this.readJSON( filePath );
@@ -32,7 +32,7 @@ module.exports = {
* @param {String} filePath Json filepath
* @param {*} data Object to serialize
*/
- writeJSON: function (filePath, data ) {
+ writeJSON: function ( filePath, data ) {
write.sync( filePath, circularJson.stringify( data ) );
}
diff --git a/tools/node_modules/eslint/node_modules/globals/globals.json b/tools/node_modules/eslint/node_modules/globals/globals.json
index d805cdd73c6bdb..2619096e68b7c4 100644
--- a/tools/node_modules/eslint/node_modules/globals/globals.json
+++ b/tools/node_modules/eslint/node_modules/globals/globals.json
@@ -698,6 +698,7 @@
"PushManager": false,
"PushSubscription": false,
"PushSubscriptionOptions": false,
+ "queueMicrotask": false,
"RadioNodeList": false,
"Range": false,
"ReadableStream": false,
@@ -984,6 +985,7 @@
"PerformanceTiming": false,
"postMessage": true,
"Promise": false,
+ "queueMicrotask": false,
"Request": false,
"Response": false,
"self": true,
@@ -1012,10 +1014,13 @@
"Intl": false,
"module": false,
"process": false,
+ "queueMicrotask": false,
"require": false,
"setImmediate": false,
"setInterval": false,
"setTimeout": false,
+ "TextDecoder": false,
+ "TextEncoder": false,
"URL": false,
"URLSearchParams": false
},
diff --git a/tools/node_modules/eslint/node_modules/globals/package.json b/tools/node_modules/eslint/node_modules/globals/package.json
index ef0bf02ac857ab..958e4c737e64e6 100644
--- a/tools/node_modules/eslint/node_modules/globals/package.json
+++ b/tools/node_modules/eslint/node_modules/globals/package.json
@@ -41,7 +41,7 @@
"scripts": {
"test": "xo && ava"
},
- "version": "11.8.0",
+ "version": "11.9.0",
"xo": {
"ignores": [
"get-browser-globals.js"
diff --git a/tools/node_modules/eslint/node_modules/globby/index.js b/tools/node_modules/eslint/node_modules/globby/index.js
deleted file mode 100644
index 587a0fdd1cc0fb..00000000000000
--- a/tools/node_modules/eslint/node_modules/globby/index.js
+++ /dev/null
@@ -1,88 +0,0 @@
-'use strict';
-var Promise = require('pinkie-promise');
-var arrayUnion = require('array-union');
-var objectAssign = require('object-assign');
-var glob = require('glob');
-var pify = require('pify');
-
-var globP = pify(glob, Promise).bind(glob);
-
-function isNegative(pattern) {
- return pattern[0] === '!';
-}
-
-function isString(value) {
- return typeof value === 'string';
-}
-
-function assertPatternsInput(patterns) {
- if (!patterns.every(isString)) {
- throw new TypeError('patterns must be a string or an array of strings');
- }
-}
-
-function generateGlobTasks(patterns, opts) {
- patterns = [].concat(patterns);
- assertPatternsInput(patterns);
-
- var globTasks = [];
-
- opts = objectAssign({
- cache: Object.create(null),
- statCache: Object.create(null),
- realpathCache: Object.create(null),
- symlinks: Object.create(null),
- ignore: []
- }, opts);
-
- patterns.forEach(function (pattern, i) {
- if (isNegative(pattern)) {
- return;
- }
-
- var ignore = patterns.slice(i).filter(isNegative).map(function (pattern) {
- return pattern.slice(1);
- });
-
- globTasks.push({
- pattern: pattern,
- opts: objectAssign({}, opts, {
- ignore: opts.ignore.concat(ignore)
- })
- });
- });
-
- return globTasks;
-}
-
-module.exports = function (patterns, opts) {
- var globTasks;
-
- try {
- globTasks = generateGlobTasks(patterns, opts);
- } catch (err) {
- return Promise.reject(err);
- }
-
- return Promise.all(globTasks.map(function (task) {
- return globP(task.pattern, task.opts);
- })).then(function (paths) {
- return arrayUnion.apply(null, paths);
- });
-};
-
-module.exports.sync = function (patterns, opts) {
- var globTasks = generateGlobTasks(patterns, opts);
-
- return globTasks.reduce(function (matches, task) {
- return arrayUnion(matches, glob.sync(task.pattern, task.opts));
- }, []);
-};
-
-module.exports.generateGlobTasks = generateGlobTasks;
-
-module.exports.hasMagic = function (patterns, opts) {
- return [].concat(patterns).some(function (pattern) {
- return glob.hasMagic(pattern, opts);
- });
-};
diff --git a/tools/node_modules/eslint/node_modules/globby/license b/tools/node_modules/eslint/node_modules/globby/license
deleted file mode 100644
index 654d0bfe943437..00000000000000
--- a/tools/node_modules/eslint/node_modules/globby/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/index.js b/tools/node_modules/eslint/node_modules/globby/node_modules/pify/index.js
deleted file mode 100644
index 7c720ebee88727..00000000000000
--- a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/index.js
+++ /dev/null
@@ -1,68 +0,0 @@
-'use strict';
-
-var processFn = function (fn, P, opts) {
- return function () {
- var that = this;
- var args = new Array(arguments.length);
-
- for (var i = 0; i < arguments.length; i++) {
- args[i] = arguments[i];
- }
-
- return new P(function (resolve, reject) {
- args.push(function (err, result) {
- if (err) {
- reject(err);
- } else if (opts.multiArgs) {
- var results = new Array(arguments.length - 1);
-
- for (var i = 1; i < arguments.length; i++) {
- results[i - 1] = arguments[i];
- }
-
- resolve(results);
- } else {
- resolve(result);
- }
- });
-
- fn.apply(that, args);
- });
- };
-};
-
-var pify = module.exports = function (obj, P, opts) {
- if (typeof P !== 'function') {
- opts = P;
- P = Promise;
- }
-
- opts = opts || {};
- opts.exclude = opts.exclude || [/.+Sync$/];
-
- var filter = function (key) {
- var match = function (pattern) {
- return typeof pattern === 'string' ? key === pattern : pattern.test(key);
- };
-
- return opts.include ? opts.include.some(match) : !opts.exclude.some(match);
- };
-
- var ret = typeof obj === 'function' ? function () {
- if (opts.excludeMain) {
- return obj.apply(this, arguments);
- }
-
- return processFn(obj, P, opts).apply(this, arguments);
- } : {};
-
- return Object.keys(obj).reduce(function (ret, key) {
- var x = obj[key];
-
- ret[key] = typeof x === 'function' && filter(key) ? processFn(x, P, opts) : x;
-
- return ret;
- }, ret);
-};
-
-pify.all = pify;
diff --git a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/license b/tools/node_modules/eslint/node_modules/globby/node_modules/pify/license
deleted file mode 100644
index 654d0bfe943437..00000000000000
--- a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/package.json b/tools/node_modules/eslint/node_modules/globby/node_modules/pify/package.json
deleted file mode 100644
index 40780115cf1d0a..00000000000000
--- a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/package.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/pify/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Promisify a callback-style function",
- "devDependencies": {
- "ava": "*",
- "pinkie-promise": "^1.0.0",
- "v8-natives": "0.0.2",
- "xo": "*"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/pify#readme",
- "keywords": [
- "promise",
- "promises",
- "promisify",
- "denodify",
- "denodeify",
- "callback",
- "cb",
- "node",
- "then",
- "thenify",
- "convert",
- "transform",
- "wrap",
- "wrapper",
- "bind",
- "to",
- "async",
- "es2015"
- ],
- "license": "MIT",
- "name": "pify",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/pify.git"
- },
- "scripts": {
- "optimization-test": "node --allow-natives-syntax optimization-test.js",
- "test": "xo && ava && npm run optimization-test"
- },
- "version": "2.3.0"
-}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/readme.md b/tools/node_modules/eslint/node_modules/globby/node_modules/pify/readme.md
deleted file mode 100644
index 97aeeb628b0897..00000000000000
--- a/tools/node_modules/eslint/node_modules/globby/node_modules/pify/readme.md
+++ /dev/null
@@ -1,119 +0,0 @@
-# pify [![Build Status](https://travis-ci.org/sindresorhus/pify.svg?branch=master)](https://travis-ci.org/sindresorhus/pify)
-
-> Promisify a callback-style function
-
-
-## Install
-
-```
-$ npm install --save pify
-```
-
-
-## Usage
-
-```js
-const fs = require('fs');
-const pify = require('pify');
-
-// promisify a single function
-
-pify(fs.readFile)('package.json', 'utf8').then(data => {
- console.log(JSON.parse(data).name);
- //=> 'pify'
-});
-
-// or promisify all methods in a module
-
-pify(fs).readFile('package.json', 'utf8').then(data => {
- console.log(JSON.parse(data).name);
- //=> 'pify'
-});
-```
-
-
-## API
-
-### pify(input, [promiseModule], [options])
-
-Returns a promise wrapped version of the supplied function or module.
-
-#### input
-
-Type: `function`, `object`
-
-Callback-style function or module whose methods you want to promisify.
-
-#### promiseModule
-
-Type: `function`
-
-Custom promise module to use instead of the native one.
-
-Check out [`pinkie-promise`](https://github.com/floatdrop/pinkie-promise) if you need a tiny promise polyfill.
-
-#### options
-
-##### multiArgs
-
-Type: `boolean`
-Default: `false`
-
-By default, the promisified function will only return the second argument from the callback, which works fine for most APIs. This option can be useful for modules like `request` that return multiple arguments. Turning this on will make it return an array of all arguments from the callback, excluding the error argument, instead of just the second argument.
-
-```js
-const request = require('request');
-const pify = require('pify');
-
-pify(request, {multiArgs: true})('https://sindresorhus.com').then(result => {
- const [httpResponse, body] = result;
-});
-```
-
-##### include
-
-Type: `array` of (`string`|`regex`)
-
-Methods in a module to promisify. Remaining methods will be left untouched.
-
-##### exclude
-
-Type: `array` of (`string`|`regex`)
-Default: `[/.+Sync$/]`
-
-Methods in a module **not** to promisify. Methods with names ending with `'Sync'` are excluded by default.
-
-##### excludeMain
-
-Type: `boolean`
-Default: `false`
-
-By default, if given module is a function itself, this function will be promisified. Turn this option on if you want to promisify only methods of the module.
-
-```js
-const pify = require('pify');
-
-function fn() {
- return true;
-}
-
-fn.method = (data, callback) => {
- setImmediate(() => {
- callback(data, null);
- });
-};
-
-// promisify methods but not fn()
-const promiseFn = pify(fn, {excludeMain: true});
-
-if (promiseFn()) {
- promiseFn.method('hi').then(data => {
- console.log(data);
- });
-}
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/globby/package.json b/tools/node_modules/eslint/node_modules/globby/package.json
deleted file mode 100644
index fad7fc179674cb..00000000000000
--- a/tools/node_modules/eslint/node_modules/globby/package.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/globby/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "array-union": "^1.0.1",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "deprecated": false,
- "description": "Extends `glob` with support for multiple patterns and exposes a Promise API",
- "devDependencies": {
- "ava": "*",
- "glob-stream": "github:gulpjs/glob-stream#master",
- "globby": "github:sindresorhus/globby#master",
- "matcha": "^0.7.0",
- "rimraf": "^2.2.8",
- "xo": "^0.16.0"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/globby#readme",
- "keywords": [
- "all",
- "array",
- "directories",
- "dirs",
- "expand",
- "files",
- "filesystem",
- "filter",
- "find",
- "fnmatch",
- "folders",
- "fs",
- "glob",
- "globbing",
- "globs",
- "gulpfriendly",
- "match",
- "matcher",
- "minimatch",
- "multi",
- "multiple",
- "paths",
- "pattern",
- "patterns",
- "traverse",
- "util",
- "utility",
- "wildcard",
- "wildcards",
- "promise"
- ],
- "license": "MIT",
- "name": "globby",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/globby.git"
- },
- "scripts": {
- "bench": "npm update glob-stream && matcha bench.js",
- "test": "xo && ava"
- },
- "version": "6.1.0"
-}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/globby/readme.md b/tools/node_modules/eslint/node_modules/globby/readme.md
deleted file mode 100644
index e10a48868f9e29..00000000000000
--- a/tools/node_modules/eslint/node_modules/globby/readme.md
+++ /dev/null
@@ -1,88 +0,0 @@
-# globby [![Build Status](https://travis-ci.org/sindresorhus/globby.svg?branch=master)](https://travis-ci.org/sindresorhus/globby)
-
-> Extends [glob](https://github.com/isaacs/node-glob) with support for multiple patterns and exposes a Promise API
-
-
-## Install
-
-```
-$ npm install --save globby
-```
-
-
-## Usage
-
-```
-├── unicorn
-├── cake
-└── rainbow
-```
-
-```js
-const globby = require('globby');
-
-globby(['*', '!cake']).then(paths => {
- console.log(paths);
- //=> ['unicorn', 'rainbow']
-});
-```
-
-
-## API
-
-### globby(patterns, [options])
-
-Returns a Promise for an array of matching paths.
-
-### globby.sync(patterns, [options])
-
-Returns an array of matching paths.
-
-### globby.generateGlobTasks(patterns, [options])
-
-Returns an array of objects in the format `{ pattern: string, opts: Object }`, which can be passed as arguments to [`node-glob`](https://github.com/isaacs/node-glob). This is useful for other globbing-related packages.
-
-Note that you should avoid running the same tasks multiple times as they contain a file system cache. Instead, run this method each time to ensure file system changes are taken into consideration.
-
-### globby.hasMagic(patterns, [options])
-
-Returns a `boolean` of whether there are any special glob characters in the `patterns`.
-
-Note that the options affect the results. If `noext: true` is set, then `+(a|b)` will not be considered a magic pattern. If the pattern has a brace expansion, like `a/{b/c,x/y}`, then that is considered magical, unless `nobrace: true` is set.
-
-#### patterns
-
-Type: `string` `Array`
-
-See supported `minimatch` [patterns](https://github.com/isaacs/minimatch#usage).
-
-#### options
-
-Type: `Object`
-
-See the `node-glob` [options](https://github.com/isaacs/node-glob#options).
-
-
-## Globbing patterns
-
-Just a quick overview.
-
-- `*` matches any number of characters, but not `/`
-- `?` matches a single character, but not `/`
-- `**` matches any number of characters, including `/`, as long as it's the only thing in a path part
-- `{}` allows for a comma-separated list of "or" expressions
-- `!` at the beginning of a pattern will negate the match
-
-[Various patterns and expected matches.](https://github.com/sindresorhus/multimatch/blob/master/test.js)
-
-
-## Related
-
-- [multimatch](https://github.com/sindresorhus/multimatch) - Match against a list instead of the filesystem
-- [glob-stream](https://github.com/wearefractal/glob-stream) - Streaming alternative
-- [matcher](https://github.com/sindresorhus/matcher) - Simple wildcard matching
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/inquirer/README.md b/tools/node_modules/eslint/node_modules/inquirer/README.md
new file mode 100644
index 00000000000000..1038bbd526336b
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/README.md
@@ -0,0 +1,424 @@
+
+
+# Inquirer.js
+
+[![npm](https://badge.fury.io/js/inquirer.svg)](http://badge.fury.io/js/inquirer) [![tests](https://travis-ci.org/SBoudrias/Inquirer.js.svg?branch=master)](http://travis-ci.org/SBoudrias/Inquirer.js) [![Coverage Status](https://codecov.io/gh/SBoudrias/Inquirer.js/branch/master/graph/badge.svg)](https://codecov.io/gh/SBoudrias/Inquirer.js) [![dependencies](https://david-dm.org/SBoudrias/Inquirer.js.svg?theme=shields.io)](https://david-dm.org/SBoudrias/Inquirer.js)
+
+A collection of common interactive command line user interfaces.
+
+**Version 4.x** only supports Node 6 and over. For Node 4 support please use [version 3.x](https://github.com/SBoudrias/Inquirer.js/tree/v3.3.0).
+
+## Table of Contents
+
+1. [Documentation](#documentation)
+ 1. [Installation](#installation)
+ 2. [Examples](#examples)
+ 3. [Methods](#methods)
+ 4. [Objects](#objects)
+ 5. [Questions](#questions)
+ 6. [Answers](#answers)
+ 7. [Separator](#separator)
+ 8. [Prompt Types](#prompt)
+2. [User Interfaces and Layouts](#layouts)
+ 1. [Reactive Interface](#reactive)
+3. [Support](#support)
+4. [News](#news)
+5. [Contributing](#contributing)
+6. [License](#license)
+7. [Plugins](#plugins)
+
+## Goal and Philosophy
+
+**`Inquirer.js`** strives to be an easily embeddable and beautiful command line interface for [Node.js](https://nodejs.org/) (and perhaps the "CLI [Xanadu](https://en.wikipedia.org/wiki/Citizen_Kane)").
+
+**`Inquirer.js`** should ease the process of
+
+- providing _error feedback_
+- _asking questions_
+- _parsing_ input
+- _validating_ answers
+- managing _hierarchical prompts_
+
+> **Note:** **`Inquirer.js`** provides the user interface and the inquiry session flow. If you're searching for a full blown command line program utility, then check out [commander](https://github.com/visionmedia/commander.js), [vorpal](https://github.com/dthree/vorpal) or [args](https://github.com/leo/args).
+
+## [Documentation](#documentation)
+
+
+
+### Installation
+
+
+
+```shell
+npm install inquirer
+```
+
+```javascript
+var inquirer = require('inquirer');
+inquirer
+ .prompt([
+ /* Pass your questions in here */
+ ])
+ .then(answers => {
+ // Use user feedback for... whatever!!
+ });
+```
+
+
+
+### Examples (Run it and see it)
+
+Check out the [`packages/inquirer/examples/`](https://github.com/SBoudrias/Inquirer.js/tree/master/packages/inquirer/examples) folder for code and interface examples.
+
+```shell
+node packages/inquirer/examples/pizza.js
+node packages/inquirer/examples/checkbox.js
+# etc...
+```
+
+### Methods
+
+
+
+#### `inquirer.prompt(questions) -> promise`
+
+Launch the prompt interface (inquiry session)
+
+- **questions** (Array) containing [Question Object](#question) (using the [reactive interface](#reactive-interface), you can also pass a `Rx.Observable` instance)
+- returns a **Promise**
+
+#### `inquirer.registerPrompt(name, prompt)`
+
+Register prompt plugins under `name`.
+
+- **name** (string) name of the this new prompt. (used for question `type`)
+- **prompt** (object) the prompt object itself (the plugin)
+
+#### `inquirer.createPromptModule() -> prompt function`
+
+Create a self contained inquirer module. If you don't want to affect other libraries that also rely on inquirer when you overwrite or add new prompt types.
+
+```js
+var prompt = inquirer.createPromptModule();
+
+prompt(questions).then(/* ... */);
+```
+
+### Objects
+
+
+
+#### Question
+
+
+A question object is a `hash` containing question related values:
+
+- **type**: (String) Type of the prompt. Defaults: `input` - Possible values: `input`, `confirm`,
+ `list`, `rawlist`, `expand`, `checkbox`, `password`, `editor`
+- **name**: (String) The name to use when storing the answer in the answers hash. If the name contains periods, it will define a path in the answers hash.
+- **message**: (String|Function) The question to print. If defined as a function, the first parameter will be the current inquirer session answers. Defaults to the value of `name` (followed by a colon).
+- **default**: (String|Number|Boolean|Array|Function) Default value(s) to use if nothing is entered, or a function that returns the default value(s). If defined as a function, the first parameter will be the current inquirer session answers.
+- **choices**: (Array|Function) Choices array or a function returning a choices array. If defined as a function, the first parameter will be the current inquirer session answers.
+ Array values can be simple `strings`, or `objects` containing a `name` (to display in list), a `value` (to save in the answers hash) and a `short` (to display after selection) properties. The choices array can also contain [a `Separator`](#separator).
+- **validate**: (Function) Receive the user input and answers hash. Should return `true` if the value is valid, and an error message (`String`) otherwise. If `false` is returned, a default error message is provided.
+- **filter**: (Function) Receive the user input and return the filtered value to be used inside the program. The value returned will be added to the _Answers_ hash.
+- **transformer**: (Function) Receive the user input, answers hash and option flags, and return a transformed value to display to the user. The transformation only impacts what is shown while editing. It does not modify the answers hash.
+- **when**: (Function, Boolean) Receive the current user answers hash and should return `true` or `false` depending on whether or not this question should be asked. The value can also be a simple boolean.
+- **pageSize**: (Number) Change the number of lines that will be rendered when using `list`, `rawList`, `expand` or `checkbox`.
+- **prefix**: (String) Change the default _prefix_ message.
+- **suffix**: (String) Change the default _suffix_ message.
+
+`default`, `choices`(if defined as functions), `validate`, `filter` and `when` functions can be called asynchronously. Either return a promise or use `this.async()` to get a callback you'll call with the final value.
+
+```javascript
+{
+ /* Preferred way: with promise */
+ filter() {
+ return new Promise(/* etc... */);
+ },
+
+ /* Legacy way: with this.async */
+ validate: function (input) {
+ // Declare function as asynchronous, and save the done callback
+ var done = this.async();
+
+ // Do async stuff
+ setTimeout(function() {
+ if (typeof input !== 'number') {
+ // Pass the return value in the done callback
+ done('You need to provide a number');
+ return;
+ }
+ // Pass the return value in the done callback
+ done(null, true);
+ }, 3000);
+ }
+}
+```
+
+### Answers
+
+
+A key/value hash containing the client answers in each prompt.
+
+- **Key** The `name` property of the _question_ object
+- **Value** (Depends on the prompt)
+ - `confirm`: (Boolean)
+ - `input` : User input (filtered if `filter` is defined) (String)
+ - `rawlist`, `list` : Selected choice value (or name if no value specified) (String)
+
+### Separator
+
+
+A separator can be added to any `choices` array:
+
+```
+// In the question object
+choices: [ "Choice A", new inquirer.Separator(), "choice B" ]
+
+// Which'll be displayed this way
+[?] What do you want to do?
+ > Order a pizza
+ Make a reservation
+ --------
+ Ask opening hours
+ Talk to the receptionist
+```
+
+The constructor takes a facultative `String` value that'll be use as the separator. If omitted, the separator will be `--------`.
+
+Separator instances have a property `type` equal to `separator`. This should allow tools façading Inquirer interface from detecting separator types in lists.
+
+
+
+### Prompt types
+
+---
+
+> **Note:**: _allowed options written inside square brackets (`[]`) are optional. Others are required._
+
+#### List - `{type: 'list'}`
+
+Take `type`, `name`, `message`, `choices`[, `default`, `filter`] properties. (Note that
+default must be the choice `index` in the array or a choice `value`)
+
+![List prompt](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/list.svg)
+
+---
+
+#### Raw List - `{type: 'rawlist'}`
+
+Take `type`, `name`, `message`, `choices`[, `default`, `filter`] properties. (Note that
+default must be the choice `index` in the array)
+
+![Raw list prompt](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/rawlist.svg)
+
+---
+
+#### Expand - `{type: 'expand'}`
+
+Take `type`, `name`, `message`, `choices`[, `default`] properties. (Note that
+default must be the choice `index` in the array. If `default` key not provided, then `help` will be used as default choice)
+
+Note that the `choices` object will take an extra parameter called `key` for the `expand` prompt. This parameter must be a single (lowercased) character. The `h` option is added by the prompt and shouldn't be defined by the user.
+
+See `examples/expand.js` for a running example.
+
+![Expand prompt closed](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/expand-y.svg)
+![Expand prompt expanded](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/expand-d.svg)
+
+---
+
+#### Checkbox - `{type: 'checkbox'}`
+
+Take `type`, `name`, `message`, `choices`[, `filter`, `validate`, `default`] properties. `default` is expected to be an Array of the checked choices value.
+
+Choices marked as `{checked: true}` will be checked by default.
+
+Choices whose property `disabled` is truthy will be unselectable. If `disabled` is a string, then the string will be outputted next to the disabled choice, otherwise it'll default to `"Disabled"`. The `disabled` property can also be a synchronous function receiving the current answers as argument and returning a boolean or a string.
+
+![Checkbox prompt](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/checkbox.svg)
+
+---
+
+#### Confirm - `{type: 'confirm'}`
+
+Take `type`, `name`, `message`, [`default`] properties. `default` is expected to be a boolean if used.
+
+![Confirm prompt](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/confirm.svg)
+
+---
+
+#### Input - `{type: 'input'}`
+
+Take `type`, `name`, `message`[, `default`, `filter`, `validate`, `transformer`] properties.
+
+![Input prompt](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/input.svg)
+
+---
+
+#### Password - `{type: 'password'}`
+
+Take `type`, `name`, `message`, `mask`,[, `default`, `filter`, `validate`] properties.
+
+![Password prompt](https://cdn.rawgit.com/SBoudrias/Inquirer.js/28ae8337ba51d93e359ef4f7ee24e79b69898962/assets/screenshots/password.svg)
+
+---
+
+Note that `mask` is required to hide the actual user input.
+
+#### Editor - `{type: 'editor'}`
+
+Take `type`, `name`, `message`[, `default`, `filter`, `validate`] properties
+
+Launches an instance of the users preferred editor on a temporary file. Once the user exits their editor, the contents of the temporary file are read in as the result. The editor to use is determined by reading the $VISUAL or $EDITOR environment variables. If neither of those are present, notepad (on Windows) or vim (Linux or Mac) is used.
+
+
+
+## User Interfaces and layouts
+
+Along with the prompts, Inquirer offers some basic text UI.
+
+#### Bottom Bar - `inquirer.ui.BottomBar`
+
+This UI present a fixed text at the bottom of a free text zone. This is useful to keep a message to the bottom of the screen while outputting command outputs on the higher section.
+
+```javascript
+var ui = new inquirer.ui.BottomBar();
+
+// pipe a Stream to the log zone
+outputStream.pipe(ui.log);
+
+// Or simply write output
+ui.log.write('something just happened.');
+ui.log.write('Almost over, standby!');
+
+// During processing, update the bottom bar content to display a loader
+// or output a progress bar, etc
+ui.updateBottomBar('new bottom bar content');
+```
+
+
+
+## Reactive interface
+
+Internally, Inquirer uses the [JS reactive extension](https://github.com/ReactiveX/rxjs) to handle events and async flows.
+
+This mean you can take advantage of this feature to provide more advanced flows. For example, you can dynamically add questions to be asked:
+
+```js
+var prompts = new Rx.Subject();
+inquirer.prompt(prompts);
+
+// At some point in the future, push new questions
+prompts.next({
+ /* question... */
+});
+prompts.next({
+ /* question... */
+});
+
+// When you're done
+prompts.complete();
+```
+
+And using the return value `process` property, you can access more fine grained callbacks:
+
+```js
+inquirer.prompt(prompts).ui.process.subscribe(onEachAnswer, onError, onComplete);
+```
+
+## Support (OS Terminals)
+
+
+
+You should expect mostly good support for the CLI below. This does not mean we won't
+look at issues found on other command line - feel free to report any!
+
+- **Mac OS**:
+ - Terminal.app
+ - iTerm
+- **Windows**:
+ - [ConEmu](https://conemu.github.io/)
+ - cmd.exe
+ - Powershell
+ - Cygwin
+- **Linux (Ubuntu, openSUSE, Arch Linux, etc)**:
+ - gnome-terminal (Terminal GNOME)
+ - konsole
+
+## News on the march (Release notes)
+
+
+
+Please refer to the [Github releases section for the changelog](https://github.com/SBoudrias/Inquirer.js/releases)
+
+## Contributing
+
+
+
+**Unit test**
+Unit test are written in [Mocha](https://mochajs.org/). Please add a unit test for every new feature or bug fix. `npm test` to run the test suite.
+
+**Documentation**
+Add documentation for every API change. Feel free to send typo fixes and better docs!
+
+We're looking to offer good support for multiple prompts and environments. If you want to
+help, we'd like to keep a list of testers for each terminal/OS so we can contact you and
+get feedback before release. Let us know if you want to be added to the list (just tweet
+to [@vaxilart](https://twitter.com/Vaxilart)) or just add your name to [the wiki](https://github.com/SBoudrias/Inquirer.js/wiki/Testers)
+
+## License
+
+
+
+Copyright (c) 2016 Simon Boudrias (twitter: [@vaxilart](https://twitter.com/Vaxilart))
+Licensed under the MIT license.
+
+## Plugins
+
+
+
+### Prompts
+
+[**autocomplete**](https://github.com/mokkabonna/inquirer-autocomplete-prompt)
+Presents a list of options as the user types, compatible with other packages such as fuzzy (for search)
+
+![autocomplete prompt](https://github.com/mokkabonna/inquirer-autocomplete-prompt/raw/master/inquirer.gif)
+
+[**checkbox-plus**](https://github.com/faressoft/inquirer-checkbox-plus-prompt)
+Checkbox list with autocomplete and other additions
+
+![checkbox-plus](https://github.com/faressoft/inquirer-checkbox-plus-prompt/raw/master/demo.gif)
+
+[**datetime**](https://github.com/DerekTBrown/inquirer-datepicker-prompt)
+Customizable date/time selector using both number pad and arrow keys
+
+![Datetime Prompt](https://github.com/DerekTBrown/inquirer-datepicker-prompt/raw/master/example/datetime-prompt.png)
+
+[**inquirer-select-line**](https://github.com/adam-golab/inquirer-select-line)
+Prompt for selecting index in array where add new element
+
+![inquirer-select-line gif](https://media.giphy.com/media/xUA7b1MxpngddUvdHW/giphy.gif)
+
+[**command**](https://github.com/sullof/inquirer-command-prompt)
+
+Simple prompt with command history and dynamic autocomplete
+
+[**inquirer-fuzzy-path**](https://github.com/adelsz/inquirer-fuzzy-path)
+Prompt for fuzzy file/directory selection.
+
+![inquirer-fuzzy-path](https://raw.githubusercontent.com/adelsz/inquirer-fuzzy-path/master/recording.gif)
+
+[**inquirer-chalk-pipe**](https://github.com/LitoMore/inquirer-chalk-pipe)
+Prompt for input chalk-pipe style strings
+
+![inquirer-chalk-pipe](https://github.com/LitoMore/inquirer-chalk-pipe/raw/master/screenshot.gif)
+
+[**inquirer-search-checkbox**](https://github.com/clinyong/inquirer-search-checkbox)
+Searchable Inquirer checkbox
+
+[**inquirer-prompt-suggest**](https://github.com/olistic/inquirer-prompt-suggest)
+Inquirer prompt for your less creative users.
+
+![inquirer-prompt-suggest](https://user-images.githubusercontent.com/5600126/40391192-d4f3d6d0-5ded-11e8-932f-4b75b642c09e.gif)
diff --git a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/checkbox.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/checkbox.js
index d27d46d85d7b9f..f1e3bad2e52ec2 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/checkbox.js
+++ b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/checkbox.js
@@ -29,7 +29,6 @@ class CheckboxPrompt extends Base {
}
this.pointer = 0;
- this.firstRender = true;
// Make sure no default is set (so it won't be printed)
this.opt.default = null;
@@ -87,7 +86,7 @@ class CheckboxPrompt extends Base {
var message = this.getQuestion();
var bottomContent = '';
- if (this.firstRender) {
+ if (!this.spaceKeyPressed) {
message +=
'(Press ' +
chalk.cyan.bold('') +
@@ -166,6 +165,7 @@ class CheckboxPrompt extends Base {
}
onSpaceKey() {
+ this.spaceKeyPressed = true;
this.toggleChoice(this.pointer);
this.render();
}
diff --git a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js
index 1acdc86327d748..6b85d98cf63031 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js
+++ b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/password.js
@@ -37,11 +37,9 @@ class PasswordPrompt extends Base {
validation.success.forEach(this.onEnd.bind(this));
validation.error.forEach(this.onError.bind(this));
- if (this.opt.mask) {
- events.keypress
- .pipe(takeUntil(validation.success))
- .forEach(this.onKeypress.bind(this));
- }
+ events.keypress
+ .pipe(takeUntil(validation.success))
+ .forEach(this.onKeypress.bind(this));
// Init
this.render();
diff --git a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js
index 33f2ead18a3971..4e0bcab0f6f3ab 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js
+++ b/tools/node_modules/eslint/node_modules/inquirer/lib/prompts/rawlist.js
@@ -67,6 +67,10 @@ class RawListPrompt extends Base {
events.keypress
.pipe(takeUntil(validation.success))
.forEach(this.onKeypress.bind(this));
+ events.normalizedUpKey.pipe(takeUntil(events.line)).forEach(this.onUpKey.bind(this));
+ events.normalizedDownKey
+ .pipe(takeUntil(events.line))
+ .forEach(this.onDownKey.bind(this));
// Init the prompt
this.render();
@@ -146,6 +150,34 @@ class RawListPrompt extends Base {
this.render();
}
+
+ /**
+ * When user press up key
+ */
+
+ onUpKey() {
+ this.onArrowKey('up');
+ }
+
+ /**
+ * When user press down key
+ */
+
+ onDownKey() {
+ this.onArrowKey('down');
+ }
+
+ /**
+ * When user press up or down key
+ * @param {String} type Arrow type: up or down
+ */
+
+ onArrowKey(type) {
+ var index = this.rl.line.length ? Number(this.rl.line) - 1 : 0;
+ index += type === 'up' ? -1 : 1;
+ this.rl.line = String(index + 1);
+ this.onKeypress();
+ }
}
/**
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/index.js b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/index.js
new file mode 100644
index 00000000000000..76d354a9afffd0
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/index.js
@@ -0,0 +1,14 @@
+'use strict';
+
+module.exports = options => {
+ options = Object.assign({
+ onlyFirst: false
+ }, options);
+
+ const pattern = [
+ '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)',
+ '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
+ ].join('|');
+
+ return new RegExp(pattern, options.onlyFirst ? undefined : 'g');
+};
diff --git a/tools/node_modules/eslint/node_modules/del/license b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/license
similarity index 100%
rename from tools/node_modules/eslint/node_modules/del/license
rename to tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/license
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/package.json b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/package.json
new file mode 100644
index 00000000000000..bcc09292f62a6d
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/package.json
@@ -0,0 +1,62 @@
+{
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/chalk/ansi-regex/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "Regular expression for matching ANSI escape codes",
+ "devDependencies": {
+ "ava": "^0.25.0",
+ "xo": "^0.23.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/chalk/ansi-regex#readme",
+ "keywords": [
+ "ansi",
+ "styles",
+ "color",
+ "colour",
+ "colors",
+ "terminal",
+ "console",
+ "cli",
+ "string",
+ "tty",
+ "escape",
+ "formatting",
+ "rgb",
+ "256",
+ "shell",
+ "xterm",
+ "command-line",
+ "text",
+ "regex",
+ "regexp",
+ "re",
+ "match",
+ "test",
+ "find",
+ "pattern"
+ ],
+ "license": "MIT",
+ "name": "ansi-regex",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/chalk/ansi-regex.git"
+ },
+ "scripts": {
+ "test": "xo && ava",
+ "view-supported": "node fixtures/view-codes.js"
+ },
+ "version": "4.0.0"
+}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/readme.md b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/readme.md
new file mode 100644
index 00000000000000..1b9d5fa98a0a26
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/ansi-regex/readme.md
@@ -0,0 +1,65 @@
+# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex)
+
+> Regular expression for matching [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
+
+
+## Install
+
+```
+$ npm install ansi-regex
+```
+
+
+## Usage
+
+```js
+const ansiRegex = require('ansi-regex');
+
+ansiRegex().test('\u001B[4mcake\u001B[0m');
+//=> true
+
+ansiRegex().test('cake');
+//=> false
+
+'\u001B[4mcake\u001B[0m'.match(ansiRegex());
+//=> ['\u001B[4m', '\u001B[0m']
+
+'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true}));
+//=> ['\u001B[4m']
+```
+
+
+## API
+
+### ansiRegex([options])
+
+Returns a regex for matching ANSI escape codes.
+
+#### options
+
+##### onlyFirst
+
+Type: `boolean`
+Default: `false` *(Matches any ANSI escape codes in a string)*
+
+Match only the first ANSI escape.
+
+
+## FAQ
+
+### Why do you test for codes not in the ECMA 48 standard?
+
+Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. We test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them.
+
+On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out.
+
+
+## Maintainers
+
+- [Sindre Sorhus](https://github.com/sindresorhus)
+- [Josh Junon](https://github.com/qix-)
+
+
+## License
+
+MIT
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/index.js b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/index.js
new file mode 100644
index 00000000000000..96e0292c8e2f64
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/index.js
@@ -0,0 +1,4 @@
+'use strict';
+const ansiRegex = require('ansi-regex');
+
+module.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input;
diff --git a/tools/node_modules/eslint/node_modules/p-map/license b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/license
similarity index 100%
rename from tools/node_modules/eslint/node_modules/p-map/license
rename to tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/license
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/package.json b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/package.json
new file mode 100644
index 00000000000000..8b96e6d04b563a
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/package.json
@@ -0,0 +1,61 @@
+{
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/chalk/strip-ansi/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "ansi-regex": "^4.0.0"
+ },
+ "deprecated": false,
+ "description": "Strip ANSI escape codes",
+ "devDependencies": {
+ "ava": "^0.25.0",
+ "xo": "^0.23.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/chalk/strip-ansi#readme",
+ "keywords": [
+ "strip",
+ "trim",
+ "remove",
+ "ansi",
+ "styles",
+ "color",
+ "colour",
+ "colors",
+ "terminal",
+ "console",
+ "string",
+ "tty",
+ "escape",
+ "formatting",
+ "rgb",
+ "256",
+ "shell",
+ "xterm",
+ "log",
+ "logging",
+ "command-line",
+ "text"
+ ],
+ "license": "MIT",
+ "name": "strip-ansi",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/chalk/strip-ansi.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "5.0.0"
+}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/readme.md b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/readme.md
new file mode 100644
index 00000000000000..d4871fb44351c6
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/inquirer/node_modules/strip-ansi/readme.md
@@ -0,0 +1,53 @@
+# strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi)
+
+> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
+
+---
+
+
+
+---
+
+## Install
+
+```
+$ npm install strip-ansi
+```
+
+
+## Usage
+
+```js
+const stripAnsi = require('strip-ansi');
+
+stripAnsi('\u001B[4mUnicorn\u001B[0m');
+//=> 'Unicorn'
+```
+
+
+## Related
+
+- [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module
+- [strip-ansi-stream](https://github.com/chalk/strip-ansi-stream) - Streaming version of this module
+- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes
+- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes
+- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
+
+
+## Maintainers
+
+- [Sindre Sorhus](https://github.com/sindresorhus)
+- [Josh Junon](https://github.com/qix-)
+
+
+## License
+
+MIT
diff --git a/tools/node_modules/eslint/node_modules/inquirer/package.json b/tools/node_modules/eslint/node_modules/inquirer/package.json
index a9679e830a3986..6f1433efc24094 100644
--- a/tools/node_modules/eslint/node_modules/inquirer/package.json
+++ b/tools/node_modules/eslint/node_modules/inquirer/package.json
@@ -19,26 +19,26 @@
"run-async": "^2.2.0",
"rxjs": "^6.1.0",
"string-width": "^2.1.0",
- "strip-ansi": "^4.0.0",
+ "strip-ansi": "^5.0.0",
"through": "^2.3.6"
},
"deprecated": false,
"description": "A collection of common interactive command line user interfaces.",
"devDependencies": {
"chai": "^4.0.1",
- "chalk-pipe": "^1.2.0",
+ "chalk-pipe": "^2.0.0",
"cmdify": "^0.0.4",
"mocha": "^5.0.0",
"mockery": "^2.1.0",
- "nsp": "^3.0.0",
- "nyc": "^12.0.1",
- "sinon": "^5.0.0"
+ "nyc": "^13.1.0",
+ "sinon": "^7.1.1"
},
"engines": {
"node": ">=6.0.0"
},
"files": [
- "lib"
+ "lib",
+ "README.md"
],
"homepage": "https://github.com/SBoudrias/Inquirer.js#readme",
"keywords": [
@@ -57,9 +57,10 @@
"url": "git+https://github.com/SBoudrias/Inquirer.js.git"
},
"scripts": {
+ "postpublish": "rm -f README.md",
"posttest": "nyc report --reporter=text-lcov > ../../coverage/nyc-report.lcov",
- "prepublish": "nsp check",
+ "prepublishOnly": "cp ../../README.md .",
"test": "nyc mocha test/**/* -r ./test/before"
},
- "version": "6.2.0"
+ "version": "6.2.1"
}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/is-path-cwd/index.js b/tools/node_modules/eslint/node_modules/is-path-cwd/index.js
deleted file mode 100644
index 24b6fdea37ee36..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-path-cwd/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-'use strict';
-var path = require('path');
-
-module.exports = function (str) {
- return path.resolve(str) === path.resolve(process.cwd());
-};
diff --git a/tools/node_modules/eslint/node_modules/is-path-cwd/package.json b/tools/node_modules/eslint/node_modules/is-path-cwd/package.json
deleted file mode 100644
index cfb452cc043352..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-path-cwd/package.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "http://sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/is-path-cwd/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Check if a path is CWD",
- "devDependencies": {
- "mocha": "*"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/is-path-cwd#readme",
- "keywords": [
- "path",
- "cwd",
- "pwd",
- "check",
- "filepath",
- "file",
- "folder"
- ],
- "license": "MIT",
- "name": "is-path-cwd",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/is-path-cwd.git"
- },
- "scripts": {
- "test": "mocha"
- },
- "version": "1.0.0"
-}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/is-path-cwd/readme.md b/tools/node_modules/eslint/node_modules/is-path-cwd/readme.md
deleted file mode 100644
index 2d9d65f989c106..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-path-cwd/readme.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# is-path-cwd [![Build Status](https://travis-ci.org/sindresorhus/is-path-cwd.svg?branch=master)](https://travis-ci.org/sindresorhus/is-path-cwd)
-
-> Check if a path is [CWD](http://en.wikipedia.org/wiki/Working_directory)
-
-
-## Install
-
-```sh
-$ npm install --save is-path-cwd
-```
-
-
-## Usage
-
-```js
-var isPathCwd = require('is-path-cwd');
-
-isPathCwd(process.cwd());
-//=> true
-
-isPathCwd('unicorn');
-//=> false
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/is-path-in-cwd/index.js b/tools/node_modules/eslint/node_modules/is-path-in-cwd/index.js
deleted file mode 100644
index 75611656ae7e3d..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-path-in-cwd/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-'use strict';
-var isPathInside = require('is-path-inside');
-
-module.exports = function (str) {
- return isPathInside(str, process.cwd());
-};
diff --git a/tools/node_modules/eslint/node_modules/is-path-in-cwd/license b/tools/node_modules/eslint/node_modules/is-path-in-cwd/license
deleted file mode 100644
index 654d0bfe943437..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-path-in-cwd/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/tools/node_modules/eslint/node_modules/is-path-in-cwd/package.json b/tools/node_modules/eslint/node_modules/is-path-in-cwd/package.json
deleted file mode 100644
index 4110075d9af370..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-path-in-cwd/package.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "http://sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/is-path-in-cwd/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "is-path-inside": "^1.0.0"
- },
- "deprecated": false,
- "description": "Check if a path is in the current working directory",
- "devDependencies": {
- "mocha": "*"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/is-path-in-cwd#readme",
- "keywords": [
- "path",
- "cwd",
- "pwd",
- "check",
- "filepath",
- "file",
- "folder",
- "in",
- "inside"
- ],
- "license": "MIT",
- "name": "is-path-in-cwd",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/is-path-in-cwd.git"
- },
- "scripts": {
- "test": "mocha"
- },
- "version": "1.0.1"
-}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/is-path-in-cwd/readme.md b/tools/node_modules/eslint/node_modules/is-path-in-cwd/readme.md
deleted file mode 100644
index 81185502a810c0..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-path-in-cwd/readme.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# is-path-in-cwd [![Build Status](https://travis-ci.org/sindresorhus/is-path-in-cwd.svg?branch=master)](https://travis-ci.org/sindresorhus/is-path-in-cwd)
-
-> Check if a path is in the [current working directory](http://en.wikipedia.org/wiki/Working_directory)
-
-
-## Install
-
-```sh
-$ npm install --save is-path-in-cwd
-```
-
-
-## Usage
-
-```js
-var isPathInCwd = require('is-path-in-cwd');
-
-isPathInCwd('unicorn');
-//=> true
-
-isPathInCwd('../rainbow');
-//=> false
-
-isPathInCwd('.');
-//=> false
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/is-path-inside/index.js b/tools/node_modules/eslint/node_modules/is-path-inside/index.js
deleted file mode 100644
index 0a4d2fd1e58074..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-path-inside/index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-var path = require('path');
-var pathIsInside = require('path-is-inside');
-
-module.exports = function (a, b) {
- a = path.resolve(a);
- b = path.resolve(b);
-
- if (a === b) {
- return false;
- }
-
- return pathIsInside(a, b);
-};
diff --git a/tools/node_modules/eslint/node_modules/is-path-inside/license b/tools/node_modules/eslint/node_modules/is-path-inside/license
deleted file mode 100644
index 654d0bfe943437..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-path-inside/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/tools/node_modules/eslint/node_modules/is-path-inside/package.json b/tools/node_modules/eslint/node_modules/is-path-inside/package.json
deleted file mode 100644
index 8686a73d3e52be..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-path-inside/package.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/is-path-inside/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "path-is-inside": "^1.0.1"
- },
- "deprecated": false,
- "description": "Check if a path is inside another path",
- "devDependencies": {
- "ava": "*",
- "xo": "*"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/is-path-inside#readme",
- "keywords": [
- "path",
- "inside",
- "folder",
- "directory",
- "dir",
- "file",
- "resolve"
- ],
- "license": "MIT",
- "name": "is-path-inside",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/is-path-inside.git"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "version": "1.0.1"
-}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/is-path-inside/readme.md b/tools/node_modules/eslint/node_modules/is-path-inside/readme.md
deleted file mode 100644
index cc5f51625d3e9c..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-path-inside/readme.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# is-path-inside [![Build Status](https://travis-ci.org/sindresorhus/is-path-inside.svg?branch=master)](https://travis-ci.org/sindresorhus/is-path-inside)
-
-> Check if a path is inside another path
-
-
-## Install
-
-```
-$ npm install --save is-path-inside
-```
-
-
-## Usage
-
-```js
-var isPathInside = require('is-path-inside');
-
-isPathInside('a/b/c', 'a/b');
-//=> true
-
-isPathInside('a/b/c', 'x/y');
-//=> false
-
-isPathInside('a/b/c', 'a/b/c');
-//=> false
-
-isPathInside('/Users/sindresorhus/dev/unicorn', '/Users/sindresorhus');
-//=> true
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/is-resolvable/LICENSE b/tools/node_modules/eslint/node_modules/is-resolvable/LICENSE
deleted file mode 100644
index b291242ea6dfd4..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-resolvable/LICENSE
+++ /dev/null
@@ -1,6 +0,0 @@
-ISC License (ISC)
-Copyright 2018 Shinnosuke Watanabe
-
-Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/tools/node_modules/eslint/node_modules/is-resolvable/README.md b/tools/node_modules/eslint/node_modules/is-resolvable/README.md
deleted file mode 100644
index 040c165ac8aed7..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-resolvable/README.md
+++ /dev/null
@@ -1,73 +0,0 @@
-# is-resolvable
-
-[![npm version](https://img.shields.io/npm/v/is-resolvable.svg)](https://www.npmjs.com/package/is-resolvable)
-[![Build Status](https://travis-ci.org/shinnn/is-resolvable.svg?branch=master)](https://travis-ci.org/shinnn/is-resolvable)
-[![Build status](https://ci.appveyor.com/api/projects/status/ww1cdpignehlasbs?svg=true)](https://ci.appveyor.com/project/ShinnosukeWatanabe/is-resolvable)
-[![Coverage Status](https://img.shields.io/coveralls/shinnn/is-resolvable.svg)](https://coveralls.io/r/shinnn/is-resolvable)
-
-A [Node.js](https://nodejs.org/) module to check if a given module ID is resolvable with [`require()`](https://nodejs.org/api/globals.html#globals_require)
-
-```javascript
-const isResolvable = require('is-resolvable');
-
-isResolvable('fs'); //=> true
-isResolvable('path'); //=> true
-
-// When ./index.js exists
-isResolvable('./index.js') //=> true
-isResolvable('./index') //=> true
-isResolvable('.') //=> true
-```
-
-## Installation
-
-[Use](https://docs.npmjs.com/cli/install) [npm](https://docs.npmjs.com/getting-started/what-is-npm).
-
-```
-npm install is-resolvable
-```
-
-## API
-
-```javascript
-const isResolvable = require('is-resolvable');
-```
-
-### isResolvable(*moduleId* [, *options*])
-
-*moduleId*: `string` (module ID)
-*options*: `Object` ([`require.resolve`](https://nodejs.org/api/modules.html#modules_require_resolve_request_options) options)
-Return: `boolean`
-
-It returns `true` if `require()` can load a file form a given module ID, otherwise `false`.
-
-```javascript
-const isResolvable = require('is-resolvable');
-
-// When ./foo.json exists
-isResolvable('./foo.json'); //=> true
-isResolvable('./foo'); //=> true
-
-isResolvable('./foo.js'); //=> false
-
-// When `eslint` module is installed but `jshint` isn't
-isResolvable('eslint'); //=> true
-isResolvable('jshint'); //=> false
-
-// When `lodash` module is installed
-isResolvable('lodash/isObject'); //=> true
-isResolvable('lodash/fp/reject.js'); //=> true
-```
-
-The second argument accepts an options object for `require.resolve()`.
-
-```javascript
-// When ./bar/baz.js exists
-
-isResolvable('./baz.js'); //=> false
-isResolvable('./baz.js', {paths: ['bar']}); //=> true
-```
-
-## License
-
-[ISC License](./LICENSE) © 2018 Shinnosuke Watanabe
diff --git a/tools/node_modules/eslint/node_modules/is-resolvable/index.js b/tools/node_modules/eslint/node_modules/is-resolvable/index.js
deleted file mode 100644
index 1be95c0258126a..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-resolvable/index.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-var inspect = require('util').inspect;
-
-module.exports = function isResolvable(moduleId, options) {
- if (typeof moduleId !== 'string') {
- throw new TypeError(inspect(moduleId) + ' is not a string. Expected a valid Node.js module identifier (), for example \'eslint\', \'./index.js\', \'./lib\'.');
- }
-
- try {
- require.resolve(moduleId, options);
- return true;
- } catch (err) {
- return false;
- }
-};
diff --git a/tools/node_modules/eslint/node_modules/is-resolvable/package.json b/tools/node_modules/eslint/node_modules/is-resolvable/package.json
deleted file mode 100644
index 46538d27f7fced..00000000000000
--- a/tools/node_modules/eslint/node_modules/is-resolvable/package.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "author": {
- "name": "Shinnosuke Watanabe",
- "url": "https://github.com/shinnn"
- },
- "bugs": {
- "url": "https://github.com/shinnn/is-resolvable/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Check if a module ID is resolvable with require()",
- "devDependencies": {
- "@shinnn/eslint-config-node": "^5.0.0",
- "eslint": "^4.16.0",
- "istanbul": "^0.4.5",
- "tape": "^4.8.0"
- },
- "eslintConfig": {
- "extends": "@shinnn/node",
- "rules": {
- "no-var": "off",
- "prefer-template": "off"
- }
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/shinnn/is-resolvable#readme",
- "keywords": [
- "file",
- "path",
- "resolve",
- "resolvable",
- "check",
- "module"
- ],
- "license": "ISC",
- "name": "is-resolvable",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/shinnn/is-resolvable.git"
- },
- "scripts": {
- "coverage": "istanbul cover --print=both test.js",
- "pretest": "eslint --fix --format=codeframe index.js test.js",
- "test": "node --throw-deprecation --track-heap-objects test.js"
- },
- "version": "1.1.0"
-}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/p-map/index.js b/tools/node_modules/eslint/node_modules/p-map/index.js
deleted file mode 100644
index f91477e1f5b3f3..00000000000000
--- a/tools/node_modules/eslint/node_modules/p-map/index.js
+++ /dev/null
@@ -1,67 +0,0 @@
-'use strict';
-module.exports = (iterable, mapper, opts) => new Promise((resolve, reject) => {
- opts = Object.assign({
- concurrency: Infinity
- }, opts);
-
- if (typeof mapper !== 'function') {
- throw new TypeError('Mapper function is required');
- }
-
- const concurrency = opts.concurrency;
-
- if (!(typeof concurrency === 'number' && concurrency >= 1)) {
- throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${concurrency}\` (${typeof concurrency})`);
- }
-
- const ret = [];
- const iterator = iterable[Symbol.iterator]();
- let isRejected = false;
- let iterableDone = false;
- let resolvingCount = 0;
- let currentIdx = 0;
-
- const next = () => {
- if (isRejected) {
- return;
- }
-
- const nextItem = iterator.next();
- const i = currentIdx;
- currentIdx++;
-
- if (nextItem.done) {
- iterableDone = true;
-
- if (resolvingCount === 0) {
- resolve(ret);
- }
-
- return;
- }
-
- resolvingCount++;
-
- Promise.resolve(nextItem.value)
- .then(el => mapper(el, i))
- .then(
- val => {
- ret[i] = val;
- resolvingCount--;
- next();
- },
- err => {
- isRejected = true;
- reject(err);
- }
- );
- };
-
- for (let i = 0; i < concurrency; i++) {
- next();
-
- if (iterableDone) {
- break;
- }
- }
-});
diff --git a/tools/node_modules/eslint/node_modules/p-map/package.json b/tools/node_modules/eslint/node_modules/p-map/package.json
deleted file mode 100644
index 455e05c8bf2ebf..00000000000000
--- a/tools/node_modules/eslint/node_modules/p-map/package.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/p-map/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Map over promises concurrently",
- "devDependencies": {
- "ava": "*",
- "delay": "^2.0.0",
- "in-range": "^1.0.0",
- "random-int": "^1.0.0",
- "time-span": "^2.0.0",
- "xo": "*"
- },
- "engines": {
- "node": ">=4"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/p-map#readme",
- "keywords": [
- "promise",
- "map",
- "resolved",
- "wait",
- "collection",
- "iterable",
- "iterator",
- "race",
- "fulfilled",
- "async",
- "await",
- "promises",
- "concurrently",
- "concurrency",
- "parallel",
- "bluebird"
- ],
- "license": "MIT",
- "name": "p-map",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/p-map.git"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "version": "1.2.0"
-}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/p-map/readme.md b/tools/node_modules/eslint/node_modules/p-map/readme.md
deleted file mode 100644
index 7727581a0e578c..00000000000000
--- a/tools/node_modules/eslint/node_modules/p-map/readme.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# p-map [![Build Status](https://travis-ci.org/sindresorhus/p-map.svg?branch=master)](https://travis-ci.org/sindresorhus/p-map)
-
-> Map over promises concurrently
-
-Useful when you need to run promise-returning & async functions multiple times with different inputs concurrently.
-
-
-## Install
-
-```
-$ npm install p-map
-```
-
-
-## Usage
-
-```js
-const pMap = require('p-map');
-const got = require('got');
-
-const sites = [
- getWebsiteFromUsername('sindresorhus'), //=> Promise
- 'ava.li',
- 'todomvc.com',
- 'github.com'
-];
-
-const mapper = el => got.head(el).then(res => res.requestUrl);
-
-pMap(sites, mapper, {concurrency: 2}).then(result => {
- console.log(result);
- //=> ['http://sindresorhus.com/', 'http://ava.li/', 'http://todomvc.com/', 'http://github.com/']
-});
-```
-
-
-## API
-
-### pMap(input, mapper, [options])
-
-Returns a `Promise` that is fulfilled when all promises in `input` and ones returned from `mapper` are fulfilled, or rejects if any of the promises reject. The fulfilled value is an `Array` of the fulfilled values returned from `mapper` in `input` order.
-
-#### input
-
-Type: `Iterable`
-
-Iterated over concurrently in the `mapper` function.
-
-#### mapper(element, index)
-
-Type: `Function`
-
-Expected to return a `Promise` or value.
-
-#### options
-
-Type: `Object`
-
-##### concurrency
-
-Type: `number`
-Default: `Infinity`
-Minimum: `1`
-
-Number of concurrently pending promises returned by `mapper`.
-
-
-## Related
-
-- [p-all](https://github.com/sindresorhus/p-all) - Run promise-returning & async functions concurrently with optional limited concurrency
-- [p-filter](https://github.com/sindresorhus/p-filter) - Filter promises concurrently
-- [p-times](https://github.com/sindresorhus/p-times) - Run promise-returning & async functions a specific number of times concurrently
-- [p-props](https://github.com/sindresorhus/p-props) - Like `Promise.all()` but for `Map` and `Object`
-- [p-map-series](https://github.com/sindresorhus/p-map-series) - Map over promises serially
-- [p-queue](https://github.com/sindresorhus/p-queue) - Promise queue with concurrency control
-- [More…](https://github.com/sindresorhus/promise-fun)
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/pify/index.js b/tools/node_modules/eslint/node_modules/pify/index.js
deleted file mode 100644
index 1dee43ad08f62b..00000000000000
--- a/tools/node_modules/eslint/node_modules/pify/index.js
+++ /dev/null
@@ -1,84 +0,0 @@
-'use strict';
-
-const processFn = (fn, opts) => function () {
- const P = opts.promiseModule;
- const args = new Array(arguments.length);
-
- for (let i = 0; i < arguments.length; i++) {
- args[i] = arguments[i];
- }
-
- return new P((resolve, reject) => {
- if (opts.errorFirst) {
- args.push(function (err, result) {
- if (opts.multiArgs) {
- const results = new Array(arguments.length - 1);
-
- for (let i = 1; i < arguments.length; i++) {
- results[i - 1] = arguments[i];
- }
-
- if (err) {
- results.unshift(err);
- reject(results);
- } else {
- resolve(results);
- }
- } else if (err) {
- reject(err);
- } else {
- resolve(result);
- }
- });
- } else {
- args.push(function (result) {
- if (opts.multiArgs) {
- const results = new Array(arguments.length - 1);
-
- for (let i = 0; i < arguments.length; i++) {
- results[i] = arguments[i];
- }
-
- resolve(results);
- } else {
- resolve(result);
- }
- });
- }
-
- fn.apply(this, args);
- });
-};
-
-module.exports = (obj, opts) => {
- opts = Object.assign({
- exclude: [/.+(Sync|Stream)$/],
- errorFirst: true,
- promiseModule: Promise
- }, opts);
-
- const filter = key => {
- const match = pattern => typeof pattern === 'string' ? key === pattern : pattern.test(key);
- return opts.include ? opts.include.some(match) : !opts.exclude.some(match);
- };
-
- let ret;
- if (typeof obj === 'function') {
- ret = function () {
- if (opts.excludeMain) {
- return obj.apply(this, arguments);
- }
-
- return processFn(obj, opts).apply(this, arguments);
- };
- } else {
- ret = Object.create(Object.getPrototypeOf(obj));
- }
-
- for (const key in obj) { // eslint-disable-line guard-for-in
- const x = obj[key];
- ret[key] = typeof x === 'function' && filter(key) ? processFn(x, opts) : x;
- }
-
- return ret;
-};
diff --git a/tools/node_modules/eslint/node_modules/pify/package.json b/tools/node_modules/eslint/node_modules/pify/package.json
deleted file mode 100644
index 37d6bd41a0aeb6..00000000000000
--- a/tools/node_modules/eslint/node_modules/pify/package.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "bugs": {
- "url": "https://github.com/sindresorhus/pify/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Promisify a callback-style function",
- "devDependencies": {
- "ava": "*",
- "pinkie-promise": "^2.0.0",
- "v8-natives": "^1.0.0",
- "xo": "*"
- },
- "engines": {
- "node": ">=4"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/sindresorhus/pify#readme",
- "keywords": [
- "promise",
- "promises",
- "promisify",
- "all",
- "denodify",
- "denodeify",
- "callback",
- "cb",
- "node",
- "then",
- "thenify",
- "convert",
- "transform",
- "wrap",
- "wrapper",
- "bind",
- "to",
- "async",
- "await",
- "es2015",
- "bluebird"
- ],
- "license": "MIT",
- "name": "pify",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/pify.git"
- },
- "scripts": {
- "optimization-test": "node --allow-natives-syntax optimization-test.js",
- "test": "xo && ava && npm run optimization-test"
- },
- "version": "3.0.0"
-}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/pify/readme.md b/tools/node_modules/eslint/node_modules/pify/readme.md
deleted file mode 100644
index 376ca4e59d74c4..00000000000000
--- a/tools/node_modules/eslint/node_modules/pify/readme.md
+++ /dev/null
@@ -1,131 +0,0 @@
-# pify [![Build Status](https://travis-ci.org/sindresorhus/pify.svg?branch=master)](https://travis-ci.org/sindresorhus/pify)
-
-> Promisify a callback-style function
-
-
-## Install
-
-```
-$ npm install --save pify
-```
-
-
-## Usage
-
-```js
-const fs = require('fs');
-const pify = require('pify');
-
-// Promisify a single function
-pify(fs.readFile)('package.json', 'utf8').then(data => {
- console.log(JSON.parse(data).name);
- //=> 'pify'
-});
-
-// Promisify all methods in a module
-pify(fs).readFile('package.json', 'utf8').then(data => {
- console.log(JSON.parse(data).name);
- //=> 'pify'
-});
-```
-
-
-## API
-
-### pify(input, [options])
-
-Returns a `Promise` wrapped version of the supplied function or module.
-
-#### input
-
-Type: `Function` `Object`
-
-Callback-style function or module whose methods you want to promisify.
-
-#### options
-
-##### multiArgs
-
-Type: `boolean`
-Default: `false`
-
-By default, the promisified function will only return the second argument from the callback, which works fine for most APIs. This option can be useful for modules like `request` that return multiple arguments. Turning this on will make it return an array of all arguments from the callback, excluding the error argument, instead of just the second argument. This also applies to rejections, where it returns an array of all the callback arguments, including the error.
-
-```js
-const request = require('request');
-const pify = require('pify');
-
-pify(request, {multiArgs: true})('https://sindresorhus.com').then(result => {
- const [httpResponse, body] = result;
-});
-```
-
-##### include
-
-Type: `string[]` `RegExp[]`
-
-Methods in a module to promisify. Remaining methods will be left untouched.
-
-##### exclude
-
-Type: `string[]` `RegExp[]`
-Default: `[/.+(Sync|Stream)$/]`
-
-Methods in a module **not** to promisify. Methods with names ending with `'Sync'` are excluded by default.
-
-##### excludeMain
-
-Type: `boolean`
-Default: `false`
-
-If given module is a function itself, it will be promisified. Turn this option on if you want to promisify only methods of the module.
-
-```js
-const pify = require('pify');
-
-function fn() {
- return true;
-}
-
-fn.method = (data, callback) => {
- setImmediate(() => {
- callback(null, data);
- });
-};
-
-// Promisify methods but not `fn()`
-const promiseFn = pify(fn, {excludeMain: true});
-
-if (promiseFn()) {
- promiseFn.method('hi').then(data => {
- console.log(data);
- });
-}
-```
-
-##### errorFirst
-
-Type: `boolean`
-Default: `true`
-
-Whether the callback has an error as the first argument. You'll want to set this to `false` if you're dealing with an API that doesn't have an error as the first argument, like `fs.exists()`, some browser APIs, Chrome Extension APIs, etc.
-
-##### promiseModule
-
-Type: `Function`
-
-Custom promise module to use instead of the native one.
-
-Check out [`pinkie-promise`](https://github.com/floatdrop/pinkie-promise) if you need a tiny promise polyfill.
-
-
-## Related
-
-- [p-event](https://github.com/sindresorhus/p-event) - Promisify an event by waiting for it to be emitted
-- [p-map](https://github.com/sindresorhus/p-map) - Map over promises concurrently
-- [More…](https://github.com/sindresorhus/promise-fun)
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/tools/node_modules/eslint/node_modules/pinkie-promise/index.js b/tools/node_modules/eslint/node_modules/pinkie-promise/index.js
deleted file mode 100644
index 777377a1f777b1..00000000000000
--- a/tools/node_modules/eslint/node_modules/pinkie-promise/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = typeof Promise === 'function' ? Promise : require('pinkie');
diff --git a/tools/node_modules/eslint/node_modules/pinkie-promise/license b/tools/node_modules/eslint/node_modules/pinkie-promise/license
deleted file mode 100644
index 1aeb74fd25e171..00000000000000
--- a/tools/node_modules/eslint/node_modules/pinkie-promise/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/tools/node_modules/eslint/node_modules/pinkie-promise/package.json b/tools/node_modules/eslint/node_modules/pinkie-promise/package.json
deleted file mode 100644
index fb467d516c196d..00000000000000
--- a/tools/node_modules/eslint/node_modules/pinkie-promise/package.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "author": {
- "name": "Vsevolod Strukchinsky",
- "email": "floatdrop@gmail.com",
- "url": "github.com/floatdrop"
- },
- "bugs": {
- "url": "https://github.com/floatdrop/pinkie-promise/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "pinkie": "^2.0.0"
- },
- "deprecated": false,
- "description": "ES2015 Promise ponyfill",
- "devDependencies": {
- "mocha": "*"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/floatdrop/pinkie-promise#readme",
- "keywords": [
- "promise",
- "promises",
- "es2015",
- "es6",
- "polyfill",
- "ponyfill"
- ],
- "license": "MIT",
- "name": "pinkie-promise",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/floatdrop/pinkie-promise.git"
- },
- "scripts": {
- "test": "mocha"
- },
- "version": "2.0.1"
-}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/pinkie-promise/readme.md b/tools/node_modules/eslint/node_modules/pinkie-promise/readme.md
deleted file mode 100644
index 78477f4297d677..00000000000000
--- a/tools/node_modules/eslint/node_modules/pinkie-promise/readme.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# pinkie-promise [![Build Status](https://travis-ci.org/floatdrop/pinkie-promise.svg?branch=master)](https://travis-ci.org/floatdrop/pinkie-promise)
-
-> [ES2015 Promise](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects) ponyfill
-
-Module exports global Promise object (if available) or [`pinkie`](http://github.com/floatdrop/pinkie) Promise polyfill.
-
-## Install
-
-```
-$ npm install --save pinkie-promise
-```
-
-## Usage
-
-```js
-var Promise = require('pinkie-promise');
-
-new Promise(function (resolve) { resolve('unicorns'); });
-//=> Promise { 'unicorns' }
-```
-
-## Related
-
-- [pify](https://github.com/sindresorhus/pify) - Promisify a callback-style function
-
-## License
-
-MIT © [Vsevolod Strukchinsky](http://github.com/floatdrop)
diff --git a/tools/node_modules/eslint/node_modules/pinkie/index.js b/tools/node_modules/eslint/node_modules/pinkie/index.js
deleted file mode 100644
index 14ce1bfe3d4918..00000000000000
--- a/tools/node_modules/eslint/node_modules/pinkie/index.js
+++ /dev/null
@@ -1,292 +0,0 @@
-'use strict';
-
-var PENDING = 'pending';
-var SETTLED = 'settled';
-var FULFILLED = 'fulfilled';
-var REJECTED = 'rejected';
-var NOOP = function () {};
-var isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';
-
-var asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;
-var asyncQueue = [];
-var asyncTimer;
-
-function asyncFlush() {
- // run promise callbacks
- for (var i = 0; i < asyncQueue.length; i++) {
- asyncQueue[i][0](asyncQueue[i][1]);
- }
-
- // reset async asyncQueue
- asyncQueue = [];
- asyncTimer = false;
-}
-
-function asyncCall(callback, arg) {
- asyncQueue.push([callback, arg]);
-
- if (!asyncTimer) {
- asyncTimer = true;
- asyncSetTimer(asyncFlush, 0);
- }
-}
-
-function invokeResolver(resolver, promise) {
- function resolvePromise(value) {
- resolve(promise, value);
- }
-
- function rejectPromise(reason) {
- reject(promise, reason);
- }
-
- try {
- resolver(resolvePromise, rejectPromise);
- } catch (e) {
- rejectPromise(e);
- }
-}
-
-function invokeCallback(subscriber) {
- var owner = subscriber.owner;
- var settled = owner._state;
- var value = owner._data;
- var callback = subscriber[settled];
- var promise = subscriber.then;
-
- if (typeof callback === 'function') {
- settled = FULFILLED;
- try {
- value = callback(value);
- } catch (e) {
- reject(promise, e);
- }
- }
-
- if (!handleThenable(promise, value)) {
- if (settled === FULFILLED) {
- resolve(promise, value);
- }
-
- if (settled === REJECTED) {
- reject(promise, value);
- }
- }
-}
-
-function handleThenable(promise, value) {
- var resolved;
-
- try {
- if (promise === value) {
- throw new TypeError('A promises callback cannot return that same promise.');
- }
-
- if (value && (typeof value === 'function' || typeof value === 'object')) {
- // then should be retrieved only once
- var then = value.then;
-
- if (typeof then === 'function') {
- then.call(value, function (val) {
- if (!resolved) {
- resolved = true;
-
- if (value === val) {
- fulfill(promise, val);
- } else {
- resolve(promise, val);
- }
- }
- }, function (reason) {
- if (!resolved) {
- resolved = true;
-
- reject(promise, reason);
- }
- });
-
- return true;
- }
- }
- } catch (e) {
- if (!resolved) {
- reject(promise, e);
- }
-
- return true;
- }
-
- return false;
-}
-
-function resolve(promise, value) {
- if (promise === value || !handleThenable(promise, value)) {
- fulfill(promise, value);
- }
-}
-
-function fulfill(promise, value) {
- if (promise._state === PENDING) {
- promise._state = SETTLED;
- promise._data = value;
-
- asyncCall(publishFulfillment, promise);
- }
-}
-
-function reject(promise, reason) {
- if (promise._state === PENDING) {
- promise._state = SETTLED;
- promise._data = reason;
-
- asyncCall(publishRejection, promise);
- }
-}
-
-function publish(promise) {
- promise._then = promise._then.forEach(invokeCallback);
-}
-
-function publishFulfillment(promise) {
- promise._state = FULFILLED;
- publish(promise);
-}
-
-function publishRejection(promise) {
- promise._state = REJECTED;
- publish(promise);
- if (!promise._handled && isNode) {
- global.process.emit('unhandledRejection', promise._data, promise);
- }
-}
-
-function notifyRejectionHandled(promise) {
- global.process.emit('rejectionHandled', promise);
-}
-
-/**
- * @class
- */
-function Promise(resolver) {
- if (typeof resolver !== 'function') {
- throw new TypeError('Promise resolver ' + resolver + ' is not a function');
- }
-
- if (this instanceof Promise === false) {
- throw new TypeError('Failed to construct \'Promise\': Please use the \'new\' operator, this object constructor cannot be called as a function.');
- }
-
- this._then = [];
-
- invokeResolver(resolver, this);
-}
-
-Promise.prototype = {
- constructor: Promise,
-
- _state: PENDING,
- _then: null,
- _data: undefined,
- _handled: false,
-
- then: function (onFulfillment, onRejection) {
- var subscriber = {
- owner: this,
- then: new this.constructor(NOOP),
- fulfilled: onFulfillment,
- rejected: onRejection
- };
-
- if ((onRejection || onFulfillment) && !this._handled) {
- this._handled = true;
- if (this._state === REJECTED && isNode) {
- asyncCall(notifyRejectionHandled, this);
- }
- }
-
- if (this._state === FULFILLED || this._state === REJECTED) {
- // already resolved, call callback async
- asyncCall(invokeCallback, subscriber);
- } else {
- // subscribe
- this._then.push(subscriber);
- }
-
- return subscriber.then;
- },
-
- catch: function (onRejection) {
- return this.then(null, onRejection);
- }
-};
-
-Promise.all = function (promises) {
- if (!Array.isArray(promises)) {
- throw new TypeError('You must pass an array to Promise.all().');
- }
-
- return new Promise(function (resolve, reject) {
- var results = [];
- var remaining = 0;
-
- function resolver(index) {
- remaining++;
- return function (value) {
- results[index] = value;
- if (!--remaining) {
- resolve(results);
- }
- };
- }
-
- for (var i = 0, promise; i < promises.length; i++) {
- promise = promises[i];
-
- if (promise && typeof promise.then === 'function') {
- promise.then(resolver(i), reject);
- } else {
- results[i] = promise;
- }
- }
-
- if (!remaining) {
- resolve(results);
- }
- });
-};
-
-Promise.race = function (promises) {
- if (!Array.isArray(promises)) {
- throw new TypeError('You must pass an array to Promise.race().');
- }
-
- return new Promise(function (resolve, reject) {
- for (var i = 0, promise; i < promises.length; i++) {
- promise = promises[i];
-
- if (promise && typeof promise.then === 'function') {
- promise.then(resolve, reject);
- } else {
- resolve(promise);
- }
- }
- });
-};
-
-Promise.resolve = function (value) {
- if (value && typeof value === 'object' && value.constructor === Promise) {
- return value;
- }
-
- return new Promise(function (resolve) {
- resolve(value);
- });
-};
-
-Promise.reject = function (reason) {
- return new Promise(function (resolve, reject) {
- reject(reason);
- });
-};
-
-module.exports = Promise;
diff --git a/tools/node_modules/eslint/node_modules/pinkie/license b/tools/node_modules/eslint/node_modules/pinkie/license
deleted file mode 100644
index 1aeb74fd25e171..00000000000000
--- a/tools/node_modules/eslint/node_modules/pinkie/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/tools/node_modules/eslint/node_modules/pinkie/package.json b/tools/node_modules/eslint/node_modules/pinkie/package.json
deleted file mode 100644
index e554170bb8a5ba..00000000000000
--- a/tools/node_modules/eslint/node_modules/pinkie/package.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "author": {
- "name": "Vsevolod Strukchinsky",
- "email": "floatdrop@gmail.com",
- "url": "github.com/floatdrop"
- },
- "bugs": {
- "url": "https://github.com/floatdrop/pinkie/issues"
- },
- "bundleDependencies": false,
- "deprecated": false,
- "description": "Itty bitty little widdle twinkie pinkie ES2015 Promise implementation",
- "devDependencies": {
- "core-assert": "^0.1.1",
- "coveralls": "^2.11.4",
- "mocha": "*",
- "nyc": "^3.2.2",
- "promises-aplus-tests": "*",
- "xo": "^0.10.1"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/floatdrop/pinkie#readme",
- "keywords": [
- "promise",
- "promises",
- "es2015",
- "es6"
- ],
- "license": "MIT",
- "name": "pinkie",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/floatdrop/pinkie.git"
- },
- "scripts": {
- "coverage": "nyc report --reporter=text-lcov | coveralls",
- "test": "xo && nyc mocha"
- },
- "version": "2.0.4"
-}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/pinkie/readme.md b/tools/node_modules/eslint/node_modules/pinkie/readme.md
deleted file mode 100644
index 1565f95889661b..00000000000000
--- a/tools/node_modules/eslint/node_modules/pinkie/readme.md
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
-
-
-
-
-> Itty bitty little widdle twinkie pinkie [ES2015 Promise](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects) implementation
-
-[![Build Status](https://travis-ci.org/floatdrop/pinkie.svg?branch=master)](https://travis-ci.org/floatdrop/pinkie) [![Coverage Status](https://coveralls.io/repos/floatdrop/pinkie/badge.svg?branch=master&service=github)](https://coveralls.io/github/floatdrop/pinkie?branch=master)
-
-There are [tons of Promise implementations](https://github.com/promises-aplus/promises-spec/blob/master/implementations.md#standalone) out there, but all of them focus on browser compatibility and are often bloated with functionality.
-
-This module is an exact Promise specification polyfill (like [native-promise-only](https://github.com/getify/native-promise-only)), but in Node.js land (it should be browserify-able though).
-
-
-## Install
-
-```
-$ npm install --save pinkie
-```
-
-
-## Usage
-
-```js
-var fs = require('fs');
-var Promise = require('pinkie');
-
-new Promise(function (resolve, reject) {
- fs.readFile('foo.json', 'utf8', function (err, data) {
- if (err) {
- reject(err);
- return;
- }
-
- resolve(data);
- });
-});
-//=> Promise
-```
-
-
-### API
-
-`pinkie` exports bare [ES2015 Promise](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects) implementation and polyfills [Node.js rejection events](https://nodejs.org/api/process.html#process_event_unhandledrejection). In case you forgot:
-
-#### new Promise(executor)
-
-Returns new instance of `Promise`.
-
-##### executor
-
-*Required*
-Type: `function`
-
-Function with two arguments `resolve` and `reject`. The first argument fulfills the promise, the second argument rejects it.
-
-#### pinkie.all(promises)
-
-Returns a promise that resolves when all of the promises in the `promises` Array argument have resolved.
-
-#### pinkie.race(promises)
-
-Returns a promise that resolves or rejects as soon as one of the promises in the `promises` Array resolves or rejects, with the value or reason from that promise.
-
-#### pinkie.reject(reason)
-
-Returns a Promise object that is rejected with the given `reason`.
-
-#### pinkie.resolve(value)
-
-Returns a Promise object that is resolved with the given `value`. If the `value` is a thenable (i.e. has a then method), the returned promise will "follow" that thenable, adopting its eventual state; otherwise the returned promise will be fulfilled with the `value`.
-
-
-## Related
-
-- [pinkie-promise](https://github.com/floatdrop/pinkie-promise) - Returns the native Promise or this module
-
-
-## License
-
-MIT © [Vsevolod Strukchinsky](http://github.com/floatdrop)
diff --git a/tools/node_modules/eslint/node_modules/progress/lib/node-progress.js b/tools/node_modules/eslint/node_modules/progress/lib/node-progress.js
index 5b56c1529d57b3..8eb0740a721c67 100644
--- a/tools/node_modules/eslint/node_modules/progress/lib/node-progress.js
+++ b/tools/node_modules/eslint/node_modules/progress/lib/node-progress.js
@@ -98,7 +98,7 @@ ProgressBar.prototype.tick = function(len, tokens){
// progress complete
if (this.curr >= this.total) {
- this.render();
+ this.render(undefined, true);
this.complete = true;
this.terminate();
this.callback(this);
@@ -114,14 +114,15 @@ ProgressBar.prototype.tick = function(len, tokens){
* @api public
*/
-ProgressBar.prototype.render = function (tokens) {
+ProgressBar.prototype.render = function (tokens, force) {
+ force = force !== undefined ? force : false;
if (tokens) this.tokens = tokens;
if (!this.stream.isTTY) return;
var now = Date.now();
var delta = now - this.lastRender;
- if (delta < this.renderThrottle) {
+ if (!force && (delta < this.renderThrottle)) {
return;
} else {
this.lastRender = now;
diff --git a/tools/node_modules/eslint/node_modules/progress/package.json b/tools/node_modules/eslint/node_modules/progress/package.json
index d20aaf0f9e27d5..64511f8344114f 100644
--- a/tools/node_modules/eslint/node_modules/progress/package.json
+++ b/tools/node_modules/eslint/node_modules/progress/package.json
@@ -43,5 +43,5 @@
"type": "git",
"url": "git://github.com/visionmedia/node-progress.git"
},
- "version": "2.0.1"
+ "version": "2.0.3"
}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/index.js b/tools/node_modules/eslint/node_modules/slice-ansi/index.js
index 634ee9c7be775b..65a1aef5c83d90 100755
--- a/tools/node_modules/eslint/node_modules/slice-ansi/index.js
+++ b/tools/node_modules/eslint/node_modules/slice-ansi/index.js
@@ -1,5 +1,7 @@
'use strict';
const isFullwidthCodePoint = require('is-fullwidth-code-point');
+const astralRegex = require('astral-regex');
+const ansiStyles = require('ansi-styles');
const ESCAPES = [
'\u001B',
@@ -7,55 +9,23 @@ const ESCAPES = [
];
const END_CODE = 39;
-const ASTRAL_REGEX = /[\uD800-\uDBFF][\uDC00-\uDFFF]/;
-
-const ESCAPE_CODES = new Map([
- [0, 0],
- [1, 22],
- [2, 22],
- [3, 23],
- [4, 24],
- [7, 27],
- [8, 28],
- [9, 29],
- [30, 39],
- [31, 39],
- [32, 39],
- [33, 39],
- [34, 39],
- [35, 39],
- [36, 39],
- [37, 39],
- [90, 39],
- [40, 49],
- [41, 49],
- [42, 49],
- [43, 49],
- [44, 49],
- [45, 49],
- [46, 49],
- [47, 49]
-]);
const wrapAnsi = code => `${ESCAPES[0]}[${code}m`;
module.exports = (str, begin, end) => {
- const arr = Array.from(str.normalize());
+ const arr = [...str.normalize()];
end = typeof end === 'number' ? end : arr.length;
let insideEscape = false;
- let escapeCode;
+ let escapeCode = null;
let visible = 0;
let output = '';
- for (const item of arr.entries()) {
- const i = item[0];
- const x = item[1];
-
+ for (const [i, x] of arr.entries()) {
let leftEscape = false;
- if (ESCAPES.indexOf(x) !== -1) {
+ if (ESCAPES.includes(x)) {
insideEscape = true;
const code = /\d[^m]*/.exec(str.slice(i, i + 4));
escapeCode = code === END_CODE ? null : code;
@@ -68,17 +38,17 @@ module.exports = (str, begin, end) => {
++visible;
}
- if (!ASTRAL_REGEX.test(x) && isFullwidthCodePoint(x.codePointAt())) {
+ if (!astralRegex({exact: true}).test(x) && isFullwidthCodePoint(x.codePointAt())) {
++visible;
}
if (visible > begin && visible <= end) {
output += x;
- } else if (visible === begin && !insideEscape && escapeCode !== undefined && escapeCode !== END_CODE) {
+ } else if (visible === begin && !insideEscape && escapeCode !== null && escapeCode !== END_CODE) {
output += wrapAnsi(escapeCode);
} else if (visible >= end) {
- if (escapeCode !== undefined) {
- output += wrapAnsi(ESCAPE_CODES.get(parseInt(escapeCode, 10)) || END_CODE);
+ if (escapeCode !== null) {
+ output += wrapAnsi(ansiStyles.codes.get(parseInt(escapeCode, 10)) || END_CODE);
}
break;
}
diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/package.json b/tools/node_modules/eslint/node_modules/slice-ansi/package.json
index 7d63fad2d0703b..f0f253539f9dc2 100644
--- a/tools/node_modules/eslint/node_modules/slice-ansi/package.json
+++ b/tools/node_modules/eslint/node_modules/slice-ansi/package.json
@@ -1,26 +1,24 @@
{
- "author": {
- "name": "David Caccavella",
- "email": "threedeecee@gmail.com"
- },
"bugs": {
"url": "https://github.com/chalk/slice-ansi/issues"
},
"bundleDependencies": false,
"dependencies": {
+ "ansi-styles": "^3.2.0",
+ "astral-regex": "^1.0.0",
"is-fullwidth-code-point": "^2.0.0"
},
"deprecated": false,
"description": "Slice a string with ANSI escape codes",
"devDependencies": {
- "ava": "*",
+ "ava": "^0.25.0",
"chalk": "^2.0.1",
"random-item": "^1.0.0",
- "strip-ansi": "^4.0.0",
- "xo": "*"
+ "strip-ansi": "^5.0.0",
+ "xo": "^0.23.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=6"
},
"files": [
"index.js"
@@ -58,5 +56,5 @@
"scripts": {
"test": "xo && ava"
},
- "version": "1.0.0"
+ "version": "2.0.0"
}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/slice-ansi/readme.md b/tools/node_modules/eslint/node_modules/slice-ansi/readme.md
index 628eed2e5053b4..7e9243e46a9086 100755
--- a/tools/node_modules/eslint/node_modules/slice-ansi/readme.md
+++ b/tools/node_modules/eslint/node_modules/slice-ansi/readme.md
@@ -1,4 +1,4 @@
-# slice-ansi [![Build Status](https://travis-ci.org/chalk/slice-ansi.svg?branch=master)](https://travis-ci.org/chalk/slice-ansi) [![XO: Linted](https://img.shields.io/badge/xo-linted-blue.svg)](https://github.com/sindresorhus/xo)
+# slice-ansi [![Build Status](https://travis-ci.org/chalk/slice-ansi.svg?branch=master)](https://travis-ci.org/chalk/slice-ansi) [![XO: Linted](https://img.shields.io/badge/xo-linted-blue.svg)](https://github.com/xojs/xo)
> Slice a string with [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles)
diff --git a/tools/node_modules/eslint/node_modules/table/package.json b/tools/node_modules/eslint/node_modules/table/package.json
index 3e6fcb12d1985a..ea3580ca152692 100644
--- a/tools/node_modules/eslint/node_modules/table/package.json
+++ b/tools/node_modules/eslint/node_modules/table/package.json
@@ -9,19 +9,19 @@
},
"bundleDependencies": false,
"dependencies": {
- "ajv": "^6.5.3",
- "lodash": "^4.17.10",
- "slice-ansi": "1.0.0",
+ "ajv": "^6.6.1",
+ "lodash": "^4.17.11",
+ "slice-ansi": "2.0.0",
"string-width": "^2.1.1"
},
"deprecated": false,
"description": "Formats data into a string table.",
"devDependencies": {
- "@babel/cli": "^7.1.2",
- "@babel/core": "^7.1.2",
+ "@babel/cli": "^7.1.5",
+ "@babel/core": "^7.1.6",
"@babel/node": "^7.0.0",
- "@babel/plugin-transform-flow-strip-types": "^7.0.0",
- "@babel/preset-env": "^7.1.0",
+ "@babel/plugin-transform-flow-strip-types": "^7.1.6",
+ "@babel/preset-env": "^7.1.6",
"@babel/register": "^7.0.0",
"ajv-cli": "^3.0.0",
"ajv-keywords": "^3.2.0",
@@ -30,16 +30,16 @@
"chai": "^4.2.0",
"chalk": "^2.4.1",
"coveralls": "^3.0.2",
- "eslint": "^5.6.1",
+ "eslint": "^5.9.0",
"eslint-config-canonical": "^13.0.0",
- "flow-bin": "^0.81.0",
+ "flow-bin": "^0.87.0",
"flow-copy-source": "^2.0.2",
- "gitdown": "^2.5.4",
- "husky": "^1.0.1",
+ "gitdown": "^2.5.5",
+ "husky": "^1.2.0",
"mocha": "^5.2.0",
"nyc": "^13.1.0",
- "semantic-release": "^15.9.16",
- "sinon": "^6.3.4"
+ "semantic-release": "^15.12.3",
+ "sinon": "^7.1.1"
},
"engines": {
"node": ">=6.0.0"
@@ -85,5 +85,5 @@
"lint": "npm run build && eslint ./src ./test && flow",
"test": "mocha --require @babel/register"
},
- "version": "5.1.0"
+ "version": "5.1.1"
}
\ No newline at end of file
diff --git a/tools/node_modules/eslint/node_modules/vfile-location/index.js b/tools/node_modules/eslint/node_modules/vfile-location/index.js
index e2046ce22b3e4c..2d7c21c1808b7f 100644
--- a/tools/node_modules/eslint/node_modules/vfile-location/index.js
+++ b/tools/node_modules/eslint/node_modules/vfile-location/index.js
@@ -1,9 +1,7 @@
'use strict'
-/* Expose. */
module.exports = factory
-/* Factory. */
function factory(file) {
var contents = indices(String(file))
@@ -13,13 +11,12 @@ function factory(file) {
}
}
-/* Factory to get the line and column-based `position` for
- * `offset` in the bound indices. */
+// Factory to get the line and column-based `position` for `offset` in the bound
+// indices.
function offsetToPositionFactory(indices) {
return offsetToPosition
- /* Get the line and column-based `position` for
- * `offset` in the bound indices. */
+ // Get the line and column-based `position` for `offset` in the bound indices.
function offsetToPosition(offset) {
var index = -1
var length = indices.length
@@ -42,13 +39,13 @@ function offsetToPositionFactory(indices) {
}
}
-/* Factory to get the `offset` for a line and column-based
- * `position` in the bound indices. */
+// Factory to get the `offset` for a line and column-based `position` in the
+// bound indices.
function positionToOffsetFactory(indices) {
return positionToOffset
- /* Get the `offset` for a line and column-based
- * `position` in the bound indices. */
+ // Get the `offset` for a line and column-based `position` in the bound
+ // indices.
function positionToOffset(position) {
var line = position && position.line
var column = position && position.column
@@ -61,7 +58,7 @@ function positionToOffsetFactory(indices) {
}
}
-/* Get indices of line-breaks in `value`. */
+// Get indices of line-breaks in `value`.
function indices(value) {
var result = []
var index = value.indexOf('\n')
diff --git a/tools/node_modules/eslint/node_modules/vfile-location/package.json b/tools/node_modules/eslint/node_modules/vfile-location/package.json
index e6f5695ec0c23d..d7e748e789a82b 100644
--- a/tools/node_modules/eslint/node_modules/vfile-location/package.json
+++ b/tools/node_modules/eslint/node_modules/vfile-location/package.json
@@ -2,7 +2,7 @@
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
- "url": "http://wooorm.com"
+ "url": "https://wooorm.com"
},
"bugs": {
"url": "https://github.com/vfile/vfile-location/issues"
@@ -12,7 +12,7 @@
{
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
- "url": "http://wooorm.com"
+ "url": "https://wooorm.com"
}
],
"dependencies": {},
@@ -20,14 +20,14 @@
"description": "Convert between positions (line and column-based) and offsets (range-based) locations in a virtual file",
"devDependencies": {
"browserify": "^16.0.0",
- "esmangle": "^1.0.1",
- "nyc": "^11.0.0",
+ "nyc": "^13.0.0",
"prettier": "^1.12.1",
- "remark-cli": "^5.0.0",
+ "remark-cli": "^6.0.0",
"remark-preset-wooorm": "^4.0.0",
"tape": "^4.0.0",
- "vfile": "^2.0.0",
- "xo": "^0.20.0"
+ "tinyify": "^2.4.3",
+ "vfile": "^3.0.0",
+ "xo": "^0.23.0"
},
"files": [
"index.js"
@@ -67,14 +67,14 @@
},
"scripts": {
"build": "npm run build-bundle && npm run build-mangle",
- "build-bundle": "browserify index.js --bare -s vfileLocation > vfile-location.js",
- "build-mangle": "esmangle vfile-location.js > vfile-location.min.js",
+ "build-bundle": "browserify . -s vfileLocation > vfile-location.js",
+ "build-mangle": "browserify . -s vfileLocation -p tinyify > vfile-location.min.js",
"format": "remark . -qfo && prettier --write '**/*.js' && xo --fix",
"test": "npm run format && npm run build && npm run test-coverage",
"test-api": "node test",
"test-coverage": "nyc --reporter lcov tape test.js"
},
- "version": "2.0.3",
+ "version": "2.0.4",
"xo": {
"prettier": true,
"esnext": false,
diff --git a/tools/node_modules/eslint/node_modules/vfile-location/readme.md b/tools/node_modules/eslint/node_modules/vfile-location/readme.md
index 87e27dcd8ef0f4..8b2d91f1564e6f 100644
--- a/tools/node_modules/eslint/node_modules/vfile-location/readme.md
+++ b/tools/node_modules/eslint/node_modules/vfile-location/readme.md
@@ -1,4 +1,9 @@
-# vfile-location [![Build Status][travis-badge]][travis] [![Coverage Status][codecov-badge]][codecov]
+# vfile-location
+
+[![Build][build-badge]][build]
+[![Coverage][coverage-badge]][coverage]
+[![Downloads][downloads-badge]][downloads]
+[![Chat][chat-badge]][chat]
Convert between positions (line and column-based) and offsets
(range-based) locations in a [virtual file][vfile].
@@ -57,19 +62,27 @@ repository, organisation, or community you agree to abide by its terms.
-[travis-badge]: https://img.shields.io/travis/vfile/vfile-location.svg
+[build-badge]: https://img.shields.io/travis/vfile/vfile-location.svg
+
+[build]: https://travis-ci.org/vfile/vfile-location
+
+[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-location.svg
+
+[coverage]: https://codecov.io/github/vfile/vfile-location
+
+[downloads-badge]: https://img.shields.io/npm/dm/vfile-location.svg
-[travis]: https://travis-ci.org/vfile/vfile-location
+[downloads]: https://www.npmjs.com/package/vfile-location
-[codecov-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-location.svg
+[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg
-[codecov]: https://codecov.io/github/vfile/vfile-location
+[chat]: https://spectrum.chat/unified/vfile
[npm]: https://docs.npmjs.com/cli/install
-[license]: LICENSE
+[license]: license
-[author]: http://wooorm.com
+[author]: https://wooorm.com
[vfile]: https://github.com/vfile/vfile
diff --git a/tools/node_modules/eslint/node_modules/vfile-message/index.js b/tools/node_modules/eslint/node_modules/vfile-message/index.js
index 1a63df89f5b163..c913753249edad 100644
--- a/tools/node_modules/eslint/node_modules/vfile-message/index.js
+++ b/tools/node_modules/eslint/node_modules/vfile-message/index.js
@@ -4,12 +4,12 @@ var stringify = require('unist-util-stringify-position')
module.exports = VMessage
-/* Inherit from `Error#`. */
+// Inherit from `Error#`.
function VMessagePrototype() {}
VMessagePrototype.prototype = Error.prototype
VMessage.prototype = new VMessagePrototype()
-/* Message properties. */
+// Message properties.
var proto = VMessage.prototype
proto.file = ''
@@ -21,11 +21,11 @@ proto.fatal = null
proto.column = null
proto.line = null
-/* Construct a new VMessage.
- *
- * Note: We cannot invoke `Error` on the created context,
- * as that adds readonly `line` and `column` attributes on
- * Safari 9, thus throwing and failing the data. */
+// Construct a new VMessage.
+//
+// Note: We cannot invoke `Error` on the created context, as that adds readonly
+// `line` and `column` attributes on Safari 9, thus throwing and failing the
+// data.
function VMessage(reason, position, origin) {
var parts
var range
@@ -44,18 +44,18 @@ function VMessage(reason, position, origin) {
end: {line: null, column: null}
}
- /* Node. */
+ // Node.
if (position && position.position) {
position = position.position
}
if (position) {
- /* Position. */
+ // Position.
if (position.start) {
location = position
position = position.start
} else {
- /* Point. */
+ // Point.
location.start = position
}
}
diff --git a/tools/node_modules/eslint/node_modules/vfile-message/package.json b/tools/node_modules/eslint/node_modules/vfile-message/package.json
index 0e54c49bf5c79d..e514c057c2bfa0 100644
--- a/tools/node_modules/eslint/node_modules/vfile-message/package.json
+++ b/tools/node_modules/eslint/node_modules/vfile-message/package.json
@@ -2,7 +2,7 @@
"author": {
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
- "url": "http://wooorm.com"
+ "url": "https://wooorm.com"
},
"bugs": {
"url": "https://github.com/vfile/vfile-message/issues"
@@ -12,7 +12,7 @@
{
"name": "Titus Wormer",
"email": "tituswormer@gmail.com",
- "url": "http://wooorm.com"
+ "url": "https://wooorm.com"
}
],
"dependencies": {
@@ -22,13 +22,13 @@
"description": "Create a virtual message",
"devDependencies": {
"browserify": "^16.0.0",
- "esmangle": "^1.0.1",
- "nyc": "^11.0.0",
+ "nyc": "^13.0.0",
"prettier": "^1.12.1",
- "remark-cli": "^5.0.0",
+ "remark-cli": "^6.0.0",
"remark-preset-wooorm": "^4.0.0",
"tape": "^4.0.0",
- "xo": "^0.20.0"
+ "tinyify": "^2.4.3",
+ "xo": "^0.23.0"
},
"files": [
"index.js"
@@ -66,14 +66,14 @@
},
"scripts": {
"build": "npm run build-bundle && npm run build-mangle",
- "build-bundle": "browserify index.js --bare -s vfileMessage > vfile-message.js",
- "build-mangle": "esmangle vfile-message.js > vfile-message.min.js",
+ "build-bundle": "browserify . -s vfileMessage > vfile-message.js",
+ "build-mangle": "browserify . -s vfileMessage -p tinyify > vfile-message.min.js",
"format": "remark . -qfo && prettier --write '**/*.js' && xo --fix",
"test": "npm run format && npm run build && npm run test-coverage",
"test-api": "node test",
"test-coverage": "nyc --reporter lcov tape test.js"
},
- "version": "1.0.1",
+ "version": "1.0.2",
"xo": {
"prettier": true,
"esnext": false,
diff --git a/tools/node_modules/eslint/node_modules/vfile-message/readme.md b/tools/node_modules/eslint/node_modules/vfile-message/readme.md
index c69cc406e35e74..0c88353a53c9cf 100644
--- a/tools/node_modules/eslint/node_modules/vfile-message/readme.md
+++ b/tools/node_modules/eslint/node_modules/vfile-message/readme.md
@@ -1,4 +1,9 @@
-# vfile-message [![Build Status][travis-badge]][travis] [![Coverage Status][codecov-badge]][codecov]
+# vfile-message
+
+[![Build][build-badge]][build]
+[![Coverage][coverage-badge]][coverage]
+[![Downloads][downloads-badge]][downloads]
+[![Chat][chat-badge]][chat]
Create [vfile][] messages.
@@ -144,19 +149,27 @@ repository, organisation, or community you agree to abide by its terms.
-[travis-badge]: https://img.shields.io/travis/vfile/vfile-message.svg
+[build-badge]: https://img.shields.io/travis/vfile/vfile-message.svg
+
+[build]: https://travis-ci.org/vfile/vfile-message
+
+[coverage-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-message.svg
+
+[coverage]: https://codecov.io/github/vfile/vfile-message
+
+[downloads-badge]: https://img.shields.io/npm/dm/vfile-message.svg
-[travis]: https://travis-ci.org/vfile/vfile-message
+[downloads]: https://www.npmjs.com/package/vfile-message
-[codecov-badge]: https://img.shields.io/codecov/c/github/vfile/vfile-message.svg
+[chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg
-[codecov]: https://codecov.io/github/vfile/vfile-message
+[chat]: https://spectrum.chat/unified/vfile
[npm]: https://docs.npmjs.com/cli/install
-[license]: LICENSE
+[license]: license
-[author]: http://wooorm.com
+[author]: https://wooorm.com
[error]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error
diff --git a/tools/node_modules/eslint/package.json b/tools/node_modules/eslint/package.json
index f35659fc8a1c23..39bed7a7e7ef51 100644
--- a/tools/node_modules/eslint/package.json
+++ b/tools/node_modules/eslint/package.json
@@ -21,7 +21,7 @@
"eslint-scope": "^4.0.0",
"eslint-utils": "^1.3.1",
"eslint-visitor-keys": "^1.0.0",
- "espree": "^4.0.0",
+ "espree": "^5.0.0",
"esquery": "^1.0.1",
"esutils": "^2.0.2",
"file-entry-cache": "^2.0.0",
@@ -31,7 +31,6 @@
"ignore": "^4.0.6",
"imurmurhash": "^0.1.4",
"inquirer": "^6.1.0",
- "is-resolvable": "^1.1.0",
"js-yaml": "^3.12.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.3.0",
@@ -69,7 +68,7 @@
"eslint-plugin-eslint-plugin": "^1.4.1",
"eslint-plugin-node": "^8.0.0",
"eslint-plugin-rulesdir": "^0.1.0",
- "eslint-release": "^1.0.0",
+ "eslint-release": "^1.2.0",
"eslint-rule-composer": "^0.3.0",
"eslump": "^1.6.2",
"esprima": "^4.0.1",
@@ -135,5 +134,5 @@
"publish-release": "node Makefile.js publishRelease",
"test": "node Makefile.js test"
},
- "version": "5.9.0"
+ "version": "5.10.0"
}
\ No newline at end of file