mirror of
https://github.com/nodejs/node.git
synced 2026-10-14 10:26:26 -04:00
tools: update to ESLint 4.1.0
Update ESLint to 4.1.0. This fixes a bug that previously prevented us from using the new and stricter indentation checking. Refs: https://github.com/eslint/eslint/issues/8721 PR-URL: https://github.com/nodejs/node/pull/13895 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit is contained in:
1 parent
fda25665be
commit
aaee43473b
242 files changed
+10317
-10809
No files matched your search
@@ -137,6 +137,10 @@ These folks keep the project moving and are resources for help.
|
||||
|
||||
We have scheduled releases every two weeks on Friday or Saturday.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
ESLint adheres to the [JS Foundation Code of Conduct](https://js.foundation/community/code-of-conduct).
|
||||
|
||||
## Filing Issues
|
||||
|
||||
Before filing an issue, please be sure to read the guidelines for what you're reporting:
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
/**
|
||||
* @fileoverview Defines a schema for configs.
|
||||
* @author Sylvan Mably
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
const baseConfigProperties = {
|
||||
env: { type: "object" },
|
||||
globals: { type: "object" },
|
||||
parser: { type: ["string", "null"] },
|
||||
parserOptions: { type: "object" },
|
||||
plugins: { type: "array" },
|
||||
rules: { type: "object" },
|
||||
settings: { type: "object" }
|
||||
};
|
||||
|
||||
const overrideProperties = Object.assign(
|
||||
{},
|
||||
baseConfigProperties,
|
||||
{
|
||||
files: {
|
||||
oneOf: [
|
||||
{ type: "string" },
|
||||
{
|
||||
type: "array",
|
||||
items: { type: "string" },
|
||||
minItems: 1
|
||||
}
|
||||
]
|
||||
},
|
||||
excludedFiles: {
|
||||
oneOf: [
|
||||
{ type: "string" },
|
||||
{
|
||||
type: "array",
|
||||
items: { type: "string" }
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
const topLevelConfigProperties = Object.assign(
|
||||
{},
|
||||
baseConfigProperties,
|
||||
{
|
||||
extends: { type: ["string", "array"] },
|
||||
root: { type: "boolean" },
|
||||
overrides: {
|
||||
type: "array",
|
||||
items: {
|
||||
type: "object",
|
||||
properties: overrideProperties,
|
||||
required: ["files"],
|
||||
additionalProperties: false
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
const configSchema = {
|
||||
type: "object",
|
||||
properties: topLevelConfigProperties,
|
||||
additionalProperties: false
|
||||
};
|
||||
|
||||
module.exports = configSchema;
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"root": { "type": "boolean" },
|
||||
"globals": { "type": ["object"] },
|
||||
"parser": { "type": ["string", "null"] },
|
||||
"env": { "type": "object" },
|
||||
"plugins": { "type": ["array"] },
|
||||
"settings": { "type": "object" },
|
||||
"extends": { "type": ["string", "array"] },
|
||||
"rules": { "type": "object" },
|
||||
"parserOptions": { "type": "object" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
@@ -25,9 +25,5 @@ module.exports = deepFreeze({
|
||||
rules: {},
|
||||
settings: {},
|
||||
parser: "espree",
|
||||
parserOptions: {
|
||||
ecmaVersion: 5,
|
||||
sourceType: "script",
|
||||
ecmaFeatures: {}
|
||||
}
|
||||
parserOptions: {}
|
||||
});
|
||||
@@ -23,11 +23,9 @@ const fs = require("fs"),
|
||||
Config = require("./config"),
|
||||
fileEntryCache = require("file-entry-cache"),
|
||||
globUtil = require("./util/glob-util"),
|
||||
SourceCodeFixer = require("./util/source-code-fixer"),
|
||||
validator = require("./config/config-validator"),
|
||||
stringify = require("json-stable-stringify"),
|
||||
hash = require("./util/hash"),
|
||||
|
||||
pkg = require("../package.json");
|
||||
|
||||
const debug = require("debug")("eslint:cli-engine");
|
||||
@@ -132,80 +130,6 @@ function calculateStatsPerRun(results) {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Performs multiple autofix passes over the text until as many fixes as possible
|
||||
* have been applied.
|
||||
* @param {string} text The source text to apply fixes to.
|
||||
* @param {Object} config The ESLint config object to use.
|
||||
* @param {Object} options The ESLint options object to use.
|
||||
* @param {string} options.filename The filename from which the text was read.
|
||||
* @param {boolean} options.allowInlineConfig Flag indicating if inline comments
|
||||
* should be allowed.
|
||||
* @param {Linter} linter Linter context
|
||||
* @returns {Object} The result of the fix operation as returned from the
|
||||
* SourceCodeFixer.
|
||||
* @private
|
||||
*/
|
||||
function multipassFix(text, config, options, linter) {
|
||||
const MAX_PASSES = 10;
|
||||
let messages = [],
|
||||
fixedResult,
|
||||
fixed = false,
|
||||
passNumber = 0;
|
||||
|
||||
/**
|
||||
* This loop continues until one of the following is true:
|
||||
*
|
||||
* 1. No more fixes have been applied.
|
||||
* 2. Ten passes have been made.
|
||||
*
|
||||
* That means anytime a fix is successfully applied, there will be another pass.
|
||||
* Essentially, guaranteeing a minimum of two passes.
|
||||
*/
|
||||
do {
|
||||
passNumber++;
|
||||
|
||||
debug(`Linting code for ${options.filename} (pass ${passNumber})`);
|
||||
messages = linter.verify(text, config, options);
|
||||
|
||||
debug(`Generating fixed text for ${options.filename} (pass ${passNumber})`);
|
||||
fixedResult = SourceCodeFixer.applyFixes(linter.getSourceCode(), messages);
|
||||
|
||||
// stop if there are any syntax errors.
|
||||
// 'fixedResult.output' is a empty string.
|
||||
if (messages.length === 1 && messages[0].fatal) {
|
||||
break;
|
||||
}
|
||||
|
||||
// keep track if any fixes were ever applied - important for return value
|
||||
fixed = fixed || fixedResult.fixed;
|
||||
|
||||
// update to use the fixed output instead of the original text
|
||||
text = fixedResult.output;
|
||||
|
||||
} while (
|
||||
fixedResult.fixed &&
|
||||
passNumber < MAX_PASSES
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
* If the last result had fixes, we need to lint again to be sure we have
|
||||
* the most up-to-date information.
|
||||
*/
|
||||
if (fixedResult.fixed) {
|
||||
fixedResult.messages = linter.verify(text, config, options);
|
||||
}
|
||||
|
||||
|
||||
// ensure the last result properly reflects if fixes were done
|
||||
fixedResult.fixed = fixed;
|
||||
fixedResult.output = text;
|
||||
|
||||
return fixedResult;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes an source code using ESLint.
|
||||
* @param {string} text The source code to check.
|
||||
@@ -269,10 +193,10 @@ function processText(text, configHelper, filename, fix, allowInlineConfig, linte
|
||||
} else {
|
||||
|
||||
if (fix) {
|
||||
fixedResult = multipassFix(text, config, {
|
||||
fixedResult = linter.verifyAndFix(text, config, {
|
||||
filename,
|
||||
allowInlineConfig
|
||||
}, linter);
|
||||
});
|
||||
messages = fixedResult.messages;
|
||||
} else {
|
||||
messages = linter.verify(text, config, {
|
||||
@@ -394,7 +318,7 @@ function getCacheFile(cacheFile, cwd) {
|
||||
cacheFile = path.normalize(cacheFile);
|
||||
|
||||
const resolvedCacheFile = path.resolve(cwd, cacheFile);
|
||||
const looksLikeADirectory = cacheFile[cacheFile.length - 1 ] === path.sep;
|
||||
const looksLikeADirectory = cacheFile[cacheFile.length - 1] === path.sep;
|
||||
|
||||
/**
|
||||
* return the name for the cache file in case the provided parameter is a directory
|
||||
@@ -474,15 +398,17 @@ class CLIEngine {
|
||||
this.options = options;
|
||||
this.linter = new Linter();
|
||||
|
||||
const cacheFile = getCacheFile(this.options.cacheLocation || this.options.cacheFile, this.options.cwd);
|
||||
if (options.cache) {
|
||||
const cacheFile = getCacheFile(this.options.cacheLocation || this.options.cacheFile, this.options.cwd);
|
||||
|
||||
/**
|
||||
* Cache used to avoid operating on files that haven't changed since the
|
||||
* last successful execution (e.g., file passed linting with no errors and
|
||||
* no warnings).
|
||||
* @type {Object}
|
||||
*/
|
||||
this._fileCache = fileEntryCache.create(cacheFile);
|
||||
/**
|
||||
* Cache used to avoid operating on files that haven't changed since the
|
||||
* last successful execution (e.g., file passed linting with no errors and
|
||||
* no warnings).
|
||||
* @type {Object}
|
||||
*/
|
||||
this._fileCache = fileEntryCache.create(cacheFile);
|
||||
}
|
||||
|
||||
// load in additional rules
|
||||
if (this.options.rulePaths) {
|
||||
@@ -571,6 +497,11 @@ class CLIEngine {
|
||||
fileCache = this._fileCache,
|
||||
configHelper = this.config;
|
||||
let prevConfig; // the previous configuration used
|
||||
const cacheFile = getCacheFile(this.options.cacheLocation || this.options.cacheFile, this.options.cwd);
|
||||
|
||||
if (!options.cache && fs.existsSync(cacheFile)) {
|
||||
fs.unlinkSync(cacheFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculates the hash of the config file used to validate a given file
|
||||
@@ -646,8 +577,6 @@ class CLIEngine {
|
||||
// move to the next file
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
fileCache.destroy();
|
||||
}
|
||||
|
||||
debug(`Processing ${filename}`);
|
||||
|
||||
@@ -240,7 +240,7 @@ class CodePathState {
|
||||
this.breakContext = null;
|
||||
|
||||
this.currentSegments = [];
|
||||
this.initialSegment = this.forkContext.head[ 0 ];
|
||||
this.initialSegment = this.forkContext.head[0];
|
||||
|
||||
// returnedSegments and thrownSegments push elements into finalSegments also.
|
||||
const final = this.finalSegments = [];
|
||||
|
||||
+246
-222
@@ -13,6 +13,7 @@ const path = require("path"),
|
||||
os = require("os"),
|
||||
ConfigOps = require("./config/config-ops"),
|
||||
ConfigFile = require("./config/config-file"),
|
||||
ConfigCache = require("./config/config-cache"),
|
||||
Plugins = require("./config/plugins"),
|
||||
FileFinder = require("./file-finder"),
|
||||
isResolvable = require("is-resolvable");
|
||||
@@ -24,149 +25,22 @@ const debug = require("debug")("eslint:config");
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
const PERSONAL_CONFIG_DIR = os.homedir() || null;
|
||||
const SUBCONFIG_SEP = ":";
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Helpers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Check if item is an javascript object
|
||||
* @param {*} item object to check for
|
||||
* @returns {boolean} True if its an object
|
||||
* @private
|
||||
*/
|
||||
function isObject(item) {
|
||||
return typeof item === "object" && !Array.isArray(item) && item !== null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load and parse a JSON config object from a file.
|
||||
* @param {string|Object} configToLoad the path to the JSON config file or the config object itself.
|
||||
* @param {Config} configContext config instance object
|
||||
* @returns {Object} the parsed config object (empty object if there was a parse error)
|
||||
* @private
|
||||
*/
|
||||
function loadConfig(configToLoad, configContext) {
|
||||
let config = {},
|
||||
filePath = "";
|
||||
|
||||
if (configToLoad) {
|
||||
|
||||
if (isObject(configToLoad)) {
|
||||
config = configToLoad;
|
||||
|
||||
if (config.extends) {
|
||||
config = ConfigFile.applyExtends(config, configContext, filePath);
|
||||
}
|
||||
} else {
|
||||
filePath = configToLoad;
|
||||
config = ConfigFile.load(filePath, configContext);
|
||||
}
|
||||
|
||||
}
|
||||
return config;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get personal config object from ~/.eslintrc.
|
||||
* @param {Config} configContext Plugin context for the config instance
|
||||
* @returns {Object} the personal config object (null if there is no personal config)
|
||||
* @private
|
||||
*/
|
||||
function getPersonalConfig(configContext) {
|
||||
let config;
|
||||
|
||||
if (PERSONAL_CONFIG_DIR) {
|
||||
|
||||
const filename = ConfigFile.getFilenameForDirectory(PERSONAL_CONFIG_DIR);
|
||||
|
||||
if (filename) {
|
||||
debug("Using personal config");
|
||||
config = loadConfig(filename, configContext);
|
||||
}
|
||||
}
|
||||
|
||||
return config || null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if rules were explicitly passed in as options.
|
||||
* Determines if any rules were explicitly passed in as options.
|
||||
* @param {Object} options The options used to create our configuration.
|
||||
* @returns {boolean} True if rules were passed in as options, false otherwise.
|
||||
* @private
|
||||
*/
|
||||
function hasRules(options) {
|
||||
return options.rules && Object.keys(options.rules).length > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a local config object.
|
||||
* @param {Config} thisConfig A Config object.
|
||||
* @param {string} directory The directory to start looking in for a local config file.
|
||||
* @returns {Object} The local config object, or an empty object if there is no local config.
|
||||
*/
|
||||
function getLocalConfig(thisConfig, directory) {
|
||||
|
||||
const projectConfigPath = ConfigFile.getFilenameForDirectory(thisConfig.options.cwd);
|
||||
const localConfigFiles = thisConfig.findLocalConfigFiles(directory);
|
||||
let found,
|
||||
config = {};
|
||||
|
||||
for (const localConfigFile of localConfigFiles) {
|
||||
|
||||
// Don't consider the personal config file in the home directory,
|
||||
// except if the home directory is the same as the current working directory
|
||||
if (path.dirname(localConfigFile) === PERSONAL_CONFIG_DIR && localConfigFile !== projectConfigPath) {
|
||||
continue;
|
||||
}
|
||||
|
||||
debug(`Loading ${localConfigFile}`);
|
||||
const localConfig = loadConfig(localConfigFile, thisConfig);
|
||||
|
||||
// Don't consider a local config file found if the config is null
|
||||
if (!localConfig) {
|
||||
continue;
|
||||
}
|
||||
|
||||
found = true;
|
||||
debug(`Using ${localConfigFile}`);
|
||||
config = ConfigOps.merge(localConfig, config);
|
||||
|
||||
// Check for root flag
|
||||
if (localConfig.root === true) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!found && !thisConfig.useSpecificConfig) {
|
||||
|
||||
/*
|
||||
* - Is there a personal config in the user's home directory? If so,
|
||||
* merge that with the passed-in config.
|
||||
* - Otherwise, if no rules were manually passed in, throw and error.
|
||||
* - Note: This function is not called if useEslintrc is false.
|
||||
*/
|
||||
const personalConfig = getPersonalConfig(thisConfig);
|
||||
|
||||
if (personalConfig) {
|
||||
config = ConfigOps.merge(config, personalConfig);
|
||||
} else if (!hasRules(thisConfig.options) && !thisConfig.options.baseConfig) {
|
||||
|
||||
// No config file, no manual configuration, and no rules, so error.
|
||||
const noConfigError = new Error("No ESLint configuration found.");
|
||||
|
||||
noConfigError.messageTemplate = "no-config-found";
|
||||
noConfigError.messageData = {
|
||||
directory,
|
||||
filesExamined: localConfigFiles
|
||||
};
|
||||
|
||||
throw noConfigError;
|
||||
}
|
||||
}
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// API
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -177,7 +51,6 @@ function getLocalConfig(thisConfig, directory) {
|
||||
class Config {
|
||||
|
||||
/**
|
||||
* Config options
|
||||
* @param {Object} options Options to be passed in
|
||||
* @param {Linter} linterContext Linter instance object
|
||||
*/
|
||||
@@ -187,18 +60,26 @@ class Config {
|
||||
this.linterContext = linterContext;
|
||||
this.plugins = new Plugins(linterContext.environments, linterContext.rules);
|
||||
|
||||
this.options = options;
|
||||
this.ignore = options.ignore;
|
||||
this.ignorePath = options.ignorePath;
|
||||
this.cache = {};
|
||||
this.parser = options.parser;
|
||||
this.parserOptions = options.parserOptions || {};
|
||||
|
||||
this.baseConfig = options.baseConfig ? loadConfig(options.baseConfig, this) : { rules: {} };
|
||||
this.baseConfig = options.baseConfig
|
||||
? ConfigOps.merge({}, ConfigFile.loadObject(options.baseConfig, this))
|
||||
: { rules: {} };
|
||||
this.baseConfig.filePath = "";
|
||||
this.baseConfig.baseDirectory = this.options.cwd;
|
||||
|
||||
this.configCache = new ConfigCache();
|
||||
this.configCache.setConfig(this.baseConfig.filePath, this.baseConfig);
|
||||
this.configCache.setMergedVectorConfig(this.baseConfig.filePath, this.baseConfig);
|
||||
|
||||
this.useEslintrc = (options.useEslintrc !== false);
|
||||
|
||||
this.env = (options.envs || []).reduce((envs, name) => {
|
||||
envs[ name ] = true;
|
||||
envs[name] = true;
|
||||
return envs;
|
||||
}, {});
|
||||
|
||||
@@ -209,132 +90,275 @@ class Config {
|
||||
* If user declares "foo", convert to "foo:false".
|
||||
*/
|
||||
this.globals = (options.globals || []).reduce((globals, def) => {
|
||||
const parts = def.split(":");
|
||||
const parts = def.split(SUBCONFIG_SEP);
|
||||
|
||||
globals[parts[0]] = (parts.length > 1 && parts[1] === "true");
|
||||
|
||||
return globals;
|
||||
}, {});
|
||||
|
||||
this.options = options;
|
||||
this.loadConfigFile(options.configFile);
|
||||
}
|
||||
this.loadSpecificConfig(options.configFile);
|
||||
|
||||
/**
|
||||
* Loads the config from the configuration file
|
||||
* @param {string} configFile - patch to the config file
|
||||
* @returns {undefined}
|
||||
*/
|
||||
loadConfigFile(configFile) {
|
||||
if (configFile) {
|
||||
debug(`Using command line config ${configFile}`);
|
||||
if (isResolvable(configFile) || isResolvable(`eslint-config-${configFile}`) || configFile.charAt(0) === "@") {
|
||||
this.useSpecificConfig = loadConfig(configFile, this);
|
||||
} else {
|
||||
this.useSpecificConfig = loadConfig(path.resolve(this.options.cwd, configFile), this);
|
||||
// Empty values in configs don't merge properly
|
||||
const cliConfigOptions = {
|
||||
env: this.env,
|
||||
rules: this.options.rules,
|
||||
globals: this.globals,
|
||||
parserOptions: this.parserOptions,
|
||||
plugins: this.options.plugins
|
||||
};
|
||||
|
||||
this.cliConfig = {};
|
||||
Object.keys(cliConfigOptions).forEach(configKey => {
|
||||
const value = cliConfigOptions[configKey];
|
||||
|
||||
if (value) {
|
||||
this.cliConfig[configKey] = value;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the config options from a config specified on the command line.
|
||||
* @param {string} [config] A shareable named config or path to a config file.
|
||||
* @returns {void}
|
||||
*/
|
||||
loadSpecificConfig(config) {
|
||||
if (config) {
|
||||
debug(`Using command line config ${config}`);
|
||||
const isNamedConfig =
|
||||
isResolvable(config) ||
|
||||
isResolvable(`eslint-config-${config}`) ||
|
||||
config.charAt(0) === "@";
|
||||
|
||||
if (!isNamedConfig) {
|
||||
config = path.resolve(this.options.cwd, config);
|
||||
}
|
||||
|
||||
this.specificConfig = ConfigFile.load(config, this);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Build a config object merging the base config (conf/eslint-recommended),
|
||||
* the environments config (conf/environments.js) and eventually the user
|
||||
* config.
|
||||
* @param {string} filePath a file in whose directory we start looking for a local config
|
||||
* @returns {Object} config object
|
||||
* Gets the personal config object from user's home directory.
|
||||
* @returns {Object} the personal config object (null if there is no personal config)
|
||||
* @private
|
||||
*/
|
||||
getConfig(filePath) {
|
||||
const directory = filePath ? path.dirname(filePath) : this.options.cwd;
|
||||
let config,
|
||||
userConfig;
|
||||
getPersonalConfig() {
|
||||
if (typeof this.personalConfig === "undefined") {
|
||||
let config;
|
||||
|
||||
debug(`Constructing config for ${filePath ? filePath : "text"}`);
|
||||
if (PERSONAL_CONFIG_DIR) {
|
||||
const filename = ConfigFile.getFilenameForDirectory(PERSONAL_CONFIG_DIR);
|
||||
|
||||
config = this.cache[directory];
|
||||
if (config) {
|
||||
debug("Using config from cache");
|
||||
return config;
|
||||
if (filename) {
|
||||
debug("Using personal config");
|
||||
config = ConfigFile.load(filename, this);
|
||||
}
|
||||
}
|
||||
this.personalConfig = config || null;
|
||||
}
|
||||
|
||||
// Step 1: Determine user-specified config from .eslintrc.* and package.json files
|
||||
return this.personalConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds a hierarchy of config objects, including the base config, all local configs from the directory tree,
|
||||
* and a config file specified on the command line, if applicable.
|
||||
* @param {string} directory a file in whose directory we start looking for a local config
|
||||
* @returns {Object[]} The config objects, in ascending order of precedence
|
||||
* @private
|
||||
*/
|
||||
getConfigHierarchy(directory) {
|
||||
debug(`Constructing config file hierarchy for ${directory}`);
|
||||
|
||||
// Step 1: Always include baseConfig
|
||||
let configs = [this.baseConfig];
|
||||
|
||||
// Step 2: Add user-specified config from .eslintrc.* and package.json files
|
||||
if (this.useEslintrc) {
|
||||
debug("Using .eslintrc and package.json files");
|
||||
userConfig = getLocalConfig(this, directory);
|
||||
configs = configs.concat(this.getLocalConfigHierarchy(directory));
|
||||
} else {
|
||||
debug("Not using .eslintrc or package.json files");
|
||||
userConfig = {};
|
||||
}
|
||||
|
||||
// Step 2: Create a copy of the baseConfig
|
||||
config = ConfigOps.merge({}, this.baseConfig);
|
||||
|
||||
// Step 3: Merge in the user-specified configuration from .eslintrc and package.json
|
||||
config = ConfigOps.merge(config, userConfig);
|
||||
|
||||
// Step 4: Merge in command line config file
|
||||
if (this.useSpecificConfig) {
|
||||
debug("Merging command line config file");
|
||||
|
||||
config = ConfigOps.merge(config, this.useSpecificConfig);
|
||||
// Step 3: Merge in command line config file
|
||||
if (this.specificConfig) {
|
||||
debug("Using command line config file");
|
||||
configs.push(this.specificConfig);
|
||||
}
|
||||
|
||||
// Step 5: Merge in command line environments
|
||||
debug("Merging command line environment settings");
|
||||
config = ConfigOps.merge(config, { env: this.env });
|
||||
|
||||
// Step 6: Merge in command line rules
|
||||
if (this.options.rules) {
|
||||
debug("Merging command line rules");
|
||||
config = ConfigOps.merge(config, { rules: this.options.rules });
|
||||
}
|
||||
|
||||
// Step 7: Merge in command line globals
|
||||
config = ConfigOps.merge(config, { globals: this.globals });
|
||||
|
||||
// Only override parser if it is passed explicitly through the command line or if it's not
|
||||
// defined yet (because the final object will at least have the parser key)
|
||||
if (this.parser || !config.parser) {
|
||||
config = ConfigOps.merge(config, {
|
||||
parser: this.parser
|
||||
});
|
||||
}
|
||||
|
||||
if (this.parserOptions) {
|
||||
config = ConfigOps.merge(config, {
|
||||
parserOptions: this.parserOptions
|
||||
});
|
||||
}
|
||||
|
||||
// Step 8: Merge in command line plugins
|
||||
if (this.options.plugins) {
|
||||
debug("Merging command line plugins");
|
||||
this.plugins.loadAll(this.options.plugins);
|
||||
config = ConfigOps.merge(config, { plugins: this.options.plugins });
|
||||
}
|
||||
|
||||
// Step 9: Apply environments to the config if present
|
||||
if (config.env) {
|
||||
config = ConfigOps.applyEnvironments(config, this.linterContext.environments);
|
||||
}
|
||||
|
||||
this.cache[directory] = config;
|
||||
|
||||
return config;
|
||||
return configs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find local config files from directory and parent directories.
|
||||
* Gets a list of config objects extracted from local config files that apply to the current directory, in
|
||||
* descending order, beginning with the config that is highest in the directory tree.
|
||||
* @param {string} directory The directory to start looking in for local config files.
|
||||
* @returns {Object[]} The shallow local config objects, in ascending order of precedence (closest to the current
|
||||
* directory at the end), or an empty array if there are no local configs.
|
||||
* @private
|
||||
*/
|
||||
getLocalConfigHierarchy(directory) {
|
||||
const localConfigFiles = this.findLocalConfigFiles(directory),
|
||||
projectConfigPath = ConfigFile.getFilenameForDirectory(this.options.cwd),
|
||||
searched = [],
|
||||
configs = [];
|
||||
|
||||
for (const localConfigFile of localConfigFiles) {
|
||||
const localConfigDirectory = path.dirname(localConfigFile);
|
||||
const localConfigHierarchyCache = this.configCache.getHierarchyLocalConfigs(localConfigDirectory);
|
||||
|
||||
if (localConfigHierarchyCache) {
|
||||
const localConfigHierarchy = localConfigHierarchyCache.concat(configs.reverse());
|
||||
|
||||
this.configCache.setHierarchyLocalConfigs(searched, localConfigHierarchy);
|
||||
return localConfigHierarchy;
|
||||
}
|
||||
|
||||
// Don't consider the personal config file in the home directory,
|
||||
// except if the home directory is the same as the current working directory
|
||||
if (localConfigDirectory === PERSONAL_CONFIG_DIR && localConfigFile !== projectConfigPath) {
|
||||
continue;
|
||||
}
|
||||
|
||||
debug(`Loading ${localConfigFile}`);
|
||||
const localConfig = ConfigFile.load(localConfigFile, this);
|
||||
|
||||
// Ignore empty config files
|
||||
if (!localConfig) {
|
||||
continue;
|
||||
}
|
||||
|
||||
debug(`Using ${localConfigFile}`);
|
||||
configs.push(localConfig);
|
||||
searched.push(localConfigDirectory);
|
||||
|
||||
// Stop traversing if a config is found with the root flag set
|
||||
if (localConfig.root) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!configs.length && !this.specificConfig) {
|
||||
|
||||
// Fall back on the personal config from ~/.eslintrc
|
||||
debug("Using personal config file");
|
||||
const personalConfig = this.getPersonalConfig();
|
||||
|
||||
if (personalConfig) {
|
||||
configs.push(personalConfig);
|
||||
} else if (!hasRules(this.options) && !this.options.baseConfig) {
|
||||
|
||||
// No config file, no manual configuration, and no rules, so error.
|
||||
const noConfigError = new Error("No ESLint configuration found.");
|
||||
|
||||
noConfigError.messageTemplate = "no-config-found";
|
||||
noConfigError.messageData = {
|
||||
directory,
|
||||
filesExamined: localConfigFiles
|
||||
};
|
||||
|
||||
throw noConfigError;
|
||||
}
|
||||
}
|
||||
|
||||
// Set the caches for the parent directories
|
||||
this.configCache.setHierarchyLocalConfigs(searched, configs.reverse());
|
||||
|
||||
return configs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the vector of applicable configs and subconfigs from the hierarchy for a given file. A vector is an array of
|
||||
* entries, each of which in an object specifying a config file path and an array of override indices corresponding
|
||||
* to entries in the config file's overrides section whose glob patterns match the specified file path; e.g., the
|
||||
* vector entry { configFile: '/home/john/app/.eslintrc', matchingOverrides: [0, 2] } would indicate that the main
|
||||
* project .eslintrc file and its first and third override blocks apply to the current file.
|
||||
* @param {string} filePath The file path for which to build the hierarchy and config vector.
|
||||
* @returns {Array<Object>} config vector applicable to the specified path
|
||||
* @private
|
||||
*/
|
||||
getConfigVector(filePath) {
|
||||
const directory = filePath ? path.dirname(filePath) : this.options.cwd;
|
||||
|
||||
return this.getConfigHierarchy(directory).map(config => {
|
||||
const vectorEntry = {
|
||||
filePath: config.filePath,
|
||||
matchingOverrides: []
|
||||
};
|
||||
|
||||
if (config.overrides) {
|
||||
const relativePath = path.relative(config.baseDirectory, filePath || directory);
|
||||
|
||||
config.overrides.forEach((override, i) => {
|
||||
if (ConfigOps.pathMatchesGlobs(relativePath, override.files, override.excludedFiles)) {
|
||||
vectorEntry.matchingOverrides.push(i);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return vectorEntry;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds local config files from the specified directory and its parent directories.
|
||||
* @param {string} directory The directory to start searching from.
|
||||
* @returns {GeneratorFunction} The paths of local config files found.
|
||||
*/
|
||||
findLocalConfigFiles(directory) {
|
||||
|
||||
if (!this.localConfigFinder) {
|
||||
this.localConfigFinder = new FileFinder(ConfigFile.CONFIG_FILES, this.options.cwd);
|
||||
}
|
||||
|
||||
return this.localConfigFinder.findAllInDirectoryAndParents(directory);
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds the authoritative config object for the specified file path by merging the hierarchy of config objects
|
||||
* that apply to the current file, including the base config (conf/eslint-recommended), the user's personal config
|
||||
* from their homedir, all local configs from the directory tree, any specific config file passed on the command
|
||||
* line, any configuration overrides set directly on the command line, and finally the environment configs
|
||||
* (conf/environments).
|
||||
* @param {string} filePath a file in whose directory we start looking for a local config
|
||||
* @returns {Object} config object
|
||||
*/
|
||||
getConfig(filePath) {
|
||||
const vector = this.getConfigVector(filePath);
|
||||
let config = this.configCache.getMergedConfig(vector);
|
||||
|
||||
if (config) {
|
||||
debug("Using config from cache");
|
||||
return config;
|
||||
}
|
||||
|
||||
// Step 1: Merge in the filesystem configurations (base, local, and personal)
|
||||
config = ConfigOps.getConfigFromVector(vector, this.configCache);
|
||||
|
||||
// Step 2: Merge in command line configurations
|
||||
config = ConfigOps.merge(config, this.cliConfig);
|
||||
|
||||
if (this.cliConfig.plugins) {
|
||||
this.plugins.loadAll(this.cliConfig.plugins);
|
||||
}
|
||||
|
||||
// Step 3: Override parser only if it is passed explicitly through the command line
|
||||
// or if it's not defined yet (because the final object will at least have the parser key)
|
||||
if (this.parser || !config.parser) {
|
||||
config = ConfigOps.merge(config, { parser: this.parser });
|
||||
}
|
||||
|
||||
// Step 4: Apply environments to the config if present
|
||||
if (config.env) {
|
||||
config = ConfigOps.applyEnvironments(config, this.linterContext.environments);
|
||||
}
|
||||
|
||||
this.configCache.setMergedConfig(vector, config);
|
||||
|
||||
return config;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Config;
|
||||
@@ -0,0 +1,130 @@
|
||||
/**
|
||||
* @fileoverview Responsible for caching config files
|
||||
* @author Sylvan Mably
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Helpers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Get a string hash for a config vector
|
||||
* @param {Array<Object>} vector config vector to hash
|
||||
* @returns {string} hash of the vector values
|
||||
* @private
|
||||
*/
|
||||
function hash(vector) {
|
||||
return JSON.stringify(vector);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// API
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Configuration caching class (not exported)
|
||||
*/
|
||||
class ConfigCache {
|
||||
|
||||
constructor() {
|
||||
this.filePathCache = new Map();
|
||||
this.localHierarchyCache = new Map();
|
||||
this.mergedVectorCache = new Map();
|
||||
this.mergedCache = new Map();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a config object from the cache for the specified config file path.
|
||||
* @param {string} configFilePath the absolute path to the config file
|
||||
* @returns {Object|null} config object, if found in the cache, otherwise null
|
||||
* @private
|
||||
*/
|
||||
getConfig(configFilePath) {
|
||||
return this.filePathCache.get(configFilePath);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a config object in the cache for the specified config file path.
|
||||
* @param {string} configFilePath the absolute path to the config file
|
||||
* @param {Object} config the config object to add to the cache
|
||||
* @returns {void}
|
||||
* @private
|
||||
*/
|
||||
setConfig(configFilePath, config) {
|
||||
this.filePathCache.set(configFilePath, config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a list of hierarchy-local config objects that apply to the specified directory.
|
||||
* @param {string} directory the path to the directory
|
||||
* @returns {Object[]|null} a list of config objects, if found in the cache, otherwise null
|
||||
* @private
|
||||
*/
|
||||
getHierarchyLocalConfigs(directory) {
|
||||
return this.localHierarchyCache.get(directory);
|
||||
}
|
||||
|
||||
/**
|
||||
* For each of the supplied parent directories, sets the list of config objects for that directory to the
|
||||
* appropriate subset of the supplied parent config objects.
|
||||
* @param {string[]} parentDirectories a list of parent directories to add to the config cache
|
||||
* @param {Object[]} parentConfigs a list of config objects that apply to the lowest directory in parentDirectories
|
||||
* @returns {void}
|
||||
* @private
|
||||
*/
|
||||
setHierarchyLocalConfigs(parentDirectories, parentConfigs) {
|
||||
parentDirectories.forEach((localConfigDirectory, i) => {
|
||||
const directoryParentConfigs = parentConfigs.slice(0, parentConfigs.length - i);
|
||||
|
||||
this.localHierarchyCache.set(localConfigDirectory, directoryParentConfigs);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a merged config object corresponding to the supplied vector.
|
||||
* @param {Array<Object>} vector the vector to find a merged config for
|
||||
* @returns {Object|null} a merged config object, if found in the cache, otherwise null
|
||||
* @private
|
||||
*/
|
||||
getMergedVectorConfig(vector) {
|
||||
return this.mergedVectorCache.get(hash(vector));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a merged config object in the cache for the supplied vector.
|
||||
* @param {Array<Object>} vector the vector to save a merged config for
|
||||
* @param {Object} config the merged config object to add to the cache
|
||||
* @returns {void}
|
||||
* @private
|
||||
*/
|
||||
setMergedVectorConfig(vector, config) {
|
||||
this.mergedVectorCache.set(hash(vector), config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a merged config object corresponding to the supplied vector, including configuration options from outside
|
||||
* the vector.
|
||||
* @param {Array<Object>} vector the vector to find a merged config for
|
||||
* @returns {Object|null} a merged config object, if found in the cache, otherwise null
|
||||
* @private
|
||||
*/
|
||||
getMergedConfig(vector) {
|
||||
return this.mergedCache.get(hash(vector));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a merged config object in the cache for the supplied vector, including configuration options from outside
|
||||
* the vector.
|
||||
* @param {Array<Object>} vector the vector to save a merged config for
|
||||
* @param {Object} config the merged config object to add to the cache
|
||||
* @returns {void}
|
||||
* @private
|
||||
*/
|
||||
setMergedConfig(vector, config) {
|
||||
this.mergedCache.set(hash(vector), config);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = ConfigCache;
|
||||
@@ -418,7 +418,7 @@ function applyExtends(config, configContext, filePath, relativeTo) {
|
||||
);
|
||||
}
|
||||
debug(`Loading ${parentPath}`);
|
||||
return ConfigOps.merge(load(parentPath, configContext, false, relativeTo), previousValue);
|
||||
return ConfigOps.merge(load(parentPath, configContext, relativeTo), previousValue);
|
||||
} catch (e) {
|
||||
|
||||
/*
|
||||
@@ -517,16 +517,12 @@ function resolve(filePath, relativeTo) {
|
||||
|
||||
/**
|
||||
* Loads a configuration file from the given file path.
|
||||
* @param {string} filePath The filename or package name to load the configuration
|
||||
* information from.
|
||||
* @param {Object} resolvedPath The value from calling resolve() on a filename or package name.
|
||||
* @param {Config} configContext Plugins context
|
||||
* @param {boolean} [applyEnvironments=false] Set to true to merge in environment settings.
|
||||
* @param {string} [relativeTo] The path to resolve relative to.
|
||||
* @returns {Object} The configuration information.
|
||||
*/
|
||||
function load(filePath, configContext, applyEnvironments, relativeTo) {
|
||||
const resolvedPath = resolve(filePath, relativeTo),
|
||||
dirname = path.dirname(resolvedPath.filePath),
|
||||
function loadFromDisk(resolvedPath, configContext) {
|
||||
const dirname = path.dirname(resolvedPath.filePath),
|
||||
lookupPath = getLookupPath(dirname);
|
||||
let config = loadConfigFile(resolvedPath);
|
||||
|
||||
@@ -547,27 +543,60 @@ function load(filePath, configContext, applyEnvironments, relativeTo) {
|
||||
}
|
||||
|
||||
// validate the configuration before continuing
|
||||
validator.validate(config, filePath, configContext.linterContext.rules, configContext.linterContext.environments);
|
||||
validator.validate(config, resolvedPath, configContext.linterContext.rules, configContext.linterContext.environments);
|
||||
|
||||
/*
|
||||
* If an `extends` property is defined, it represents a configuration file to use as
|
||||
* a "parent". Load the referenced file and merge the configuration recursively.
|
||||
*/
|
||||
if (config.extends) {
|
||||
config = applyExtends(config, configContext, filePath, dirname);
|
||||
config = applyExtends(config, configContext, resolvedPath.filePath, dirname);
|
||||
}
|
||||
|
||||
if (config.env && applyEnvironments) {
|
||||
|
||||
// Merge in environment-specific globals and parserOptions.
|
||||
config = ConfigOps.applyEnvironments(config, configContext.linterContext.environments);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a config object, applying extends if present.
|
||||
* @param {Object} configObject a config object to load
|
||||
* @returns {Object} the config object with extends applied if present, or the passed config if not
|
||||
* @private
|
||||
*/
|
||||
function loadObject(configObject) {
|
||||
return configObject.extends ? applyExtends(configObject, "") : configObject;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a config object from the config cache based on its filename, falling back to the disk if the file is not yet
|
||||
* cached.
|
||||
* @param {string} filePath the path to the config file
|
||||
* @param {Config} configContext Context for the config instance
|
||||
* @param {string} [relativeTo] The path to resolve relative to.
|
||||
* @returns {Object} the parsed config object (empty object if there was a parse error)
|
||||
* @private
|
||||
*/
|
||||
function load(filePath, configContext, relativeTo) {
|
||||
const resolvedPath = resolve(filePath, relativeTo);
|
||||
|
||||
const cachedConfig = configContext.configCache.getConfig(resolvedPath.filePath);
|
||||
|
||||
if (cachedConfig) {
|
||||
return cachedConfig;
|
||||
}
|
||||
|
||||
const config = loadFromDisk(resolvedPath, configContext);
|
||||
|
||||
if (config) {
|
||||
config.filePath = resolvedPath.filePath;
|
||||
config.baseDirectory = path.dirname(resolvedPath.filePath);
|
||||
configContext.configCache.setConfig(resolvedPath.filePath, config);
|
||||
}
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Public Interface
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -577,6 +606,7 @@ module.exports = {
|
||||
getBaseDir,
|
||||
getLookupPath,
|
||||
load,
|
||||
loadObject,
|
||||
resolve,
|
||||
write,
|
||||
applyExtends,
|
||||
|
||||
@@ -62,42 +62,47 @@ function writeFile(config, format) {
|
||||
* @returns {void}
|
||||
*/
|
||||
function installModules(config) {
|
||||
let modules = [];
|
||||
const modules = {};
|
||||
|
||||
// Create a list of modules which should be installed based on config
|
||||
if (config.plugins) {
|
||||
modules = modules.concat(config.plugins.map(name => `eslint-plugin-${name}`));
|
||||
for (const plugin of config.plugins) {
|
||||
modules[`eslint-plugin-${plugin}`] = "latest";
|
||||
}
|
||||
}
|
||||
if (config.extends && config.extends.indexOf("eslint:") === -1) {
|
||||
modules.push(`eslint-config-${config.extends}`);
|
||||
const moduleName = `eslint-config-${config.extends}`;
|
||||
|
||||
log.info(`Checking peerDependencies of ${moduleName}`);
|
||||
modules[moduleName] = "latest";
|
||||
Object.assign(
|
||||
modules,
|
||||
npmUtil.fetchPeerDependencies(`${moduleName}@latest`)
|
||||
);
|
||||
}
|
||||
|
||||
// Determine which modules are already installed
|
||||
if (modules.length === 0) {
|
||||
// If no modules, do nothing.
|
||||
if (Object.keys(modules).length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Add eslint to list in case user does not have it installed locally
|
||||
modules.unshift("eslint");
|
||||
modules.eslint = modules.eslint || "latest";
|
||||
|
||||
const installStatus = npmUtil.checkDevDeps(modules);
|
||||
// Mark to show messages if it's new installation of eslint.
|
||||
const installStatus = npmUtil.checkDevDeps(["eslint"]);
|
||||
|
||||
// Install packages which aren't already installed
|
||||
const modulesToInstall = Object.keys(installStatus).filter(module => {
|
||||
const notInstalled = installStatus[module] === false;
|
||||
|
||||
if (module === "eslint" && notInstalled) {
|
||||
log.info("Local ESLint installation not found.");
|
||||
config.installedESLint = true;
|
||||
}
|
||||
|
||||
return notInstalled;
|
||||
});
|
||||
|
||||
if (modulesToInstall.length > 0) {
|
||||
log.info(`Installing ${modulesToInstall.join(", ")}`);
|
||||
npmUtil.installSyncSaveDev(modulesToInstall);
|
||||
if (installStatus.eslint === false) {
|
||||
log.info("Local ESLint installation not found.");
|
||||
config.installedESLint = true;
|
||||
}
|
||||
|
||||
// Install packages
|
||||
const modulesToInstall = Object.keys(modules).map(name => `${name}@${modules[name]}`);
|
||||
|
||||
log.info(`Installing ${modulesToInstall.join(", ")}`);
|
||||
|
||||
npmUtil.installSyncSaveDev(modulesToInstall);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -265,9 +270,9 @@ function processAnswers(answers) {
|
||||
function getConfigForStyleGuide(guide) {
|
||||
const guides = {
|
||||
google: { extends: "google" },
|
||||
airbnb: { extends: "airbnb", plugins: ["react", "jsx-a11y", "import"] },
|
||||
"airbnb-base": { extends: "airbnb-base", plugins: ["import"] },
|
||||
standard: { extends: "standard", plugins: ["standard", "promise"] }
|
||||
airbnb: { extends: "airbnb" },
|
||||
"airbnb-base": { extends: "airbnb-base" },
|
||||
standard: { extends: "standard" }
|
||||
};
|
||||
|
||||
if (!guides[guide]) {
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
// Requirements
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
const minimatch = require("minimatch"),
|
||||
path = require("path");
|
||||
|
||||
const debug = require("debug")("eslint:config-ops");
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -174,7 +177,9 @@ module.exports = {
|
||||
});
|
||||
}
|
||||
Object.keys(src).forEach(key => {
|
||||
if (Array.isArray(src[key]) || Array.isArray(target[key])) {
|
||||
if (key === "overrides") {
|
||||
dst[key] = (target[key] || []).concat(src[key] || []);
|
||||
} else if (Array.isArray(src[key]) || Array.isArray(target[key])) {
|
||||
dst[key] = deepmerge(target[key], src[key], key === "plugins" || key === "extends", isRule);
|
||||
} else if (typeof src[key] !== "object" || !src[key] || key === "exported" || key === "astGlobals") {
|
||||
dst[key] = src[key];
|
||||
@@ -268,5 +273,111 @@ module.exports = {
|
||||
*/
|
||||
isEverySeverityValid(config) {
|
||||
return Object.keys(config).every(ruleId => this.isValidSeverity(config[ruleId]));
|
||||
},
|
||||
|
||||
/**
|
||||
* Merges all configurations in a given config vector. A vector is an array of objects, each containing a config
|
||||
* file path and a list of subconfig indices that match the current file path. All config data is assumed to be
|
||||
* cached.
|
||||
* @param {Array<Object>} vector list of config files and their subconfig indices that match the current file path
|
||||
* @param {Object} configCache the config cache
|
||||
* @returns {Object} config object
|
||||
*/
|
||||
getConfigFromVector(vector, configCache) {
|
||||
|
||||
const cachedConfig = configCache.getMergedVectorConfig(vector);
|
||||
|
||||
if (cachedConfig) {
|
||||
return cachedConfig;
|
||||
}
|
||||
|
||||
debug("Using config from partial cache");
|
||||
|
||||
const subvector = Array.from(vector);
|
||||
let nearestCacheIndex = subvector.length - 1,
|
||||
partialCachedConfig;
|
||||
|
||||
while (nearestCacheIndex >= 0) {
|
||||
partialCachedConfig = configCache.getMergedVectorConfig(subvector);
|
||||
if (partialCachedConfig) {
|
||||
break;
|
||||
}
|
||||
subvector.pop();
|
||||
nearestCacheIndex--;
|
||||
}
|
||||
|
||||
if (!partialCachedConfig) {
|
||||
partialCachedConfig = {};
|
||||
}
|
||||
|
||||
let finalConfig = partialCachedConfig;
|
||||
|
||||
// Start from entry immediately following nearest cached config (first uncached entry)
|
||||
for (let i = nearestCacheIndex + 1; i < vector.length; i++) {
|
||||
finalConfig = this.mergeVectorEntry(finalConfig, vector[i], configCache);
|
||||
configCache.setMergedVectorConfig(vector.slice(0, i + 1), finalConfig);
|
||||
}
|
||||
|
||||
return finalConfig;
|
||||
},
|
||||
|
||||
/**
|
||||
* Merges the config options from a single vector entry into the supplied config.
|
||||
* @param {Object} config the base config to merge the vector entry's options into
|
||||
* @param {Object} vectorEntry a single entry from a vector, consisting of a config file path and an array of
|
||||
* matching override indices
|
||||
* @param {Object} configCache the config cache
|
||||
* @returns {Object} merged config object
|
||||
*/
|
||||
mergeVectorEntry(config, vectorEntry, configCache) {
|
||||
const vectorEntryConfig = Object.assign({}, configCache.getConfig(vectorEntry.filePath));
|
||||
let mergedConfig = Object.assign({}, config),
|
||||
overrides;
|
||||
|
||||
if (vectorEntryConfig.overrides) {
|
||||
overrides = vectorEntryConfig.overrides.filter(
|
||||
(override, overrideIndex) => vectorEntry.matchingOverrides.indexOf(overrideIndex) !== -1
|
||||
);
|
||||
} else {
|
||||
overrides = [];
|
||||
}
|
||||
|
||||
mergedConfig = this.merge(mergedConfig, vectorEntryConfig);
|
||||
|
||||
delete mergedConfig.overrides;
|
||||
|
||||
mergedConfig = overrides.reduce((lastConfig, override) => this.merge(lastConfig, override), mergedConfig);
|
||||
|
||||
if (mergedConfig.filePath) {
|
||||
delete mergedConfig.filePath;
|
||||
delete mergedConfig.baseDirectory;
|
||||
} else if (mergedConfig.files) {
|
||||
delete mergedConfig.files;
|
||||
}
|
||||
|
||||
return mergedConfig;
|
||||
},
|
||||
|
||||
/**
|
||||
* Checks that the specified file path matches all of the supplied glob patterns.
|
||||
* @param {string} filePath The file path to test patterns against
|
||||
* @param {string|string[]} patterns One or more glob patterns, of which at least one should match the file path
|
||||
* @param {string|string[]} [excludedPatterns] One or more glob patterns, of which none should match the file path
|
||||
* @returns {boolean} True if all the supplied patterns match the file path, false otherwise
|
||||
*/
|
||||
pathMatchesGlobs(filePath, patterns, excludedPatterns) {
|
||||
const patternList = [].concat(patterns);
|
||||
const excludedPatternList = [].concat(excludedPatterns || []);
|
||||
|
||||
patternList.concat(excludedPatternList).forEach(pattern => {
|
||||
if (path.isAbsolute(pattern) || pattern.includes("..")) {
|
||||
throw new Error(`Invalid override pattern (expected relative path not containing '..'): ${pattern}`);
|
||||
}
|
||||
});
|
||||
|
||||
const opts = { matchBase: true };
|
||||
|
||||
return patternList.some(pattern => minimatch(filePath, pattern, opts)) &&
|
||||
!excludedPatternList.some(excludedPattern => minimatch(filePath, excludedPattern, opts));
|
||||
}
|
||||
};
|
||||
@@ -10,7 +10,7 @@
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
const schemaValidator = require("is-my-json-valid"),
|
||||
configSchema = require("../../conf/config-schema.json"),
|
||||
configSchema = require("../../conf/config-schema.js"),
|
||||
util = require("util");
|
||||
|
||||
const validators = {
|
||||
@@ -170,7 +170,7 @@ function formatErrors(errors) {
|
||||
|
||||
return `Property "${formattedField}" is the wrong type (expected ${formattedExpectedType} but got \`${formattedValue}\`)`;
|
||||
}
|
||||
return `"${error.field.replace(/^(data\.)/, "")}" ${error.message}. Value: ${error.value}`;
|
||||
return `"${error.field.replace(/^(data\.)/, "")}" ${error.message}. Value: ${JSON.stringify(error.value)}`;
|
||||
}).map(message => `\t- ${message}.\n`).join("");
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@ const fs = require("fs"),
|
||||
|
||||
const debug = require("debug")("eslint:ignored-paths");
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Constants
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -37,11 +36,23 @@ const DEFAULT_OPTIONS = {
|
||||
cwd: process.cwd()
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Helpers
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Find a file in the current directory.
|
||||
* @param {string} cwd Current working directory
|
||||
* @param {string} name File name
|
||||
* @returns {string} Path of ignore file or an empty string.
|
||||
*/
|
||||
function findFile(cwd, name) {
|
||||
cwd = cwd || DEFAULT_OPTIONS.cwd;
|
||||
|
||||
const ignoreFilePath = path.resolve(cwd, name);
|
||||
|
||||
return fs.existsSync(ignoreFilePath) && fs.statSync(ignoreFilePath).isFile() ? ignoreFilePath : "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Find an ignore file in the current directory.
|
||||
@@ -49,11 +60,16 @@ const DEFAULT_OPTIONS = {
|
||||
* @returns {string} Path of ignore file or an empty string.
|
||||
*/
|
||||
function findIgnoreFile(cwd) {
|
||||
cwd = cwd || DEFAULT_OPTIONS.cwd;
|
||||
return findFile(cwd, ESLINT_IGNORE_FILENAME);
|
||||
}
|
||||
|
||||
const ignoreFilePath = path.resolve(cwd, ESLINT_IGNORE_FILENAME);
|
||||
|
||||
return fs.existsSync(ignoreFilePath) && fs.statSync(ignoreFilePath).isFile() ? ignoreFilePath : "";
|
||||
/**
|
||||
* Find an package.json file in the current directory.
|
||||
* @param {string} cwd Current working directory
|
||||
* @returns {string} Path of package.json file or an empty string.
|
||||
*/
|
||||
function findPackageJSONFile(cwd) {
|
||||
return findFile(cwd, "package.json");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -80,6 +96,7 @@ class IgnoredPaths {
|
||||
*/
|
||||
constructor(options) {
|
||||
options = mergeDefaultOptions(options);
|
||||
this.cache = {};
|
||||
|
||||
/**
|
||||
* add pattern to node-ignore instance
|
||||
@@ -91,17 +108,6 @@ class IgnoredPaths {
|
||||
return ig.addPattern(pattern);
|
||||
}
|
||||
|
||||
/**
|
||||
* add ignore file to node-ignore instance
|
||||
* @param {Object} ig, instance of node-ignore
|
||||
* @param {string} filepath, file to add to ig
|
||||
* @returns {array} raw ignore rules
|
||||
*/
|
||||
function addIgnoreFile(ig, filepath) {
|
||||
ig.ignoreFiles.push(filepath);
|
||||
return ig.add(fs.readFileSync(filepath, "utf8"));
|
||||
}
|
||||
|
||||
this.defaultPatterns = [].concat(DEFAULT_IGNORE_DIRS, options.patterns || []);
|
||||
this.baseDir = options.cwd;
|
||||
|
||||
@@ -155,8 +161,39 @@ class IgnoredPaths {
|
||||
if (ignorePath) {
|
||||
debug(`Adding ${ignorePath}`);
|
||||
this.baseDir = path.dirname(path.resolve(options.cwd, ignorePath));
|
||||
addIgnoreFile(this.ig.custom, ignorePath);
|
||||
addIgnoreFile(this.ig.default, ignorePath);
|
||||
this.addIgnoreFile(this.ig.custom, ignorePath);
|
||||
this.addIgnoreFile(this.ig.default, ignorePath);
|
||||
} else {
|
||||
try {
|
||||
|
||||
// if the ignoreFile does not exist, check package.json for eslintIgnore
|
||||
const packageJSONPath = findPackageJSONFile(options.cwd);
|
||||
|
||||
if (packageJSONPath) {
|
||||
let packageJSONOptions;
|
||||
|
||||
try {
|
||||
packageJSONOptions = JSON.parse(fs.readFileSync(packageJSONPath, "utf8"));
|
||||
} catch (e) {
|
||||
debug("Could not read package.json file to check eslintIgnore property");
|
||||
throw e;
|
||||
}
|
||||
|
||||
if (packageJSONOptions.eslintIgnore) {
|
||||
if (Array.isArray(packageJSONOptions.eslintIgnore)) {
|
||||
packageJSONOptions.eslintIgnore.forEach(pattern => {
|
||||
addPattern(this.ig.custom, pattern);
|
||||
addPattern(this.ig.default, pattern);
|
||||
});
|
||||
} else {
|
||||
throw new Error("Package.json eslintIgnore property requires an array of paths");
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
debug("Could not find package.json to check eslintIgnore property");
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
if (options.ignorePattern) {
|
||||
@@ -168,6 +205,29 @@ class IgnoredPaths {
|
||||
this.options = options;
|
||||
}
|
||||
|
||||
/**
|
||||
* read ignore filepath
|
||||
* @param {string} filePath, file to add to ig
|
||||
* @returns {array} raw ignore rules
|
||||
*/
|
||||
readIgnoreFile(filePath) {
|
||||
if (typeof this.cache[filePath] === "undefined") {
|
||||
this.cache[filePath] = fs.readFileSync(filePath, "utf8");
|
||||
}
|
||||
return this.cache[filePath];
|
||||
}
|
||||
|
||||
/**
|
||||
* add ignore file to node-ignore instance
|
||||
* @param {Object} ig, instance of node-ignore
|
||||
* @param {string} filePath, file to add to ig
|
||||
* @returns {array} raw ignore rules
|
||||
*/
|
||||
addIgnoreFile(ig, filePath) {
|
||||
ig.ignoreFiles.push(filePath);
|
||||
return ig.add(this.readIgnoreFile(filePath));
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether a file path is included in the default or custom ignore patterns
|
||||
* @param {string} filepath Path to check
|
||||
|
||||
@@ -27,9 +27,11 @@ const assert = require("assert"),
|
||||
Rules = require("./rules"),
|
||||
timing = require("./timing"),
|
||||
astUtils = require("./ast-utils"),
|
||||
pkg = require("../package.json"),
|
||||
SourceCodeFixer = require("./util/source-code-fixer");
|
||||
|
||||
pkg = require("../package.json");
|
||||
|
||||
const debug = require("debug")("eslint:linter");
|
||||
const MAX_AUTOFIX_PASSES = 10;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Typedefs
|
||||
@@ -453,8 +455,8 @@ function normalizeEcmaVersion(ecmaVersion, isModule) {
|
||||
*/
|
||||
function prepareConfig(config, envContext) {
|
||||
config.globals = config.globals || {};
|
||||
const copiedRules = Object.assign({}, defaultConfig.rules);
|
||||
let parserOptions = Object.assign({}, defaultConfig.parserOptions);
|
||||
const copiedRules = {};
|
||||
let parserOptions = {};
|
||||
|
||||
if (typeof config.rules === "object") {
|
||||
Object.keys(config.rules).forEach(k => {
|
||||
@@ -1185,6 +1187,74 @@ class Linter extends EventEmitter {
|
||||
getDeclaredVariables(node) {
|
||||
return (this.scopeManager && this.scopeManager.getDeclaredVariables(node)) || [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Performs multiple autofix passes over the text until as many fixes as possible
|
||||
* have been applied.
|
||||
* @param {string} text The source text to apply fixes to.
|
||||
* @param {Object} config The ESLint config object to use.
|
||||
* @param {Object} options The ESLint options object to use.
|
||||
* @param {string} options.filename The filename from which the text was read.
|
||||
* @param {boolean} options.allowInlineConfig Flag indicating if inline comments
|
||||
* should be allowed.
|
||||
* @returns {Object} The result of the fix operation as returned from the
|
||||
* SourceCodeFixer.
|
||||
*/
|
||||
verifyAndFix(text, config, options) {
|
||||
let messages = [],
|
||||
fixedResult,
|
||||
fixed = false,
|
||||
passNumber = 0;
|
||||
|
||||
/**
|
||||
* This loop continues until one of the following is true:
|
||||
*
|
||||
* 1. No more fixes have been applied.
|
||||
* 2. Ten passes have been made.
|
||||
*
|
||||
* That means anytime a fix is successfully applied, there will be another pass.
|
||||
* Essentially, guaranteeing a minimum of two passes.
|
||||
*/
|
||||
do {
|
||||
passNumber++;
|
||||
|
||||
debug(`Linting code for ${options.filename} (pass ${passNumber})`);
|
||||
messages = this.verify(text, config, options);
|
||||
|
||||
debug(`Generating fixed text for ${options.filename} (pass ${passNumber})`);
|
||||
fixedResult = SourceCodeFixer.applyFixes(this.getSourceCode(), messages);
|
||||
|
||||
// stop if there are any syntax errors.
|
||||
// 'fixedResult.output' is a empty string.
|
||||
if (messages.length === 1 && messages[0].fatal) {
|
||||
break;
|
||||
}
|
||||
|
||||
// keep track if any fixes were ever applied - important for return value
|
||||
fixed = fixed || fixedResult.fixed;
|
||||
|
||||
// update to use the fixed output instead of the original text
|
||||
text = fixedResult.output;
|
||||
|
||||
} while (
|
||||
fixedResult.fixed &&
|
||||
passNumber < MAX_AUTOFIX_PASSES
|
||||
);
|
||||
|
||||
/*
|
||||
* If the last result had fixes, we need to lint again to be sure we have
|
||||
* the most up-to-date information.
|
||||
*/
|
||||
if (fixedResult.fixed) {
|
||||
fixedResult.messages = this.verify(text, config, options);
|
||||
}
|
||||
|
||||
// ensure the last result properly reflects if fixes were done
|
||||
fixedResult.fixed = fixed;
|
||||
fixedResult.output = text;
|
||||
|
||||
return fixedResult;
|
||||
}
|
||||
}
|
||||
|
||||
// methods that exist on SourceCode object
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
// Requirements
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
const assert = require("assert");
|
||||
const ruleFixer = require("./util/rule-fixer");
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -60,6 +61,75 @@ const PASSTHROUGHS = [
|
||||
// Rule Definition
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Compares items in a fixes array by range.
|
||||
* @param {Fix} a The first message.
|
||||
* @param {Fix} b The second message.
|
||||
* @returns {int} -1 if a comes before b, 1 if a comes after b, 0 if equal.
|
||||
* @private
|
||||
*/
|
||||
function compareFixesByRange(a, b) {
|
||||
return a.range[0] - b.range[0] || a.range[1] - b.range[1];
|
||||
}
|
||||
|
||||
/**
|
||||
* Merges the given fixes array into one.
|
||||
* @param {Fix[]} fixes The fixes to merge.
|
||||
* @param {SourceCode} sourceCode The source code object to get the text between fixes.
|
||||
* @returns {void}
|
||||
*/
|
||||
function mergeFixes(fixes, sourceCode) {
|
||||
if (fixes.length === 0) {
|
||||
return null;
|
||||
}
|
||||
if (fixes.length === 1) {
|
||||
return fixes[0];
|
||||
}
|
||||
|
||||
fixes.sort(compareFixesByRange);
|
||||
|
||||
const originalText = sourceCode.text;
|
||||
const start = fixes[0].range[0];
|
||||
const end = fixes[fixes.length - 1].range[1];
|
||||
let text = "";
|
||||
let lastPos = Number.MIN_SAFE_INTEGER;
|
||||
|
||||
for (const fix of fixes) {
|
||||
assert(fix.range[0] >= lastPos, "Fix objects must not be overlapped in a report.");
|
||||
|
||||
if (fix.range[0] >= 0) {
|
||||
text += originalText.slice(Math.max(0, start, lastPos), fix.range[0]);
|
||||
}
|
||||
text += fix.text;
|
||||
lastPos = fix.range[1];
|
||||
}
|
||||
text += originalText.slice(Math.max(0, start, lastPos), end);
|
||||
|
||||
return { range: [start, end], text };
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets one fix object from the given descriptor.
|
||||
* If the descriptor retrieves multiple fixes, this merges those to one.
|
||||
* @param {Object} descriptor The report descriptor.
|
||||
* @param {SourceCode} sourceCode The source code object to get text between fixes.
|
||||
* @returns {Fix} The got fix object.
|
||||
*/
|
||||
function getFix(descriptor, sourceCode) {
|
||||
if (typeof descriptor.fix !== "function") {
|
||||
return null;
|
||||
}
|
||||
|
||||
// @type {null | Fix | Fix[] | IterableIterator<Fix>}
|
||||
const fix = descriptor.fix(ruleFixer);
|
||||
|
||||
// Merge to one.
|
||||
if (fix && Symbol.iterator in fix) {
|
||||
return mergeFixes(Array.from(fix), sourceCode);
|
||||
}
|
||||
return fix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Rule context class
|
||||
* Acts as an abstraction layer between rules and the main eslint object.
|
||||
@@ -120,12 +190,7 @@ class RuleContext {
|
||||
// check to see if it's a new style call
|
||||
if (arguments.length === 1) {
|
||||
const descriptor = nodeOrDescriptor;
|
||||
let fix = null;
|
||||
|
||||
// if there's a fix specified, get it
|
||||
if (typeof descriptor.fix === "function") {
|
||||
fix = descriptor.fix(ruleFixer);
|
||||
}
|
||||
const fix = getFix(descriptor, this.getSourceCode());
|
||||
|
||||
this.eslint.report(
|
||||
this.id,
|
||||
|
||||
@@ -65,6 +65,29 @@ module.exports = {
|
||||
const requireReturnForObjectLiteral = options[1] && options[1].requireReturnForObjectLiteral;
|
||||
const sourceCode = context.getSourceCode();
|
||||
|
||||
/**
|
||||
* Checks whether the given node has ASI problem or not.
|
||||
* @param {Token} token The token to check.
|
||||
* @returns {boolean} `true` if it changes semantics if `;` or `}` followed by the token are removed.
|
||||
*/
|
||||
function hasASIProblem(token) {
|
||||
return token && token.type === "Punctuator" && /^[([/`+-]/.test(token.value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the closing parenthesis which is the pair of the given opening parenthesis.
|
||||
* @param {Token} token The opening parenthesis token to get.
|
||||
* @returns {Token} The found closing parenthesis token.
|
||||
*/
|
||||
function findClosingParen(token) {
|
||||
let node = sourceCode.getNodeByRangeIndex(token.range[1]);
|
||||
|
||||
while (!astUtils.isParenthesised(sourceCode, node)) {
|
||||
node = node.parent;
|
||||
}
|
||||
return sourceCode.getTokenAfter(node);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether a arrow function body needs braces
|
||||
* @param {ASTNode} node The arrow function node.
|
||||
@@ -91,47 +114,55 @@ module.exports = {
|
||||
loc: arrowBody.loc.start,
|
||||
message: "Unexpected block statement surrounding arrow body.",
|
||||
fix(fixer) {
|
||||
if (blockBody.length !== 1 || blockBody[0].type !== "ReturnStatement" || !blockBody[0].argument) {
|
||||
return null;
|
||||
const fixes = [];
|
||||
|
||||
if (blockBody.length !== 1 ||
|
||||
blockBody[0].type !== "ReturnStatement" ||
|
||||
!blockBody[0].argument ||
|
||||
hasASIProblem(sourceCode.getTokenAfter(arrowBody))
|
||||
) {
|
||||
return fixes;
|
||||
}
|
||||
|
||||
const sourceText = sourceCode.getText();
|
||||
const returnKeyword = sourceCode.getFirstToken(blockBody[0]);
|
||||
const firstValueToken = sourceCode.getTokenAfter(returnKeyword);
|
||||
let lastValueToken = sourceCode.getLastToken(blockBody[0]);
|
||||
const openingBrace = sourceCode.getFirstToken(arrowBody);
|
||||
const closingBrace = sourceCode.getLastToken(arrowBody);
|
||||
const firstValueToken = sourceCode.getFirstToken(blockBody[0], 1);
|
||||
const lastValueToken = sourceCode.getLastToken(blockBody[0]);
|
||||
const commentsExist =
|
||||
sourceCode.commentsExistBetween(openingBrace, firstValueToken) ||
|
||||
sourceCode.commentsExistBetween(lastValueToken, closingBrace);
|
||||
|
||||
// Remove tokens around the return value.
|
||||
// If comments don't exist, remove extra spaces as well.
|
||||
if (commentsExist) {
|
||||
fixes.push(
|
||||
fixer.remove(openingBrace),
|
||||
fixer.remove(closingBrace),
|
||||
fixer.remove(sourceCode.getTokenAfter(openingBrace)) // return keyword
|
||||
);
|
||||
} else {
|
||||
fixes.push(
|
||||
fixer.removeRange([openingBrace.range[0], firstValueToken.range[0]]),
|
||||
fixer.removeRange([lastValueToken.range[1], closingBrace.range[1]])
|
||||
);
|
||||
}
|
||||
|
||||
// If the first token of the reutrn value is `{`,
|
||||
// enclose the return value by parentheses to avoid syntax error.
|
||||
if (astUtils.isOpeningBraceToken(firstValueToken)) {
|
||||
fixes.push(
|
||||
fixer.insertTextBefore(firstValueToken, "("),
|
||||
fixer.insertTextAfter(lastValueToken, ")")
|
||||
);
|
||||
}
|
||||
|
||||
// If the last token of the return statement is semicolon, remove it.
|
||||
// Non-block arrow body is an expression, not a statement.
|
||||
if (astUtils.isSemicolonToken(lastValueToken)) {
|
||||
|
||||
/* The last token of the returned value is the last token of the ReturnExpression (if
|
||||
* the ReturnExpression has no semicolon), or the second-to-last token (if the ReturnExpression
|
||||
* has a semicolon).
|
||||
*/
|
||||
lastValueToken = sourceCode.getTokenBefore(lastValueToken);
|
||||
fixes.push(fixer.remove(lastValueToken));
|
||||
}
|
||||
|
||||
const tokenAfterArrowBody = sourceCode.getTokenAfter(arrowBody);
|
||||
|
||||
if (tokenAfterArrowBody && tokenAfterArrowBody.type === "Punctuator" && /^[([/`+-]/.test(tokenAfterArrowBody.value)) {
|
||||
|
||||
// Don't do a fix if the next token would cause ASI issues when preceded by the returned value.
|
||||
return null;
|
||||
}
|
||||
|
||||
const textBeforeReturn = sourceText.slice(arrowBody.range[0] + 1, returnKeyword.range[0]);
|
||||
const textBetweenReturnAndValue = sourceText.slice(returnKeyword.range[1], firstValueToken.range[0]);
|
||||
const rawReturnValueText = sourceText.slice(firstValueToken.range[0], lastValueToken.range[1]);
|
||||
const returnValueText = astUtils.isOpeningBraceToken(firstValueToken) ? `(${rawReturnValueText})` : rawReturnValueText;
|
||||
const textAfterValue = sourceText.slice(lastValueToken.range[1], blockBody[0].range[1] - 1);
|
||||
const textAfterReturnStatement = sourceText.slice(blockBody[0].range[1], arrowBody.range[1] - 1);
|
||||
|
||||
/*
|
||||
* For fixes that only contain spaces around the return value, remove the extra spaces.
|
||||
* This avoids ugly fixes that end up with extra spaces after the arrow, e.g. `() => 0 ;`
|
||||
*/
|
||||
return fixer.replaceText(
|
||||
arrowBody,
|
||||
(textBeforeReturn + textBetweenReturnAndValue).replace(/^\s*$/, "") + returnValueText + (textAfterValue + textAfterReturnStatement).replace(/^\s*$/, "")
|
||||
);
|
||||
return fixes;
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -142,13 +173,29 @@ module.exports = {
|
||||
loc: arrowBody.loc.start,
|
||||
message: "Expected block statement surrounding arrow body.",
|
||||
fix(fixer) {
|
||||
const lastTokenBeforeBody = sourceCode.getLastTokenBetween(sourceCode.getFirstToken(node), arrowBody, astUtils.isNotOpeningParenToken);
|
||||
const firstBodyToken = sourceCode.getTokenAfter(lastTokenBeforeBody);
|
||||
const fixes = [];
|
||||
const arrowToken = sourceCode.getTokenBefore(arrowBody, astUtils.isArrowToken);
|
||||
const firstBodyToken = sourceCode.getTokenAfter(arrowToken);
|
||||
const lastBodyToken = sourceCode.getLastToken(node);
|
||||
const isParenthesisedObjectLiteral =
|
||||
astUtils.isOpeningParenToken(firstBodyToken) &&
|
||||
astUtils.isOpeningBraceToken(sourceCode.getTokenAfter(firstBodyToken));
|
||||
|
||||
return fixer.replaceTextRange(
|
||||
[firstBodyToken.range[0], node.range[1]],
|
||||
`{return ${sourceCode.getText().slice(firstBodyToken.range[0], node.range[1])}}`
|
||||
// Wrap the value by a block and a return statement.
|
||||
fixes.push(
|
||||
fixer.insertTextBefore(firstBodyToken, "{return "),
|
||||
fixer.insertTextAfter(lastBodyToken, "}")
|
||||
);
|
||||
|
||||
// If the value is object literal, remove parentheses which were forced by syntax.
|
||||
if (isParenthesisedObjectLiteral) {
|
||||
fixes.push(
|
||||
fixer.remove(firstBodyToken),
|
||||
fixer.remove(findClosingParen(firstBodyToken))
|
||||
);
|
||||
}
|
||||
|
||||
return fixes;
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -156,7 +203,7 @@ module.exports = {
|
||||
}
|
||||
|
||||
return {
|
||||
ArrowFunctionExpression: validate
|
||||
"ArrowFunctionExpression:exit": validate
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -658,7 +658,6 @@ module.exports = {
|
||||
while (astUtils.isOpeningParenToken(token) && token !== startToken) {
|
||||
token = sourceCode.getTokenBefore(token);
|
||||
}
|
||||
|
||||
return sourceCode.getTokenAfter(token);
|
||||
}
|
||||
|
||||
@@ -675,7 +674,6 @@ module.exports = {
|
||||
if (offset === "first" && elements.length && !elements[0]) {
|
||||
return;
|
||||
}
|
||||
|
||||
elements.forEach((element, index) => {
|
||||
if (offset === "off") {
|
||||
offsets.ignoreToken(getFirstToken(element));
|
||||
@@ -816,7 +814,6 @@ module.exports = {
|
||||
|
||||
offsets.ignoreToken(operator);
|
||||
offsets.ignoreToken(tokensAfterOperator[0]);
|
||||
offsets.setDesiredOffset(tokensAfterOperator[0], sourceCode.getFirstToken(node), 1);
|
||||
offsets.setDesiredOffsets(tokensAfterOperator, tokensAfterOperator[0], 1);
|
||||
}
|
||||
|
||||
@@ -882,6 +879,13 @@ module.exports = {
|
||||
|
||||
// We only want to handle parens around expressions, so exclude parentheses that are in function parameters and function call arguments.
|
||||
if (!parameterParens.has(leftParen) && !parameterParens.has(rightParen)) {
|
||||
const parenthesizedTokens = new Set(sourceCode.getTokensBetween(leftParen, rightParen));
|
||||
|
||||
parenthesizedTokens.forEach(token => {
|
||||
if (!parenthesizedTokens.has(offsets.getFirstDependency(token))) {
|
||||
offsets.setDesiredOffset(token, leftParen, 1);
|
||||
}
|
||||
});
|
||||
offsets.setDesiredOffset(sourceCode.getTokenAfter(leftParen), leftParen, 1);
|
||||
}
|
||||
|
||||
@@ -1114,28 +1118,29 @@ module.exports = {
|
||||
const tokenBeforeObject = sourceCode.getTokenBefore(node.object, token => astUtils.isNotOpeningParenToken(token) || parameterParens.has(token));
|
||||
const firstObjectToken = tokenBeforeObject ? sourceCode.getTokenAfter(tokenBeforeObject) : sourceCode.ast.tokens[0];
|
||||
const lastObjectToken = sourceCode.getTokenBefore(firstNonObjectToken);
|
||||
const firstPropertyToken = node.computed ? firstNonObjectToken : secondNonObjectToken;
|
||||
|
||||
if (node.computed) {
|
||||
|
||||
// For computed MemberExpressions, match the closing bracket with the opening bracket.
|
||||
offsets.matchIndentOf(firstNonObjectToken, sourceCode.getLastToken(node));
|
||||
offsets.setDesiredOffsets(getTokensAndComments(node.property), firstNonObjectToken, 1);
|
||||
}
|
||||
|
||||
if (typeof options.MemberExpression === "number") {
|
||||
const firstPropertyToken = node.computed ? firstNonObjectToken : secondNonObjectToken;
|
||||
/*
|
||||
* If the object ends on the same line that the property starts, match against the last token
|
||||
* of the object, to ensure that the MemberExpression is not indented.
|
||||
*
|
||||
* Otherwise, match against the first token of the object, e.g.
|
||||
* foo
|
||||
* .bar
|
||||
* .baz // <-- offset by 1 from `foo`
|
||||
*/
|
||||
const offsetBase = lastObjectToken.loc.end.line === firstPropertyToken.loc.start.line
|
||||
? lastObjectToken
|
||||
: firstObjectToken;
|
||||
|
||||
/*
|
||||
* If the object ends on the same line that the property starts, match against the last token
|
||||
* of the object, to ensure that the MemberExpression is not indented.
|
||||
*
|
||||
* Otherwise, match against the first token of the object, e.g.
|
||||
* foo
|
||||
* .bar
|
||||
* .baz // <-- offset by 1 from `foo`
|
||||
*/
|
||||
const offsetBase = lastObjectToken.loc.end.line === firstPropertyToken.loc.start.line
|
||||
? lastObjectToken
|
||||
: firstObjectToken;
|
||||
if (typeof options.MemberExpression === "number") {
|
||||
|
||||
// Match the dot (for non-computed properties) or the opening bracket (for computed properties) against the object.
|
||||
offsets.setDesiredOffset(firstNonObjectToken, offsetBase, options.MemberExpression);
|
||||
@@ -1150,6 +1155,9 @@ module.exports = {
|
||||
// If the MemberExpression option is off, ignore the dot and the first token of the property.
|
||||
offsets.ignoreToken(firstNonObjectToken);
|
||||
offsets.ignoreToken(secondNonObjectToken);
|
||||
|
||||
// To ignore the property indentation, ensure that the property tokens depend on the ignored tokens.
|
||||
offsets.matchIndentOf(offsetBase, firstNonObjectToken);
|
||||
offsets.matchIndentOf(firstNonObjectToken, secondNonObjectToken);
|
||||
}
|
||||
},
|
||||
@@ -1232,6 +1240,7 @@ module.exports = {
|
||||
offsets.ignoreToken(equalOperator);
|
||||
offsets.ignoreToken(tokenAfterOperator);
|
||||
offsets.matchIndentOf(equalOperator, tokenAfterOperator);
|
||||
offsets.matchIndentOf(sourceCode.getFirstToken(node), equalOperator);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -44,7 +44,8 @@ module.exports = {
|
||||
conditionalAssign: { type: "boolean" },
|
||||
nestedBinaryExpressions: { type: "boolean" },
|
||||
returnAssign: { type: "boolean" },
|
||||
ignoreJSX: { enum: ["none", "all", "single-line", "multi-line"] }
|
||||
ignoreJSX: { enum: ["none", "all", "single-line", "multi-line"] },
|
||||
enforceForArrowConditionals: { type: "boolean" }
|
||||
},
|
||||
additionalProperties: false
|
||||
}
|
||||
@@ -67,6 +68,9 @@ module.exports = {
|
||||
const NESTED_BINARY = ALL_NODES && context.options[1] && context.options[1].nestedBinaryExpressions === false;
|
||||
const EXCEPT_RETURN_ASSIGN = ALL_NODES && context.options[1] && context.options[1].returnAssign === false;
|
||||
const IGNORE_JSX = ALL_NODES && context.options[1] && context.options[1].ignoreJSX;
|
||||
const IGNORE_ARROW_CONDITIONALS = ALL_NODES && context.options[1] &&
|
||||
context.options[1].enforceForArrowConditionals === false;
|
||||
|
||||
const PRECEDENCE_OF_ASSIGNMENT_EXPR = precedence({ type: "AssignmentExpression" });
|
||||
const PRECEDENCE_OF_UPDATE_EXPR = precedence({ type: "UpdateExpression" });
|
||||
|
||||
@@ -448,6 +452,13 @@ module.exports = {
|
||||
return;
|
||||
}
|
||||
|
||||
if (node.body.type === "ConditionalExpression" &&
|
||||
IGNORE_ARROW_CONDITIONALS &&
|
||||
!isParenthesisedTwice(node.body)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (node.body.type !== "BlockStatement") {
|
||||
const firstBodyToken = sourceCode.getFirstToken(node.body, astUtils.isNotOpeningParenToken);
|
||||
const tokenBeforeFirst = sourceCode.getTokenBefore(firstBodyToken);
|
||||
|
||||
@@ -30,6 +30,9 @@ module.exports = {
|
||||
properties: {
|
||||
skipBlankLines: {
|
||||
type: "boolean"
|
||||
},
|
||||
ignoreComments: {
|
||||
type: "boolean"
|
||||
}
|
||||
},
|
||||
additionalProperties: false
|
||||
@@ -45,7 +48,8 @@ module.exports = {
|
||||
NONBLANK = `${BLANK_CLASS}+$`;
|
||||
|
||||
const options = context.options[0] || {},
|
||||
skipBlankLines = options.skipBlankLines || false;
|
||||
skipBlankLines = options.skipBlankLines || false,
|
||||
ignoreComments = typeof options.ignoreComments === "undefined" || options.ignoreComments;
|
||||
|
||||
/**
|
||||
* Report the error message
|
||||
@@ -72,6 +76,22 @@ module.exports = {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Given a list of comment nodes, return the line numbers for those comments.
|
||||
* @param {Array} comments An array of comment nodes.
|
||||
* @returns {number[]} An array of line numbers containing comments.
|
||||
*/
|
||||
function getCommentLineNumbers(comments) {
|
||||
const lines = new Set();
|
||||
|
||||
comments.forEach(comment => {
|
||||
for (let i = comment.loc.start.line; i <= comment.loc.end.line; i++) {
|
||||
lines.add(i);
|
||||
}
|
||||
});
|
||||
|
||||
return lines;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Public
|
||||
@@ -87,7 +107,10 @@ module.exports = {
|
||||
const re = new RegExp(NONBLANK),
|
||||
skipMatch = new RegExp(SKIP_BLANK),
|
||||
lines = sourceCode.lines,
|
||||
linebreaks = sourceCode.getText().match(astUtils.createGlobalLinebreakMatcher());
|
||||
linebreaks = sourceCode.getText().match(astUtils.createGlobalLinebreakMatcher()),
|
||||
comments = sourceCode.getAllComments(),
|
||||
commentLineNumbers = getCommentLineNumbers(comments);
|
||||
|
||||
let totalLength = 0,
|
||||
fixRange = [];
|
||||
|
||||
@@ -125,7 +148,10 @@ module.exports = {
|
||||
}
|
||||
|
||||
fixRange = [rangeStart, rangeEnd];
|
||||
report(node, location, fixRange);
|
||||
|
||||
if (!ignoreComments || !commentLineNumbers.has(location.line)) {
|
||||
report(node, location, fixRange);
|
||||
}
|
||||
}
|
||||
|
||||
totalLength += lineLength;
|
||||
|
||||
@@ -106,11 +106,10 @@ module.exports = {
|
||||
* @private
|
||||
*/
|
||||
function checkBinary(node) {
|
||||
if (node.left.typeAnnotation) {
|
||||
return;
|
||||
}
|
||||
const leftNode = (node.left.typeAnnotation) ? node.left.typeAnnotation : node.left;
|
||||
const rightNode = node.right;
|
||||
|
||||
const nonSpacedNode = getFirstNonSpacedToken(node.left, node.right);
|
||||
const nonSpacedNode = getFirstNonSpacedToken(leftNode, rightNode);
|
||||
|
||||
if (nonSpacedNode) {
|
||||
if (!(int32Hint && sourceCode.getText(node).substr(-2) === "|0")) {
|
||||
@@ -143,8 +142,11 @@ module.exports = {
|
||||
* @private
|
||||
*/
|
||||
function checkVar(node) {
|
||||
if (node.init) {
|
||||
const nonSpacedNode = getFirstNonSpacedToken(node.id, node.init);
|
||||
const leftNode = (node.id.typeAnnotation) ? node.id.typeAnnotation : node.id;
|
||||
const rightNode = node.init;
|
||||
|
||||
if (rightNode) {
|
||||
const nonSpacedNode = getFirstNonSpacedToken(leftNode, rightNode);
|
||||
|
||||
if (nonSpacedNode) {
|
||||
report(node, nonSpacedNode);
|
||||
|
||||
@@ -468,9 +468,11 @@ class RuleTester {
|
||||
)
|
||||
);
|
||||
|
||||
const hasMessageOfThisRule = messages.some(m => m.ruleId === ruleName);
|
||||
|
||||
for (let i = 0, l = item.errors.length; i < l; i++) {
|
||||
assert.ok(!("fatal" in messages[i]), `A fatal parsing error occurred: ${messages[i].message}`);
|
||||
assert.equal(messages[i].ruleId, ruleName, "Error rule name should be the same as the name of the rule being tested");
|
||||
assert(!messages[i].fatal, `A fatal parsing error occurred: ${messages[i].message}`);
|
||||
assert(hasMessageOfThisRule, "Error rule name should be the same as the name of the rule being tested");
|
||||
|
||||
if (typeof item.errors[i] === "string" || item.errors[i] instanceof RegExp) {
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ const assert = require("assert");
|
||||
const cursors = require("./cursors");
|
||||
const ForwardTokenCursor = require("./forward-token-cursor");
|
||||
const PaddedTokenCursor = require("./padded-token-cursor");
|
||||
const utils = require("./utils");
|
||||
const astUtils = require("../ast-utils");
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -560,6 +561,26 @@ module.exports = class TokenStore {
|
||||
).getAllTokens();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Others.
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Checks whether any comments exist or not between the given 2 nodes.
|
||||
*
|
||||
* @param {ASTNode} left - The node to check.
|
||||
* @param {ASTNode} right - The node to check.
|
||||
* @returns {boolean} `true` if one or more comments exist.
|
||||
*/
|
||||
commentsExistBetween(left, right) {
|
||||
const index = utils.search(this[COMMENTS], left.range[1]);
|
||||
|
||||
return (
|
||||
index < this[COMMENTS].length &&
|
||||
this[COMMENTS][index].range[1] <= right.range[0]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all comment tokens directly before the given node or token.
|
||||
* @param {ASTNode|token} nodeOrToken The AST node or token to check for adjacent comment tokens.
|
||||
|
||||
@@ -56,6 +56,20 @@ function installSyncSaveDev(packages) {
|
||||
childProcess.execSync(`npm i --save-dev ${packages}`, { stdio: "inherit", encoding: "utf8" });
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch `peerDependencies` of the given package by `npm show` command.
|
||||
* @param {string} packageName The package name to fetch peerDependencies.
|
||||
* @returns {string[]} Gotten peerDependencies.
|
||||
*/
|
||||
function fetchPeerDependencies(packageName) {
|
||||
const fetchedText = childProcess.execSync(
|
||||
`npm show --json ${packageName} peerDependencies`,
|
||||
{ encoding: "utf8" }
|
||||
).trim();
|
||||
|
||||
return JSON.parse(fetchedText || "{}");
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether node modules are include in a project's package.json.
|
||||
*
|
||||
@@ -140,6 +154,7 @@ function checkPackageJson(startDir) {
|
||||
|
||||
module.exports = {
|
||||
installSyncSaveDev,
|
||||
fetchPeerDependencies,
|
||||
checkDeps,
|
||||
checkDevDeps,
|
||||
checkPackageJson
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
../remark/cli.js
|
||||
+19
-47
@@ -1,56 +1,34 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "acorn@^3.0.4",
|
||||
"scope": null,
|
||||
"escapedName": "acorn",
|
||||
"name": "acorn",
|
||||
"rawSpec": "^3.0.4",
|
||||
"spec": ">=3.0.4 <4.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/acorn-jsx"
|
||||
]
|
||||
],
|
||||
"_from": "acorn@>=3.0.4 <4.0.0",
|
||||
"_from": "acorn@^3.0.4",
|
||||
"_id": "acorn@3.3.0",
|
||||
"_inCache": true,
|
||||
"_location": "/acorn-jsx/acorn",
|
||||
"_nodeVersion": "6.3.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-16-east.internal.npmjs.com",
|
||||
"tmp": "tmp/acorn-3.3.0.tgz_1469481913382_0.3856039580423385"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "marijn",
|
||||
"email": "marijnh@gmail.com"
|
||||
},
|
||||
"_npmVersion": "3.10.3",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
|
||||
"_location": "/eslint/acorn-jsx/acorn",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "acorn@^3.0.4",
|
||||
"scope": null,
|
||||
"escapedName": "acorn",
|
||||
"name": "acorn",
|
||||
"escapedName": "acorn",
|
||||
"rawSpec": "^3.0.4",
|
||||
"spec": ">=3.0.4 <4.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^3.0.4"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/acorn-jsx"
|
||||
"/eslint/acorn-jsx"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
|
||||
"_shasum": "45e37fb39e8da3f25baee3ff5369e2bb5f22017a",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "acorn@^3.0.4",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/acorn-jsx",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/acorn-jsx",
|
||||
"bin": {
|
||||
"acorn": "./bin/acorn"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/ternjs/acorn/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "List of Acorn contributors. Updated before every release."
|
||||
@@ -227,39 +205,33 @@
|
||||
"name": "zsjforcn"
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "ECMAScript parser",
|
||||
"devDependencies": {
|
||||
"rollup": "^0.34.1",
|
||||
"rollup-plugin-buble": "^0.11.0",
|
||||
"unicode-9.0.0": "^0.7.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "45e37fb39e8da3f25baee3ff5369e2bb5f22017a",
|
||||
"tarball": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
},
|
||||
"gitHead": "693c5fe9257c3e114a7097dc9196d6e484e52809",
|
||||
"homepage": "https://github.com/ternjs/acorn",
|
||||
"jsnext:main": "dist/acorn.es.js",
|
||||
"license": "MIT",
|
||||
"main": "dist/acorn.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "marijn",
|
||||
"email": "marijnh@gmail.com"
|
||||
"name": "Marijn Haverbeke",
|
||||
"email": "marijnh@gmail.com",
|
||||
"url": "http://marijnhaverbeke.nl"
|
||||
},
|
||||
{
|
||||
"name": "rreverser",
|
||||
"email": "me@rreverser.com"
|
||||
"name": "Ingvar Stepanyan",
|
||||
"email": "me@rreverser.com",
|
||||
"url": "http://rreverser.com/"
|
||||
}
|
||||
],
|
||||
"name": "acorn",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/ternjs/acorn.git"
|
||||
|
||||
+16
-44
@@ -1,78 +1,50 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "acorn-jsx@^3.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "acorn-jsx",
|
||||
"name": "acorn-jsx",
|
||||
"rawSpec": "^3.0.0",
|
||||
"spec": ">=3.0.0 <4.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/espree"
|
||||
]
|
||||
],
|
||||
"_from": "acorn-jsx@>=3.0.0 <4.0.0",
|
||||
"_from": "acorn-jsx@^3.0.0",
|
||||
"_id": "acorn-jsx@3.0.1",
|
||||
"_inCache": true,
|
||||
"_location": "/acorn-jsx",
|
||||
"_nodeVersion": "6.0.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/acorn-jsx-3.0.1.tgz_1462206645285_0.17844340158626437"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "rreverser",
|
||||
"email": "me@rreverser.com"
|
||||
},
|
||||
"_npmVersion": "3.8.6",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
|
||||
"_location": "/eslint/acorn-jsx",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "acorn-jsx@^3.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "acorn-jsx",
|
||||
"name": "acorn-jsx",
|
||||
"escapedName": "acorn-jsx",
|
||||
"rawSpec": "^3.0.0",
|
||||
"spec": ">=3.0.0 <4.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^3.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/espree"
|
||||
"/eslint/espree"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
|
||||
"_shasum": "afdf9488fb1ecefc8348f6fb22f464e32a58b36b",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "acorn-jsx@^3.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/espree",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/espree",
|
||||
"bugs": {
|
||||
"url": "https://github.com/RReverser/acorn-jsx/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"acorn": "^3.0.4"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Alternative, faster React.js JSX parser",
|
||||
"devDependencies": {
|
||||
"chai": "^3.0.0",
|
||||
"mocha": "^2.2.5"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "afdf9488fb1ecefc8348f6fb22f464e32a58b36b",
|
||||
"tarball": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz"
|
||||
},
|
||||
"gitHead": "05852d8ae9476b7f8a25e417665e2265528d5fb9",
|
||||
"homepage": "https://github.com/RReverser/acorn-jsx",
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "rreverser",
|
||||
"email": "me@rreverser.com"
|
||||
"name": "Ingvar Stepanyan",
|
||||
"email": "me@rreverser.com",
|
||||
"url": "http://rreverser.com/"
|
||||
}
|
||||
],
|
||||
"name": "acorn-jsx",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/RReverser/acorn-jsx.git"
|
||||
|
||||
+21
-45
@@ -1,56 +1,34 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "acorn@^5.0.1",
|
||||
"scope": null,
|
||||
"escapedName": "acorn",
|
||||
"name": "acorn",
|
||||
"rawSpec": "^5.0.1",
|
||||
"spec": ">=5.0.1 <6.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/espree"
|
||||
]
|
||||
],
|
||||
"_from": "acorn@>=5.0.1 <6.0.0",
|
||||
"_from": "acorn@^5.0.1",
|
||||
"_id": "acorn@5.0.3",
|
||||
"_inCache": true,
|
||||
"_location": "/acorn",
|
||||
"_nodeVersion": "6.9.1",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/acorn-5.0.3.tgz_1491067098969_0.3370379332918674"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "marijn",
|
||||
"email": "marijnh@gmail.com"
|
||||
},
|
||||
"_npmVersion": "3.10.8",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-xGDfCEkUY/AozLguqzcwvwEIez0=",
|
||||
"_location": "/eslint/acorn",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "acorn@^5.0.1",
|
||||
"scope": null,
|
||||
"escapedName": "acorn",
|
||||
"name": "acorn",
|
||||
"escapedName": "acorn",
|
||||
"rawSpec": "^5.0.1",
|
||||
"spec": ">=5.0.1 <6.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^5.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/espree"
|
||||
"/eslint/espree"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/acorn/-/acorn-5.0.3.tgz",
|
||||
"_shasum": "c460df08491463f028ccb82eab3730bf01087b3d",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "acorn@^5.0.1",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/espree",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/espree",
|
||||
"bin": {
|
||||
"acorn": "./bin/acorn"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/ternjs/acorn/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "List of Acorn contributors. Updated before every release."
|
||||
@@ -242,7 +220,7 @@
|
||||
"name": "zsjforcn"
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "ECMAScript parser",
|
||||
"devDependencies": {
|
||||
"eslint": "^3.18.0",
|
||||
@@ -254,28 +232,26 @@
|
||||
"rollup-plugin-buble": "^0.11.0",
|
||||
"unicode-9.0.0": "^0.7.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "c460df08491463f028ccb82eab3730bf01087b3d",
|
||||
"tarball": "https://registry.npmjs.org/acorn/-/acorn-5.0.3.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
},
|
||||
"gitHead": "dc2a033831e0813496bdb558c70b9fdf4720f048",
|
||||
"homepage": "https://github.com/ternjs/acorn",
|
||||
"jsnext:main": "dist/acorn.es.js",
|
||||
"license": "MIT",
|
||||
"main": "dist/acorn.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "marijn",
|
||||
"email": "marijnh@gmail.com"
|
||||
"name": "Marijn Haverbeke",
|
||||
"email": "marijnh@gmail.com",
|
||||
"url": "http://marijnhaverbeke.nl"
|
||||
},
|
||||
{
|
||||
"name": "Ingvar Stepanyan",
|
||||
"email": "me@rreverser.com",
|
||||
"url": "http://rreverser.com/"
|
||||
}
|
||||
],
|
||||
"name": "acorn",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/ternjs/acorn.git"
|
||||
|
||||
+13
-49
@@ -1,57 +1,35 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "ajv-keywords@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "ajv-keywords",
|
||||
"name": "ajv-keywords",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/table"
|
||||
]
|
||||
],
|
||||
"_from": "ajv-keywords@>=1.0.0 <2.0.0",
|
||||
"_from": "ajv-keywords@^1.0.0",
|
||||
"_id": "ajv-keywords@1.5.1",
|
||||
"_inCache": true,
|
||||
"_location": "/ajv-keywords",
|
||||
"_nodeVersion": "4.6.1",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/ajv-keywords-1.5.1.tgz_1485107517951_0.29220994655042887"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "esp",
|
||||
"email": "e.poberezkin@me.com"
|
||||
},
|
||||
"_npmVersion": "2.15.9",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=",
|
||||
"_location": "/eslint/ajv-keywords",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "ajv-keywords@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "ajv-keywords",
|
||||
"name": "ajv-keywords",
|
||||
"escapedName": "ajv-keywords",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/table"
|
||||
"/eslint/table"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
|
||||
"_shasum": "314dd0a4b3368fad3dfcdc54ede6171b886daf3c",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "ajv-keywords@^1.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/table",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/table",
|
||||
"author": {
|
||||
"name": "Evgeny Poberezkin"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/epoberezkin/ajv-keywords/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Custom JSON-Schema keywords for ajv validator",
|
||||
"devDependencies": {
|
||||
"ajv": "^4.10.0",
|
||||
@@ -68,16 +46,10 @@
|
||||
"pre-commit": "^1.1.3",
|
||||
"uuid": "^3.0.1"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "314dd0a4b3368fad3dfcdc54ede6171b886daf3c",
|
||||
"tarball": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"keywords"
|
||||
],
|
||||
"gitHead": "33c43a2b190c9929fe9e3e9a32a38dace146abf4",
|
||||
"homepage": "https://github.com/epoberezkin/ajv-keywords#readme",
|
||||
"keywords": [
|
||||
"JSON-Schema",
|
||||
@@ -86,18 +58,10 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "esp",
|
||||
"email": "e.poberezkin@me.com"
|
||||
}
|
||||
],
|
||||
"name": "ajv-keywords",
|
||||
"optionalDependencies": {},
|
||||
"peerDependencies": {
|
||||
"ajv": ">=4.10.0"
|
||||
},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/epoberezkin/ajv-keywords.git"
|
||||
|
||||
+13
-52
@@ -1,60 +1,39 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "ajv@^4.7.0",
|
||||
"scope": null,
|
||||
"escapedName": "ajv",
|
||||
"name": "ajv",
|
||||
"rawSpec": "^4.7.0",
|
||||
"spec": ">=4.7.0 <5.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/table"
|
||||
]
|
||||
],
|
||||
"_from": "ajv@>=4.7.0 <5.0.0",
|
||||
"_from": "ajv@^4.7.0",
|
||||
"_id": "ajv@4.11.8",
|
||||
"_inCache": true,
|
||||
"_location": "/ajv",
|
||||
"_nodeVersion": "4.6.1",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/ajv-4.11.8.tgz_1493407396661_0.6132844805251807"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "esp",
|
||||
"email": "e.poberezkin@me.com"
|
||||
},
|
||||
"_npmVersion": "2.15.9",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
|
||||
"_location": "/eslint/ajv",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "ajv@^4.7.0",
|
||||
"scope": null,
|
||||
"escapedName": "ajv",
|
||||
"name": "ajv",
|
||||
"escapedName": "ajv",
|
||||
"rawSpec": "^4.7.0",
|
||||
"spec": ">=4.7.0 <5.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^4.7.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/table"
|
||||
"/eslint/table"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
|
||||
"_shasum": "82ffb02b29e662ae53bdc20af15947706739c536",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "ajv@^4.7.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/table",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/table",
|
||||
"author": {
|
||||
"name": "Evgeny Poberezkin"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/epoberezkin/ajv/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"co": "^4.6.0",
|
||||
"json-stable-stringify": "^1.0.1"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Another JSON Schema Validator",
|
||||
"devDependencies": {
|
||||
"bluebird": "^3.1.5",
|
||||
@@ -87,11 +66,6 @@
|
||||
"uglify-js": "^2.6.1",
|
||||
"watch": "^1.0.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "82ffb02b29e662ae53bdc20af15947706739c536",
|
||||
"tarball": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz"
|
||||
},
|
||||
"files": [
|
||||
"lib/",
|
||||
"dist/",
|
||||
@@ -99,7 +73,6 @@
|
||||
"LICENSE",
|
||||
".tonic_example.js"
|
||||
],
|
||||
"gitHead": "de9fad502273ade9bdcf976e418bdd5b61b14a07",
|
||||
"homepage": "https://github.com/epoberezkin/ajv",
|
||||
"keywords": [
|
||||
"JSON",
|
||||
@@ -113,16 +86,6 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/ajv.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "blakeembrey",
|
||||
"email": "hello@blakeembrey.com"
|
||||
},
|
||||
{
|
||||
"name": "esp",
|
||||
"email": "e.poberezkin@me.com"
|
||||
}
|
||||
],
|
||||
"name": "ajv",
|
||||
"nyc": {
|
||||
"exclude": [
|
||||
@@ -134,11 +97,9 @@
|
||||
"text-summary"
|
||||
]
|
||||
},
|
||||
"optionalDependencies": {},
|
||||
"publishConfig": {
|
||||
"tag": "4.x"
|
||||
},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/epoberezkin/ajv.git"
|
||||
|
||||
+13
-49
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "ansi-escapes@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "ansi-escapes",
|
||||
"name": "ansi-escapes",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/inquirer"
|
||||
]
|
||||
],
|
||||
"_from": "ansi-escapes@>=2.0.0 <3.0.0",
|
||||
"_from": "ansi-escapes@^2.0.0",
|
||||
"_id": "ansi-escapes@2.0.0",
|
||||
"_inCache": true,
|
||||
"_location": "/ansi-escapes",
|
||||
"_nodeVersion": "4.7.3",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/ansi-escapes-2.0.0.tgz_1492961578751_0.06489237071946263"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.15.11",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs=",
|
||||
"_location": "/eslint/ansi-escapes",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "ansi-escapes@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "ansi-escapes",
|
||||
"name": "ansi-escapes",
|
||||
"escapedName": "ansi-escapes",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/inquirer"
|
||||
"/eslint/inquirer"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz",
|
||||
"_shasum": "5bae52be424878dd9783e8910e3fc2922e83c81b",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "ansi-escapes@^2.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/inquirer",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
@@ -53,24 +30,19 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/ansi-escapes/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "ANSI escape codes for manipulating the terminal",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "5bae52be424878dd9783e8910e3fc2922e83c81b",
|
||||
"tarball": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "5dcd620fd52165650d440152ce49fb3d3c679381",
|
||||
"homepage": "https://github.com/sindresorhus/ansi-escapes#readme",
|
||||
"keywords": [
|
||||
"ansi",
|
||||
@@ -98,15 +70,7 @@
|
||||
"iterm2"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "ansi-escapes",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/ansi-escapes.git"
|
||||
|
||||
+25
-48
@@ -1,51 +1,28 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "ansi-regex@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "ansi-regex",
|
||||
"name": "ansi-regex",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/has-ansi"
|
||||
]
|
||||
],
|
||||
"_from": "ansi-regex@>=2.0.0 <3.0.0",
|
||||
"_from": "ansi-regex@^2.0.0",
|
||||
"_id": "ansi-regex@2.1.1",
|
||||
"_inCache": true,
|
||||
"_location": "/ansi-regex",
|
||||
"_nodeVersion": "0.10.32",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/ansi-regex-2.1.1.tgz_1484363378013_0.4482989883981645"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "qix",
|
||||
"email": "i.am.qix@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.14.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
|
||||
"_location": "/eslint/ansi-regex",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "ansi-regex@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "ansi-regex",
|
||||
"name": "ansi-regex",
|
||||
"escapedName": "ansi-regex",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/has-ansi",
|
||||
"/strip-ansi"
|
||||
"/eslint/has-ansi",
|
||||
"/eslint/strip-ansi"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
|
||||
"_shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "ansi-regex@^2.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/has-ansi",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/has-ansi",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
@@ -54,24 +31,19 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/chalk/ansi-regex/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Regular expression for matching ANSI escape codes",
|
||||
"devDependencies": {
|
||||
"ava": "0.17.0",
|
||||
"xo": "0.16.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "c3b33ab5ee360d86e0e628f0468ae7ef27d654df",
|
||||
"tarball": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "7c908e7b4eb6cd82bfe1295e33fdf6d166c7ed85",
|
||||
"homepage": "https://github.com/chalk/ansi-regex#readme",
|
||||
"keywords": [
|
||||
"ansi",
|
||||
@@ -103,17 +75,22 @@
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "qix",
|
||||
"email": "i.am.qix@gmail.com"
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
"name": "Joshua Appelman",
|
||||
"email": "jappelman@xebia.com",
|
||||
"url": "jbnicolai.com"
|
||||
},
|
||||
{
|
||||
"name": "JD Ballard",
|
||||
"email": "i.am.qix@gmail.com",
|
||||
"url": "github.com/qix-"
|
||||
}
|
||||
],
|
||||
"name": "ansi-regex",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/chalk/ansi-regex.git"
|
||||
|
||||
+21
-45
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "ansi-styles@^2.2.1",
|
||||
"scope": null,
|
||||
"escapedName": "ansi-styles",
|
||||
"name": "ansi-styles",
|
||||
"rawSpec": "^2.2.1",
|
||||
"spec": ">=2.2.1 <3.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/chalk"
|
||||
]
|
||||
],
|
||||
"_from": "ansi-styles@>=2.2.1 <3.0.0",
|
||||
"_from": "ansi-styles@^2.2.1",
|
||||
"_id": "ansi-styles@2.2.1",
|
||||
"_inCache": true,
|
||||
"_location": "/ansi-styles",
|
||||
"_nodeVersion": "4.3.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/ansi-styles-2.2.1.tgz_1459197317833_0.9694824463222176"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"_npmVersion": "3.8.3",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
|
||||
"_location": "/eslint/ansi-styles",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "ansi-styles@^2.2.1",
|
||||
"scope": null,
|
||||
"escapedName": "ansi-styles",
|
||||
"name": "ansi-styles",
|
||||
"escapedName": "ansi-styles",
|
||||
"rawSpec": "^2.2.1",
|
||||
"spec": ">=2.2.1 <3.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.2.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/chalk"
|
||||
"/eslint/chalk"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
|
||||
"_shasum": "b432dd3358b634cf75e1e4664368240533c1ddbe",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "ansi-styles@^2.2.1",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/chalk",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/chalk",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
@@ -53,23 +30,18 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/chalk/ansi-styles/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "ANSI escape codes for styling strings in the terminal",
|
||||
"devDependencies": {
|
||||
"mocha": "*"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "b432dd3358b634cf75e1e4664368240533c1ddbe",
|
||||
"tarball": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "95c59b23be760108b6530ca1c89477c21b258032",
|
||||
"homepage": "https://github.com/chalk/ansi-styles#readme",
|
||||
"keywords": [
|
||||
"ansi",
|
||||
@@ -96,13 +68,17 @@
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
{
|
||||
"name": "Joshua Appelman",
|
||||
"email": "jappelman@xebia.com",
|
||||
"url": "jbnicolai.com"
|
||||
}
|
||||
],
|
||||
"name": "ansi-styles",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/chalk/ansi-styles.git"
|
||||
|
||||
+13
-48
@@ -1,53 +1,31 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "argparse@^1.0.7",
|
||||
"scope": null,
|
||||
"escapedName": "argparse",
|
||||
"name": "argparse",
|
||||
"rawSpec": "^1.0.7",
|
||||
"spec": ">=1.0.7 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/js-yaml"
|
||||
]
|
||||
],
|
||||
"_from": "argparse@>=1.0.7 <2.0.0",
|
||||
"_from": "argparse@^1.0.7",
|
||||
"_id": "argparse@1.0.9",
|
||||
"_inCache": true,
|
||||
"_location": "/argparse",
|
||||
"_nodeVersion": "6.5.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/argparse-1.0.9.tgz_1475177461025_0.33920647646300495"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "vitaly",
|
||||
"email": "vitaly@rcdesign.ru"
|
||||
},
|
||||
"_npmVersion": "3.10.3",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
|
||||
"_location": "/eslint/argparse",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "argparse@^1.0.7",
|
||||
"scope": null,
|
||||
"escapedName": "argparse",
|
||||
"name": "argparse",
|
||||
"escapedName": "argparse",
|
||||
"rawSpec": "^1.0.7",
|
||||
"spec": ">=1.0.7 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.7"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/js-yaml"
|
||||
"/eslint/js-yaml"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
|
||||
"_shasum": "73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "argparse@^1.0.7",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/js-yaml",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/js-yaml",
|
||||
"bugs": {
|
||||
"url": "https://github.com/nodeca/argparse/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Eugene Shkuropat"
|
||||
@@ -59,6 +37,7 @@
|
||||
"dependencies": {
|
||||
"sprintf-js": "~1.0.2"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Very powerful CLI arguments parser. Native port of argparse - python's options parsing library",
|
||||
"devDependencies": {
|
||||
"eslint": "^2.13.1",
|
||||
@@ -66,16 +45,10 @@
|
||||
"mocha": "^3.1.0",
|
||||
"ndoc": "^5.0.1"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86",
|
||||
"tarball": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"lib/"
|
||||
],
|
||||
"gitHead": "acb39f2d726b90d2eadf9e6574a938d6250ad248",
|
||||
"homepage": "https://github.com/nodeca/argparse#readme",
|
||||
"keywords": [
|
||||
"cli",
|
||||
@@ -85,15 +58,7 @@
|
||||
"args"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "vitaly",
|
||||
"email": "vitaly@rcdesign.ru"
|
||||
}
|
||||
],
|
||||
"name": "argparse",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/nodeca/argparse.git"
|
||||
|
||||
+13
-48
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "array-union@^1.0.1",
|
||||
"scope": null,
|
||||
"escapedName": "array-union",
|
||||
"name": "array-union",
|
||||
"rawSpec": "^1.0.1",
|
||||
"spec": ">=1.0.1 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/globby"
|
||||
]
|
||||
],
|
||||
"_from": "array-union@>=1.0.1 <2.0.0",
|
||||
"_from": "array-union@^1.0.1",
|
||||
"_id": "array-union@1.0.2",
|
||||
"_inCache": true,
|
||||
"_location": "/array-union",
|
||||
"_nodeVersion": "4.4.2",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-16-east.internal.npmjs.com",
|
||||
"tmp": "tmp/array-union-1.0.2.tgz_1466079411551_0.23353995219804347"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.15.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
|
||||
"_location": "/eslint/array-union",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "array-union@^1.0.1",
|
||||
"scope": null,
|
||||
"escapedName": "array-union",
|
||||
"name": "array-union",
|
||||
"escapedName": "array-union",
|
||||
"rawSpec": "^1.0.1",
|
||||
"spec": ">=1.0.1 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/globby"
|
||||
"/eslint/globby"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
|
||||
"_shasum": "9a34410e4f4e3da23dea375be5be70f24778ec39",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "array-union@^1.0.1",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/globby",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/globby",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
@@ -53,26 +30,22 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/array-union/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"array-uniq": "^1.0.1"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Create an array of unique values, in order, from the input arrays",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "9a34410e4f4e3da23dea375be5be70f24778ec39",
|
||||
"tarball": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "34e1d6a80baa4eac9723795a0674c14119ace1bd",
|
||||
"homepage": "https://github.com/sindresorhus/array-union#readme",
|
||||
"keywords": [
|
||||
"array",
|
||||
@@ -87,15 +60,7 @@
|
||||
"merge"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "array-union",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/array-union.git"
|
||||
|
||||
+13
-49
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "array-uniq@^1.0.1",
|
||||
"scope": null,
|
||||
"escapedName": "array-uniq",
|
||||
"name": "array-uniq",
|
||||
"rawSpec": "^1.0.1",
|
||||
"spec": ">=1.0.1 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/array-union"
|
||||
]
|
||||
],
|
||||
"_from": "array-uniq@>=1.0.1 <2.0.0",
|
||||
"_from": "array-uniq@^1.0.1",
|
||||
"_id": "array-uniq@1.0.3",
|
||||
"_inCache": true,
|
||||
"_location": "/array-uniq",
|
||||
"_nodeVersion": "4.4.2",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/array-uniq-1.0.3.tgz_1466079716839_0.9139188586268574"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.15.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
|
||||
"_location": "/eslint/array-uniq",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "array-uniq@^1.0.1",
|
||||
"scope": null,
|
||||
"escapedName": "array-uniq",
|
||||
"name": "array-uniq",
|
||||
"escapedName": "array-uniq",
|
||||
"rawSpec": "^1.0.1",
|
||||
"spec": ">=1.0.1 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/array-union"
|
||||
"/eslint/array-union"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
|
||||
"_shasum": "af6ac877a25cc7f74e058894753858dfdb24fdb6",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "array-uniq@^1.0.1",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/array-union",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/array-union",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
@@ -53,7 +30,8 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/array-uniq/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Create an array without duplicates",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
@@ -61,18 +39,12 @@
|
||||
"require-uncached": "^1.0.2",
|
||||
"xo": "*"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "af6ac877a25cc7f74e058894753858dfdb24fdb6",
|
||||
"tarball": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "3b5bf5a90a585b3950284d575f33d09663f6083a",
|
||||
"homepage": "https://github.com/sindresorhus/array-uniq#readme",
|
||||
"keywords": [
|
||||
"array",
|
||||
@@ -85,15 +57,7 @@
|
||||
"remove"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "array-uniq",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/array-uniq.git"
|
||||
|
||||
+13
-45
@@ -1,46 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "arrify@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "arrify",
|
||||
"name": "arrify",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/globby"
|
||||
]
|
||||
],
|
||||
"_from": "arrify@>=1.0.0 <2.0.0",
|
||||
"_from": "arrify@^1.0.0",
|
||||
"_id": "arrify@1.0.1",
|
||||
"_inCache": true,
|
||||
"_location": "/arrify",
|
||||
"_nodeVersion": "4.2.1",
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"_npmVersion": "3.5.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
|
||||
"_location": "/eslint/arrify",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "arrify@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "arrify",
|
||||
"name": "arrify",
|
||||
"escapedName": "arrify",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/globby"
|
||||
"/eslint/globby"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
|
||||
"_shasum": "898508da2226f380df904728456849c1501a4b0d",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "arrify@^1.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/globby",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/globby",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
@@ -49,24 +30,19 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/arrify/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Convert a value to an array",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "898508da2226f380df904728456849c1501a4b0d",
|
||||
"tarball": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "087edee1a58d5adaac6cae5a107886121ef43783",
|
||||
"homepage": "https://github.com/sindresorhus/arrify#readme",
|
||||
"keywords": [
|
||||
"array",
|
||||
@@ -77,15 +53,7 @@
|
||||
"value"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "arrify",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/arrify.git"
|
||||
|
||||
+12
-68
@@ -1,102 +1,46 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "babel-code-frame@^6.22.0",
|
||||
"scope": null,
|
||||
"escapedName": "babel-code-frame",
|
||||
"name": "babel-code-frame",
|
||||
"rawSpec": "^6.22.0",
|
||||
"spec": ">=6.22.0 <7.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/eslint"
|
||||
]
|
||||
],
|
||||
"_from": "babel-code-frame@>=6.22.0 <7.0.0",
|
||||
"_from": "babel-code-frame@^6.22.0",
|
||||
"_id": "babel-code-frame@6.22.0",
|
||||
"_inCache": true,
|
||||
"_location": "/babel-code-frame",
|
||||
"_nodeVersion": "6.9.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/babel-code-frame-6.22.0.tgz_1484872404755_0.3806710622739047"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "hzoo",
|
||||
"email": "hi@henryzoo.com"
|
||||
},
|
||||
"_npmVersion": "3.10.10",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=",
|
||||
"_location": "/eslint/babel-code-frame",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "babel-code-frame@^6.22.0",
|
||||
"scope": null,
|
||||
"escapedName": "babel-code-frame",
|
||||
"name": "babel-code-frame",
|
||||
"escapedName": "babel-code-frame",
|
||||
"rawSpec": "^6.22.0",
|
||||
"spec": ">=6.22.0 <7.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^6.22.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/eslint"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
|
||||
"_shasum": "027620bee567a88c32561574e7fd0801d33118e4",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "babel-code-frame@^6.22.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/eslint",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
|
||||
"author": {
|
||||
"name": "Sebastian McKenzie",
|
||||
"email": "sebmck@gmail.com"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"chalk": "^1.1.0",
|
||||
"esutils": "^2.0.2",
|
||||
"js-tokens": "^3.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Generate errors that contain a code frame that point to source locations.",
|
||||
"devDependencies": {},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "027620bee567a88c32561574e7fd0801d33118e4",
|
||||
"tarball": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz"
|
||||
},
|
||||
"homepage": "https://babeljs.io/",
|
||||
"license": "MIT",
|
||||
"main": "lib/index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "amasad",
|
||||
"email": "amjad.masad@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "hzoo",
|
||||
"email": "hi@henryzoo.com"
|
||||
},
|
||||
{
|
||||
"name": "jmm",
|
||||
"email": "npm-public@jessemccarthy.net"
|
||||
},
|
||||
{
|
||||
"name": "loganfsmyth",
|
||||
"email": "loganfsmyth@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "sebmck",
|
||||
"email": "sebmck@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "thejameskyle",
|
||||
"email": "me@thejameskyle.com"
|
||||
}
|
||||
],
|
||||
"name": "babel-code-frame",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/babel/babel/tree/master/packages/babel-code-frame"
|
||||
},
|
||||
"scripts": {},
|
||||
"version": "6.22.0"
|
||||
}
|
||||
+11
-46
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "bail@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "bail",
|
||||
"name": "bail",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/eslint/node_modules/unified"
|
||||
]
|
||||
],
|
||||
"_from": "bail@>=1.0.0 <2.0.0",
|
||||
"_from": "bail@^1.0.0",
|
||||
"_id": "bail@1.0.1",
|
||||
"_inCache": true,
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-kSV53os5Gq3zxf30zSoPwiXfO8I=",
|
||||
"_location": "/bail",
|
||||
"_nodeVersion": "5.0.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-16-east.internal.npmjs.com",
|
||||
"tmp": "tmp/bail-1.0.1.tgz_1469301368484_0.1634318893775344"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
},
|
||||
"_npmVersion": "3.3.6",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "bail@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "bail",
|
||||
"name": "bail",
|
||||
"escapedName": "bail",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/unified"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/bail/-/bail-1.0.1.tgz",
|
||||
"_shasum": "912579de8b391aadf3c5fdf4cd2a0fc225df3bc2",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "bail@^1.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/eslint/node_modules/unified",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/unified",
|
||||
"author": {
|
||||
"name": "Titus Wormer",
|
||||
"email": "tituswormer@gmail.com",
|
||||
@@ -53,6 +30,7 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/wooorm/bail/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Titus Wormer",
|
||||
@@ -61,6 +39,7 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "Throw a given error",
|
||||
"devDependencies": {
|
||||
"browserify": "^13.0.1",
|
||||
@@ -74,15 +53,9 @@
|
||||
"tape": "^4.0.0",
|
||||
"xo": "^0.16.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "912579de8b391aadf3c5fdf4cd2a0fc225df3bc2",
|
||||
"tarball": "https://registry.npmjs.org/bail/-/bail-1.0.1.tgz"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "5f9cf008fe599445037e88974801dfd66f9c1911",
|
||||
"homepage": "https://github.com/wooorm/bail#readme",
|
||||
"keywords": [
|
||||
"fail",
|
||||
@@ -92,15 +65,7 @@
|
||||
"error"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "bail",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"remarkConfig": {
|
||||
"output": true,
|
||||
"plugins": [
|
||||
|
||||
+13
-48
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "balanced-match@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "balanced-match",
|
||||
"name": "balanced-match",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/brace-expansion"
|
||||
]
|
||||
],
|
||||
"_from": "balanced-match@>=1.0.0 <2.0.0",
|
||||
"_from": "balanced-match@^1.0.0",
|
||||
"_id": "balanced-match@1.0.0",
|
||||
"_inCache": true,
|
||||
"_location": "/balanced-match",
|
||||
"_nodeVersion": "7.8.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "s3://npm-registry-packages",
|
||||
"tmp": "tmp/balanced-match-1.0.0.tgz_1497251909645_0.8755026108119637"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "juliangruber",
|
||||
"email": "julian@juliangruber.com"
|
||||
},
|
||||
"_npmVersion": "4.2.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
|
||||
"_location": "/eslint/balanced-match",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "balanced-match@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "balanced-match",
|
||||
"name": "balanced-match",
|
||||
"escapedName": "balanced-match",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/brace-expansion"
|
||||
"/eslint/brace-expansion"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
|
||||
"_shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "balanced-match@^1.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/brace-expansion",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/brace-expansion",
|
||||
"author": {
|
||||
"name": "Julian Gruber",
|
||||
"email": "mail@juliangruber.com",
|
||||
@@ -53,18 +30,14 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/juliangruber/balanced-match/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "Match balanced character pairs, like \"{\" and \"}\"",
|
||||
"devDependencies": {
|
||||
"matcha": "^0.7.0",
|
||||
"tape": "^4.6.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767",
|
||||
"tarball": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"
|
||||
},
|
||||
"gitHead": "d701a549a7653a874eebce7eca25d3577dc868ac",
|
||||
"homepage": "https://github.com/juliangruber/balanced-match",
|
||||
"keywords": [
|
||||
"match",
|
||||
@@ -75,15 +48,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "juliangruber",
|
||||
"email": "julian@juliangruber.com"
|
||||
}
|
||||
],
|
||||
"name": "balanced-match",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/juliangruber/balanced-match.git"
|
||||
|
||||
+13
-52
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "brace-expansion@^1.1.7",
|
||||
"scope": null,
|
||||
"escapedName": "brace-expansion",
|
||||
"name": "brace-expansion",
|
||||
"rawSpec": "^1.1.7",
|
||||
"spec": ">=1.1.7 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/minimatch"
|
||||
]
|
||||
],
|
||||
"_from": "brace-expansion@>=1.1.7 <2.0.0",
|
||||
"_from": "brace-expansion@^1.1.7",
|
||||
"_id": "brace-expansion@1.1.8",
|
||||
"_inCache": true,
|
||||
"_location": "/brace-expansion",
|
||||
"_nodeVersion": "7.8.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "s3://npm-registry-packages",
|
||||
"tmp": "tmp/brace-expansion-1.1.8.tgz_1497251980593_0.6575565172825009"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "juliangruber",
|
||||
"email": "julian@juliangruber.com"
|
||||
},
|
||||
"_npmVersion": "4.2.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
|
||||
"_location": "/eslint/brace-expansion",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "brace-expansion@^1.1.7",
|
||||
"scope": null,
|
||||
"escapedName": "brace-expansion",
|
||||
"name": "brace-expansion",
|
||||
"escapedName": "brace-expansion",
|
||||
"rawSpec": "^1.1.7",
|
||||
"spec": ">=1.1.7 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.1.7"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/minimatch"
|
||||
"/eslint/minimatch"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
|
||||
"_shasum": "c07b211c7c952ec1f8efd51a77ef0d1d3990a292",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "brace-expansion@^1.1.7",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/minimatch",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/minimatch",
|
||||
"author": {
|
||||
"name": "Julian Gruber",
|
||||
"email": "mail@juliangruber.com",
|
||||
@@ -53,38 +30,22 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/juliangruber/brace-expansion/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Brace expansion as known from sh/bash",
|
||||
"devDependencies": {
|
||||
"matcha": "^0.7.0",
|
||||
"tape": "^4.6.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "c07b211c7c952ec1f8efd51a77ef0d1d3990a292",
|
||||
"tarball": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz"
|
||||
},
|
||||
"gitHead": "8f59e68bd5c915a0d624e8e39354e1ccf672edf6",
|
||||
"homepage": "https://github.com/juliangruber/brace-expansion",
|
||||
"keywords": [],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "juliangruber",
|
||||
"email": "julian@juliangruber.com"
|
||||
},
|
||||
{
|
||||
"name": "isaacs",
|
||||
"email": "isaacs@npmjs.com"
|
||||
}
|
||||
],
|
||||
"name": "brace-expansion",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/juliangruber/brace-expansion.git"
|
||||
|
||||
+15
-44
@@ -1,45 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "caller-path@^0.1.0",
|
||||
"scope": null,
|
||||
"escapedName": "caller-path",
|
||||
"name": "caller-path",
|
||||
"rawSpec": "^0.1.0",
|
||||
"spec": ">=0.1.0 <0.2.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/require-uncached"
|
||||
]
|
||||
],
|
||||
"_from": "caller-path@>=0.1.0 <0.2.0",
|
||||
"_from": "caller-path@^0.1.0",
|
||||
"_id": "caller-path@0.1.0",
|
||||
"_inCache": true,
|
||||
"_location": "/caller-path",
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"_npmVersion": "1.4.6",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
|
||||
"_location": "/eslint/caller-path",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "caller-path@^0.1.0",
|
||||
"scope": null,
|
||||
"escapedName": "caller-path",
|
||||
"name": "caller-path",
|
||||
"escapedName": "caller-path",
|
||||
"rawSpec": "^0.1.0",
|
||||
"spec": ">=0.1.0 <0.2.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^0.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/require-uncached"
|
||||
"/eslint/require-uncached"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
|
||||
"_shasum": "94085ef63581ecd3daa92444a8fe94e82577751f",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "caller-path@^0.1.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/require-uncached",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/require-uncached",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
@@ -48,25 +30,22 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/caller-path/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"callsites": "^0.2.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Get the path of the caller module",
|
||||
"devDependencies": {
|
||||
"mocha": "*"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "94085ef63581ecd3daa92444a8fe94e82577751f",
|
||||
"tarball": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/caller-path",
|
||||
"homepage": "https://github.com/sindresorhus/caller-path#readme",
|
||||
"keywords": [
|
||||
"caller",
|
||||
"calling",
|
||||
@@ -82,18 +61,10 @@
|
||||
"file"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "caller-path",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/sindresorhus/caller-path.git"
|
||||
"url": "git+https://github.com/sindresorhus/caller-path.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
|
||||
+15
-45
@@ -1,45 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "callsites@^0.2.0",
|
||||
"scope": null,
|
||||
"escapedName": "callsites",
|
||||
"name": "callsites",
|
||||
"rawSpec": "^0.2.0",
|
||||
"spec": ">=0.2.0 <0.3.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/caller-path"
|
||||
]
|
||||
],
|
||||
"_from": "callsites@>=0.2.0 <0.3.0",
|
||||
"_from": "callsites@^0.2.0",
|
||||
"_id": "callsites@0.2.0",
|
||||
"_inCache": true,
|
||||
"_location": "/callsites",
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"_npmVersion": "1.4.6",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
|
||||
"_location": "/eslint/callsites",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "callsites@^0.2.0",
|
||||
"scope": null,
|
||||
"escapedName": "callsites",
|
||||
"name": "callsites",
|
||||
"escapedName": "callsites",
|
||||
"rawSpec": "^0.2.0",
|
||||
"spec": ">=0.2.0 <0.3.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^0.2.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/caller-path"
|
||||
"/eslint/caller-path"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
|
||||
"_shasum": "afab96262910a7f33c19a5775825c69f34e350ca",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "callsites@^0.2.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/caller-path",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/caller-path",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
@@ -48,23 +30,19 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/callsites/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Get callsites from the V8 stack trace API",
|
||||
"devDependencies": {
|
||||
"mocha": "*"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "afab96262910a7f33c19a5775825c69f34e350ca",
|
||||
"tarball": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/sindresorhus/callsites",
|
||||
"homepage": "https://github.com/sindresorhus/callsites#readme",
|
||||
"keywords": [
|
||||
"callsites",
|
||||
"callsite",
|
||||
@@ -78,18 +56,10 @@
|
||||
"debug"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "callsites",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/sindresorhus/callsites.git"
|
||||
"url": "git+https://github.com/sindresorhus/callsites.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
|
||||
+11
-46
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "ccount@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "ccount",
|
||||
"name": "ccount",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/eslint/node_modules/remark-stringify"
|
||||
]
|
||||
],
|
||||
"_from": "ccount@>=1.0.0 <2.0.0",
|
||||
"_from": "ccount@^1.0.0",
|
||||
"_id": "ccount@1.0.1",
|
||||
"_inCache": true,
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-ZlaHlFFowhjsd/9hpBVa4AInqWw=",
|
||||
"_location": "/ccount",
|
||||
"_nodeVersion": "5.0.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-16-east.internal.npmjs.com",
|
||||
"tmp": "tmp/ccount-1.0.1.tgz_1469303388454_0.4032677055802196"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
},
|
||||
"_npmVersion": "3.3.6",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "ccount@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "ccount",
|
||||
"name": "ccount",
|
||||
"escapedName": "ccount",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/remark-stringify"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.1.tgz",
|
||||
"_shasum": "665687945168c218ec77ff61a4155ae00227a96c",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "ccount@^1.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/eslint/node_modules/remark-stringify",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-stringify",
|
||||
"author": {
|
||||
"name": "Titus Wormer",
|
||||
"email": "tituswormer@gmail.com",
|
||||
@@ -53,6 +30,7 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/wooorm/ccount/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Titus Wormer",
|
||||
@@ -61,6 +39,7 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "Count characters",
|
||||
"devDependencies": {
|
||||
"browserify": "^13.0.1",
|
||||
@@ -74,15 +53,9 @@
|
||||
"tape": "^4.0.0",
|
||||
"xo": "^0.16.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "665687945168c218ec77ff61a4155ae00227a96c",
|
||||
"tarball": "https://registry.npmjs.org/ccount/-/ccount-1.0.1.tgz"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "5a787f3e93dd18d121b9bd4be6d1da96c8c17187",
|
||||
"homepage": "https://github.com/wooorm/ccount#readme",
|
||||
"keywords": [
|
||||
"character",
|
||||
@@ -90,15 +63,7 @@
|
||||
"char"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "ccount",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"remarkConfig": {
|
||||
"output": true,
|
||||
"plugins": [
|
||||
|
||||
+24
-50
@@ -1,56 +1,34 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "chalk@^1.1.3",
|
||||
"scope": null,
|
||||
"escapedName": "chalk",
|
||||
"name": "chalk",
|
||||
"rawSpec": "^1.1.3",
|
||||
"spec": ">=1.1.3 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/eslint"
|
||||
]
|
||||
],
|
||||
"_from": "chalk@>=1.1.3 <2.0.0",
|
||||
"_from": "chalk@^1.1.3",
|
||||
"_id": "chalk@1.1.3",
|
||||
"_inCache": true,
|
||||
"_location": "/chalk",
|
||||
"_nodeVersion": "0.10.32",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/chalk-1.1.3.tgz_1459210604109_0.3892582862172276"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "qix",
|
||||
"email": "i.am.qix@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.14.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"_location": "/eslint/chalk",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "chalk@^1.1.3",
|
||||
"scope": null,
|
||||
"escapedName": "chalk",
|
||||
"name": "chalk",
|
||||
"escapedName": "chalk",
|
||||
"rawSpec": "^1.1.3",
|
||||
"spec": ">=1.1.3 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.1.3"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/babel-code-frame",
|
||||
"/eslint",
|
||||
"/inquirer",
|
||||
"/table"
|
||||
"/eslint/babel-code-frame",
|
||||
"/eslint/inquirer",
|
||||
"/eslint/table"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"_shasum": "a8115c55e4a702fe4d150abd3872822a7e09fc98",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "chalk@^1.1.3",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/eslint",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
|
||||
"bugs": {
|
||||
"url": "https://github.com/chalk/chalk/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"ansi-styles": "^2.2.1",
|
||||
"escape-string-regexp": "^1.0.2",
|
||||
@@ -58,6 +36,7 @@
|
||||
"strip-ansi": "^3.0.0",
|
||||
"supports-color": "^2.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Terminal string styling done right. Much color.",
|
||||
"devDependencies": {
|
||||
"coveralls": "^2.11.2",
|
||||
@@ -69,18 +48,12 @@
|
||||
"semver": "^4.3.3",
|
||||
"xo": "*"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "a8115c55e4a702fe4d150abd3872822a7e09fc98",
|
||||
"tarball": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "0d8d8c204eb87a4038219131ad4d8369c9f59d24",
|
||||
"homepage": "https://github.com/chalk/chalk#readme",
|
||||
"keywords": [
|
||||
"color",
|
||||
@@ -108,21 +81,22 @@
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "qix",
|
||||
"email": "i.am.qix@gmail.com"
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
"name": "Joshua Appelman",
|
||||
"email": "jappelman@xebia.com",
|
||||
"url": "jbnicolai.com"
|
||||
},
|
||||
{
|
||||
"name": "unicorn",
|
||||
"email": "sindresorhus+unicorn@gmail.com"
|
||||
"name": "JD Ballard",
|
||||
"email": "i.am.qix@gmail.com",
|
||||
"url": "github.com/qix-"
|
||||
}
|
||||
],
|
||||
"name": "chalk",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/chalk/chalk.git"
|
||||
|
||||
+11
-46
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "character-entities-html4@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "character-entities-html4",
|
||||
"name": "character-entities-html4",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/eslint/node_modules/stringify-entities"
|
||||
]
|
||||
],
|
||||
"_from": "character-entities-html4@>=1.0.0 <2.0.0",
|
||||
"_from": "character-entities-html4@^1.0.0",
|
||||
"_id": "character-entities-html4@1.1.0",
|
||||
"_inCache": true,
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-GrCFUdPOH6HfCNAPucod77FHoGw=",
|
||||
"_location": "/character-entities-html4",
|
||||
"_nodeVersion": "4.0.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/character-entities-html4-1.1.0.tgz_1478288953070_0.18045797967351973"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.14.2",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "character-entities-html4@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "character-entities-html4",
|
||||
"name": "character-entities-html4",
|
||||
"escapedName": "character-entities-html4",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/stringify-entities"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.0.tgz",
|
||||
"_shasum": "1ab08551d3ce1fa1df08d00fb9ca1defb147a06c",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "character-entities-html4@^1.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/eslint/node_modules/stringify-entities",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/stringify-entities",
|
||||
"author": {
|
||||
"name": "Titus Wormer",
|
||||
"email": "tituswormer@gmail.com",
|
||||
@@ -53,6 +30,7 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/wooorm/character-entities-html4/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Titus Wormer",
|
||||
@@ -61,6 +39,7 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "HTML4 character entity information",
|
||||
"devDependencies": {
|
||||
"bail": "^1.0.1",
|
||||
@@ -73,15 +52,9 @@
|
||||
"tape": "^4.0.0",
|
||||
"xo": "^0.17.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "1ab08551d3ce1fa1df08d00fb9ca1defb147a06c",
|
||||
"tarball": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.0.tgz"
|
||||
},
|
||||
"files": [
|
||||
"index.json"
|
||||
],
|
||||
"gitHead": "85835d7948614c96443f5191ea0e2265b41987da",
|
||||
"homepage": "https://github.com/wooorm/character-entities-html4#readme",
|
||||
"keywords": [
|
||||
"html",
|
||||
@@ -95,15 +68,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.json",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "character-entities-html4",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"remarkConfig": {
|
||||
"output": true,
|
||||
"presets": "wooorm"
|
||||
|
||||
+11
-46
@@ -1,41 +1,19 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "character-entities-legacy@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "character-entities-legacy",
|
||||
"name": "character-entities-legacy",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/eslint/node_modules/parse-entities"
|
||||
]
|
||||
],
|
||||
"_from": "character-entities-legacy@>=1.0.0 <2.0.0",
|
||||
"_from": "character-entities-legacy@^1.0.0",
|
||||
"_id": "character-entities-legacy@1.1.0",
|
||||
"_inCache": true,
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-sYqtmPa3vMZGweTIH58ZVjdqVho=",
|
||||
"_location": "/character-entities-legacy",
|
||||
"_nodeVersion": "4.0.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/character-entities-legacy-1.1.0.tgz_1478279027342_0.273034636862576"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.14.2",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "character-entities-legacy@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "character-entities-legacy",
|
||||
"name": "character-entities-legacy",
|
||||
"escapedName": "character-entities-legacy",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/parse-entities",
|
||||
@@ -43,9 +21,8 @@
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.0.tgz",
|
||||
"_shasum": "b18aad98f6b7bcc646c1e4c81f9f1956376a561a",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "character-entities-legacy@^1.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/eslint/node_modules/parse-entities",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/parse-entities",
|
||||
"author": {
|
||||
"name": "Titus Wormer",
|
||||
"email": "tituswormer@gmail.com",
|
||||
@@ -54,6 +31,7 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/wooorm/character-entities-legacy/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Titus Wormer",
|
||||
@@ -62,6 +40,7 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "HTML legacy character entity information",
|
||||
"devDependencies": {
|
||||
"bail": "^1.0.1",
|
||||
@@ -74,15 +53,9 @@
|
||||
"tape": "^4.0.0",
|
||||
"xo": "^0.17.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "b18aad98f6b7bcc646c1e4c81f9f1956376a561a",
|
||||
"tarball": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.0.tgz"
|
||||
},
|
||||
"files": [
|
||||
"index.json"
|
||||
],
|
||||
"gitHead": "2cc6c73d528560ba4664f47a4e7979ab85b245b4",
|
||||
"homepage": "https://github.com/wooorm/character-entities-legacy#readme",
|
||||
"keywords": [
|
||||
"html",
|
||||
@@ -95,15 +68,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.json",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "character-entities-legacy",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"remarkConfig": {
|
||||
"output": true,
|
||||
"presets": "wooorm"
|
||||
|
||||
+11
-46
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "character-entities@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "character-entities",
|
||||
"name": "character-entities",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/eslint/node_modules/parse-entities"
|
||||
]
|
||||
],
|
||||
"_from": "character-entities@>=1.0.0 <2.0.0",
|
||||
"_from": "character-entities@^1.0.0",
|
||||
"_id": "character-entities@1.2.0",
|
||||
"_inCache": true,
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-poPiz3Xb6LFxljUxNk5Y4YobFV8=",
|
||||
"_location": "/character-entities",
|
||||
"_nodeVersion": "4.0.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/character-entities-1.2.0.tgz_1478289534115_0.5894565787166357"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.14.2",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "character-entities@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "character-entities",
|
||||
"name": "character-entities",
|
||||
"escapedName": "character-entities",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/parse-entities"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.0.tgz",
|
||||
"_shasum": "a683e2cf75dbe8b171963531364e58e18a1b155f",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "character-entities@^1.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/eslint/node_modules/parse-entities",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/parse-entities",
|
||||
"author": {
|
||||
"name": "Titus Wormer",
|
||||
"email": "tituswormer@gmail.com",
|
||||
@@ -53,6 +30,7 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/wooorm/character-entities/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Titus Wormer",
|
||||
@@ -61,6 +39,7 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "HTML character entity information",
|
||||
"devDependencies": {
|
||||
"bail": "^1.0.1",
|
||||
@@ -73,15 +52,9 @@
|
||||
"tape": "^4.0.0",
|
||||
"xo": "^0.17.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "a683e2cf75dbe8b171963531364e58e18a1b155f",
|
||||
"tarball": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.0.tgz"
|
||||
},
|
||||
"files": [
|
||||
"index.json"
|
||||
],
|
||||
"gitHead": "c091dd2371a10a25095de2967ebb95458389fdb4",
|
||||
"homepage": "https://github.com/wooorm/character-entities#readme",
|
||||
"keywords": [
|
||||
"html",
|
||||
@@ -94,15 +67,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.json",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "character-entities",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"remarkConfig": {
|
||||
"output": true,
|
||||
"presets": "wooorm"
|
||||
|
||||
+11
-46
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "character-reference-invalid@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "character-reference-invalid",
|
||||
"name": "character-reference-invalid",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/eslint/node_modules/parse-entities"
|
||||
]
|
||||
],
|
||||
"_from": "character-reference-invalid@>=1.0.0 <2.0.0",
|
||||
"_from": "character-reference-invalid@^1.0.0",
|
||||
"_id": "character-reference-invalid@1.1.0",
|
||||
"_inCache": true,
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-3smtHfufjQa0/NqircPE/ZevHmg=",
|
||||
"_location": "/character-reference-invalid",
|
||||
"_nodeVersion": "4.0.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/character-reference-invalid-1.1.0.tgz_1478290328584_0.23455824935808778"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.14.2",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "character-reference-invalid@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "character-reference-invalid",
|
||||
"name": "character-reference-invalid",
|
||||
"escapedName": "character-reference-invalid",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/parse-entities"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.0.tgz",
|
||||
"_shasum": "dec9ad1dfb9f8d06b4fcdaa2adc3c4fd97af1e68",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "character-reference-invalid@^1.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/eslint/node_modules/parse-entities",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/parse-entities",
|
||||
"author": {
|
||||
"name": "Titus Wormer",
|
||||
"email": "tituswormer@gmail.com",
|
||||
@@ -53,6 +30,7 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/wooorm/character-reference-invalid/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Titus Wormer",
|
||||
@@ -61,6 +39,7 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "HTML invalid numeric character reference information",
|
||||
"devDependencies": {
|
||||
"bail": "^1.0.1",
|
||||
@@ -73,15 +52,9 @@
|
||||
"tape": "^4.0.0",
|
||||
"xo": "^0.17.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "dec9ad1dfb9f8d06b4fcdaa2adc3c4fd97af1e68",
|
||||
"tarball": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.0.tgz"
|
||||
},
|
||||
"files": [
|
||||
"index.json"
|
||||
],
|
||||
"gitHead": "66104251bb83f85958dcb9328a5873003fea27a2",
|
||||
"homepage": "https://github.com/wooorm/character-reference-invalid#readme",
|
||||
"keywords": [
|
||||
"html",
|
||||
@@ -95,15 +68,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.json",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "character-reference-invalid",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"remarkConfig": {
|
||||
"output": true,
|
||||
"presets": "wooorm"
|
||||
|
||||
+13
-49
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "circular-json@^0.3.1",
|
||||
"scope": null,
|
||||
"escapedName": "circular-json",
|
||||
"name": "circular-json",
|
||||
"rawSpec": "^0.3.1",
|
||||
"spec": ">=0.3.1 <0.4.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/flat-cache"
|
||||
]
|
||||
],
|
||||
"_from": "circular-json@>=0.3.1 <0.4.0",
|
||||
"_from": "circular-json@^0.3.1",
|
||||
"_id": "circular-json@0.3.1",
|
||||
"_inCache": true,
|
||||
"_location": "/circular-json",
|
||||
"_nodeVersion": "6.3.1",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/circular-json-0.3.1.tgz_1470074424027_0.9458420514129102"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "webreflection",
|
||||
"email": "andrea.giammarchi@gmail.com"
|
||||
},
|
||||
"_npmVersion": "3.10.5",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=",
|
||||
"_location": "/eslint/circular-json",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "circular-json@^0.3.1",
|
||||
"scope": null,
|
||||
"escapedName": "circular-json",
|
||||
"name": "circular-json",
|
||||
"escapedName": "circular-json",
|
||||
"rawSpec": "^0.3.1",
|
||||
"spec": ">=0.3.1 <0.4.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^0.3.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/flat-cache"
|
||||
"/eslint/flat-cache"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz",
|
||||
"_shasum": "be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "circular-json@^0.3.1",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/flat-cache",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/flat-cache",
|
||||
"author": {
|
||||
"name": "Andrea Giammarchi",
|
||||
"url": "http://webreflection.blogspot.com/"
|
||||
@@ -52,18 +29,13 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/WebReflection/circular-json/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "JSON does not handle circular references. This version does",
|
||||
"devDependencies": {
|
||||
"wru": "*"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d",
|
||||
"tarball": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz"
|
||||
},
|
||||
"generator": "https://github.com/WebReflection/gitstrap",
|
||||
"gitHead": "54e5be62cf7f8b761ad120ea7a986da7fbffa5b9",
|
||||
"homepage": "https://github.com/WebReflection/circular-json",
|
||||
"keywords": [
|
||||
"JSON",
|
||||
@@ -76,15 +48,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "./build/circular-json.node.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "webreflection",
|
||||
"email": "andrea.giammarchi@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "circular-json",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/WebReflection/circular-json.git"
|
||||
|
||||
+13
-48
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "cli-cursor@^2.1.0",
|
||||
"scope": null,
|
||||
"escapedName": "cli-cursor",
|
||||
"name": "cli-cursor",
|
||||
"rawSpec": "^2.1.0",
|
||||
"spec": ">=2.1.0 <3.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/inquirer"
|
||||
]
|
||||
],
|
||||
"_from": "cli-cursor@>=2.1.0 <3.0.0",
|
||||
"_from": "cli-cursor@^2.1.0",
|
||||
"_id": "cli-cursor@2.1.0",
|
||||
"_inCache": true,
|
||||
"_location": "/cli-cursor",
|
||||
"_nodeVersion": "4.6.2",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/cli-cursor-2.1.0.tgz_1483990808692_0.16963833128102124"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.15.11",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
|
||||
"_location": "/eslint/cli-cursor",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "cli-cursor@^2.1.0",
|
||||
"scope": null,
|
||||
"escapedName": "cli-cursor",
|
||||
"name": "cli-cursor",
|
||||
"escapedName": "cli-cursor",
|
||||
"rawSpec": "^2.1.0",
|
||||
"spec": ">=2.1.0 <3.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/inquirer"
|
||||
"/eslint/inquirer"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
|
||||
"_shasum": "b35dac376479facc3e94747d41d0d0f5238ffcb5",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "cli-cursor@^2.1.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/inquirer",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
@@ -53,26 +30,22 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/cli-cursor/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"restore-cursor": "^2.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Toggle the CLI cursor",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "b35dac376479facc3e94747d41d0d0f5238ffcb5",
|
||||
"tarball": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "5a403335e6b3980a1235b71f8afe1d63ee8c3ce1",
|
||||
"homepage": "https://github.com/sindresorhus/cli-cursor#readme",
|
||||
"keywords": [
|
||||
"cli",
|
||||
@@ -90,15 +63,7 @@
|
||||
"command-line"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "cli-cursor",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/cli-cursor.git"
|
||||
|
||||
+13
-49
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "cli-width@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "cli-width",
|
||||
"name": "cli-width",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/inquirer"
|
||||
]
|
||||
],
|
||||
"_from": "cli-width@>=2.0.0 <3.0.0",
|
||||
"_from": "cli-width@^2.0.0",
|
||||
"_id": "cli-width@2.1.0",
|
||||
"_inCache": true,
|
||||
"_location": "/cli-width",
|
||||
"_nodeVersion": "4.2.6",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-9-west.internal.npmjs.com",
|
||||
"tmp": "tmp/cli-width-2.1.0.tgz_1455570612101_0.2879865295253694"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "knownasilya",
|
||||
"email": "ilya@burstcreations.com"
|
||||
},
|
||||
"_npmVersion": "2.14.12",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=",
|
||||
"_location": "/eslint/cli-width",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "cli-width@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "cli-width",
|
||||
"name": "cli-width",
|
||||
"escapedName": "cli-width",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/inquirer"
|
||||
"/eslint/inquirer"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz",
|
||||
"_shasum": "b234ca209b29ef66fc518d9b98d5847b00edf00a",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "cli-width@^2.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/inquirer",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
|
||||
"author": {
|
||||
"name": "Ilya Radchenko",
|
||||
"email": "ilya@burstcreations.com"
|
||||
@@ -52,7 +29,8 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/knownasilya/cli-width/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Get stdout window width, with two fallbacks, tty and then a default.",
|
||||
"devDependencies": {
|
||||
"coveralls": "^2.11.4",
|
||||
@@ -61,24 +39,10 @@
|
||||
"tap-spec": "^4.1.0",
|
||||
"tape": "^3.4.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "b234ca209b29ef66fc518d9b98d5847b00edf00a",
|
||||
"tarball": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz"
|
||||
},
|
||||
"gitHead": "c9506fd74bd3863ff327f8f8892601fa4ac2dbb3",
|
||||
"homepage": "https://github.com/knownasilya/cli-width",
|
||||
"license": "ISC",
|
||||
"main": "index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "knownasilya",
|
||||
"email": "ilya@burstcreations.com"
|
||||
}
|
||||
],
|
||||
"name": "cli-width",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+ssh://git@github.com/knownasilya/cli-width.git"
|
||||
|
||||
+13
-53
@@ -1,50 +1,32 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "co@^4.6.0",
|
||||
"scope": null,
|
||||
"escapedName": "co",
|
||||
"name": "co",
|
||||
"rawSpec": "^4.6.0",
|
||||
"spec": ">=4.6.0 <5.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/ajv"
|
||||
]
|
||||
],
|
||||
"_from": "co@>=4.6.0 <5.0.0",
|
||||
"_from": "co@^4.6.0",
|
||||
"_id": "co@4.6.0",
|
||||
"_inCache": true,
|
||||
"_location": "/co",
|
||||
"_nodeVersion": "2.3.3",
|
||||
"_npmUser": {
|
||||
"name": "jongleberry",
|
||||
"email": "jonathanrichardong@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.11.3",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
|
||||
"_location": "/eslint/co",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "co@^4.6.0",
|
||||
"scope": null,
|
||||
"escapedName": "co",
|
||||
"name": "co",
|
||||
"escapedName": "co",
|
||||
"rawSpec": "^4.6.0",
|
||||
"spec": ">=4.6.0 <5.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^4.6.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/ajv"
|
||||
"/eslint/ajv"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
|
||||
"_shasum": "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "co@^4.6.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/ajv",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/ajv",
|
||||
"bugs": {
|
||||
"url": "https://github.com/tj/co/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "generator async control flow goodness",
|
||||
"devDependencies": {
|
||||
"browserify": "^10.0.0",
|
||||
@@ -52,11 +34,6 @@
|
||||
"mocha": "^2.0.0",
|
||||
"mz": "^1.0.2"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184",
|
||||
"tarball": "https://registry.npmjs.org/co/-/co-4.6.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"iojs": ">= 1.0.0",
|
||||
"node": ">= 0.12.0"
|
||||
@@ -64,7 +41,6 @@
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "b54d18f8f472ad1314800e786993c4169a5ff9f8",
|
||||
"homepage": "https://github.com/tj/co#readme",
|
||||
"keywords": [
|
||||
"async",
|
||||
@@ -74,23 +50,7 @@
|
||||
"coroutine"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "tjholowaychuk",
|
||||
"email": "tj@vision-media.ca"
|
||||
},
|
||||
{
|
||||
"name": "jonathanong",
|
||||
"email": "jonathanrichardong@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "jongleberry",
|
||||
"email": "jonathanrichardong@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "co",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/tj/co.git"
|
||||
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
<!--remark setext-->
|
||||
|
||||
<!--lint disable no-multiple-toplevel-headings-->
|
||||
|
||||
1.0.2 / 2016-07-23
|
||||
==================
|
||||
|
||||
* Fix `readme.md` ([`03823ce`](https://github.com/wooorm/collapse-white-space/commit/03823ce))
|
||||
|
||||
1.0.1 / 2016-07-23
|
||||
==================
|
||||
|
||||
* Rewrite module ([`6d48e8d`](https://github.com/wooorm/collapse-white-space/commit/6d48e8d))
|
||||
|
||||
1.0.0 / 2015-07-12
|
||||
==================
|
||||
+1
-20
@@ -1,27 +1,8 @@
|
||||
/**
|
||||
* @author Titus Wormer
|
||||
* @copyright 2015 Titus Wormer
|
||||
* @license MIT
|
||||
* @module collapse-white-space
|
||||
* @fileoverview Replace multiple white-space characters
|
||||
* with a single space.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/* Expose. */
|
||||
module.exports = collapse;
|
||||
|
||||
/**
|
||||
* Replace multiple white-space characters with a single space.
|
||||
*
|
||||
* @example
|
||||
* collapse(' \t\nbar \nbaz\t'); // ' bar baz '
|
||||
*
|
||||
* @param {string} value - Value with uncollapsed white-space,
|
||||
* coerced to string.
|
||||
* @return {string} - Value with collapsed white-space.
|
||||
*/
|
||||
/* collapse(' \t\nbar \nbaz\t'); // ' bar baz ' */
|
||||
function collapse(value) {
|
||||
return String(value).replace(/\s+/g, ' ');
|
||||
}
|
||||
+28
-70
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "collapse-white-space@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "collapse-white-space",
|
||||
"name": "collapse-white-space",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/eslint/node_modules/remark-parse"
|
||||
]
|
||||
],
|
||||
"_from": "collapse-white-space@>=1.0.0 <2.0.0",
|
||||
"_id": "collapse-white-space@1.0.2",
|
||||
"_inCache": true,
|
||||
"_from": "collapse-white-space@^1.0.0",
|
||||
"_id": "collapse-white-space@1.0.3",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-S5BvZw5aljqHt2sOFolkM0G2Ajw=",
|
||||
"_location": "/collapse-white-space",
|
||||
"_nodeVersion": "5.0.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/collapse-white-space-1.0.2.tgz_1469310043598_0.74730454524979"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
},
|
||||
"_npmVersion": "3.3.6",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "collapse-white-space@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "collapse-white-space",
|
||||
"name": "collapse-white-space",
|
||||
"escapedName": "collapse-white-space",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/remark-parse"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.2.tgz",
|
||||
"_shasum": "9c463fb9c6d190d2dcae21a356a01bcae9eeef6d",
|
||||
"_shrinkwrap": null,
|
||||
"_resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz",
|
||||
"_shasum": "4b906f670e5a963a87b76b0e1689643341b6023c",
|
||||
"_spec": "collapse-white-space@^1.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/eslint/node_modules/remark-parse",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
|
||||
"author": {
|
||||
"name": "Titus Wormer",
|
||||
"email": "tituswormer@gmail.com",
|
||||
@@ -53,6 +30,7 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/wooorm/collapse-white-space/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Titus Wormer",
|
||||
@@ -61,28 +39,20 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "Replace multiple white-space characters with a single space",
|
||||
"devDependencies": {
|
||||
"browserify": "^13.0.1",
|
||||
"browserify": "^14.0.0",
|
||||
"esmangle": "^1.0.1",
|
||||
"nyc": "^7.0.0",
|
||||
"remark-cli": "^1.0.0",
|
||||
"remark-comment-config": "^4.0.0",
|
||||
"remark-github": "^5.0.0",
|
||||
"remark-lint": "^4.0.0",
|
||||
"remark-validate-links": "^4.0.0",
|
||||
"nyc": "^11.0.0",
|
||||
"remark-cli": "^3.0.0",
|
||||
"remark-preset-wooorm": "^3.0.0",
|
||||
"tape": "^4.0.0",
|
||||
"xo": "^0.16.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "9c463fb9c6d190d2dcae21a356a01bcae9eeef6d",
|
||||
"tarball": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.2.tgz"
|
||||
"xo": "^0.18.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "cd218a06e569cf9cbd4657436557299d3bb504cf",
|
||||
"homepage": "https://github.com/wooorm/collapse-white-space#readme",
|
||||
"keywords": [
|
||||
"collapse",
|
||||
@@ -90,26 +60,11 @@
|
||||
"space"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "wooorm",
|
||||
"email": "tituswormer@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "collapse-white-space",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"remarkConfig": {
|
||||
"output": true,
|
||||
"plugins": [
|
||||
"comment-config",
|
||||
"github",
|
||||
"lint",
|
||||
"validate-links"
|
||||
],
|
||||
"settings": {
|
||||
"bullet": "*"
|
||||
}
|
||||
"preset-wooorm"
|
||||
]
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -119,18 +74,21 @@
|
||||
"build": "npm run build-md && npm run build-bundle && npm run build-mangle",
|
||||
"build-bundle": "browserify index.js --bare -s collapseWhiteSpace > collapse-white-space.js",
|
||||
"build-mangle": "esmangle collapse-white-space.js > collapse-white-space.min.js",
|
||||
"build-md": "remark . --quiet --frail",
|
||||
"build-md": "remark . -qfo",
|
||||
"lint": "xo",
|
||||
"test": "npm run build && npm run lint && npm run test-coverage",
|
||||
"test-api": "node test",
|
||||
"test-coverage": "nyc --reporter lcov tape test.js"
|
||||
},
|
||||
"version": "1.0.2",
|
||||
"version": "1.0.3",
|
||||
"xo": {
|
||||
"space": true,
|
||||
"esnext": false,
|
||||
"rules": {
|
||||
"capitalized-comments": "off"
|
||||
},
|
||||
"ignores": [
|
||||
"collapse-white-space.js",
|
||||
"collapse-white-space.min.js"
|
||||
"collapse-white-space.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
+2
-24
@@ -1,7 +1,5 @@
|
||||
# collapse-white-space [![Build Status][travis-badge]][travis] [![Coverage Status][codecov-badge]][codecov]
|
||||
|
||||
<!--lint disable heading-increment list-item-spacing no-duplicate-headings-->
|
||||
|
||||
Replace multiple white-space characters with a single space.
|
||||
|
||||
## Installation
|
||||
@@ -14,37 +12,17 @@ npm install collapse-white-space
|
||||
|
||||
## Usage
|
||||
|
||||
Dependencies.
|
||||
|
||||
```javascript
|
||||
var collapse = require('collapse-white-space');
|
||||
```
|
||||
|
||||
Collapse white space:
|
||||
|
||||
```javascript
|
||||
var result = collapse('\tfoo \n\tbar \t\r\nbaz');
|
||||
```
|
||||
|
||||
Yields:
|
||||
|
||||
```text
|
||||
foo bar baz
|
||||
collapse('\tfoo \n\tbar \t\r\nbaz'); //=> ' foo bar baz'
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### `collapse(value)`
|
||||
|
||||
Replace multiple white-space characters with a single space.
|
||||
|
||||
###### Parameters
|
||||
|
||||
* `value` (`string`) — Value with uncollapsed white-space, coerced to string.
|
||||
|
||||
###### Returns
|
||||
|
||||
`string` — Value with collapsed white-space.
|
||||
Replace multiple white-space characters in value with a single space.
|
||||
|
||||
## License
|
||||
|
||||
|
||||
+13
-42
@@ -1,45 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "concat-map@0.0.1",
|
||||
"scope": null,
|
||||
"escapedName": "concat-map",
|
||||
"name": "concat-map",
|
||||
"rawSpec": "0.0.1",
|
||||
"spec": "0.0.1",
|
||||
"type": "version"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/brace-expansion"
|
||||
]
|
||||
],
|
||||
"_from": "concat-map@0.0.1",
|
||||
"_id": "concat-map@0.0.1",
|
||||
"_inCache": true,
|
||||
"_location": "/concat-map",
|
||||
"_npmUser": {
|
||||
"name": "substack",
|
||||
"email": "mail@substack.net"
|
||||
},
|
||||
"_npmVersion": "1.3.21",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
|
||||
"_location": "/eslint/concat-map",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "concat-map@0.0.1",
|
||||
"scope": null,
|
||||
"escapedName": "concat-map",
|
||||
"name": "concat-map",
|
||||
"escapedName": "concat-map",
|
||||
"rawSpec": "0.0.1",
|
||||
"spec": "0.0.1",
|
||||
"type": "version"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "0.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/brace-expansion"
|
||||
"/eslint/brace-expansion"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "concat-map@0.0.1",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/brace-expansion",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/brace-expansion",
|
||||
"author": {
|
||||
"name": "James Halliday",
|
||||
"email": "mail@substack.net",
|
||||
@@ -48,7 +30,8 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/substack/node-concat-map/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "concatenative mapdashery",
|
||||
"devDependencies": {
|
||||
"tape": "~2.4.0"
|
||||
@@ -57,11 +40,7 @@
|
||||
"example": "example",
|
||||
"test": "test"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
|
||||
"tarball": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
|
||||
},
|
||||
"homepage": "https://github.com/substack/node-concat-map",
|
||||
"homepage": "https://github.com/substack/node-concat-map#readme",
|
||||
"keywords": [
|
||||
"concat",
|
||||
"concatMap",
|
||||
@@ -71,15 +50,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "substack",
|
||||
"email": "mail@substack.net"
|
||||
}
|
||||
],
|
||||
"name": "concat-map",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/substack/node-concat-map.git"
|
||||
|
||||
+13
-52
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "concat-stream@^1.6.0",
|
||||
"scope": null,
|
||||
"escapedName": "concat-stream",
|
||||
"name": "concat-stream",
|
||||
"rawSpec": "^1.6.0",
|
||||
"spec": ">=1.6.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/eslint"
|
||||
]
|
||||
],
|
||||
"_from": "concat-stream@>=1.6.0 <2.0.0",
|
||||
"_from": "concat-stream@^1.6.0",
|
||||
"_id": "concat-stream@1.6.0",
|
||||
"_inCache": true,
|
||||
"_location": "/concat-stream",
|
||||
"_nodeVersion": "4.6.2",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/concat-stream-1.6.0.tgz_1482162257023_0.2988202746491879"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "mafintosh",
|
||||
"email": "mathiasbuus@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.15.11",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
|
||||
"_location": "/eslint/concat-stream",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "concat-stream@^1.6.0",
|
||||
"scope": null,
|
||||
"escapedName": "concat-stream",
|
||||
"name": "concat-stream",
|
||||
"escapedName": "concat-stream",
|
||||
"rawSpec": "^1.6.0",
|
||||
"spec": ">=1.6.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.6.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/eslint"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
|
||||
"_shasum": "0aac662fd52be78964d5532f694784e70110acf7",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "concat-stream@^1.6.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/eslint",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
|
||||
"author": {
|
||||
"name": "Max Ogden",
|
||||
"email": "max@maxogden.com"
|
||||
@@ -52,43 +29,27 @@
|
||||
"bugs": {
|
||||
"url": "http://github.com/maxogden/concat-stream/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"inherits": "^2.0.3",
|
||||
"readable-stream": "^2.2.2",
|
||||
"typedarray": "^0.0.6"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "writable stream that concatenates strings or binary data and calls a callback with the result",
|
||||
"devDependencies": {
|
||||
"tape": "^4.6.3"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "0aac662fd52be78964d5532f694784e70110acf7",
|
||||
"tarball": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz"
|
||||
},
|
||||
"engines": [
|
||||
"node >= 0.8"
|
||||
],
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "e482281642c1e011fc158f5749ef40a71c77a426",
|
||||
"homepage": "https://github.com/maxogden/concat-stream",
|
||||
"homepage": "https://github.com/maxogden/concat-stream#readme",
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "mafintosh",
|
||||
"email": "mathiasbuus@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "maxogden",
|
||||
"email": "max@maxogden.com"
|
||||
}
|
||||
],
|
||||
"name": "concat-stream",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+ssh://git@github.com/maxogden/concat-stream.git"
|
||||
|
||||
+13
-45
@@ -1,46 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "core-util-is@~1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "core-util-is",
|
||||
"name": "core-util-is",
|
||||
"rawSpec": "~1.0.0",
|
||||
"spec": ">=1.0.0 <1.1.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/readable-stream"
|
||||
]
|
||||
],
|
||||
"_from": "core-util-is@>=1.0.0 <1.1.0",
|
||||
"_from": "core-util-is@~1.0.0",
|
||||
"_id": "core-util-is@1.0.2",
|
||||
"_inCache": true,
|
||||
"_location": "/core-util-is",
|
||||
"_nodeVersion": "4.0.0",
|
||||
"_npmUser": {
|
||||
"name": "isaacs",
|
||||
"email": "i@izs.me"
|
||||
},
|
||||
"_npmVersion": "3.3.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
|
||||
"_location": "/eslint/core-util-is",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "core-util-is@~1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "core-util-is",
|
||||
"name": "core-util-is",
|
||||
"escapedName": "core-util-is",
|
||||
"rawSpec": "~1.0.0",
|
||||
"spec": ">=1.0.0 <1.1.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "~1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/readable-stream"
|
||||
"/eslint/readable-stream"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"_shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "core-util-is@~1.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/readable-stream",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/readable-stream",
|
||||
"author": {
|
||||
"name": "Isaac Z. Schlueter",
|
||||
"email": "i@izs.me",
|
||||
@@ -49,17 +30,12 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/isaacs/core-util-is/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "The `util.is*` functions introduced in Node v0.12.",
|
||||
"devDependencies": {
|
||||
"tap": "^2.3.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7",
|
||||
"tarball": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
|
||||
},
|
||||
"gitHead": "a177da234df5638b363ddc15fa324619a38577c8",
|
||||
"homepage": "https://github.com/isaacs/core-util-is#readme",
|
||||
"keywords": [
|
||||
"util",
|
||||
@@ -74,15 +50,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/util.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "isaacs",
|
||||
"email": "i@izs.me"
|
||||
}
|
||||
],
|
||||
"name": "core-util-is",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/isaacs/core-util-is.git"
|
||||
|
||||
+12
-48
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "debug@^2.6.8",
|
||||
"scope": null,
|
||||
"escapedName": "debug",
|
||||
"name": "debug",
|
||||
"rawSpec": "^2.6.8",
|
||||
"spec": ">=2.6.8 <3.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/eslint"
|
||||
]
|
||||
],
|
||||
"_from": "debug@>=2.6.8 <3.0.0",
|
||||
"_from": "debug@^2.6.8",
|
||||
"_id": "debug@2.6.8",
|
||||
"_inCache": true,
|
||||
"_location": "/debug",
|
||||
"_nodeVersion": "7.10.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/debug-2.6.8.tgz_1495138020906_0.5965513256378472"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "tootallnate",
|
||||
"email": "nathan@tootallnate.net"
|
||||
},
|
||||
"_npmVersion": "4.2.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
|
||||
"_location": "/eslint/debug",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "debug@^2.6.8",
|
||||
"scope": null,
|
||||
"escapedName": "debug",
|
||||
"name": "debug",
|
||||
"escapedName": "debug",
|
||||
"rawSpec": "^2.6.8",
|
||||
"spec": ">=2.6.8 <3.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.6.8"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/eslint"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
|
||||
"_shasum": "e731531ca2ede27d188222427da17821d68ff4fc",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "debug@^2.6.8",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/eslint",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
|
||||
"author": {
|
||||
"name": "TJ Holowaychuk",
|
||||
"email": "tj@vision-media.ca"
|
||||
@@ -53,6 +30,7 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/visionmedia/debug/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"component": {
|
||||
"scripts": {
|
||||
"debug/index.js": "browser.js",
|
||||
@@ -73,6 +51,7 @@
|
||||
"dependencies": {
|
||||
"ms": "2.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "small debugging utility",
|
||||
"devDependencies": {
|
||||
"browserify": "9.0.3",
|
||||
@@ -92,12 +71,6 @@
|
||||
"sinon": "^1.17.6",
|
||||
"sinon-chai": "^2.8.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "e731531ca2ede27d188222427da17821d68ff4fc",
|
||||
"tarball": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz"
|
||||
},
|
||||
"gitHead": "52e1f21284322f167839e5d3a60f635c8b2dc842",
|
||||
"homepage": "https://github.com/visionmedia/debug#readme",
|
||||
"keywords": [
|
||||
"debug",
|
||||
@@ -106,19 +79,10 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "./src/index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "thebigredgeek",
|
||||
"email": "rhyneandrew@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "debug",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/visionmedia/debug.git"
|
||||
},
|
||||
"scripts": {},
|
||||
"version": "2.6.8"
|
||||
}
|
||||
+14
-44
@@ -1,45 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "deep-is@~0.1.3",
|
||||
"scope": null,
|
||||
"escapedName": "deep-is",
|
||||
"name": "deep-is",
|
||||
"rawSpec": "~0.1.3",
|
||||
"spec": ">=0.1.3 <0.2.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/optionator"
|
||||
]
|
||||
],
|
||||
"_from": "deep-is@>=0.1.3 <0.2.0",
|
||||
"_from": "deep-is@~0.1.3",
|
||||
"_id": "deep-is@0.1.3",
|
||||
"_inCache": true,
|
||||
"_location": "/deep-is",
|
||||
"_npmUser": {
|
||||
"name": "thlorenz",
|
||||
"email": "thlorenz@gmx.de"
|
||||
},
|
||||
"_npmVersion": "1.4.14",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
|
||||
"_location": "/eslint/deep-is",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "deep-is@~0.1.3",
|
||||
"scope": null,
|
||||
"escapedName": "deep-is",
|
||||
"name": "deep-is",
|
||||
"escapedName": "deep-is",
|
||||
"rawSpec": "~0.1.3",
|
||||
"spec": ">=0.1.3 <0.2.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "~0.1.3"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/optionator"
|
||||
"/eslint/optionator"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
|
||||
"_shasum": "b369d6fb5dbc13eecf524f91b070feedc357cf34",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "deep-is@~0.1.3",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/optionator",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/optionator",
|
||||
"author": {
|
||||
"name": "Thorsten Lorenz",
|
||||
"email": "thlorenz@gmx.de",
|
||||
@@ -48,7 +30,8 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/thlorenz/deep-is/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "node's assert.deepEqual algorithm except for NaN being equal to NaN",
|
||||
"devDependencies": {
|
||||
"tape": "~1.0.2"
|
||||
@@ -58,12 +41,7 @@
|
||||
"example": "example",
|
||||
"test": "test"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "b369d6fb5dbc13eecf524f91b070feedc357cf34",
|
||||
"tarball": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz"
|
||||
},
|
||||
"gitHead": "f126057628423458636dec9df3d621843b9ac55e",
|
||||
"homepage": "https://github.com/thlorenz/deep-is",
|
||||
"homepage": "https://github.com/thlorenz/deep-is#readme",
|
||||
"keywords": [
|
||||
"equality",
|
||||
"equal",
|
||||
@@ -74,15 +52,7 @@
|
||||
"url": "https://github.com/thlorenz/deep-is/blob/master/LICENSE"
|
||||
},
|
||||
"main": "index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "thlorenz",
|
||||
"email": "thlorenz@gmx.de"
|
||||
}
|
||||
],
|
||||
"name": "deep-is",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+ssh://git@github.com/thlorenz/deep-is.git"
|
||||
|
||||
+13
-48
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "del@^2.0.2",
|
||||
"scope": null,
|
||||
"escapedName": "del",
|
||||
"name": "del",
|
||||
"rawSpec": "^2.0.2",
|
||||
"spec": ">=2.0.2 <3.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/flat-cache"
|
||||
]
|
||||
],
|
||||
"_from": "del@>=2.0.2 <3.0.0",
|
||||
"_from": "del@^2.0.2",
|
||||
"_id": "del@2.2.2",
|
||||
"_inCache": true,
|
||||
"_location": "/del",
|
||||
"_nodeVersion": "4.4.5",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-16-east.internal.npmjs.com",
|
||||
"tmp": "tmp/del-2.2.2.tgz_1471046735537_0.4419694794341922"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.15.5",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
|
||||
"_location": "/eslint/del",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "del@^2.0.2",
|
||||
"scope": null,
|
||||
"escapedName": "del",
|
||||
"name": "del",
|
||||
"escapedName": "del",
|
||||
"rawSpec": "^2.0.2",
|
||||
"spec": ">=2.0.2 <3.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/flat-cache"
|
||||
"/eslint/flat-cache"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
|
||||
"_shasum": "c12c981d067846c84bcaf862cff930d907ffd1a8",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "del@^2.0.2",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/flat-cache",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/flat-cache",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
@@ -53,6 +30,7 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/del/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"globby": "^5.0.0",
|
||||
"is-path-cwd": "^1.0.0",
|
||||
@@ -62,6 +40,7 @@
|
||||
"pinkie-promise": "^2.0.0",
|
||||
"rimraf": "^2.2.8"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Delete files and folders",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
@@ -70,18 +49,12 @@
|
||||
"tempfile": "^1.1.1",
|
||||
"xo": "*"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "c12c981d067846c84bcaf862cff930d907ffd1a8",
|
||||
"tarball": "https://registry.npmjs.org/del/-/del-2.2.2.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "3a97a5ba131055fbf7eb39f5ed47db86a2fd4497",
|
||||
"homepage": "https://github.com/sindresorhus/del#readme",
|
||||
"keywords": [
|
||||
"delete",
|
||||
@@ -108,15 +81,7 @@
|
||||
"filesystem"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "del",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/del.git"
|
||||
|
||||
+18
-48
@@ -1,57 +1,36 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "doctrine@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "doctrine",
|
||||
"name": "doctrine",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/eslint"
|
||||
]
|
||||
],
|
||||
"_from": "doctrine@>=2.0.0 <3.0.0",
|
||||
"_from": "doctrine@^2.0.0",
|
||||
"_id": "doctrine@2.0.0",
|
||||
"_inCache": true,
|
||||
"_location": "/doctrine",
|
||||
"_nodeVersion": "4.4.2",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/doctrine-2.0.0.tgz_1479232728285_0.34204454137943685"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "nzakas",
|
||||
"email": "nicholas@nczconsulting.com"
|
||||
},
|
||||
"_npmVersion": "2.15.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=",
|
||||
"_location": "/eslint/doctrine",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "doctrine@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "doctrine",
|
||||
"name": "doctrine",
|
||||
"escapedName": "doctrine",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/eslint"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz",
|
||||
"_shasum": "c73d8d2909d22291e1a007a395804da8b665fe63",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "doctrine@^2.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/eslint",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
|
||||
"bugs": {
|
||||
"url": "https://github.com/eslint/doctrine/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"esutils": "^2.0.2",
|
||||
"isarray": "^1.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "JSDoc parser",
|
||||
"devDependencies": {
|
||||
"coveralls": "^2.11.2",
|
||||
@@ -70,10 +49,6 @@
|
||||
"directories": {
|
||||
"lib": "./lib"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "c73d8d2909d22291e1a007a395804da8b665fe63",
|
||||
"tarball": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
@@ -84,27 +59,22 @@
|
||||
"LICENSE.esprima",
|
||||
"README.md"
|
||||
],
|
||||
"gitHead": "46c600f27f54b3ab6b0b8a9ac9f97c807ffa95ef",
|
||||
"homepage": "https://github.com/eslint/doctrine",
|
||||
"license": "Apache-2.0",
|
||||
"main": "lib/doctrine.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "constellation",
|
||||
"email": "utatane.tea@gmail.com"
|
||||
"name": "Nicholas C. Zakas",
|
||||
"email": "nicholas+npm@nczconsulting.com",
|
||||
"url": "https://www.nczonline.net"
|
||||
},
|
||||
{
|
||||
"name": "eslint",
|
||||
"email": "nicholas+eslint@nczconsulting.com"
|
||||
},
|
||||
{
|
||||
"name": "nzakas",
|
||||
"email": "nicholas@nczconsulting.com"
|
||||
"name": "Yusuke Suzuki",
|
||||
"email": "utatane.tea@gmail.com",
|
||||
"url": "https://github.com/Constellation"
|
||||
}
|
||||
],
|
||||
"name": "doctrine",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/eslint/doctrine.git"
|
||||
|
||||
+21
-49
@@ -1,51 +1,28 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "escape-string-regexp@^1.0.2",
|
||||
"scope": null,
|
||||
"escapedName": "escape-string-regexp",
|
||||
"name": "escape-string-regexp",
|
||||
"rawSpec": "^1.0.2",
|
||||
"spec": ">=1.0.2 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/chalk"
|
||||
]
|
||||
],
|
||||
"_from": "escape-string-regexp@>=1.0.2 <2.0.0",
|
||||
"_from": "escape-string-regexp@^1.0.2",
|
||||
"_id": "escape-string-regexp@1.0.5",
|
||||
"_inCache": true,
|
||||
"_location": "/escape-string-regexp",
|
||||
"_nodeVersion": "4.2.6",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-9-west.internal.npmjs.com",
|
||||
"tmp": "tmp/escape-string-regexp-1.0.5.tgz_1456059312074_0.7245344955008477"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "jbnicolai",
|
||||
"email": "jappelman@xebia.com"
|
||||
},
|
||||
"_npmVersion": "2.14.12",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
||||
"_location": "/eslint/escape-string-regexp",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "escape-string-regexp@^1.0.2",
|
||||
"scope": null,
|
||||
"escapedName": "escape-string-regexp",
|
||||
"name": "escape-string-regexp",
|
||||
"escapedName": "escape-string-regexp",
|
||||
"rawSpec": "^1.0.2",
|
||||
"spec": ">=1.0.2 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/chalk",
|
||||
"/figures"
|
||||
"/eslint/chalk",
|
||||
"/eslint/figures"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"_shasum": "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "escape-string-regexp@^1.0.2",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/chalk",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/chalk",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
@@ -54,25 +31,20 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/escape-string-regexp/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Escape RegExp special characters",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
"xo": "*"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4",
|
||||
"tarball": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "db124a3e1aae9d692c4899e42a5c6c3e329eaa20",
|
||||
"homepage": "https://github.com/sindresorhus/escape-string-regexp",
|
||||
"homepage": "https://github.com/sindresorhus/escape-string-regexp#readme",
|
||||
"keywords": [
|
||||
"escape",
|
||||
"regex",
|
||||
@@ -88,17 +60,17 @@
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
{
|
||||
"name": "jbnicolai",
|
||||
"email": "jappelman@xebia.com"
|
||||
"name": "Joshua Boy Nicolai Appelman",
|
||||
"email": "joshua@jbna.nl",
|
||||
"url": "jbna.nl"
|
||||
}
|
||||
],
|
||||
"name": "escape-string-regexp",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/escape-string-regexp.git"
|
||||
|
||||
+12
-46
@@ -1,50 +1,28 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "eslint-plugin-markdown@1.0.0-beta.4",
|
||||
"scope": null,
|
||||
"escapedName": "eslint-plugin-markdown",
|
||||
"name": "eslint-plugin-markdown",
|
||||
"rawSpec": "1.0.0-beta.4",
|
||||
"spec": "1.0.0-beta.4",
|
||||
"type": "version"
|
||||
},
|
||||
"/Users/trott/io.js/tools/eslint/node_modules"
|
||||
]
|
||||
],
|
||||
"_from": "eslint-plugin-markdown@1.0.0-beta.4",
|
||||
"_id": "eslint-plugin-markdown@1.0.0-beta.4",
|
||||
"_inCache": true,
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-gqGZcTmeSxti99SsZCRofCwH7no=",
|
||||
"_location": "/eslint-plugin-markdown",
|
||||
"_nodeVersion": "7.7.1",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/eslint-plugin-markdown-1.0.0-beta.4.tgz_1488662554242_0.9874107467476279"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "btmills",
|
||||
"email": "mills.brandont@gmail.com"
|
||||
},
|
||||
"_npmVersion": "4.1.2",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "eslint-plugin-markdown@1.0.0-beta.4",
|
||||
"scope": null,
|
||||
"escapedName": "eslint-plugin-markdown",
|
||||
"name": "eslint-plugin-markdown",
|
||||
"escapedName": "eslint-plugin-markdown",
|
||||
"rawSpec": "1.0.0-beta.4",
|
||||
"spec": "1.0.0-beta.4",
|
||||
"type": "version"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.0.0-beta.4"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"#USER"
|
||||
"#USER",
|
||||
"/"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/eslint-plugin-markdown/-/eslint-plugin-markdown-1.0.0-beta.4.tgz",
|
||||
"_shasum": "82a19971399e4b1b62f7d4ac6424687c2c07ee7a",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "eslint-plugin-markdown@1.0.0-beta.4",
|
||||
"_where": "/Users/trott/io.js/tools/eslint/node_modules",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
|
||||
"author": {
|
||||
"name": "Brandon Mills",
|
||||
"url": "https://github.com/btmills"
|
||||
@@ -52,11 +30,13 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/eslint/eslint-plugin-markdown/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"object-assign": "^4.0.1",
|
||||
"parse5": "^2.2.2",
|
||||
"remark": "^5.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "An ESLint plugin to lint JavaScript in Markdown code fences.",
|
||||
"devDependencies": {
|
||||
"chai": "^3.0.0",
|
||||
@@ -64,18 +44,12 @@
|
||||
"eslint-config-eslint": "^3.0.0",
|
||||
"mocha": "^2.2.5"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "82a19971399e4b1b62f7d4ac6424687c2c07ee7a",
|
||||
"tarball": "https://registry.npmjs.org/eslint-plugin-markdown/-/eslint-plugin-markdown-1.0.0-beta.4.tgz"
|
||||
},
|
||||
"files": [
|
||||
"lib/*.js",
|
||||
"index.js",
|
||||
"LICENSE",
|
||||
"README.md"
|
||||
],
|
||||
"gitHead": "c84a63171c85a1ffec9b4fd41b55f29bb2117b21",
|
||||
"homepage": "https://github.com/eslint/eslint-plugin-markdown#readme",
|
||||
"keywords": [
|
||||
"eslint",
|
||||
@@ -86,15 +60,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "btmills",
|
||||
"email": "mills.brandont@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "eslint-plugin-markdown",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/eslint/eslint-plugin-markdown.git"
|
||||
|
||||
+12
-55
@@ -1,57 +1,36 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "eslint-scope@^3.7.1",
|
||||
"scope": null,
|
||||
"escapedName": "eslint-scope",
|
||||
"name": "eslint-scope",
|
||||
"rawSpec": "^3.7.1",
|
||||
"spec": ">=3.7.1 <4.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/eslint"
|
||||
]
|
||||
],
|
||||
"_from": "eslint-scope@>=3.7.1 <4.0.0",
|
||||
"_from": "eslint-scope@^3.7.1",
|
||||
"_id": "eslint-scope@3.7.1",
|
||||
"_inCache": true,
|
||||
"_location": "/eslint-scope",
|
||||
"_nodeVersion": "4.3.1",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/eslint-scope-3.7.1.tgz_1492031610481_0.544424896594137"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "ivolodin",
|
||||
"email": "ivolodin@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.14.12",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
|
||||
"_location": "/eslint/eslint-scope",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "eslint-scope@^3.7.1",
|
||||
"scope": null,
|
||||
"escapedName": "eslint-scope",
|
||||
"name": "eslint-scope",
|
||||
"escapedName": "eslint-scope",
|
||||
"rawSpec": "^3.7.1",
|
||||
"spec": ">=3.7.1 <4.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^3.7.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/eslint"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
|
||||
"_shasum": "3d63c3edfda02e06e01a452ad88caacc7cdcb6e8",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "eslint-scope@^3.7.1",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/eslint",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
|
||||
"bugs": {
|
||||
"url": "https://github.com/eslint/eslint-scope/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"esrecurse": "^4.1.0",
|
||||
"estraverse": "^4.1.1"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "ECMAScript scope analyzer for ESLint",
|
||||
"devDependencies": {
|
||||
"chai": "^3.4.1",
|
||||
@@ -66,11 +45,6 @@
|
||||
"typescript": "~2.0.10",
|
||||
"typescript-eslint-parser": "^1.0.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "3d63c3edfda02e06e01a452ad88caacc7cdcb6e8",
|
||||
"tarball": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.0.0"
|
||||
},
|
||||
@@ -79,27 +53,10 @@
|
||||
"README.md",
|
||||
"lib"
|
||||
],
|
||||
"gitHead": "bec1febf351ae7137a62241c18eb78876ee4fb7f",
|
||||
"homepage": "http://github.com/eslint/eslint-scope",
|
||||
"license": "BSD-2-Clause",
|
||||
"main": "lib/index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "eslint",
|
||||
"email": "nicholas+eslint@nczconsulting.com"
|
||||
},
|
||||
{
|
||||
"name": "ivolodin",
|
||||
"email": "ivolodin@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "nzakas",
|
||||
"email": "nicholas@nczconsulting.com"
|
||||
}
|
||||
],
|
||||
"name": "eslint-scope",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/eslint/eslint-scope.git"
|
||||
|
||||
+12
-79
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "espree@^3.4.3",
|
||||
"scope": null,
|
||||
"escapedName": "espree",
|
||||
"name": "espree",
|
||||
"rawSpec": "^3.4.3",
|
||||
"spec": ">=3.4.3 <4.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/eslint"
|
||||
]
|
||||
],
|
||||
"_from": "espree@>=3.4.3 <4.0.0",
|
||||
"_from": "espree@^3.4.3",
|
||||
"_id": "espree@3.4.3",
|
||||
"_inCache": true,
|
||||
"_location": "/espree",
|
||||
"_nodeVersion": "4.4.7",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/espree-3.4.3.tgz_1494016113798_0.18147883261553943"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "eslint",
|
||||
"email": "nicholas+eslint@nczconsulting.com"
|
||||
},
|
||||
"_npmVersion": "2.15.8",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-KRC1zNSc6JPC//+qtP2LOjG4I3Q=",
|
||||
"_location": "/eslint/espree",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "espree@^3.4.3",
|
||||
"scope": null,
|
||||
"escapedName": "espree",
|
||||
"name": "espree",
|
||||
"escapedName": "espree",
|
||||
"rawSpec": "^3.4.3",
|
||||
"spec": ">=3.4.3 <4.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^3.4.3"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/eslint"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz",
|
||||
"_shasum": "2910b5ccd49ce893c2ffffaab4fd8b3a31b82374",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "espree@^3.4.3",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/eslint",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
|
||||
"author": {
|
||||
"name": "Nicholas C. Zakas",
|
||||
"email": "nicholas+npm@nczconsulting.com"
|
||||
@@ -52,10 +29,12 @@
|
||||
"bugs": {
|
||||
"url": "http://github.com/eslint/espree.git"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"acorn": "^5.0.1",
|
||||
"acorn-jsx": "^3.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "An Esprima-compatible JavaScript parser built on Acorn",
|
||||
"devDependencies": {
|
||||
"browserify": "^7.0.0",
|
||||
@@ -74,11 +53,6 @@
|
||||
"shelljs-nodecli": "^0.1.1",
|
||||
"unicode-6.3.0": "~0.1.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "2910b5ccd49ce893c2ffffaab4fd8b3a31b82374",
|
||||
"tarball": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
@@ -86,7 +60,6 @@
|
||||
"lib",
|
||||
"espree.js"
|
||||
],
|
||||
"gitHead": "ea086113d26c40b91647b2184e5e8aa9190db654",
|
||||
"homepage": "https://github.com/eslint/espree",
|
||||
"keywords": [
|
||||
"ast",
|
||||
@@ -98,47 +71,7 @@
|
||||
],
|
||||
"license": "BSD-2-Clause",
|
||||
"main": "espree.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "btmills",
|
||||
"email": "mills.brandont@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "eslint",
|
||||
"email": "nicholas+eslint@nczconsulting.com"
|
||||
},
|
||||
{
|
||||
"name": "gyandeeps",
|
||||
"email": "gyandeeps@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "ivolodin",
|
||||
"email": "ivolodin@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "kaicataldo",
|
||||
"email": "kaicataldo@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "mysticatea",
|
||||
"email": "star.ctor@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "not-an-aardvark",
|
||||
"email": "notaardvark@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "nzakas",
|
||||
"email": "nicholas@nczconsulting.com"
|
||||
},
|
||||
{
|
||||
"name": "sharpbites",
|
||||
"email": "alberto.email@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "espree",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/eslint/espree.git"
|
||||
|
||||
+16
-45
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "esprima@^3.1.1",
|
||||
"scope": null,
|
||||
"escapedName": "esprima",
|
||||
"name": "esprima",
|
||||
"rawSpec": "^3.1.1",
|
||||
"spec": ">=3.1.1 <4.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/js-yaml"
|
||||
]
|
||||
],
|
||||
"_from": "esprima@>=3.1.1 <4.0.0",
|
||||
"_from": "esprima@^3.1.1",
|
||||
"_id": "esprima@3.1.3",
|
||||
"_inCache": true,
|
||||
"_location": "/esprima",
|
||||
"_nodeVersion": "7.1.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/esprima-3.1.3.tgz_1482463104044_0.19027737597934902"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "ariya",
|
||||
"email": "ariya.hidayat@gmail.com"
|
||||
},
|
||||
"_npmVersion": "3.10.9",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
|
||||
"_location": "/eslint/esprima",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "esprima@^3.1.1",
|
||||
"scope": null,
|
||||
"escapedName": "esprima",
|
||||
"name": "esprima",
|
||||
"escapedName": "esprima",
|
||||
"rawSpec": "^3.1.1",
|
||||
"spec": ">=3.1.1 <4.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^3.1.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/js-yaml"
|
||||
"/eslint/js-yaml"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
|
||||
"_shasum": "fdca51cee6133895e3c88d535ce49dbff62a4633",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "esprima@^3.1.1",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/js-yaml",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/js-yaml",
|
||||
"author": {
|
||||
"name": "Ariya Hidayat",
|
||||
"email": "ariya.hidayat@gmail.com"
|
||||
@@ -56,7 +33,8 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/jquery/esprima/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "ECMAScript parsing infrastructure for multipurpose analysis",
|
||||
"devDependencies": {
|
||||
"codecov.io": "~0.1.6",
|
||||
@@ -84,11 +62,6 @@
|
||||
"unicode-8.0.0": "~0.7.0",
|
||||
"webpack": "~1.13.2"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "fdca51cee6133895e3c88d535ce49dbff62a4633",
|
||||
"tarball": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
@@ -96,7 +69,6 @@
|
||||
"bin",
|
||||
"dist/esprima.js"
|
||||
],
|
||||
"gitHead": "cd5909280f363d503142cb79077ec532132d9749",
|
||||
"homepage": "http://esprima.org",
|
||||
"keywords": [
|
||||
"ast",
|
||||
@@ -110,13 +82,12 @@
|
||||
"main": "dist/esprima.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "ariya",
|
||||
"email": "ariya.hidayat@gmail.com"
|
||||
"name": "Ariya Hidayat",
|
||||
"email": "ariya.hidayat@gmail.com",
|
||||
"url": "http://ariya.ofilabs.com"
|
||||
}
|
||||
],
|
||||
"name": "esprima",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/jquery/esprima.git"
|
||||
|
||||
+12
-51
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "esquery@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "esquery",
|
||||
"name": "esquery",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/eslint"
|
||||
]
|
||||
],
|
||||
"_from": "esquery@>=1.0.0 <2.0.0",
|
||||
"_from": "esquery@^1.0.0",
|
||||
"_id": "esquery@1.0.0",
|
||||
"_inCache": true,
|
||||
"_location": "/esquery",
|
||||
"_nodeVersion": "7.5.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/esquery-1.0.0.tgz_1489187536588_0.0852991035208106"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "michaelficarra",
|
||||
"email": "npm@michael.ficarra.me"
|
||||
},
|
||||
"_npmVersion": "4.1.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=",
|
||||
"_location": "/eslint/esquery",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "esquery@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "esquery",
|
||||
"name": "esquery",
|
||||
"escapedName": "esquery",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/eslint"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz",
|
||||
"_shasum": "cfba8b57d7fba93f17298a8a006a04cda13d80fa",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "esquery@^1.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/eslint",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
|
||||
"author": {
|
||||
"name": "Joel Feenstra",
|
||||
"email": "jrfeenst+esquery@gmail.com"
|
||||
@@ -52,9 +29,11 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/jrfeenst/esquery/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"estraverse": "^4.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "A query library for ECMAScript AST using a CSS selector like query language.",
|
||||
"devDependencies": {
|
||||
"commonjs-everywhere": "~0.9.4",
|
||||
@@ -62,11 +41,6 @@
|
||||
"jstestr": ">=0.4",
|
||||
"pegjs": "~0.7.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "cfba8b57d7fba93f17298a8a006a04cda13d80fa",
|
||||
"tarball": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.6"
|
||||
},
|
||||
@@ -76,7 +50,6 @@
|
||||
"license.txt",
|
||||
"README.md"
|
||||
],
|
||||
"gitHead": "c029e89dcef7bc4ca66588a503ec154bd68f0e05",
|
||||
"homepage": "https://github.com/jrfeenst/esquery#readme",
|
||||
"keywords": [
|
||||
"ast",
|
||||
@@ -86,20 +59,8 @@
|
||||
],
|
||||
"license": "BSD",
|
||||
"main": "esquery.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "jrfeenst",
|
||||
"email": "jrfeenst@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "michaelficarra",
|
||||
"email": "npm@michael.ficarra.me"
|
||||
}
|
||||
],
|
||||
"name": "esquery",
|
||||
"optionalDependencies": {},
|
||||
"preferGlobal": false,
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/jrfeenst/esquery.git"
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"presets": ["es2015"]
|
||||
}
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
### Esrecurse [](https://travis-ci.org/estools/esrecurse)
|
||||
|
||||
Esrecurse ([esrecurse](https://github.com/estools/esrecurse)) is
|
||||
[ECMAScript](https://www.ecma-international.org/publications/standards/Ecma-262.htm)
|
||||
recursive traversing functionality.
|
||||
|
||||
### Example Usage
|
||||
|
||||
The following code will output all variables declared at the root of a file.
|
||||
|
||||
```javascript
|
||||
esrecurse.visit(ast, {
|
||||
XXXStatement: function (node) {
|
||||
this.visit(node.left);
|
||||
// do something...
|
||||
this.visit(node.right);
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
We can use `Visitor` instance.
|
||||
|
||||
```javascript
|
||||
var visitor = new esrecurse.Visitor({
|
||||
XXXStatement: function (node) {
|
||||
this.visit(node.left);
|
||||
// do something...
|
||||
this.visit(node.right);
|
||||
}
|
||||
});
|
||||
|
||||
visitor.visit(ast);
|
||||
```
|
||||
|
||||
We can inherit `Visitor` instance easily.
|
||||
|
||||
```javascript
|
||||
class Derived extends esrecurse.Visitor {
|
||||
constructor()
|
||||
{
|
||||
super(null);
|
||||
}
|
||||
|
||||
XXXStatement(node) {
|
||||
}
|
||||
}
|
||||
|
||||
```javascript
|
||||
function DerivedVisitor() {
|
||||
esrecurse.Visitor.call(/* this for constructor */ this /* visitor object automatically becomes this. */);
|
||||
}
|
||||
util.inherits(DerivedVisitor, esrecurse.Visitor);
|
||||
DerivedVisitor.prototype.XXXStatement = function (node) {
|
||||
this.visit(node.left);
|
||||
// do something...
|
||||
this.visit(node.right);
|
||||
};
|
||||
```
|
||||
|
||||
And you can invoke default visiting operation inside custom visit operation.
|
||||
|
||||
```javascript
|
||||
function DerivedVisitor() {
|
||||
esrecurse.Visitor.call(/* this for constructor */ this /* visitor object automatically becomes this. */);
|
||||
}
|
||||
util.inherits(DerivedVisitor, esrecurse.Visitor);
|
||||
DerivedVisitor.prototype.XXXStatement = function (node) {
|
||||
// do something...
|
||||
this.visitChildren(node);
|
||||
};
|
||||
```
|
||||
|
||||
The `childVisitorKeys` option does customize the behavoir of `this.visitChildren(node)`.
|
||||
We can use user-defined node types.
|
||||
|
||||
```javascript
|
||||
// This tree contains a user-defined `TestExpression` node.
|
||||
var tree = {
|
||||
type: 'TestExpression',
|
||||
|
||||
// This 'argument' is the property containing the other **node**.
|
||||
argument: {
|
||||
type: 'Literal',
|
||||
value: 20
|
||||
},
|
||||
|
||||
// This 'extended' is the property not containing the other **node**.
|
||||
extended: true
|
||||
};
|
||||
esrecurse.visit(
|
||||
ast,
|
||||
{
|
||||
Literal: function (node) {
|
||||
// do something...
|
||||
}
|
||||
},
|
||||
{
|
||||
// Extending the existing traversing rules.
|
||||
childVisitorKeys: {
|
||||
// TargetNodeName: [ 'keys', 'containing', 'the', 'other', '**node**' ]
|
||||
TestExpression: ['argument']
|
||||
}
|
||||
}
|
||||
);
|
||||
```
|
||||
|
||||
We can use the `fallback` option as well.
|
||||
If the `fallback` option is `"iteration"`, `esrecurse` would visit all enumerable properties of unknown nodes.
|
||||
Please note circular references cause the stack overflow. AST might have circular references in additional properties for some purpose (e.g. `node.parent`).
|
||||
|
||||
```javascript
|
||||
esrecurse.visit(
|
||||
ast,
|
||||
{
|
||||
Literal: function (node) {
|
||||
// do something...
|
||||
}
|
||||
},
|
||||
{
|
||||
fallback: 'iteration'
|
||||
}
|
||||
);
|
||||
```
|
||||
|
||||
If the `fallback` option is a function, `esrecurse` calls this function to determine the enumerable properties of unknown nodes.
|
||||
Please note circular references cause the stack overflow. AST might have circular references in additional properties for some purpose (e.g. `node.parent`).
|
||||
|
||||
```javascript
|
||||
esrecurse.visit(
|
||||
ast,
|
||||
{
|
||||
Literal: function (node) {
|
||||
// do something...
|
||||
}
|
||||
},
|
||||
{
|
||||
fallback: function (node) {
|
||||
return Object.keys(node).filter(function(key) {
|
||||
return key !== 'argument'
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
```
|
||||
|
||||
### License
|
||||
|
||||
Copyright (C) 2014 [Yusuke Suzuki](https://github.com/Constellation)
|
||||
(twitter: [@Constellation](https://twitter.com/Constellation)) and other contributors.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
-19
@@ -1,19 +0,0 @@
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
-124
@@ -1,124 +0,0 @@
|
||||
### Estraverse [](http://travis-ci.org/estools/estraverse)
|
||||
|
||||
Estraverse ([estraverse](http://github.com/estools/estraverse)) is
|
||||
[ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm)
|
||||
traversal functions from [esmangle project](http://github.com/estools/esmangle).
|
||||
|
||||
### Documentation
|
||||
|
||||
You can find usage docs at [wiki page](https://github.com/estools/estraverse/wiki/Usage).
|
||||
|
||||
### Example Usage
|
||||
|
||||
The following code will output all variables declared at the root of a file.
|
||||
|
||||
```javascript
|
||||
estraverse.traverse(ast, {
|
||||
enter: function (node, parent) {
|
||||
if (node.type == 'FunctionExpression' || node.type == 'FunctionDeclaration')
|
||||
return estraverse.VisitorOption.Skip;
|
||||
},
|
||||
leave: function (node, parent) {
|
||||
if (node.type == 'VariableDeclarator')
|
||||
console.log(node.id.name);
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
We can use `this.skip`, `this.remove` and `this.break` functions instead of using Skip, Remove and Break.
|
||||
|
||||
```javascript
|
||||
estraverse.traverse(ast, {
|
||||
enter: function (node) {
|
||||
this.break();
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
And estraverse provides `estraverse.replace` function. When returning node from `enter`/`leave`, current node is replaced with it.
|
||||
|
||||
```javascript
|
||||
result = estraverse.replace(tree, {
|
||||
enter: function (node) {
|
||||
// Replace it with replaced.
|
||||
if (node.type === 'Literal')
|
||||
return replaced;
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
By passing `visitor.keys` mapping, we can extend estraverse traversing functionality.
|
||||
|
||||
```javascript
|
||||
// This tree contains a user-defined `TestExpression` node.
|
||||
var tree = {
|
||||
type: 'TestExpression',
|
||||
|
||||
// This 'argument' is the property containing the other **node**.
|
||||
argument: {
|
||||
type: 'Literal',
|
||||
value: 20
|
||||
},
|
||||
|
||||
// This 'extended' is the property not containing the other **node**.
|
||||
extended: true
|
||||
};
|
||||
estraverse.traverse(tree, {
|
||||
enter: function (node) { },
|
||||
|
||||
// Extending the existing traversing rules.
|
||||
keys: {
|
||||
// TargetNodeName: [ 'keys', 'containing', 'the', 'other', '**node**' ]
|
||||
TestExpression: ['argument']
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
By passing `visitor.fallback` option, we can control the behavior when encountering unknown nodes.
|
||||
```javascript
|
||||
// This tree contains a user-defined `TestExpression` node.
|
||||
var tree = {
|
||||
type: 'TestExpression',
|
||||
|
||||
// This 'argument' is the property containing the other **node**.
|
||||
argument: {
|
||||
type: 'Literal',
|
||||
value: 20
|
||||
},
|
||||
|
||||
// This 'extended' is the property not containing the other **node**.
|
||||
extended: true
|
||||
};
|
||||
estraverse.traverse(tree, {
|
||||
enter: function (node) { },
|
||||
|
||||
// Iterating the child **nodes** of unknown nodes.
|
||||
fallback: 'iteration'
|
||||
});
|
||||
```
|
||||
|
||||
### License
|
||||
|
||||
Copyright (C) 2012-2013 [Yusuke Suzuki](http://github.com/Constellation)
|
||||
(twitter: [@Constellation](http://twitter.com/Constellation)) and other contributors.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
-843
@@ -1,843 +0,0 @@
|
||||
/*
|
||||
Copyright (C) 2012-2013 Yusuke Suzuki <utatane.tea@gmail.com>
|
||||
Copyright (C) 2012 Ariya Hidayat <ariya.hidayat@gmail.com>
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
/*jslint vars:false, bitwise:true*/
|
||||
/*jshint indent:4*/
|
||||
/*global exports:true*/
|
||||
(function clone(exports) {
|
||||
'use strict';
|
||||
|
||||
var Syntax,
|
||||
isArray,
|
||||
VisitorOption,
|
||||
VisitorKeys,
|
||||
objectCreate,
|
||||
objectKeys,
|
||||
BREAK,
|
||||
SKIP,
|
||||
REMOVE;
|
||||
|
||||
function ignoreJSHintError() { }
|
||||
|
||||
isArray = Array.isArray;
|
||||
if (!isArray) {
|
||||
isArray = function isArray(array) {
|
||||
return Object.prototype.toString.call(array) === '[object Array]';
|
||||
};
|
||||
}
|
||||
|
||||
function deepCopy(obj) {
|
||||
var ret = {}, key, val;
|
||||
for (key in obj) {
|
||||
if (obj.hasOwnProperty(key)) {
|
||||
val = obj[key];
|
||||
if (typeof val === 'object' && val !== null) {
|
||||
ret[key] = deepCopy(val);
|
||||
} else {
|
||||
ret[key] = val;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
function shallowCopy(obj) {
|
||||
var ret = {}, key;
|
||||
for (key in obj) {
|
||||
if (obj.hasOwnProperty(key)) {
|
||||
ret[key] = obj[key];
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
ignoreJSHintError(shallowCopy);
|
||||
|
||||
// based on LLVM libc++ upper_bound / lower_bound
|
||||
// MIT License
|
||||
|
||||
function upperBound(array, func) {
|
||||
var diff, len, i, current;
|
||||
|
||||
len = array.length;
|
||||
i = 0;
|
||||
|
||||
while (len) {
|
||||
diff = len >>> 1;
|
||||
current = i + diff;
|
||||
if (func(array[current])) {
|
||||
len = diff;
|
||||
} else {
|
||||
i = current + 1;
|
||||
len -= diff + 1;
|
||||
}
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
function lowerBound(array, func) {
|
||||
var diff, len, i, current;
|
||||
|
||||
len = array.length;
|
||||
i = 0;
|
||||
|
||||
while (len) {
|
||||
diff = len >>> 1;
|
||||
current = i + diff;
|
||||
if (func(array[current])) {
|
||||
i = current + 1;
|
||||
len -= diff + 1;
|
||||
} else {
|
||||
len = diff;
|
||||
}
|
||||
}
|
||||
return i;
|
||||
}
|
||||
ignoreJSHintError(lowerBound);
|
||||
|
||||
objectCreate = Object.create || (function () {
|
||||
function F() { }
|
||||
|
||||
return function (o) {
|
||||
F.prototype = o;
|
||||
return new F();
|
||||
};
|
||||
})();
|
||||
|
||||
objectKeys = Object.keys || function (o) {
|
||||
var keys = [], key;
|
||||
for (key in o) {
|
||||
keys.push(key);
|
||||
}
|
||||
return keys;
|
||||
};
|
||||
|
||||
function extend(to, from) {
|
||||
var keys = objectKeys(from), key, i, len;
|
||||
for (i = 0, len = keys.length; i < len; i += 1) {
|
||||
key = keys[i];
|
||||
to[key] = from[key];
|
||||
}
|
||||
return to;
|
||||
}
|
||||
|
||||
Syntax = {
|
||||
AssignmentExpression: 'AssignmentExpression',
|
||||
AssignmentPattern: 'AssignmentPattern',
|
||||
ArrayExpression: 'ArrayExpression',
|
||||
ArrayPattern: 'ArrayPattern',
|
||||
ArrowFunctionExpression: 'ArrowFunctionExpression',
|
||||
AwaitExpression: 'AwaitExpression', // CAUTION: It's deferred to ES7.
|
||||
BlockStatement: 'BlockStatement',
|
||||
BinaryExpression: 'BinaryExpression',
|
||||
BreakStatement: 'BreakStatement',
|
||||
CallExpression: 'CallExpression',
|
||||
CatchClause: 'CatchClause',
|
||||
ClassBody: 'ClassBody',
|
||||
ClassDeclaration: 'ClassDeclaration',
|
||||
ClassExpression: 'ClassExpression',
|
||||
ComprehensionBlock: 'ComprehensionBlock', // CAUTION: It's deferred to ES7.
|
||||
ComprehensionExpression: 'ComprehensionExpression', // CAUTION: It's deferred to ES7.
|
||||
ConditionalExpression: 'ConditionalExpression',
|
||||
ContinueStatement: 'ContinueStatement',
|
||||
DebuggerStatement: 'DebuggerStatement',
|
||||
DirectiveStatement: 'DirectiveStatement',
|
||||
DoWhileStatement: 'DoWhileStatement',
|
||||
EmptyStatement: 'EmptyStatement',
|
||||
ExportAllDeclaration: 'ExportAllDeclaration',
|
||||
ExportDefaultDeclaration: 'ExportDefaultDeclaration',
|
||||
ExportNamedDeclaration: 'ExportNamedDeclaration',
|
||||
ExportSpecifier: 'ExportSpecifier',
|
||||
ExpressionStatement: 'ExpressionStatement',
|
||||
ForStatement: 'ForStatement',
|
||||
ForInStatement: 'ForInStatement',
|
||||
ForOfStatement: 'ForOfStatement',
|
||||
FunctionDeclaration: 'FunctionDeclaration',
|
||||
FunctionExpression: 'FunctionExpression',
|
||||
GeneratorExpression: 'GeneratorExpression', // CAUTION: It's deferred to ES7.
|
||||
Identifier: 'Identifier',
|
||||
IfStatement: 'IfStatement',
|
||||
ImportDeclaration: 'ImportDeclaration',
|
||||
ImportDefaultSpecifier: 'ImportDefaultSpecifier',
|
||||
ImportNamespaceSpecifier: 'ImportNamespaceSpecifier',
|
||||
ImportSpecifier: 'ImportSpecifier',
|
||||
Literal: 'Literal',
|
||||
LabeledStatement: 'LabeledStatement',
|
||||
LogicalExpression: 'LogicalExpression',
|
||||
MemberExpression: 'MemberExpression',
|
||||
MetaProperty: 'MetaProperty',
|
||||
MethodDefinition: 'MethodDefinition',
|
||||
ModuleSpecifier: 'ModuleSpecifier',
|
||||
NewExpression: 'NewExpression',
|
||||
ObjectExpression: 'ObjectExpression',
|
||||
ObjectPattern: 'ObjectPattern',
|
||||
Program: 'Program',
|
||||
Property: 'Property',
|
||||
RestElement: 'RestElement',
|
||||
ReturnStatement: 'ReturnStatement',
|
||||
SequenceExpression: 'SequenceExpression',
|
||||
SpreadElement: 'SpreadElement',
|
||||
Super: 'Super',
|
||||
SwitchStatement: 'SwitchStatement',
|
||||
SwitchCase: 'SwitchCase',
|
||||
TaggedTemplateExpression: 'TaggedTemplateExpression',
|
||||
TemplateElement: 'TemplateElement',
|
||||
TemplateLiteral: 'TemplateLiteral',
|
||||
ThisExpression: 'ThisExpression',
|
||||
ThrowStatement: 'ThrowStatement',
|
||||
TryStatement: 'TryStatement',
|
||||
UnaryExpression: 'UnaryExpression',
|
||||
UpdateExpression: 'UpdateExpression',
|
||||
VariableDeclaration: 'VariableDeclaration',
|
||||
VariableDeclarator: 'VariableDeclarator',
|
||||
WhileStatement: 'WhileStatement',
|
||||
WithStatement: 'WithStatement',
|
||||
YieldExpression: 'YieldExpression'
|
||||
};
|
||||
|
||||
VisitorKeys = {
|
||||
AssignmentExpression: ['left', 'right'],
|
||||
AssignmentPattern: ['left', 'right'],
|
||||
ArrayExpression: ['elements'],
|
||||
ArrayPattern: ['elements'],
|
||||
ArrowFunctionExpression: ['params', 'body'],
|
||||
AwaitExpression: ['argument'], // CAUTION: It's deferred to ES7.
|
||||
BlockStatement: ['body'],
|
||||
BinaryExpression: ['left', 'right'],
|
||||
BreakStatement: ['label'],
|
||||
CallExpression: ['callee', 'arguments'],
|
||||
CatchClause: ['param', 'body'],
|
||||
ClassBody: ['body'],
|
||||
ClassDeclaration: ['id', 'superClass', 'body'],
|
||||
ClassExpression: ['id', 'superClass', 'body'],
|
||||
ComprehensionBlock: ['left', 'right'], // CAUTION: It's deferred to ES7.
|
||||
ComprehensionExpression: ['blocks', 'filter', 'body'], // CAUTION: It's deferred to ES7.
|
||||
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'],
|
||||
GeneratorExpression: ['blocks', 'filter', 'body'], // CAUTION: It's deferred to ES7.
|
||||
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']
|
||||
};
|
||||
|
||||
// unique id
|
||||
BREAK = {};
|
||||
SKIP = {};
|
||||
REMOVE = {};
|
||||
|
||||
VisitorOption = {
|
||||
Break: BREAK,
|
||||
Skip: SKIP,
|
||||
Remove: REMOVE
|
||||
};
|
||||
|
||||
function Reference(parent, key) {
|
||||
this.parent = parent;
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
Reference.prototype.replace = function replace(node) {
|
||||
this.parent[this.key] = node;
|
||||
};
|
||||
|
||||
Reference.prototype.remove = function remove() {
|
||||
if (isArray(this.parent)) {
|
||||
this.parent.splice(this.key, 1);
|
||||
return true;
|
||||
} else {
|
||||
this.replace(null);
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
function Element(node, path, wrap, ref) {
|
||||
this.node = node;
|
||||
this.path = path;
|
||||
this.wrap = wrap;
|
||||
this.ref = ref;
|
||||
}
|
||||
|
||||
function Controller() { }
|
||||
|
||||
// API:
|
||||
// return property path array from root to current node
|
||||
Controller.prototype.path = function path() {
|
||||
var i, iz, j, jz, result, element;
|
||||
|
||||
function addToPath(result, path) {
|
||||
if (isArray(path)) {
|
||||
for (j = 0, jz = path.length; j < jz; ++j) {
|
||||
result.push(path[j]);
|
||||
}
|
||||
} else {
|
||||
result.push(path);
|
||||
}
|
||||
}
|
||||
|
||||
// root node
|
||||
if (!this.__current.path) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// first node is sentinel, second node is root element
|
||||
result = [];
|
||||
for (i = 2, iz = this.__leavelist.length; i < iz; ++i) {
|
||||
element = this.__leavelist[i];
|
||||
addToPath(result, element.path);
|
||||
}
|
||||
addToPath(result, this.__current.path);
|
||||
return result;
|
||||
};
|
||||
|
||||
// API:
|
||||
// return type of current node
|
||||
Controller.prototype.type = function () {
|
||||
var node = this.current();
|
||||
return node.type || this.__current.wrap;
|
||||
};
|
||||
|
||||
// API:
|
||||
// return array of parent elements
|
||||
Controller.prototype.parents = function parents() {
|
||||
var i, iz, result;
|
||||
|
||||
// first node is sentinel
|
||||
result = [];
|
||||
for (i = 1, iz = this.__leavelist.length; i < iz; ++i) {
|
||||
result.push(this.__leavelist[i].node);
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
// API:
|
||||
// return current node
|
||||
Controller.prototype.current = function current() {
|
||||
return this.__current.node;
|
||||
};
|
||||
|
||||
Controller.prototype.__execute = function __execute(callback, element) {
|
||||
var previous, result;
|
||||
|
||||
result = undefined;
|
||||
|
||||
previous = this.__current;
|
||||
this.__current = element;
|
||||
this.__state = null;
|
||||
if (callback) {
|
||||
result = callback.call(this, element.node, this.__leavelist[this.__leavelist.length - 1].node);
|
||||
}
|
||||
this.__current = previous;
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
// API:
|
||||
// notify control skip / break
|
||||
Controller.prototype.notify = function notify(flag) {
|
||||
this.__state = flag;
|
||||
};
|
||||
|
||||
// API:
|
||||
// skip child nodes of current node
|
||||
Controller.prototype.skip = function () {
|
||||
this.notify(SKIP);
|
||||
};
|
||||
|
||||
// API:
|
||||
// break traversals
|
||||
Controller.prototype['break'] = function () {
|
||||
this.notify(BREAK);
|
||||
};
|
||||
|
||||
// API:
|
||||
// remove node
|
||||
Controller.prototype.remove = function () {
|
||||
this.notify(REMOVE);
|
||||
};
|
||||
|
||||
Controller.prototype.__initialize = function(root, visitor) {
|
||||
this.visitor = visitor;
|
||||
this.root = root;
|
||||
this.__worklist = [];
|
||||
this.__leavelist = [];
|
||||
this.__current = null;
|
||||
this.__state = null;
|
||||
this.__fallback = visitor.fallback === 'iteration';
|
||||
this.__keys = VisitorKeys;
|
||||
if (visitor.keys) {
|
||||
this.__keys = extend(objectCreate(this.__keys), visitor.keys);
|
||||
}
|
||||
};
|
||||
|
||||
function isNode(node) {
|
||||
if (node == null) {
|
||||
return false;
|
||||
}
|
||||
return typeof node === 'object' && typeof node.type === 'string';
|
||||
}
|
||||
|
||||
function isProperty(nodeType, key) {
|
||||
return (nodeType === Syntax.ObjectExpression || nodeType === Syntax.ObjectPattern) && 'properties' === key;
|
||||
}
|
||||
|
||||
Controller.prototype.traverse = function traverse(root, visitor) {
|
||||
var worklist,
|
||||
leavelist,
|
||||
element,
|
||||
node,
|
||||
nodeType,
|
||||
ret,
|
||||
key,
|
||||
current,
|
||||
current2,
|
||||
candidates,
|
||||
candidate,
|
||||
sentinel;
|
||||
|
||||
this.__initialize(root, visitor);
|
||||
|
||||
sentinel = {};
|
||||
|
||||
// reference
|
||||
worklist = this.__worklist;
|
||||
leavelist = this.__leavelist;
|
||||
|
||||
// initialize
|
||||
worklist.push(new Element(root, null, null, null));
|
||||
leavelist.push(new Element(null, null, null, null));
|
||||
|
||||
while (worklist.length) {
|
||||
element = worklist.pop();
|
||||
|
||||
if (element === sentinel) {
|
||||
element = leavelist.pop();
|
||||
|
||||
ret = this.__execute(visitor.leave, element);
|
||||
|
||||
if (this.__state === BREAK || ret === BREAK) {
|
||||
return;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (element.node) {
|
||||
|
||||
ret = this.__execute(visitor.enter, element);
|
||||
|
||||
if (this.__state === BREAK || ret === BREAK) {
|
||||
return;
|
||||
}
|
||||
|
||||
worklist.push(sentinel);
|
||||
leavelist.push(element);
|
||||
|
||||
if (this.__state === SKIP || ret === SKIP) {
|
||||
continue;
|
||||
}
|
||||
|
||||
node = element.node;
|
||||
nodeType = node.type || element.wrap;
|
||||
candidates = this.__keys[nodeType];
|
||||
if (!candidates) {
|
||||
if (this.__fallback) {
|
||||
candidates = objectKeys(node);
|
||||
} else {
|
||||
throw new Error('Unknown node type ' + nodeType + '.');
|
||||
}
|
||||
}
|
||||
|
||||
current = candidates.length;
|
||||
while ((current -= 1) >= 0) {
|
||||
key = candidates[current];
|
||||
candidate = node[key];
|
||||
if (!candidate) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isArray(candidate)) {
|
||||
current2 = candidate.length;
|
||||
while ((current2 -= 1) >= 0) {
|
||||
if (!candidate[current2]) {
|
||||
continue;
|
||||
}
|
||||
if (isProperty(nodeType, candidates[current])) {
|
||||
element = new Element(candidate[current2], [key, current2], 'Property', null);
|
||||
} else if (isNode(candidate[current2])) {
|
||||
element = new Element(candidate[current2], [key, current2], null, null);
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
worklist.push(element);
|
||||
}
|
||||
} else if (isNode(candidate)) {
|
||||
worklist.push(new Element(candidate, key, null, null));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Controller.prototype.replace = function replace(root, visitor) {
|
||||
function removeElem(element) {
|
||||
var i,
|
||||
key,
|
||||
nextElem,
|
||||
parent;
|
||||
|
||||
if (element.ref.remove()) {
|
||||
// When the reference is an element of an array.
|
||||
key = element.ref.key;
|
||||
parent = element.ref.parent;
|
||||
|
||||
// If removed from array, then decrease following items' keys.
|
||||
i = worklist.length;
|
||||
while (i--) {
|
||||
nextElem = worklist[i];
|
||||
if (nextElem.ref && nextElem.ref.parent === parent) {
|
||||
if (nextElem.ref.key < key) {
|
||||
break;
|
||||
}
|
||||
--nextElem.ref.key;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var worklist,
|
||||
leavelist,
|
||||
node,
|
||||
nodeType,
|
||||
target,
|
||||
element,
|
||||
current,
|
||||
current2,
|
||||
candidates,
|
||||
candidate,
|
||||
sentinel,
|
||||
outer,
|
||||
key;
|
||||
|
||||
this.__initialize(root, visitor);
|
||||
|
||||
sentinel = {};
|
||||
|
||||
// reference
|
||||
worklist = this.__worklist;
|
||||
leavelist = this.__leavelist;
|
||||
|
||||
// initialize
|
||||
outer = {
|
||||
root: root
|
||||
};
|
||||
element = new Element(root, null, null, new Reference(outer, 'root'));
|
||||
worklist.push(element);
|
||||
leavelist.push(element);
|
||||
|
||||
while (worklist.length) {
|
||||
element = worklist.pop();
|
||||
|
||||
if (element === sentinel) {
|
||||
element = leavelist.pop();
|
||||
|
||||
target = this.__execute(visitor.leave, element);
|
||||
|
||||
// node may be replaced with null,
|
||||
// so distinguish between undefined and null in this place
|
||||
if (target !== undefined && target !== BREAK && target !== SKIP && target !== REMOVE) {
|
||||
// replace
|
||||
element.ref.replace(target);
|
||||
}
|
||||
|
||||
if (this.__state === REMOVE || target === REMOVE) {
|
||||
removeElem(element);
|
||||
}
|
||||
|
||||
if (this.__state === BREAK || target === BREAK) {
|
||||
return outer.root;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
target = this.__execute(visitor.enter, element);
|
||||
|
||||
// node may be replaced with null,
|
||||
// so distinguish between undefined and null in this place
|
||||
if (target !== undefined && target !== BREAK && target !== SKIP && target !== REMOVE) {
|
||||
// replace
|
||||
element.ref.replace(target);
|
||||
element.node = target;
|
||||
}
|
||||
|
||||
if (this.__state === REMOVE || target === REMOVE) {
|
||||
removeElem(element);
|
||||
element.node = null;
|
||||
}
|
||||
|
||||
if (this.__state === BREAK || target === BREAK) {
|
||||
return outer.root;
|
||||
}
|
||||
|
||||
// node may be null
|
||||
node = element.node;
|
||||
if (!node) {
|
||||
continue;
|
||||
}
|
||||
|
||||
worklist.push(sentinel);
|
||||
leavelist.push(element);
|
||||
|
||||
if (this.__state === SKIP || target === SKIP) {
|
||||
continue;
|
||||
}
|
||||
|
||||
nodeType = node.type || element.wrap;
|
||||
candidates = this.__keys[nodeType];
|
||||
if (!candidates) {
|
||||
if (this.__fallback) {
|
||||
candidates = objectKeys(node);
|
||||
} else {
|
||||
throw new Error('Unknown node type ' + nodeType + '.');
|
||||
}
|
||||
}
|
||||
|
||||
current = candidates.length;
|
||||
while ((current -= 1) >= 0) {
|
||||
key = candidates[current];
|
||||
candidate = node[key];
|
||||
if (!candidate) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isArray(candidate)) {
|
||||
current2 = candidate.length;
|
||||
while ((current2 -= 1) >= 0) {
|
||||
if (!candidate[current2]) {
|
||||
continue;
|
||||
}
|
||||
if (isProperty(nodeType, candidates[current])) {
|
||||
element = new Element(candidate[current2], [key, current2], 'Property', new Reference(candidate, current2));
|
||||
} else if (isNode(candidate[current2])) {
|
||||
element = new Element(candidate[current2], [key, current2], null, new Reference(candidate, current2));
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
worklist.push(element);
|
||||
}
|
||||
} else if (isNode(candidate)) {
|
||||
worklist.push(new Element(candidate, key, null, new Reference(node, key)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return outer.root;
|
||||
};
|
||||
|
||||
function traverse(root, visitor) {
|
||||
var controller = new Controller();
|
||||
return controller.traverse(root, visitor);
|
||||
}
|
||||
|
||||
function replace(root, visitor) {
|
||||
var controller = new Controller();
|
||||
return controller.replace(root, visitor);
|
||||
}
|
||||
|
||||
function extendCommentRange(comment, tokens) {
|
||||
var target;
|
||||
|
||||
target = upperBound(tokens, function search(token) {
|
||||
return token.range[0] > comment.range[0];
|
||||
});
|
||||
|
||||
comment.extendedRange = [comment.range[0], comment.range[1]];
|
||||
|
||||
if (target !== tokens.length) {
|
||||
comment.extendedRange[1] = tokens[target].range[0];
|
||||
}
|
||||
|
||||
target -= 1;
|
||||
if (target >= 0) {
|
||||
comment.extendedRange[0] = tokens[target].range[1];
|
||||
}
|
||||
|
||||
return comment;
|
||||
}
|
||||
|
||||
function attachComments(tree, providedComments, tokens) {
|
||||
// At first, we should calculate extended comment ranges.
|
||||
var comments = [], comment, len, i, cursor;
|
||||
|
||||
if (!tree.range) {
|
||||
throw new Error('attachComments needs range information');
|
||||
}
|
||||
|
||||
// tokens array is empty, we attach comments to tree as 'leadingComments'
|
||||
if (!tokens.length) {
|
||||
if (providedComments.length) {
|
||||
for (i = 0, len = providedComments.length; i < len; i += 1) {
|
||||
comment = deepCopy(providedComments[i]);
|
||||
comment.extendedRange = [0, tree.range[0]];
|
||||
comments.push(comment);
|
||||
}
|
||||
tree.leadingComments = comments;
|
||||
}
|
||||
return tree;
|
||||
}
|
||||
|
||||
for (i = 0, len = providedComments.length; i < len; i += 1) {
|
||||
comments.push(extendCommentRange(deepCopy(providedComments[i]), tokens));
|
||||
}
|
||||
|
||||
// This is based on John Freeman's implementation.
|
||||
cursor = 0;
|
||||
traverse(tree, {
|
||||
enter: function (node) {
|
||||
var comment;
|
||||
|
||||
while (cursor < comments.length) {
|
||||
comment = comments[cursor];
|
||||
if (comment.extendedRange[1] > node.range[0]) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (comment.extendedRange[1] === node.range[0]) {
|
||||
if (!node.leadingComments) {
|
||||
node.leadingComments = [];
|
||||
}
|
||||
node.leadingComments.push(comment);
|
||||
comments.splice(cursor, 1);
|
||||
} else {
|
||||
cursor += 1;
|
||||
}
|
||||
}
|
||||
|
||||
// already out of owned node
|
||||
if (cursor === comments.length) {
|
||||
return VisitorOption.Break;
|
||||
}
|
||||
|
||||
if (comments[cursor].extendedRange[0] > node.range[1]) {
|
||||
return VisitorOption.Skip;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
cursor = 0;
|
||||
traverse(tree, {
|
||||
leave: function (node) {
|
||||
var comment;
|
||||
|
||||
while (cursor < comments.length) {
|
||||
comment = comments[cursor];
|
||||
if (node.range[1] < comment.extendedRange[0]) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (node.range[1] === comment.extendedRange[0]) {
|
||||
if (!node.trailingComments) {
|
||||
node.trailingComments = [];
|
||||
}
|
||||
node.trailingComments.push(comment);
|
||||
comments.splice(cursor, 1);
|
||||
} else {
|
||||
cursor += 1;
|
||||
}
|
||||
}
|
||||
|
||||
// already out of owned node
|
||||
if (cursor === comments.length) {
|
||||
return VisitorOption.Break;
|
||||
}
|
||||
|
||||
if (comments[cursor].extendedRange[0] > node.range[1]) {
|
||||
return VisitorOption.Skip;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return tree;
|
||||
}
|
||||
|
||||
exports.version = require('./package.json').version;
|
||||
exports.Syntax = Syntax;
|
||||
exports.traverse = traverse;
|
||||
exports.replace = replace;
|
||||
exports.attachComments = attachComments;
|
||||
exports.VisitorKeys = VisitorKeys;
|
||||
exports.VisitorOption = VisitorOption;
|
||||
exports.Controller = Controller;
|
||||
exports.cloneEnvironment = function () { return clone({}); };
|
||||
|
||||
return exports;
|
||||
}(exports));
|
||||
/* vim: set sw=4 ts=4 et tw=80 : */
|
||||
-100
@@ -1,100 +0,0 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "estraverse@~4.1.0",
|
||||
"scope": null,
|
||||
"escapedName": "estraverse",
|
||||
"name": "estraverse",
|
||||
"rawSpec": "~4.1.0",
|
||||
"spec": ">=4.1.0 <4.2.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/esrecurse"
|
||||
]
|
||||
],
|
||||
"_from": "estraverse@>=4.1.0 <4.2.0",
|
||||
"_id": "estraverse@4.1.1",
|
||||
"_inCache": true,
|
||||
"_location": "/esrecurse/estraverse",
|
||||
"_nodeVersion": "4.1.1",
|
||||
"_npmUser": {
|
||||
"name": "constellation",
|
||||
"email": "utatane.tea@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.14.4",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"raw": "estraverse@~4.1.0",
|
||||
"scope": null,
|
||||
"escapedName": "estraverse",
|
||||
"name": "estraverse",
|
||||
"rawSpec": "~4.1.0",
|
||||
"spec": ">=4.1.0 <4.2.0",
|
||||
"type": "range"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/esrecurse"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz",
|
||||
"_shasum": "f6caca728933a850ef90661d0e17982ba47111a2",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "estraverse@~4.1.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/esrecurse",
|
||||
"bugs": {
|
||||
"url": "https://github.com/estools/estraverse/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"description": "ECMAScript JS AST traversal functions",
|
||||
"devDependencies": {
|
||||
"chai": "^2.1.1",
|
||||
"coffee-script": "^1.8.0",
|
||||
"espree": "^1.11.0",
|
||||
"gulp": "^3.8.10",
|
||||
"gulp-bump": "^0.2.2",
|
||||
"gulp-filter": "^2.0.0",
|
||||
"gulp-git": "^1.0.1",
|
||||
"gulp-tag-version": "^1.2.1",
|
||||
"jshint": "^2.5.6",
|
||||
"mocha": "^2.1.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "f6caca728933a850ef90661d0e17982ba47111a2",
|
||||
"tarball": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"gitHead": "bbcccbfe98296585e4311c8755e1d00dcd581e3c",
|
||||
"homepage": "https://github.com/estools/estraverse",
|
||||
"license": "BSD-2-Clause",
|
||||
"main": "estraverse.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "constellation",
|
||||
"email": "utatane.tea@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "michaelficarra",
|
||||
"email": "npm@michael.ficarra.me"
|
||||
},
|
||||
{
|
||||
"name": "nzakas",
|
||||
"email": "nicholas@nczconsulting.com"
|
||||
}
|
||||
],
|
||||
"name": "estraverse",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+ssh://git@github.com/estools/estraverse.git"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "jshint estraverse.js",
|
||||
"test": "npm run-script lint && npm run-script unit-test",
|
||||
"unit-test": "mocha --compilers coffee:coffee-script/register"
|
||||
},
|
||||
"version": "4.1.1"
|
||||
}
|
||||
+4322
File diff suppressed because it is too large.
Load diff
+37
-65
@@ -1,101 +1,73 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "esrecurse@^4.1.0",
|
||||
"scope": null,
|
||||
"escapedName": "esrecurse",
|
||||
"name": "esrecurse",
|
||||
"rawSpec": "^4.1.0",
|
||||
"spec": ">=4.1.0 <5.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/eslint-scope"
|
||||
]
|
||||
],
|
||||
"_from": "esrecurse@>=4.1.0 <5.0.0",
|
||||
"_id": "esrecurse@4.1.0",
|
||||
"_inCache": true,
|
||||
"_location": "/esrecurse",
|
||||
"_nodeVersion": "0.12.9",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-13-west.internal.npmjs.com",
|
||||
"tmp": "tmp/esrecurse-4.1.0.tgz_1457712782215_0.15950557170435786"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "nzakas",
|
||||
"email": "nicholas@nczconsulting.com"
|
||||
},
|
||||
"_npmVersion": "2.14.9",
|
||||
"_from": "esrecurse@^4.1.0",
|
||||
"_id": "esrecurse@4.2.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=",
|
||||
"_location": "/eslint/esrecurse",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "esrecurse@^4.1.0",
|
||||
"scope": null,
|
||||
"escapedName": "esrecurse",
|
||||
"name": "esrecurse",
|
||||
"escapedName": "esrecurse",
|
||||
"rawSpec": "^4.1.0",
|
||||
"spec": ">=4.1.0 <5.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^4.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/eslint-scope"
|
||||
"/eslint/eslint-scope"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz",
|
||||
"_shasum": "4713b6536adf7f2ac4f327d559e7756bff648220",
|
||||
"_shrinkwrap": null,
|
||||
"_resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz",
|
||||
"_shasum": "fa9568d98d3823f9a41d91e902dcab9ea6e5b163",
|
||||
"_spec": "esrecurse@^4.1.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/eslint-scope",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/eslint-scope",
|
||||
"babel": {
|
||||
"presets": [
|
||||
"es2015"
|
||||
]
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/estools/esrecurse/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"estraverse": "~4.1.0",
|
||||
"estraverse": "^4.1.0",
|
||||
"object-assign": "^4.0.1"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "ECMAScript AST recursive visitor",
|
||||
"devDependencies": {
|
||||
"chai": "^3.3.0",
|
||||
"coffee-script": "^1.9.1",
|
||||
"esprima": "^2.1.0",
|
||||
"babel-cli": "^6.24.1",
|
||||
"babel-eslint": "^7.2.3",
|
||||
"babel-preset-es2015": "^6.24.1",
|
||||
"babel-register": "^6.24.1",
|
||||
"chai": "^4.0.2",
|
||||
"esprima": "^4.0.0",
|
||||
"gulp": "^3.9.0",
|
||||
"gulp-bump": "^1.0.0",
|
||||
"gulp-eslint": "^1.0.0",
|
||||
"gulp-filter": "^3.0.1",
|
||||
"gulp-git": "^1.1.0",
|
||||
"gulp-mocha": "^2.1.3",
|
||||
"gulp-bump": "^2.7.0",
|
||||
"gulp-eslint": "^4.0.0",
|
||||
"gulp-filter": "^5.0.0",
|
||||
"gulp-git": "^2.4.1",
|
||||
"gulp-mocha": "^4.3.1",
|
||||
"gulp-tag-version": "^1.2.1",
|
||||
"jsdoc": "^3.3.0-alpha10",
|
||||
"minimist": "^1.1.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "4713b6536adf7f2ac4f327d559e7756bff648220",
|
||||
"tarball": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"gitHead": "63a34714834bd7ad2063054bd4abb24fb82ca667",
|
||||
"homepage": "https://github.com/estools/esrecurse",
|
||||
"license": "BSD-2-Clause",
|
||||
"main": "esrecurse.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "constellation",
|
||||
"email": "utatane.tea@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "michaelficarra",
|
||||
"email": "npm@michael.ficarra.me"
|
||||
},
|
||||
{
|
||||
"name": "nzakas",
|
||||
"email": "nicholas@nczconsulting.com"
|
||||
"name": "Yusuke Suzuki",
|
||||
"email": "utatane.tea@gmail.com",
|
||||
"url": "https://github.com/Constellation"
|
||||
}
|
||||
],
|
||||
"name": "esrecurse",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/estools/esrecurse.git"
|
||||
@@ -105,5 +77,5 @@
|
||||
"test": "gulp travis",
|
||||
"unit-test": "gulp test"
|
||||
},
|
||||
"version": "4.1.0"
|
||||
"version": "4.2.0"
|
||||
}
|
||||
+18
-54
@@ -1,56 +1,35 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "estraverse@^4.2.0",
|
||||
"scope": null,
|
||||
"escapedName": "estraverse",
|
||||
"name": "estraverse",
|
||||
"rawSpec": "^4.2.0",
|
||||
"spec": ">=4.2.0 <5.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/eslint"
|
||||
]
|
||||
],
|
||||
"_from": "estraverse@>=4.2.0 <5.0.0",
|
||||
"_from": "estraverse@^4.2.0",
|
||||
"_id": "estraverse@4.2.0",
|
||||
"_inCache": true,
|
||||
"_location": "/estraverse",
|
||||
"_nodeVersion": "0.12.9",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/estraverse-4.2.0.tgz_1457646738925_0.7118953282479197"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "nzakas",
|
||||
"email": "nicholas@nczconsulting.com"
|
||||
},
|
||||
"_npmVersion": "2.14.9",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
|
||||
"_location": "/eslint/estraverse",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "estraverse@^4.2.0",
|
||||
"scope": null,
|
||||
"escapedName": "estraverse",
|
||||
"name": "estraverse",
|
||||
"escapedName": "estraverse",
|
||||
"rawSpec": "^4.2.0",
|
||||
"spec": ">=4.2.0 <5.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^4.2.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/eslint",
|
||||
"/eslint-scope",
|
||||
"/esquery"
|
||||
"/eslint/eslint-scope",
|
||||
"/eslint/esquery",
|
||||
"/eslint/esrecurse"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
|
||||
"_shasum": "0dee3fed31fcd469618ce7342099fc1afa0bdb13",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "estraverse@^4.2.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/eslint",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
|
||||
"bugs": {
|
||||
"url": "https://github.com/estools/estraverse/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "ECMAScript JS AST traversal functions",
|
||||
"devDependencies": {
|
||||
"babel-preset-es2015": "^6.3.13",
|
||||
@@ -65,35 +44,20 @@
|
||||
"jshint": "^2.5.6",
|
||||
"mocha": "^2.1.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "0dee3fed31fcd469618ce7342099fc1afa0bdb13",
|
||||
"tarball": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"gitHead": "6f6a4e99653908e859c7c10d04d9518bf4844ede",
|
||||
"homepage": "https://github.com/estools/estraverse",
|
||||
"license": "BSD-2-Clause",
|
||||
"main": "estraverse.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "constellation",
|
||||
"email": "utatane.tea@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "michaelficarra",
|
||||
"email": "npm@michael.ficarra.me"
|
||||
},
|
||||
{
|
||||
"name": "nzakas",
|
||||
"email": "nicholas@nczconsulting.com"
|
||||
"name": "Yusuke Suzuki",
|
||||
"email": "utatane.tea@gmail.com",
|
||||
"url": "http://github.com/Constellation"
|
||||
}
|
||||
],
|
||||
"name": "estraverse",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+ssh://git@github.com/estools/estraverse.git"
|
||||
|
||||
+18
-46
@@ -1,52 +1,34 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "esutils@^2.0.2",
|
||||
"scope": null,
|
||||
"escapedName": "esutils",
|
||||
"name": "esutils",
|
||||
"rawSpec": "^2.0.2",
|
||||
"spec": ">=2.0.2 <3.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/eslint"
|
||||
]
|
||||
],
|
||||
"_from": "esutils@>=2.0.2 <3.0.0",
|
||||
"_from": "esutils@^2.0.2",
|
||||
"_id": "esutils@2.0.2",
|
||||
"_inCache": true,
|
||||
"_location": "/esutils",
|
||||
"_nodeVersion": "0.12.0",
|
||||
"_npmUser": {
|
||||
"name": "michaelficarra",
|
||||
"email": "npm@michael.ficarra.me"
|
||||
},
|
||||
"_npmVersion": "2.5.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
|
||||
"_location": "/eslint/esutils",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "esutils@^2.0.2",
|
||||
"scope": null,
|
||||
"escapedName": "esutils",
|
||||
"name": "esutils",
|
||||
"escapedName": "esutils",
|
||||
"rawSpec": "^2.0.2",
|
||||
"spec": ">=2.0.2 <3.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/babel-code-frame",
|
||||
"/doctrine",
|
||||
"/eslint"
|
||||
"/eslint",
|
||||
"/eslint/babel-code-frame",
|
||||
"/eslint/doctrine"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
|
||||
"_shasum": "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "esutils@^2.0.2",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/eslint",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
|
||||
"bugs": {
|
||||
"url": "https://github.com/estools/esutils/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "utility box for ECMAScript language tools",
|
||||
"devDependencies": {
|
||||
"chai": "~1.7.2",
|
||||
@@ -59,10 +41,6 @@
|
||||
"directories": {
|
||||
"lib": "./lib"
|
||||
},
|
||||
"dist": {
|
||||
"shasum": "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b",
|
||||
"tarball": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
@@ -71,7 +49,6 @@
|
||||
"README.md",
|
||||
"lib"
|
||||
],
|
||||
"gitHead": "3ffd1c403f3f29db9e8a9574b1895682e57b6a7f",
|
||||
"homepage": "https://github.com/estools/esutils",
|
||||
"licenses": [
|
||||
{
|
||||
@@ -82,17 +59,12 @@
|
||||
"main": "lib/utils.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "constellation",
|
||||
"email": "utatane.tea@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "michaelficarra",
|
||||
"email": "npm@michael.ficarra.me"
|
||||
"name": "Yusuke Suzuki",
|
||||
"email": "utatane.tea@gmail.com",
|
||||
"url": "http://github.com/Constellation"
|
||||
}
|
||||
],
|
||||
"name": "esutils",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+ssh://git@github.com/estools/esutils.git"
|
||||
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"root": true,
|
||||
|
||||
"extends": "@ljharb",
|
||||
|
||||
"rules": {
|
||||
"complexity": [2, 15],
|
||||
"eqeqeq": [2, "allow-null"],
|
||||
"func-name-matching": [1],
|
||||
"max-depth": [1, 4],
|
||||
"max-statements": [2, 26],
|
||||
"no-extra-parens": [1],
|
||||
"no-magic-numbers": [0],
|
||||
"no-restricted-syntax": [2, "BreakStatement", "ContinueStatement", "DebuggerStatement", "LabeledStatement", "WithStatement"],
|
||||
"sort-keys": [0],
|
||||
}
|
||||
}
|
||||
-175
@@ -1,175 +0,0 @@
|
||||
{
|
||||
"es3": true,
|
||||
|
||||
"additionalRules": [],
|
||||
|
||||
"requireSemicolons": true,
|
||||
|
||||
"disallowMultipleSpaces": true,
|
||||
|
||||
"disallowIdentifierNames": [],
|
||||
|
||||
"requireCurlyBraces": {
|
||||
"allExcept": [],
|
||||
"keywords": ["if", "else", "for", "while", "do", "try", "catch"]
|
||||
},
|
||||
|
||||
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
|
||||
|
||||
"disallowSpaceAfterKeywords": [],
|
||||
|
||||
"disallowSpaceBeforeComma": true,
|
||||
"disallowSpaceAfterComma": false,
|
||||
"disallowSpaceBeforeSemicolon": true,
|
||||
|
||||
"disallowNodeTypes": [
|
||||
"DebuggerStatement",
|
||||
"LabeledStatement",
|
||||
"SwitchCase",
|
||||
"SwitchStatement",
|
||||
"WithStatement"
|
||||
],
|
||||
|
||||
"requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
|
||||
|
||||
"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
|
||||
"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
|
||||
"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
|
||||
"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
|
||||
"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
|
||||
|
||||
"requireSpaceBetweenArguments": true,
|
||||
|
||||
"disallowSpacesInsideParentheses": true,
|
||||
|
||||
"disallowSpacesInsideArrayBrackets": true,
|
||||
|
||||
"disallowQuotedKeysInObjects": { "allExcept": ["reserved"] },
|
||||
|
||||
"disallowSpaceAfterObjectKeys": true,
|
||||
|
||||
"requireCommaBeforeLineBreak": true,
|
||||
|
||||
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
|
||||
"requireSpaceAfterPrefixUnaryOperators": [],
|
||||
|
||||
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
|
||||
"requireSpaceBeforePostfixUnaryOperators": [],
|
||||
|
||||
"disallowSpaceBeforeBinaryOperators": [],
|
||||
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
|
||||
|
||||
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
|
||||
"disallowSpaceAfterBinaryOperators": [],
|
||||
|
||||
"disallowImplicitTypeConversion": ["binary", "string"],
|
||||
|
||||
"disallowKeywords": ["with", "eval"],
|
||||
|
||||
"requireKeywordsOnNewLine": [],
|
||||
"disallowKeywordsOnNewLine": ["else"],
|
||||
|
||||
"requireLineFeedAtFileEnd": true,
|
||||
|
||||
"disallowTrailingWhitespace": true,
|
||||
|
||||
"disallowTrailingComma": true,
|
||||
|
||||
"excludeFiles": ["node_modules/**", "vendor/**"],
|
||||
|
||||
"disallowMultipleLineStrings": true,
|
||||
|
||||
"requireDotNotation": { "allExcept": ["keywords"] },
|
||||
|
||||
"requireParenthesesAroundIIFE": true,
|
||||
|
||||
"validateLineBreaks": "LF",
|
||||
|
||||
"validateQuoteMarks": {
|
||||
"escape": true,
|
||||
"mark": "'"
|
||||
},
|
||||
|
||||
"disallowOperatorBeforeLineBreak": [],
|
||||
|
||||
"requireSpaceBeforeKeywords": [
|
||||
"do",
|
||||
"for",
|
||||
"if",
|
||||
"else",
|
||||
"switch",
|
||||
"case",
|
||||
"try",
|
||||
"catch",
|
||||
"finally",
|
||||
"while",
|
||||
"with",
|
||||
"return"
|
||||
],
|
||||
|
||||
"validateAlignedFunctionParameters": {
|
||||
"lineBreakAfterOpeningBraces": true,
|
||||
"lineBreakBeforeClosingBraces": true
|
||||
},
|
||||
|
||||
"requirePaddingNewLinesBeforeExport": true,
|
||||
|
||||
"validateNewlineAfterArrayElements": {
|
||||
"maximum": 6
|
||||
},
|
||||
|
||||
"requirePaddingNewLinesAfterUseStrict": true,
|
||||
|
||||
"disallowArrowFunctions": true,
|
||||
|
||||
"disallowMultiLineTernary": true,
|
||||
|
||||
"validateOrderInObjectKeys": false,
|
||||
|
||||
"disallowIdenticalDestructuringNames": true,
|
||||
|
||||
"disallowNestedTernaries": { "maxLevel": 1 },
|
||||
|
||||
"requireSpaceAfterComma": { "allExcept": ["trailing"] },
|
||||
"requireAlignedMultilineParams": false,
|
||||
|
||||
"requireSpacesInGenerator": {
|
||||
"afterStar": true
|
||||
},
|
||||
|
||||
"disallowSpacesInGenerator": {
|
||||
"beforeStar": true
|
||||
},
|
||||
|
||||
"disallowVar": false,
|
||||
|
||||
"requireArrayDestructuring": false,
|
||||
|
||||
"requireEnhancedObjectLiterals": false,
|
||||
|
||||
"requireObjectDestructuring": false,
|
||||
|
||||
"requireEarlyReturn": false,
|
||||
|
||||
"requireCapitalizedConstructorsNew": {
|
||||
"allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"]
|
||||
},
|
||||
|
||||
"requireImportAlphabetized": false,
|
||||
|
||||
"requireSpaceBeforeObjectValues": true,
|
||||
"requireSpaceBeforeDestructuredValues": true,
|
||||
|
||||
"disallowSpacesInsideTemplateStringPlaceholders": true,
|
||||
|
||||
"disallowArrayDestructuringReturn": false,
|
||||
|
||||
"requireNewlineBeforeSingleStatementsInIf": false,
|
||||
|
||||
"disallowUnusedVariables": true,
|
||||
|
||||
"requireSpacesInsideImportedObjectBraces": true,
|
||||
|
||||
"requireUseStrict": true
|
||||
}
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
test
|
||||
-179
@@ -1,179 +0,0 @@
|
||||
language: node_js
|
||||
os:
|
||||
- linux
|
||||
node_js:
|
||||
- "7.9"
|
||||
- "6.10"
|
||||
- "5.12"
|
||||
- "4.8"
|
||||
- "iojs-v3.3"
|
||||
- "iojs-v2.5"
|
||||
- "iojs-v1.8"
|
||||
- "0.12"
|
||||
- "0.10"
|
||||
- "0.8"
|
||||
before_install:
|
||||
- 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then npm install -g npm@1.3 ; elif [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
|
||||
- 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then npm install -g npm; fi'
|
||||
install:
|
||||
- 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then nvm install 0.8 && npm install -g npm@1.3 && npm install -g npm@1.4.28 && npm install -g npm@2 && npm install && nvm use "${TRAVIS_NODE_VERSION}"; else npm install; fi;'
|
||||
script:
|
||||
- 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi'
|
||||
- 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi'
|
||||
- 'if [ -n "${COVERAGE-}" ]; then npm run coverage ; fi'
|
||||
- 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi'
|
||||
sudo: false
|
||||
env:
|
||||
- TEST=true
|
||||
matrix:
|
||||
fast_finish: true
|
||||
include:
|
||||
- node_js: "node"
|
||||
env: PRETEST=true
|
||||
- node_js: "node"
|
||||
env: COVERAGE=true
|
||||
- node_js: "7.8"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "7.7"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "7.6"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "7.5"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "7.4"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "7.3"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "7.2"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "7.1"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "7.0"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "6.9"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "6.8"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "6.7"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "6.6"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "6.5"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "6.4"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "6.3"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "6.2"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "6.1"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "6.0"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "5.11"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "5.10"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "5.9"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "5.8"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "5.7"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "5.6"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "5.5"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "5.4"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "5.3"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "5.2"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "5.1"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "5.0"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "4.7"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "4.6"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "4.5"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "4.4"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "4.3"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "4.2"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "4.1"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "4.0"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v3.2"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v3.1"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v3.0"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v2.4"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v2.3"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v2.2"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v2.1"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v2.0"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v1.7"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v1.6"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v1.5"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v1.4"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v1.3"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v1.2"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v1.1"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "iojs-v1.0"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "0.11"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "0.9"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "0.6"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
- node_js: "0.4"
|
||||
env: TEST=true ALLOW_FAILURE=true
|
||||
##- node_js: "7"
|
||||
#env: TEST=true
|
||||
#os: osx
|
||||
#- node_js: "6"
|
||||
#env: TEST=true
|
||||
#os: osx
|
||||
#- node_js: "5"
|
||||
#env: TEST=true
|
||||
#os: osx
|
||||
#- node_js: "4"
|
||||
#env: TEST=true
|
||||
#os: osx
|
||||
#- node_js: "iojs"
|
||||
#env: TEST=true
|
||||
#os: osx
|
||||
#- node_js: "0.12"
|
||||
#env: TEST=true
|
||||
#os: osx
|
||||
#- node_js: "0.10"
|
||||
#env: TEST=true
|
||||
#os: osx
|
||||
#- node_js: "0.8"
|
||||
#env: TEST=true
|
||||
#os: osx
|
||||
allow_failures:
|
||||
- os: osx
|
||||
- env: TEST=true ALLOW_FAILURE=true
|
||||
-77
@@ -1,77 +0,0 @@
|
||||
3.0.1 / 2017-04-27
|
||||
==================
|
||||
* [Fix] deep extending should work with a non-object (#46)
|
||||
* [Dev Deps] update `tape`, `eslint`, `@ljharb/eslint-config`
|
||||
* [Tests] up to `node` `v7.9`, `v6.10`, `v4.8`; improve matrix
|
||||
* [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG.
|
||||
* [Docs] Add example to readme (#34)
|
||||
|
||||
3.0.0 / 2015-07-01
|
||||
==================
|
||||
* [Possible breaking change] Use global "strict" directive (#32)
|
||||
* [Tests] `int` is an ES3 reserved word
|
||||
* [Tests] Test up to `io.js` `v2.3`
|
||||
* [Tests] Add `npm run eslint`
|
||||
* [Dev Deps] Update `covert`, `jscs`
|
||||
|
||||
2.0.1 / 2015-04-25
|
||||
==================
|
||||
* Use an inline `isArray` check, for ES3 browsers. (#27)
|
||||
* Some old browsers fail when an identifier is `toString`
|
||||
* Test latest `node` and `io.js` versions on `travis-ci`; speed up builds
|
||||
* Add license info to package.json (#25)
|
||||
* Update `tape`, `jscs`
|
||||
* Adding a CHANGELOG
|
||||
|
||||
2.0.0 / 2014-10-01
|
||||
==================
|
||||
* Increase code coverage to 100%; run code coverage as part of tests
|
||||
* Add `npm run lint`; Run linter as part of tests
|
||||
* Remove nodeType and setInterval checks in isPlainObject
|
||||
* Updating `tape`, `jscs`, `covert`
|
||||
* General style and README cleanup
|
||||
|
||||
1.3.0 / 2014-06-20
|
||||
==================
|
||||
* Add component.json for browser support (#18)
|
||||
* Use SVG for badges in README (#16)
|
||||
* Updating `tape`, `covert`
|
||||
* Updating travis-ci to work with multiple node versions
|
||||
* Fix `deep === false` bug (returning target as {}) (#14)
|
||||
* Fixing constructor checks in isPlainObject
|
||||
* Adding additional test coverage
|
||||
* Adding `npm run coverage`
|
||||
* Add LICENSE (#13)
|
||||
* Adding a warning about `false`, per #11
|
||||
* General style and whitespace cleanup
|
||||
|
||||
1.2.1 / 2013-09-14
|
||||
==================
|
||||
* Fixing hasOwnProperty bugs that would only have shown up in specific browsers. Fixes #8
|
||||
* Updating `tape`
|
||||
|
||||
1.2.0 / 2013-09-02
|
||||
==================
|
||||
* Updating the README: add badges
|
||||
* Adding a missing variable reference.
|
||||
* Using `tape` instead of `buster` for tests; add more tests (#7)
|
||||
* Adding node 0.10 to Travis CI (#6)
|
||||
* Enabling "npm test" and cleaning up package.json (#5)
|
||||
* Add Travis CI.
|
||||
|
||||
1.1.3 / 2012-12-06
|
||||
==================
|
||||
* Added unit tests.
|
||||
* Ensure extend function is named. (Looks nicer in a stack trace.)
|
||||
* README cleanup.
|
||||
|
||||
1.1.1 / 2012-11-07
|
||||
==================
|
||||
* README cleanup.
|
||||
* Added installation instructions.
|
||||
* Added a missing semicolon
|
||||
|
||||
1.0.0 / 2012-04-08
|
||||
==================
|
||||
* Initial commit
|
||||
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
{
|
||||
"name": "extend",
|
||||
"author": "Stefan Thomas <justmoon@members.fsf.org> (http://www.justmoon.net)",
|
||||
"version": "3.0.0",
|
||||
"description": "Port of jQuery.extend for node.js and the browser.",
|
||||
"scripts": [
|
||||
"index.js"
|
||||
],
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Jordan Harband",
|
||||
"url": "https://github.com/ljharb"
|
||||
}
|
||||
],
|
||||
"keywords": [
|
||||
"extend",
|
||||
"clone",
|
||||
"merge"
|
||||
],
|
||||
"repository" : {
|
||||
"type": "git",
|
||||
"url": "https://github.com/justmoon/node-extend.git"
|
||||
},
|
||||
"dependencies": {
|
||||
},
|
||||
"devDependencies": {
|
||||
"tape" : "~3.0.0",
|
||||
"covert": "~0.4.0",
|
||||
"jscs": "~1.6.2"
|
||||
}
|
||||
}
|
||||
|
||||
+11
-50
@@ -1,41 +1,19 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "extend@^3.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "extend",
|
||||
"name": "extend",
|
||||
"rawSpec": "^3.0.0",
|
||||
"spec": ">=3.0.0 <4.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/eslint/node_modules/remark-parse"
|
||||
]
|
||||
],
|
||||
"_from": "extend@>=3.0.0 <4.0.0",
|
||||
"_from": "extend@^3.0.0",
|
||||
"_id": "extend@3.0.1",
|
||||
"_inCache": true,
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
|
||||
"_location": "/extend",
|
||||
"_nodeVersion": "7.9.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/extend-3.0.1.tgz_1493357803699_0.1708133383654058"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "ljharb",
|
||||
"email": "ljharb@gmail.com"
|
||||
},
|
||||
"_npmVersion": "4.2.0",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "extend@^3.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "extend",
|
||||
"name": "extend",
|
||||
"escapedName": "extend",
|
||||
"rawSpec": "^3.0.0",
|
||||
"spec": ">=3.0.0 <4.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^3.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/remark-parse",
|
||||
@@ -44,9 +22,8 @@
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
|
||||
"_shasum": "a755ea7bc1adfcc5a31ce7e762dbaadc5e636444",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "extend@^3.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/eslint/node_modules/remark-parse",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/remark-parse",
|
||||
"author": {
|
||||
"name": "Stefan Thomas",
|
||||
"email": "justmoon@members.fsf.org",
|
||||
@@ -55,6 +32,7 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/justmoon/node-extend/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Jordan Harband",
|
||||
@@ -62,6 +40,7 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "Port of jQuery.extend for node.js and the browser",
|
||||
"devDependencies": {
|
||||
"@ljharb/eslint-config": "^11.0.0",
|
||||
@@ -70,12 +49,6 @@
|
||||
"jscs": "^3.0.7",
|
||||
"tape": "^4.6.3"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "a755ea7bc1adfcc5a31ce7e762dbaadc5e636444",
|
||||
"tarball": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz"
|
||||
},
|
||||
"gitHead": "138b515df4d628bb1742254ede5d2551c0fecae7",
|
||||
"homepage": "https://github.com/justmoon/node-extend#readme",
|
||||
"keywords": [
|
||||
"extend",
|
||||
@@ -84,19 +57,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "justmoon",
|
||||
"email": "justmoon@members.fsf.org"
|
||||
},
|
||||
{
|
||||
"name": "ljharb",
|
||||
"email": "ljharb@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "extend",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/justmoon/node-extend.git"
|
||||
|
||||
+13
-48
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "external-editor@^2.0.4",
|
||||
"scope": null,
|
||||
"escapedName": "external-editor",
|
||||
"name": "external-editor",
|
||||
"rawSpec": "^2.0.4",
|
||||
"spec": ">=2.0.4 <3.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/inquirer"
|
||||
]
|
||||
],
|
||||
"_from": "external-editor@>=2.0.4 <3.0.0",
|
||||
"_from": "external-editor@^2.0.4",
|
||||
"_id": "external-editor@2.0.4",
|
||||
"_inCache": true,
|
||||
"_location": "/external-editor",
|
||||
"_nodeVersion": "7.7.3",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "s3://npm-registry-packages",
|
||||
"tmp": "tmp/external-editor-2.0.4.tgz_1495568005250_0.5491060812491924"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "mrkmg",
|
||||
"email": "kevin@mrkmg.com"
|
||||
},
|
||||
"_npmVersion": "4.1.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-HtkZnanL/i7y96MbL96LDRI2iXI=",
|
||||
"_location": "/eslint/external-editor",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "external-editor@^2.0.4",
|
||||
"scope": null,
|
||||
"escapedName": "external-editor",
|
||||
"name": "external-editor",
|
||||
"escapedName": "external-editor",
|
||||
"rawSpec": "^2.0.4",
|
||||
"spec": ">=2.0.4 <3.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.4"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/inquirer"
|
||||
"/eslint/inquirer"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.4.tgz",
|
||||
"_shasum": "1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "external-editor@^2.0.4",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/inquirer",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
|
||||
"author": {
|
||||
"name": "Kevin Gravier",
|
||||
"email": "kevin@mrkmg.com",
|
||||
@@ -53,11 +30,13 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/mrkmg/node-external-editor/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"iconv-lite": "^0.4.17",
|
||||
"jschardet": "^1.4.2",
|
||||
"tmp": "^0.0.31"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Edit a string with the users preferred text editor using $VISUAL or $ENVIRONMENT",
|
||||
"devDependencies": {
|
||||
"chai": "^3.5.0",
|
||||
@@ -65,11 +44,6 @@
|
||||
"coffeelint": "^1.14.2",
|
||||
"mocha": "^3.2.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972",
|
||||
"tarball": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.4.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.12"
|
||||
},
|
||||
@@ -78,7 +52,6 @@
|
||||
"example_sync.js",
|
||||
"example_async.js"
|
||||
],
|
||||
"gitHead": "caa73e5fb283ba64a3c67a51f69a0c49bb544960",
|
||||
"homepage": "https://github.com/mrkmg/node-external-editor#readme",
|
||||
"keywords": [
|
||||
"editor",
|
||||
@@ -88,15 +61,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "main/index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "mrkmg",
|
||||
"email": "kevin@mrkmg.com"
|
||||
}
|
||||
],
|
||||
"name": "external-editor",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/mrkmg/node-external-editor.git"
|
||||
|
||||
+13
-49
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "fast-levenshtein@~2.0.4",
|
||||
"scope": null,
|
||||
"escapedName": "fast-levenshtein",
|
||||
"name": "fast-levenshtein",
|
||||
"rawSpec": "~2.0.4",
|
||||
"spec": ">=2.0.4 <2.1.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/optionator"
|
||||
]
|
||||
],
|
||||
"_from": "fast-levenshtein@>=2.0.4 <2.1.0",
|
||||
"_from": "fast-levenshtein@~2.0.4",
|
||||
"_id": "fast-levenshtein@2.0.6",
|
||||
"_inCache": true,
|
||||
"_location": "/fast-levenshtein",
|
||||
"_nodeVersion": "6.9.1",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/fast-levenshtein-2.0.6.tgz_1482873305730_0.48711988772265613"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "hiddentao",
|
||||
"email": "ram@hiddentao.com"
|
||||
},
|
||||
"_npmVersion": "3.10.8",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
|
||||
"_location": "/eslint/fast-levenshtein",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "fast-levenshtein@~2.0.4",
|
||||
"scope": null,
|
||||
"escapedName": "fast-levenshtein",
|
||||
"name": "fast-levenshtein",
|
||||
"escapedName": "fast-levenshtein",
|
||||
"rawSpec": "~2.0.4",
|
||||
"spec": ">=2.0.4 <2.1.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "~2.0.4"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/optionator"
|
||||
"/eslint/optionator"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
|
||||
"_shasum": "3d8a5c66883a16a30ca8643e851f19baa7797917",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "fast-levenshtein@~2.0.4",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/optionator",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/optionator",
|
||||
"author": {
|
||||
"name": "Ramesh Nair",
|
||||
"email": "ram@hiddentao.com",
|
||||
@@ -53,7 +30,8 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/hiddentao/fast-levenshtein/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Efficient implementation of Levenshtein algorithm with locale-specific collator support.",
|
||||
"devDependencies": {
|
||||
"chai": "~1.5.0",
|
||||
@@ -68,15 +46,9 @@
|
||||
"lodash": "^4.0.1",
|
||||
"mocha": "~1.9.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "3d8a5c66883a16a30ca8643e851f19baa7797917",
|
||||
"tarball": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
|
||||
},
|
||||
"files": [
|
||||
"levenshtein.js"
|
||||
],
|
||||
"gitHead": "5bffe7151f99fb02f319f70a004e653105a760fb",
|
||||
"homepage": "https://github.com/hiddentao/fast-levenshtein#readme",
|
||||
"keywords": [
|
||||
"levenshtein",
|
||||
@@ -85,15 +57,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "levenshtein.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "hiddentao",
|
||||
"email": "ram@hiddentao.com"
|
||||
}
|
||||
],
|
||||
"name": "fast-levenshtein",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/hiddentao/fast-levenshtein.git"
|
||||
|
||||
+13
-48
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "figures@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "figures",
|
||||
"name": "figures",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/inquirer"
|
||||
]
|
||||
],
|
||||
"_from": "figures@>=2.0.0 <3.0.0",
|
||||
"_from": "figures@^2.0.0",
|
||||
"_id": "figures@2.0.0",
|
||||
"_inCache": true,
|
||||
"_location": "/figures",
|
||||
"_nodeVersion": "4.6.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-12-west.internal.npmjs.com",
|
||||
"tmp": "tmp/figures-2.0.0.tgz_1476763139845_0.48903139564208686"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.15.9",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
|
||||
"_location": "/eslint/figures",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "figures@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "figures",
|
||||
"name": "figures",
|
||||
"escapedName": "figures",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/inquirer"
|
||||
"/eslint/inquirer"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
|
||||
"_shasum": "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "figures@^2.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/inquirer",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/inquirer",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
@@ -53,9 +30,11 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/sindresorhus/figures/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"escape-string-regexp": "^1.0.5"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Unicode symbols with Windows CMD fallbacks",
|
||||
"devDependencies": {
|
||||
"ava": "*",
|
||||
@@ -63,18 +42,12 @@
|
||||
"require-uncached": "^1.0.2",
|
||||
"xo": "*"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962",
|
||||
"tarball": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "fee8887d9f776798ae87ff54386443273c92ad97",
|
||||
"homepage": "https://github.com/sindresorhus/figures#readme",
|
||||
"keywords": [
|
||||
"unicode",
|
||||
@@ -90,15 +63,7 @@
|
||||
"fallback"
|
||||
],
|
||||
"license": "MIT",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "sindresorhus",
|
||||
"email": "sindresorhus@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "figures",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/sindresorhus/figures.git"
|
||||
|
||||
+12
-47
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "file-entry-cache@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "file-entry-cache",
|
||||
"name": "file-entry-cache",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/eslint"
|
||||
]
|
||||
],
|
||||
"_from": "file-entry-cache@>=2.0.0 <3.0.0",
|
||||
"_from": "file-entry-cache@^2.0.0",
|
||||
"_id": "file-entry-cache@2.0.0",
|
||||
"_inCache": true,
|
||||
"_location": "/file-entry-cache",
|
||||
"_nodeVersion": "6.3.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-16-east.internal.npmjs.com",
|
||||
"tmp": "tmp/file-entry-cache-2.0.0.tgz_1471380536263_0.40089720860123634"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "royriojas",
|
||||
"email": "royriojas@gmail.com"
|
||||
},
|
||||
"_npmVersion": "3.10.3",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
|
||||
"_location": "/eslint/file-entry-cache",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "file-entry-cache@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "file-entry-cache",
|
||||
"name": "file-entry-cache",
|
||||
"escapedName": "file-entry-cache",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/eslint"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
|
||||
"_shasum": "c392990c3e684783d838b8c84a45d8a048458361",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "file-entry-cache@^2.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/eslint",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint",
|
||||
"author": {
|
||||
"name": "Roy Riojas",
|
||||
"url": "http://royriojas.com"
|
||||
@@ -52,6 +29,7 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/royriojas/file-entry-cache/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"changelogx": {
|
||||
"ignoreRegExp": [
|
||||
"BLD: Release",
|
||||
@@ -68,6 +46,7 @@
|
||||
"flat-cache": "^1.2.1",
|
||||
"object-assign": "^4.0.1"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Super simple cache for file metadata, useful for process that work o a given series of files and that only need to repeat the job on the changed ones since the previous run of the process",
|
||||
"devDependencies": {
|
||||
"chai": "^3.2.0",
|
||||
@@ -87,18 +66,12 @@
|
||||
"watch-run": "^1.2.1",
|
||||
"write": "^0.3.1"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "c392990c3e684783d838b8c84a45d8a048458361",
|
||||
"tarball": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
"files": [
|
||||
"cache.js"
|
||||
],
|
||||
"gitHead": "8c015253938e1756104b524c09ea48798e788aa0",
|
||||
"homepage": "https://github.com/royriojas/file-entry-cache#readme",
|
||||
"keywords": [
|
||||
"file cache",
|
||||
@@ -110,21 +83,13 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "cache.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "royriojas",
|
||||
"email": "royriojas@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "file-entry-cache",
|
||||
"optionalDependencies": {},
|
||||
"precommit": [
|
||||
"npm run verify"
|
||||
],
|
||||
"prepush": [
|
||||
"npm run verify"
|
||||
],
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/royriojas/file-entry-cache.git"
|
||||
|
||||
+13
-48
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "flat-cache@^1.2.1",
|
||||
"scope": null,
|
||||
"escapedName": "flat-cache",
|
||||
"name": "flat-cache",
|
||||
"rawSpec": "^1.2.1",
|
||||
"spec": ">=1.2.1 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/file-entry-cache"
|
||||
]
|
||||
],
|
||||
"_from": "flat-cache@>=1.2.1 <2.0.0",
|
||||
"_from": "flat-cache@^1.2.1",
|
||||
"_id": "flat-cache@1.2.2",
|
||||
"_inCache": true,
|
||||
"_location": "/flat-cache",
|
||||
"_nodeVersion": "6.9.1",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-18-east.internal.npmjs.com",
|
||||
"tmp": "tmp/flat-cache-1.2.2.tgz_1482199463409_0.13759022881276906"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "royriojas",
|
||||
"email": "royriojas@gmail.com"
|
||||
},
|
||||
"_npmVersion": "3.10.8",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=",
|
||||
"_location": "/eslint/flat-cache",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "flat-cache@^1.2.1",
|
||||
"scope": null,
|
||||
"escapedName": "flat-cache",
|
||||
"name": "flat-cache",
|
||||
"escapedName": "flat-cache",
|
||||
"rawSpec": "^1.2.1",
|
||||
"spec": ">=1.2.1 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.2.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/file-entry-cache"
|
||||
"/eslint/file-entry-cache"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz",
|
||||
"_shasum": "fa86714e72c21db88601761ecf2f555d1abc6b96",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "flat-cache@^1.2.1",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/file-entry-cache",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/file-entry-cache",
|
||||
"author": {
|
||||
"name": "Roy Riojas",
|
||||
"url": "http://royriojas.com"
|
||||
@@ -52,6 +29,7 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/royriojas/flat-cache/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"changelogx": {
|
||||
"ignoreRegExp": [
|
||||
"BLD: Release",
|
||||
@@ -70,6 +48,7 @@
|
||||
"graceful-fs": "^4.1.2",
|
||||
"write": "^0.2.1"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "A stupidly simple key/value storage using files to persist some data",
|
||||
"devDependencies": {
|
||||
"chai": "^3.2.0",
|
||||
@@ -86,11 +65,6 @@
|
||||
"sinon-chai": "^2.8.0",
|
||||
"watch-run": "^1.2.2"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "fa86714e72c21db88601761ecf2f555d1abc6b96",
|
||||
"tarball": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
},
|
||||
@@ -98,7 +72,6 @@
|
||||
"cache.js",
|
||||
"utils.js"
|
||||
],
|
||||
"gitHead": "9fdf499efd3dfb950e563ed7486623d7dc3e26c8",
|
||||
"homepage": "https://github.com/royriojas/flat-cache#readme",
|
||||
"keywords": [
|
||||
"json cache",
|
||||
@@ -110,21 +83,13 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "cache.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "royriojas",
|
||||
"email": "royriojas@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "flat-cache",
|
||||
"optionalDependencies": {},
|
||||
"precommit": [
|
||||
"npm run verify --silent"
|
||||
],
|
||||
"prepush": [
|
||||
"npm run verify --silent"
|
||||
],
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/royriojas/flat-cache.git"
|
||||
|
||||
+13
-48
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "fs.realpath@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "fs.realpath",
|
||||
"name": "fs.realpath",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/glob"
|
||||
]
|
||||
],
|
||||
"_from": "fs.realpath@>=1.0.0 <2.0.0",
|
||||
"_from": "fs.realpath@^1.0.0",
|
||||
"_id": "fs.realpath@1.0.0",
|
||||
"_inCache": true,
|
||||
"_location": "/fs.realpath",
|
||||
"_nodeVersion": "4.4.4",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-16-east.internal.npmjs.com",
|
||||
"tmp": "tmp/fs.realpath-1.0.0.tgz_1466015941059_0.3332864767871797"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "isaacs",
|
||||
"email": "i@izs.me"
|
||||
},
|
||||
"_npmVersion": "3.9.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
|
||||
"_location": "/eslint/fs.realpath",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "fs.realpath@^1.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "fs.realpath",
|
||||
"name": "fs.realpath",
|
||||
"escapedName": "fs.realpath",
|
||||
"rawSpec": "^1.0.0",
|
||||
"spec": ">=1.0.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/glob"
|
||||
"/eslint/glob"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"_shasum": "1504ad2523158caa40db4a2787cb01411994ea4f",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "fs.realpath@^1.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/glob",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/glob",
|
||||
"author": {
|
||||
"name": "Isaac Z. Schlueter",
|
||||
"email": "i@izs.me",
|
||||
@@ -53,19 +30,15 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/isaacs/fs.realpath/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "Use node's fs.realpath, but fall back to the JS implementation if the native one fails",
|
||||
"devDependencies": {},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "1504ad2523158caa40db4a2787cb01411994ea4f",
|
||||
"tarball": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
|
||||
},
|
||||
"files": [
|
||||
"old.js",
|
||||
"index.js"
|
||||
],
|
||||
"gitHead": "03e7c884431fe185dfebbc9b771aeca339c1807a",
|
||||
"homepage": "https://github.com/isaacs/fs.realpath#readme",
|
||||
"keywords": [
|
||||
"realpath",
|
||||
@@ -74,15 +47,7 @@
|
||||
],
|
||||
"license": "ISC",
|
||||
"main": "index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "isaacs",
|
||||
"email": "i@izs.me"
|
||||
}
|
||||
],
|
||||
"name": "fs.realpath",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/isaacs/fs.realpath.git"
|
||||
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"root": true,
|
||||
|
||||
"extends": "@ljharb",
|
||||
|
||||
"rules": {
|
||||
"max-nested-callbacks": [2, 3],
|
||||
"max-params": [2, 3],
|
||||
"max-statements": [2, 20],
|
||||
"no-new-func": [1],
|
||||
"strict": [0]
|
||||
}
|
||||
}
|
||||
-159
@@ -1,159 +0,0 @@
|
||||
{
|
||||
"es3": true,
|
||||
|
||||
"additionalRules": [],
|
||||
|
||||
"requireSemicolons": true,
|
||||
|
||||
"disallowMultipleSpaces": true,
|
||||
|
||||
"disallowIdentifierNames": [],
|
||||
|
||||
"requireCurlyBraces": {
|
||||
"allExcept": [],
|
||||
"keywords": ["if", "else", "for", "while", "do", "try", "catch"]
|
||||
},
|
||||
|
||||
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
|
||||
|
||||
"disallowSpaceAfterKeywords": [],
|
||||
|
||||
"disallowSpaceBeforeComma": true,
|
||||
"disallowSpaceAfterComma": false,
|
||||
"disallowSpaceBeforeSemicolon": true,
|
||||
|
||||
"disallowNodeTypes": [
|
||||
"DebuggerStatement",
|
||||
"ForInStatement",
|
||||
"LabeledStatement",
|
||||
"SwitchCase",
|
||||
"SwitchStatement",
|
||||
"WithStatement"
|
||||
],
|
||||
|
||||
"requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
|
||||
|
||||
"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
|
||||
"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
|
||||
"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
|
||||
"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
|
||||
"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
|
||||
|
||||
"requireSpaceBetweenArguments": true,
|
||||
|
||||
"disallowSpacesInsideParentheses": true,
|
||||
|
||||
"disallowSpacesInsideArrayBrackets": true,
|
||||
|
||||
"disallowQuotedKeysInObjects": "allButReserved",
|
||||
|
||||
"disallowSpaceAfterObjectKeys": true,
|
||||
|
||||
"requireCommaBeforeLineBreak": true,
|
||||
|
||||
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
|
||||
"requireSpaceAfterPrefixUnaryOperators": [],
|
||||
|
||||
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
|
||||
"requireSpaceBeforePostfixUnaryOperators": [],
|
||||
|
||||
"disallowSpaceBeforeBinaryOperators": [],
|
||||
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
|
||||
|
||||
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
|
||||
"disallowSpaceAfterBinaryOperators": [],
|
||||
|
||||
"disallowImplicitTypeConversion": ["binary", "string"],
|
||||
|
||||
"disallowKeywords": ["with", "eval"],
|
||||
|
||||
"requireKeywordsOnNewLine": [],
|
||||
"disallowKeywordsOnNewLine": ["else"],
|
||||
|
||||
"requireLineFeedAtFileEnd": true,
|
||||
|
||||
"disallowTrailingWhitespace": true,
|
||||
|
||||
"disallowTrailingComma": true,
|
||||
|
||||
"excludeFiles": ["node_modules/**", "vendor/**"],
|
||||
|
||||
"disallowMultipleLineStrings": true,
|
||||
|
||||
"requireDotNotation": { "allExcept": ["keywords"] },
|
||||
|
||||
"requireParenthesesAroundIIFE": true,
|
||||
|
||||
"validateLineBreaks": "LF",
|
||||
|
||||
"validateQuoteMarks": {
|
||||
"escape": true,
|
||||
"mark": "'"
|
||||
},
|
||||
|
||||
"disallowOperatorBeforeLineBreak": [],
|
||||
|
||||
"requireSpaceBeforeKeywords": [
|
||||
"do",
|
||||
"for",
|
||||
"if",
|
||||
"else",
|
||||
"switch",
|
||||
"case",
|
||||
"try",
|
||||
"catch",
|
||||
"finally",
|
||||
"while",
|
||||
"with",
|
||||
"return"
|
||||
],
|
||||
|
||||
"validateAlignedFunctionParameters": {
|
||||
"lineBreakAfterOpeningBraces": true,
|
||||
"lineBreakBeforeClosingBraces": true
|
||||
},
|
||||
|
||||
"requirePaddingNewLinesBeforeExport": true,
|
||||
|
||||
"validateNewlineAfterArrayElements": {
|
||||
"maximum": 8
|
||||
},
|
||||
|
||||
"requirePaddingNewLinesAfterUseStrict": true,
|
||||
|
||||
"disallowArrowFunctions": true,
|
||||
|
||||
"disallowMultiLineTernary": true,
|
||||
|
||||
"validateOrderInObjectKeys": "asc-insensitive",
|
||||
|
||||
"disallowIdenticalDestructuringNames": true,
|
||||
|
||||
"disallowNestedTernaries": { "maxLevel": 1 },
|
||||
|
||||
"requireSpaceAfterComma": { "allExcept": ["trailing"] },
|
||||
"requireAlignedMultilineParams": false,
|
||||
|
||||
"requireSpacesInGenerator": {
|
||||
"afterStar": true
|
||||
},
|
||||
|
||||
"disallowSpacesInGenerator": {
|
||||
"beforeStar": true
|
||||
},
|
||||
|
||||
"disallowVar": false,
|
||||
|
||||
"requireArrayDestructuring": false,
|
||||
|
||||
"requireEnhancedObjectLiterals": false,
|
||||
|
||||
"requireObjectDestructuring": false,
|
||||
|
||||
"requireEarlyReturn": false,
|
||||
|
||||
"requireCapitalizedConstructorsNew": {
|
||||
"allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"]
|
||||
}
|
||||
}
|
||||
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
.DS_Store
|
||||
.monitor
|
||||
.*.swp
|
||||
.nodemonignore
|
||||
releases
|
||||
*.log
|
||||
*.err
|
||||
fleet.json
|
||||
public/browserify
|
||||
bin/*.json
|
||||
.bin
|
||||
build
|
||||
compile
|
||||
.lock-wscript
|
||||
coverage
|
||||
node_modules
|
||||
-77
@@ -1,77 +0,0 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- "5.6"
|
||||
- "5.5"
|
||||
- "5.4"
|
||||
- "5.3"
|
||||
- "5.2"
|
||||
- "5.1"
|
||||
- "5.0"
|
||||
- "4.3"
|
||||
- "4.2"
|
||||
- "4.1"
|
||||
- "4.0"
|
||||
- "iojs-v3.3"
|
||||
- "iojs-v3.2"
|
||||
- "iojs-v3.1"
|
||||
- "iojs-v3.0"
|
||||
- "iojs-v2.5"
|
||||
- "iojs-v2.4"
|
||||
- "iojs-v2.3"
|
||||
- "iojs-v2.2"
|
||||
- "iojs-v2.1"
|
||||
- "iojs-v2.0"
|
||||
- "iojs-v1.8"
|
||||
- "iojs-v1.7"
|
||||
- "iojs-v1.6"
|
||||
- "iojs-v1.5"
|
||||
- "iojs-v1.4"
|
||||
- "iojs-v1.3"
|
||||
- "iojs-v1.2"
|
||||
- "iojs-v1.1"
|
||||
- "iojs-v1.0"
|
||||
- "0.12"
|
||||
- "0.11"
|
||||
- "0.10"
|
||||
- "0.9"
|
||||
- "0.8"
|
||||
- "0.6"
|
||||
- "0.4"
|
||||
before_install:
|
||||
- 'if [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
|
||||
- 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then npm install -g npm; fi'
|
||||
script:
|
||||
- 'if [ "${TRAVIS_NODE_VERSION}" != "4.3" ]; then npm run tests-only ; else npm test ; fi'
|
||||
sudo: false
|
||||
matrix:
|
||||
fast_finish: true
|
||||
allow_failures:
|
||||
- node_js: "5.5"
|
||||
- node_js: "5.4"
|
||||
- node_js: "5.3"
|
||||
- node_js: "5.2"
|
||||
- node_js: "5.1"
|
||||
- node_js: "5.0"
|
||||
- node_js: "4.2"
|
||||
- node_js: "4.1"
|
||||
- node_js: "4.0"
|
||||
- node_js: "iojs-v3.2"
|
||||
- node_js: "iojs-v3.1"
|
||||
- node_js: "iojs-v3.0"
|
||||
- node_js: "iojs-v2.4"
|
||||
- node_js: "iojs-v2.3"
|
||||
- node_js: "iojs-v2.2"
|
||||
- node_js: "iojs-v2.1"
|
||||
- node_js: "iojs-v2.0"
|
||||
- node_js: "iojs-v1.7"
|
||||
- node_js: "iojs-v1.6"
|
||||
- node_js: "iojs-v1.5"
|
||||
- node_js: "iojs-v1.4"
|
||||
- node_js: "iojs-v1.3"
|
||||
- node_js: "iojs-v1.2"
|
||||
- node_js: "iojs-v1.1"
|
||||
- node_js: "iojs-v1.0"
|
||||
- node_js: "0.11"
|
||||
- node_js: "0.9"
|
||||
- node_js: "0.6"
|
||||
- node_js: "0.4"
|
||||
+11
-50
@@ -1,50 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "function-bind@^1.0.2",
|
||||
"scope": null,
|
||||
"escapedName": "function-bind",
|
||||
"name": "function-bind",
|
||||
"rawSpec": "^1.0.2",
|
||||
"spec": ">=1.0.2 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/eslint/node_modules/has"
|
||||
]
|
||||
],
|
||||
"_from": "function-bind@>=1.0.2 <2.0.0",
|
||||
"_from": "function-bind@^1.0.2",
|
||||
"_id": "function-bind@1.1.0",
|
||||
"_inCache": true,
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=",
|
||||
"_location": "/function-bind",
|
||||
"_nodeVersion": "5.6.0",
|
||||
"_npmOperationalInternal": {
|
||||
"host": "packages-6-west.internal.npmjs.com",
|
||||
"tmp": "tmp/function-bind-1.1.0.tgz_1455438520627_0.822420896962285"
|
||||
},
|
||||
"_npmUser": {
|
||||
"name": "ljharb",
|
||||
"email": "ljharb@gmail.com"
|
||||
},
|
||||
"_npmVersion": "3.6.0",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "function-bind@^1.0.2",
|
||||
"scope": null,
|
||||
"escapedName": "function-bind",
|
||||
"name": "function-bind",
|
||||
"escapedName": "function-bind",
|
||||
"rawSpec": "^1.0.2",
|
||||
"spec": ">=1.0.2 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.0.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/has"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz",
|
||||
"_shasum": "16176714c801798e4e8f2cf7f7529467bb4a5771",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "function-bind@^1.0.2",
|
||||
"_where": "/Users/trott/io.js/tools/eslint/node_modules/has",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/has",
|
||||
"author": {
|
||||
"name": "Raynos",
|
||||
"email": "raynos2@gmail.com"
|
||||
@@ -53,6 +30,7 @@
|
||||
"url": "https://github.com/Raynos/function-bind/issues",
|
||||
"email": "raynos2@gmail.com"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Raynos"
|
||||
@@ -63,6 +41,7 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"deprecated": false,
|
||||
"description": "Implementation of Function.prototype.bind",
|
||||
"devDependencies": {
|
||||
"@ljharb/eslint-config": "^2.1.0",
|
||||
@@ -71,12 +50,6 @@
|
||||
"jscs": "^2.9.0",
|
||||
"tape": "^4.4.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "16176714c801798e4e8f2cf7f7529467bb4a5771",
|
||||
"tarball": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz"
|
||||
},
|
||||
"gitHead": "cb5057f2a0018ac48c812ccee86934a5af30efdb",
|
||||
"homepage": "https://github.com/Raynos/function-bind",
|
||||
"keywords": [
|
||||
"function",
|
||||
@@ -91,19 +64,7 @@
|
||||
}
|
||||
],
|
||||
"main": "index",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "raynos",
|
||||
"email": "raynos2@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "ljharb",
|
||||
"email": "ljharb@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "function-bind",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/Raynos/function-bind.git"
|
||||
|
||||
-250
@@ -1,250 +0,0 @@
|
||||
var test = require('tape');
|
||||
|
||||
var functionBind = require('../implementation');
|
||||
var getCurrentContext = function () { return this; };
|
||||
|
||||
test('functionBind is a function', function (t) {
|
||||
t.equal(typeof functionBind, 'function');
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('non-functions', function (t) {
|
||||
var nonFunctions = [true, false, [], {}, 42, 'foo', NaN, /a/g];
|
||||
t.plan(nonFunctions.length);
|
||||
for (var i = 0; i < nonFunctions.length; ++i) {
|
||||
try { functionBind.call(nonFunctions[i]); } catch (ex) {
|
||||
t.ok(ex instanceof TypeError, 'throws when given ' + String(nonFunctions[i]));
|
||||
}
|
||||
}
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('without a context', function (t) {
|
||||
t.test('binds properly', function (st) {
|
||||
var args, context;
|
||||
var namespace = {
|
||||
func: functionBind.call(function () {
|
||||
args = Array.prototype.slice.call(arguments);
|
||||
context = this;
|
||||
})
|
||||
};
|
||||
namespace.func(1, 2, 3);
|
||||
st.deepEqual(args, [1, 2, 3]);
|
||||
st.equal(context, getCurrentContext.call());
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('binds properly, and still supplies bound arguments', function (st) {
|
||||
var args, context;
|
||||
var namespace = {
|
||||
func: functionBind.call(function () {
|
||||
args = Array.prototype.slice.call(arguments);
|
||||
context = this;
|
||||
}, undefined, 1, 2, 3)
|
||||
};
|
||||
namespace.func(4, 5, 6);
|
||||
st.deepEqual(args, [1, 2, 3, 4, 5, 6]);
|
||||
st.equal(context, getCurrentContext.call());
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('returns properly', function (st) {
|
||||
var args;
|
||||
var namespace = {
|
||||
func: functionBind.call(function () {
|
||||
args = Array.prototype.slice.call(arguments);
|
||||
return this;
|
||||
}, null)
|
||||
};
|
||||
var context = namespace.func(1, 2, 3);
|
||||
st.equal(context, getCurrentContext.call(), 'returned context is namespaced context');
|
||||
st.deepEqual(args, [1, 2, 3], 'passed arguments are correct');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('returns properly with bound arguments', function (st) {
|
||||
var args;
|
||||
var namespace = {
|
||||
func: functionBind.call(function () {
|
||||
args = Array.prototype.slice.call(arguments);
|
||||
return this;
|
||||
}, null, 1, 2, 3)
|
||||
};
|
||||
var context = namespace.func(4, 5, 6);
|
||||
st.equal(context, getCurrentContext.call(), 'returned context is namespaced context');
|
||||
st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'passed arguments are correct');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('called as a constructor', function (st) {
|
||||
var thunkify = function (value) {
|
||||
return function () { return value; };
|
||||
};
|
||||
st.test('returns object value', function (sst) {
|
||||
var expectedReturnValue = [1, 2, 3];
|
||||
var Constructor = functionBind.call(thunkify(expectedReturnValue), null);
|
||||
var result = new Constructor();
|
||||
sst.equal(result, expectedReturnValue);
|
||||
sst.end();
|
||||
});
|
||||
|
||||
st.test('does not return primitive value', function (sst) {
|
||||
var Constructor = functionBind.call(thunkify(42), null);
|
||||
var result = new Constructor();
|
||||
sst.notEqual(result, 42);
|
||||
sst.end();
|
||||
});
|
||||
|
||||
st.test('object from bound constructor is instance of original and bound constructor', function (sst) {
|
||||
var A = function (x) {
|
||||
this.name = x || 'A';
|
||||
};
|
||||
var B = functionBind.call(A, null, 'B');
|
||||
|
||||
var result = new B();
|
||||
sst.ok(result instanceof B, 'result is instance of bound constructor');
|
||||
sst.ok(result instanceof A, 'result is instance of original constructor');
|
||||
sst.end();
|
||||
});
|
||||
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('with a context', function (t) {
|
||||
t.test('with no bound arguments', function (st) {
|
||||
var args, context;
|
||||
var boundContext = {};
|
||||
var namespace = {
|
||||
func: functionBind.call(function () {
|
||||
args = Array.prototype.slice.call(arguments);
|
||||
context = this;
|
||||
}, boundContext)
|
||||
};
|
||||
namespace.func(1, 2, 3);
|
||||
st.equal(context, boundContext, 'binds a context properly');
|
||||
st.deepEqual(args, [1, 2, 3], 'supplies passed arguments');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('with bound arguments', function (st) {
|
||||
var args, context;
|
||||
var boundContext = {};
|
||||
var namespace = {
|
||||
func: functionBind.call(function () {
|
||||
args = Array.prototype.slice.call(arguments);
|
||||
context = this;
|
||||
}, boundContext, 1, 2, 3)
|
||||
};
|
||||
namespace.func(4, 5, 6);
|
||||
st.equal(context, boundContext, 'binds a context properly');
|
||||
st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'supplies bound and passed arguments');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('returns properly', function (st) {
|
||||
var boundContext = {};
|
||||
var args;
|
||||
var namespace = {
|
||||
func: functionBind.call(function () {
|
||||
args = Array.prototype.slice.call(arguments);
|
||||
return this;
|
||||
}, boundContext)
|
||||
};
|
||||
var context = namespace.func(1, 2, 3);
|
||||
st.equal(context, boundContext, 'returned context is bound context');
|
||||
st.notEqual(context, getCurrentContext.call(), 'returned context is not lexical context');
|
||||
st.deepEqual(args, [1, 2, 3], 'passed arguments are correct');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('returns properly with bound arguments', function (st) {
|
||||
var boundContext = {};
|
||||
var args;
|
||||
var namespace = {
|
||||
func: functionBind.call(function () {
|
||||
args = Array.prototype.slice.call(arguments);
|
||||
return this;
|
||||
}, boundContext, 1, 2, 3)
|
||||
};
|
||||
var context = namespace.func(4, 5, 6);
|
||||
st.equal(context, boundContext, 'returned context is bound context');
|
||||
st.notEqual(context, getCurrentContext.call(), 'returned context is not lexical context');
|
||||
st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'passed arguments are correct');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('passes the correct arguments when called as a constructor', function (st) {
|
||||
var expected = { name: 'Correct' };
|
||||
var namespace = {
|
||||
Func: functionBind.call(function (arg) {
|
||||
return arg;
|
||||
}, { name: 'Incorrect' })
|
||||
};
|
||||
var returned = new namespace.Func(expected);
|
||||
st.equal(returned, expected, 'returns the right arg when called as a constructor');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('has the new instance\'s context when called as a constructor', function (st) {
|
||||
var actualContext;
|
||||
var expectedContext = { foo: 'bar' };
|
||||
var namespace = {
|
||||
Func: functionBind.call(function () {
|
||||
actualContext = this;
|
||||
}, expectedContext)
|
||||
};
|
||||
var result = new namespace.Func();
|
||||
st.equal(result instanceof namespace.Func, true);
|
||||
st.notEqual(actualContext, expectedContext);
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.end();
|
||||
});
|
||||
|
||||
test('bound function length', function (t) {
|
||||
t.test('sets a correct length without thisArg', function (st) {
|
||||
var subject = functionBind.call(function (a, b, c) { return a + b + c; });
|
||||
st.equal(subject.length, 3);
|
||||
st.equal(subject(1, 2, 3), 6);
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('sets a correct length with thisArg', function (st) {
|
||||
var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {});
|
||||
st.equal(subject.length, 3);
|
||||
st.equal(subject(1, 2, 3), 6);
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('sets a correct length without thisArg and first argument', function (st) {
|
||||
var subject = functionBind.call(function (a, b, c) { return a + b + c; }, undefined, 1);
|
||||
st.equal(subject.length, 2);
|
||||
st.equal(subject(2, 3), 6);
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('sets a correct length with thisArg and first argument', function (st) {
|
||||
var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {}, 1);
|
||||
st.equal(subject.length, 2);
|
||||
st.equal(subject(2, 3), 6);
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('sets a correct length without thisArg and too many arguments', function (st) {
|
||||
var subject = functionBind.call(function (a, b, c) { return a + b + c; }, undefined, 1, 2, 3, 4);
|
||||
st.equal(subject.length, 0);
|
||||
st.equal(subject(), 6);
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('sets a correct length with thisArg and too many arguments', function (st) {
|
||||
var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {}, 1, 2, 3, 4);
|
||||
st.equal(subject.length, 0);
|
||||
st.equal(subject(), 6);
|
||||
st.end();
|
||||
});
|
||||
});
|
||||
+13
-44
@@ -1,62 +1,39 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "generate-function@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "generate-function",
|
||||
"name": "generate-function",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/is-my-json-valid"
|
||||
]
|
||||
],
|
||||
"_from": "generate-function@>=2.0.0 <3.0.0",
|
||||
"_from": "generate-function@^2.0.0",
|
||||
"_id": "generate-function@2.0.0",
|
||||
"_inCache": true,
|
||||
"_location": "/generate-function",
|
||||
"_npmUser": {
|
||||
"name": "mafintosh",
|
||||
"email": "mathiasbuus@gmail.com"
|
||||
},
|
||||
"_npmVersion": "1.4.23",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=",
|
||||
"_location": "/eslint/generate-function",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "generate-function@^2.0.0",
|
||||
"scope": null,
|
||||
"escapedName": "generate-function",
|
||||
"name": "generate-function",
|
||||
"escapedName": "generate-function",
|
||||
"rawSpec": "^2.0.0",
|
||||
"spec": ">=2.0.0 <3.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/is-my-json-valid"
|
||||
"/eslint/is-my-json-valid"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
|
||||
"_shasum": "6858fe7c0969b7d4e9093337647ac79f60dfbe74",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "generate-function@^2.0.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/is-my-json-valid",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/is-my-json-valid",
|
||||
"author": {
|
||||
"name": "Mathias Buus"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/mafintosh/generate-function/issues"
|
||||
},
|
||||
"dependencies": {},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Module that helps you write generated functions in Node",
|
||||
"devDependencies": {
|
||||
"tape": "^2.13.4"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "6858fe7c0969b7d4e9093337647ac79f60dfbe74",
|
||||
"tarball": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"
|
||||
},
|
||||
"gitHead": "3d5fc8de5859be95f58e3af9bfb5f663edd95149",
|
||||
"homepage": "https://github.com/mafintosh/generate-function",
|
||||
"keywords": [
|
||||
"generate",
|
||||
@@ -67,15 +44,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "mafintosh",
|
||||
"email": "mathiasbuus@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "generate-function",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/mafintosh/generate-function.git"
|
||||
|
||||
+13
-44
@@ -1,46 +1,27 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
{
|
||||
"raw": "generate-object-property@^1.1.0",
|
||||
"scope": null,
|
||||
"escapedName": "generate-object-property",
|
||||
"name": "generate-object-property",
|
||||
"rawSpec": "^1.1.0",
|
||||
"spec": ">=1.1.0 <2.0.0",
|
||||
"type": "range"
|
||||
},
|
||||
"/Users/trott/io.js/tools/node_modules/is-my-json-valid"
|
||||
]
|
||||
],
|
||||
"_from": "generate-object-property@>=1.1.0 <2.0.0",
|
||||
"_from": "generate-object-property@^1.1.0",
|
||||
"_id": "generate-object-property@1.2.0",
|
||||
"_inCache": true,
|
||||
"_location": "/generate-object-property",
|
||||
"_nodeVersion": "2.0.1",
|
||||
"_npmUser": {
|
||||
"name": "mafintosh",
|
||||
"email": "mathiasbuus@gmail.com"
|
||||
},
|
||||
"_npmVersion": "2.9.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
|
||||
"_location": "/eslint/generate-object-property",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "generate-object-property@^1.1.0",
|
||||
"scope": null,
|
||||
"escapedName": "generate-object-property",
|
||||
"name": "generate-object-property",
|
||||
"escapedName": "generate-object-property",
|
||||
"rawSpec": "^1.1.0",
|
||||
"spec": ">=1.1.0 <2.0.0",
|
||||
"type": "range"
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^1.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/is-my-json-valid"
|
||||
"/eslint/is-my-json-valid"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
|
||||
"_shasum": "9c0e1c40308ce804f4783618b937fa88f99d50d0",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "generate-object-property@^1.1.0",
|
||||
"_where": "/Users/trott/io.js/tools/node_modules/is-my-json-valid",
|
||||
"_where": "/Users/trott/io.js/tools/eslint-tmp/node_modules/eslint/node_modules/is-my-json-valid",
|
||||
"author": {
|
||||
"name": "Mathias Buus",
|
||||
"url": "@mafintosh"
|
||||
@@ -48,31 +29,19 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/mafintosh/generate-object-property/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"is-property": "^1.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Generate safe JS code that can used to reference a object property",
|
||||
"devDependencies": {
|
||||
"tape": "^2.13.0"
|
||||
},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "9c0e1c40308ce804f4783618b937fa88f99d50d0",
|
||||
"tarball": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"
|
||||
},
|
||||
"gitHead": "0dd7d411018de54b2eae63b424c15b3e50bd678c",
|
||||
"homepage": "https://github.com/mafintosh/generate-object-property",
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "mafintosh",
|
||||
"email": "mathiasbuus@gmail.com"
|
||||
}
|
||||
],
|
||||
"name": "generate-object-property",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/mafintosh/generate-object-property.git"
|
||||
|
||||
Loaded 100 of 242 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user