commit
32ebccd050
@ -1,2 +1,3 @@
|
|||||||
/lib
|
/lib
|
||||||
fixtures
|
fixtures
|
||||||
|
/data
|
||||||
|
|||||||
@ -3,5 +3,14 @@
|
|||||||
"parserOptions": {
|
"parserOptions": {
|
||||||
"ecmaVersion": 7,
|
"ecmaVersion": 7,
|
||||||
"sourceType": "module"
|
"sourceType": "module"
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"arrow-parens": "off",
|
||||||
|
"indent": "off",
|
||||||
|
"comma-dangle": ["error", "always-multiline"],
|
||||||
|
"curly": ["error", "multi-line"],
|
||||||
|
"func-call-spacing": "error",
|
||||||
|
"key-spacing": "error",
|
||||||
|
"no-multi-spaces": "error"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,9 +16,12 @@
|
|||||||
"dev": "babel -w src -d lib",
|
"dev": "babel -w src -d lib",
|
||||||
"fix": "eslint . --fix",
|
"fix": "eslint . --fix",
|
||||||
"lint": "eslint .",
|
"lint": "eslint .",
|
||||||
|
"precommit": "lint-staged",
|
||||||
|
"prettify": "prettier --trailing-comma all --write \"src/*.js\" \"scripts/*.js\" \"test/*.js\"",
|
||||||
"test": "npm run build && npm run test-only",
|
"test": "npm run build && npm run test-only",
|
||||||
"test-ci": "nyc npm run test",
|
"test-ci": "nyc npm run test",
|
||||||
"test-only": "mocha ./test --compilers js:babel-register -t 10000"
|
"test-only": "mocha ./test --compilers js:babel-register -t 10000"
|
||||||
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"babel-plugin-check-es2015-constants": "7.0.0-alpha.1",
|
"babel-plugin-check-es2015-constants": "7.0.0-alpha.1",
|
||||||
@ -68,9 +71,12 @@
|
|||||||
"eslint-config-babel": "^6.0.0",
|
"eslint-config-babel": "^6.0.0",
|
||||||
"eslint-plugin-flowtype": "^2.29.1",
|
"eslint-plugin-flowtype": "^2.29.1",
|
||||||
"fs-extra": "^2.0.0",
|
"fs-extra": "^2.0.0",
|
||||||
|
"husky": "^0.13.2",
|
||||||
|
"lint-staged": "^3.3.1",
|
||||||
"lodash": "^4.17.4",
|
"lodash": "^4.17.4",
|
||||||
"mocha": "^3.2.0",
|
"mocha": "^3.2.0",
|
||||||
"nyc": "^10.1.2",
|
"nyc": "^10.1.2",
|
||||||
|
"prettier": "^0.22.0",
|
||||||
"rimraf": "^2.6.1"
|
"rimraf": "^2.6.1"
|
||||||
},
|
},
|
||||||
"babel": {
|
"babel": {
|
||||||
@ -98,5 +104,15 @@
|
|||||||
"include": ["src/*.js"],
|
"include": ["src/*.js"],
|
||||||
"instrument": false,
|
"instrument": false,
|
||||||
"sourceMap": false
|
"sourceMap": false
|
||||||
|
},
|
||||||
|
"lint-staged": {
|
||||||
|
"{src,scripts}/**/*.js": [
|
||||||
|
"prettier --trailing-comma all --write",
|
||||||
|
"git add"
|
||||||
|
],
|
||||||
|
"test/*.js": [
|
||||||
|
"prettier --trailing-comma all --write",
|
||||||
|
"git add"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,7 @@ const pluginFeatures = require("../data/plugin-features");
|
|||||||
const builtInFeatures = require("../data/built-in-features");
|
const builtInFeatures = require("../data/built-in-features");
|
||||||
|
|
||||||
const renameTests = (tests, getName) =>
|
const renameTests = (tests, getName) =>
|
||||||
tests.map((test) => Object.assign({}, test, { name: getName(test.name) }));
|
tests.map(test => Object.assign({}, test, { name: getName(test.name) }));
|
||||||
|
|
||||||
const es6Data = require("compat-table/data-es6");
|
const es6Data = require("compat-table/data-es6");
|
||||||
const es6PlusData = require("compat-table/data-es2016plus");
|
const es6PlusData = require("compat-table/data-es2016plus");
|
||||||
@ -26,7 +26,7 @@ const environments = [
|
|||||||
"ie",
|
"ie",
|
||||||
"android",
|
"android",
|
||||||
"ios",
|
"ios",
|
||||||
"phantom"
|
"phantom",
|
||||||
];
|
];
|
||||||
|
|
||||||
const envMap = {
|
const envMap = {
|
||||||
@ -51,16 +51,17 @@ const envMap = {
|
|||||||
ios51: "ios5.1",
|
ios51: "ios5.1",
|
||||||
};
|
};
|
||||||
|
|
||||||
const invertedEqualsEnv = Object.keys(envs)
|
const invertedEqualsEnv = Object.keys(envs).filter(b => envs[b].equals).reduce((
|
||||||
.filter((b) => envs[b].equals)
|
a,
|
||||||
.reduce((a, b) => {
|
b,
|
||||||
|
) => {
|
||||||
const checkEnv = envMap[envs[b].equals] || envs[b].equals;
|
const checkEnv = envMap[envs[b].equals] || envs[b].equals;
|
||||||
environments.some((env) => {
|
environments.some(env => {
|
||||||
// go through all environment names to find the the current one
|
// go through all environment names to find the the current one
|
||||||
// and try to get the version as integer
|
// and try to get the version as integer
|
||||||
const version = parseFloat(checkEnv.replace(env, ""));
|
const version = parseFloat(checkEnv.replace(env, ""));
|
||||||
if (!isNaN(version)) {
|
if (!isNaN(version)) {
|
||||||
Object.keys(envs).forEach((equals) => {
|
Object.keys(envs).forEach(equals => {
|
||||||
equals = envMap[equals] || equals;
|
equals = envMap[equals] || equals;
|
||||||
// Go through all envs from compat-table and get int version
|
// Go through all envs from compat-table and get int version
|
||||||
const equalsVersion = parseFloat(equals.replace(env, ""));
|
const equalsVersion = parseFloat(equals.replace(env, ""));
|
||||||
@ -80,44 +81,43 @@ const invertedEqualsEnv = Object.keys(envs)
|
|||||||
return a;
|
return a;
|
||||||
}, {});
|
}, {});
|
||||||
|
|
||||||
const compatibilityTests = flattenDeep([
|
const compatibilityTests = flattenDeep(
|
||||||
es6Data,
|
[es6Data, es6PlusData].map(data =>
|
||||||
es6PlusData,
|
data.tests.map(test => {
|
||||||
].map((data) =>
|
return test.subtests
|
||||||
data.tests.map((test) => {
|
? [test, renameTests(test.subtests, name => test.name + " / " + name)]
|
||||||
return test.subtests ?
|
: test;
|
||||||
[test, renameTests(test.subtests, (name) => test.name + " / " + name)] :
|
})),
|
||||||
test;
|
);
|
||||||
})
|
|
||||||
));
|
|
||||||
|
|
||||||
const getLowestImplementedVersion = ({ features }, env) => {
|
const getLowestImplementedVersion = ({ features }, env) => {
|
||||||
const tests = flatten(compatibilityTests
|
const tests = flatten(
|
||||||
.filter((test) => {
|
compatibilityTests
|
||||||
|
.filter(test => {
|
||||||
return features.indexOf(test.name) >= 0 ||
|
return features.indexOf(test.name) >= 0 ||
|
||||||
// for features === ["DataView"]
|
// for features === ["DataView"]
|
||||||
// it covers "DataView (Int8)" and "DataView (UInt8)"
|
// it covers "DataView (Int8)" and "DataView (UInt8)"
|
||||||
features.length === 1 && test.name.indexOf(features[0]) === 0;
|
(features.length === 1 && test.name.indexOf(features[0]) === 0);
|
||||||
})
|
})
|
||||||
.map((test) => {
|
.map(test => {
|
||||||
const isBuiltIn = test.category === "built-ins" || test.category === "built-in extensions";
|
const isBuiltIn = test.category === "built-ins" ||
|
||||||
|
test.category === "built-in extensions";
|
||||||
|
|
||||||
return test.subtests ?
|
return test.subtests
|
||||||
test.subtests.map((subtest) => ({
|
? test.subtests.map(subtest => ({
|
||||||
name: `${test.name}/${subtest.name}`,
|
name: `${test.name}/${subtest.name}`,
|
||||||
res: subtest.res,
|
res: subtest.res,
|
||||||
isBuiltIn
|
isBuiltIn,
|
||||||
})) :
|
}))
|
||||||
{
|
: {
|
||||||
name: test.name,
|
name: test.name,
|
||||||
res: test.res,
|
res: test.res,
|
||||||
isBuiltIn
|
isBuiltIn,
|
||||||
};
|
};
|
||||||
})
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
const envTests = tests
|
const envTests = tests.map(({ res: test, name, isBuiltIn }, i) => {
|
||||||
.map(({ res: test, name, isBuiltIn }, i) => {
|
|
||||||
// Babel itself doesn't implement the feature correctly,
|
// Babel itself doesn't implement the feature correctly,
|
||||||
// don't count against it
|
// don't count against it
|
||||||
// only doing this for built-ins atm
|
// only doing this for built-ins atm
|
||||||
@ -126,26 +126,31 @@ const getLowestImplementedVersion = ({ features }, env) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// `equals` in compat-table
|
// `equals` in compat-table
|
||||||
Object.keys(test).forEach((t) => {
|
Object.keys(test).forEach(t => {
|
||||||
const invertedEnvs = invertedEqualsEnv[envMap[t] || t];
|
const invertedEnvs = invertedEqualsEnv[envMap[t] || t];
|
||||||
if (invertedEnvs) {
|
if (invertedEnvs) {
|
||||||
invertedEnvs.forEach((inv) => {
|
invertedEnvs.forEach(inv => {
|
||||||
test[inv] = test[t];
|
test[inv] = test[t];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return Object.keys(test)
|
return (
|
||||||
.filter((t) => t.startsWith(env))
|
Object.keys(test)
|
||||||
|
.filter(t => t.startsWith(env))
|
||||||
// Babel assumes strict mode
|
// Babel assumes strict mode
|
||||||
.filter((test) => tests[i].res[test] === true || tests[i].res[test] === "strict")
|
.filter(
|
||||||
|
test =>
|
||||||
|
tests[i].res[test] === true || tests[i].res[test] === "strict",
|
||||||
|
)
|
||||||
// normalize some keys
|
// normalize some keys
|
||||||
.map((test) => envMap[test] || test)
|
.map(test => envMap[test] || test)
|
||||||
.filter((test) => !isNaN(parseFloat(test.replace(env, ""))))
|
.filter(test => !isNaN(parseFloat(test.replace(env, ""))))
|
||||||
.shift();
|
.shift()
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
const envFiltered = envTests.filter((t) => t);
|
const envFiltered = envTests.filter(t => t);
|
||||||
if (envTests.length > envFiltered.length || envTests.length === 0) {
|
if (envTests.length > envFiltered.length || envTests.length === 0) {
|
||||||
// envTests.forEach((test, i) => {
|
// envTests.forEach((test, i) => {
|
||||||
// if (!test) {
|
// if (!test) {
|
||||||
@ -158,21 +163,21 @@ const getLowestImplementedVersion = ({ features }, env) => {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return envTests
|
return envTests.map(str => Number(str.replace(env, ""))).reduce((a, b) => {
|
||||||
.map((str) => Number(str.replace(env, "")))
|
return a < b ? b : a;
|
||||||
.reduce((a, b) => { return (a < b) ? b : a; });
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const generateData = (environments, features) => {
|
const generateData = (environments, features) => {
|
||||||
return mapValues(features, (options) => {
|
return mapValues(features, options => {
|
||||||
if (!options.features) {
|
if (!options.features) {
|
||||||
options = {
|
options = {
|
||||||
features: [options]
|
features: [options],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const plugin = {};
|
const plugin = {};
|
||||||
environments.forEach((env) => {
|
environments.forEach(env => {
|
||||||
const version = getLowestImplementedVersion(options, env);
|
const version = getLowestImplementedVersion(options, env);
|
||||||
if (version !== null) {
|
if (version !== null) {
|
||||||
plugin[env] = version;
|
plugin[env] = version;
|
||||||
@ -194,10 +199,10 @@ const generateData = (environments, features) => {
|
|||||||
|
|
||||||
fs.writeFileSync(
|
fs.writeFileSync(
|
||||||
path.join(__dirname, "../data/plugins.json"),
|
path.join(__dirname, "../data/plugins.json"),
|
||||||
JSON.stringify(generateData(environments, pluginFeatures), null, 2) + "\n"
|
JSON.stringify(generateData(environments, pluginFeatures), null, 2) + "\n",
|
||||||
);
|
);
|
||||||
|
|
||||||
fs.writeFileSync(
|
fs.writeFileSync(
|
||||||
path.join(__dirname, "../data/built-ins.json"),
|
path.join(__dirname, "../data/built-ins.json"),
|
||||||
JSON.stringify(generateData(environments, builtInFeatures), null, 2) + "\n"
|
JSON.stringify(generateData(environments, builtInFeatures), null, 2) + "\n",
|
||||||
);
|
);
|
||||||
|
|||||||
@ -1,5 +1 @@
|
|||||||
export default [
|
export default ["web.timers", "web.immediate", "web.dom.iterable"];
|
||||||
"web.timers",
|
|
||||||
"web.immediate",
|
|
||||||
"web.dom.iterable"
|
|
||||||
];
|
|
||||||
|
|||||||
@ -2,9 +2,12 @@ import browserslist from "browserslist";
|
|||||||
import builtInsList from "../data/built-ins.json";
|
import builtInsList from "../data/built-ins.json";
|
||||||
import defaultInclude from "./default-includes";
|
import defaultInclude from "./default-includes";
|
||||||
import moduleTransformations from "./module-transformations";
|
import moduleTransformations from "./module-transformations";
|
||||||
import normalizeOptions, { getElectronChromeVersion } from "./normalize-options.js";
|
import normalizeOptions, {
|
||||||
|
getElectronChromeVersion,
|
||||||
|
} from "./normalize-options.js";
|
||||||
import pluginList from "../data/plugins.json";
|
import pluginList from "../data/plugins.json";
|
||||||
import transformPolyfillRequirePlugin from "./transform-polyfill-require-plugin";
|
import transformPolyfillRequirePlugin
|
||||||
|
from "./transform-polyfill-require-plugin";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine if a transformation is required
|
* Determine if a transformation is required
|
||||||
@ -21,19 +24,24 @@ export const isPluginRequired = (supportedEnvironments, plugin) => {
|
|||||||
|
|
||||||
const targetEnvironments = Object.keys(supportedEnvironments);
|
const targetEnvironments = Object.keys(supportedEnvironments);
|
||||||
|
|
||||||
if (targetEnvironments.length === 0) { return true; }
|
if (targetEnvironments.length === 0) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
const isRequiredForEnvironments = targetEnvironments
|
const isRequiredForEnvironments = targetEnvironments.filter(environment => {
|
||||||
.filter((environment) => {
|
|
||||||
// Feature is not implemented in that environment
|
// Feature is not implemented in that environment
|
||||||
if (!plugin[environment]) { return true; }
|
if (!plugin[environment]) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
const lowestImplementedVersion = plugin[environment];
|
const lowestImplementedVersion = plugin[environment];
|
||||||
const lowestTargetedVersion = supportedEnvironments[environment];
|
const lowestTargetedVersion = supportedEnvironments[environment];
|
||||||
|
|
||||||
if (typeof lowestTargetedVersion === "string") {
|
if (typeof lowestTargetedVersion === "string") {
|
||||||
throw new Error(`Target version must be a number,
|
throw new Error(
|
||||||
'${lowestTargetedVersion}' was given for '${environment}'`);
|
`Target version must be a number,
|
||||||
|
'${lowestTargetedVersion}' was given for '${environment}'`,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return lowestTargetedVersion < lowestImplementedVersion;
|
return lowestTargetedVersion < lowestImplementedVersion;
|
||||||
@ -42,7 +50,7 @@ export const isPluginRequired = (supportedEnvironments, plugin) => {
|
|||||||
return isRequiredForEnvironments.length > 0 ? true : false;
|
return isRequiredForEnvironments.length > 0 ? true : false;
|
||||||
};
|
};
|
||||||
|
|
||||||
const isBrowsersQueryValid = (browsers) => {
|
const isBrowsersQueryValid = browsers => {
|
||||||
return typeof browsers === "string" || Array.isArray(browsers);
|
return typeof browsers === "string" || Array.isArray(browsers);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -52,35 +60,45 @@ const browserNameMap = {
|
|||||||
firefox: "firefox",
|
firefox: "firefox",
|
||||||
ie: "ie",
|
ie: "ie",
|
||||||
ios_saf: "ios",
|
ios_saf: "ios",
|
||||||
safari: "safari"
|
safari: "safari",
|
||||||
};
|
};
|
||||||
|
|
||||||
const getLowestVersions = (browsers) => {
|
const getLowestVersions = browsers => {
|
||||||
return browsers.reduce((all, browser) => {
|
return browsers.reduce(
|
||||||
|
(all, browser) => {
|
||||||
const [browserName, browserVersion] = browser.split(" ");
|
const [browserName, browserVersion] = browser.split(" ");
|
||||||
const normalizedBrowserName = browserNameMap[browserName];
|
const normalizedBrowserName = browserNameMap[browserName];
|
||||||
const parsedBrowserVersion = parseInt(browserVersion);
|
const parsedBrowserVersion = parseInt(browserVersion);
|
||||||
if (normalizedBrowserName && !isNaN(parsedBrowserVersion)) {
|
if (normalizedBrowserName && !isNaN(parsedBrowserVersion)) {
|
||||||
all[normalizedBrowserName] = Math.min(all[normalizedBrowserName] || Infinity, parsedBrowserVersion);
|
all[normalizedBrowserName] = Math.min(
|
||||||
|
all[normalizedBrowserName] || Infinity,
|
||||||
|
parsedBrowserVersion,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return all;
|
return all;
|
||||||
}, {});
|
},
|
||||||
|
{},
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const mergeBrowsers = (fromQuery, fromTarget) => {
|
const mergeBrowsers = (fromQuery, fromTarget) => {
|
||||||
return Object.keys(fromTarget).reduce((queryObj, targKey) => {
|
return Object.keys(fromTarget).reduce(
|
||||||
|
(queryObj, targKey) => {
|
||||||
if (targKey !== "browsers") {
|
if (targKey !== "browsers") {
|
||||||
queryObj[targKey] = fromTarget[targKey];
|
queryObj[targKey] = fromTarget[targKey];
|
||||||
}
|
}
|
||||||
return queryObj;
|
return queryObj;
|
||||||
}, fromQuery);
|
},
|
||||||
|
fromQuery,
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getCurrentNodeVersion = () => {
|
export const getCurrentNodeVersion = () => {
|
||||||
return parseFloat(process.versions.node);
|
return parseFloat(process.versions.node);
|
||||||
};
|
};
|
||||||
|
|
||||||
const _extends = Object.assign || function (target) {
|
const _extends = Object.assign ||
|
||||||
|
function(target) {
|
||||||
for (let i = 1; i < arguments.length; i++) {
|
for (let i = 1; i < arguments.length; i++) {
|
||||||
const source = arguments[i];
|
const source = arguments[i];
|
||||||
for (const key in source) {
|
for (const key in source) {
|
||||||
@ -92,7 +110,6 @@ const _extends = Object.assign || function (target) {
|
|||||||
return target;
|
return target;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
export const getTargets = (targets = {}) => {
|
export const getTargets = (targets = {}) => {
|
||||||
const targetOpts = _extends({}, targets);
|
const targetOpts = _extends({}, targets);
|
||||||
|
|
||||||
@ -127,13 +144,15 @@ let hasBeenLogged = false;
|
|||||||
|
|
||||||
const logPlugin = (plugin, targets, list) => {
|
const logPlugin = (plugin, targets, list) => {
|
||||||
const envList = list[plugin] || {};
|
const envList = list[plugin] || {};
|
||||||
const filteredList = Object.keys(targets)
|
const filteredList = Object.keys(targets).reduce(
|
||||||
.reduce((a, b) => {
|
(a, b) => {
|
||||||
if (!envList[b] || targets[b] < envList[b]) {
|
if (!envList[b] || targets[b] < envList[b]) {
|
||||||
a[b] = targets[b];
|
a[b] = targets[b];
|
||||||
}
|
}
|
||||||
return a;
|
return a;
|
||||||
}, {});
|
},
|
||||||
|
{},
|
||||||
|
);
|
||||||
const logStr = ` ${plugin} ${JSON.stringify(filteredList)}`;
|
const logStr = ` ${plugin} ${JSON.stringify(filteredList)}`;
|
||||||
console.log(logStr);
|
console.log(logStr);
|
||||||
};
|
};
|
||||||
@ -147,7 +166,7 @@ const filterItem = (targets, exclusions, list, item) => {
|
|||||||
return isRequired && notExcluded;
|
return isRequired && notExcluded;
|
||||||
};
|
};
|
||||||
|
|
||||||
const getBuiltInTargets = (targets) => {
|
const getBuiltInTargets = targets => {
|
||||||
const builtInTargets = _extends({}, targets);
|
const builtInTargets = _extends({}, targets);
|
||||||
if (builtInTargets.uglify != null) {
|
if (builtInTargets.uglify != null) {
|
||||||
delete builtInTargets.uglify;
|
delete builtInTargets.uglify;
|
||||||
@ -155,10 +174,10 @@ const getBuiltInTargets = (targets) => {
|
|||||||
return builtInTargets;
|
return builtInTargets;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const transformIncludesAndExcludes = (opts) => ({
|
export const transformIncludesAndExcludes = opts => ({
|
||||||
all: opts,
|
all: opts,
|
||||||
plugins: opts.filter((opt) => !opt.match(/^(es\d+|web)\./)),
|
plugins: opts.filter(opt => !opt.match(/^(es\d+|web)\./)),
|
||||||
builtIns: opts.filter((opt) => opt.match(/^(es\d+|web)\./))
|
builtIns: opts.filter(opt => opt.match(/^(es\d+|web)\./)),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default function buildPreset(context, opts = {}) {
|
export default function buildPreset(context, opts = {}) {
|
||||||
@ -169,8 +188,12 @@ export default function buildPreset(context, opts = {}) {
|
|||||||
const include = transformIncludesAndExcludes(validatedOptions.include);
|
const include = transformIncludesAndExcludes(validatedOptions.include);
|
||||||
const exclude = transformIncludesAndExcludes(validatedOptions.exclude);
|
const exclude = transformIncludesAndExcludes(validatedOptions.exclude);
|
||||||
|
|
||||||
|
const filterPlugins = filterItem.bind(
|
||||||
const filterPlugins = filterItem.bind(null, targets, exclude.plugins, pluginList);
|
null,
|
||||||
|
targets,
|
||||||
|
exclude.plugins,
|
||||||
|
pluginList,
|
||||||
|
);
|
||||||
const transformations = Object.keys(pluginList)
|
const transformations = Object.keys(pluginList)
|
||||||
.filter(filterPlugins)
|
.filter(filterPlugins)
|
||||||
.concat(include.plugins);
|
.concat(include.plugins);
|
||||||
@ -179,7 +202,12 @@ export default function buildPreset(context, opts = {}) {
|
|||||||
let polyfillTargets;
|
let polyfillTargets;
|
||||||
if (useBuiltIns) {
|
if (useBuiltIns) {
|
||||||
polyfillTargets = getBuiltInTargets(targets);
|
polyfillTargets = getBuiltInTargets(targets);
|
||||||
const filterBuiltIns = filterItem.bind(null, polyfillTargets, exclude.builtIns, builtInsList);
|
const filterBuiltIns = filterItem.bind(
|
||||||
|
null,
|
||||||
|
polyfillTargets,
|
||||||
|
exclude.builtIns,
|
||||||
|
builtInsList,
|
||||||
|
);
|
||||||
polyfills = Object.keys(builtInsList)
|
polyfills = Object.keys(builtInsList)
|
||||||
.concat(defaultInclude)
|
.concat(defaultInclude)
|
||||||
.filter(filterBuiltIns)
|
.filter(filterBuiltIns)
|
||||||
@ -193,32 +221,36 @@ export default function buildPreset(context, opts = {}) {
|
|||||||
console.log(JSON.stringify(targets, null, 2));
|
console.log(JSON.stringify(targets, null, 2));
|
||||||
console.log(`\nModules transform: ${moduleType}`);
|
console.log(`\nModules transform: ${moduleType}`);
|
||||||
console.log("\nUsing plugins:");
|
console.log("\nUsing plugins:");
|
||||||
transformations.forEach((transform) => {
|
transformations.forEach(transform => {
|
||||||
logPlugin(transform, targets, pluginList);
|
logPlugin(transform, targets, pluginList);
|
||||||
});
|
});
|
||||||
if (useBuiltIns && polyfills.length) {
|
if (useBuiltIns && polyfills.length) {
|
||||||
console.log("\nUsing polyfills:");
|
console.log("\nUsing polyfills:");
|
||||||
polyfills.forEach((polyfill) => {
|
polyfills.forEach(polyfill => {
|
||||||
logPlugin(polyfill, polyfillTargets, builtInsList);
|
logPlugin(polyfill, polyfillTargets, builtInsList);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const regenerator = transformations.indexOf("transform-regenerator") >= 0;
|
const regenerator = transformations.indexOf("transform-regenerator") >= 0;
|
||||||
const modulePlugin = moduleType !== false && moduleTransformations[moduleType];
|
const modulePlugin = moduleType !== false &&
|
||||||
|
moduleTransformations[moduleType];
|
||||||
const plugins = [];
|
const plugins = [];
|
||||||
|
|
||||||
modulePlugin &&
|
modulePlugin &&
|
||||||
plugins.push([require(`babel-plugin-${modulePlugin}`), { loose }]);
|
plugins.push([require(`babel-plugin-${modulePlugin}`), { loose }]);
|
||||||
|
|
||||||
plugins.push(...transformations.map((pluginName) =>
|
plugins.push(
|
||||||
[require(`babel-plugin-${pluginName}`), { loose }]
|
...transformations.map(pluginName => [
|
||||||
));
|
require(`babel-plugin-${pluginName}`),
|
||||||
|
{ loose },
|
||||||
|
]),
|
||||||
|
);
|
||||||
|
|
||||||
useBuiltIns &&
|
useBuiltIns &&
|
||||||
plugins.push([transformPolyfillRequirePlugin, { polyfills, regenerator }]);
|
plugins.push([transformPolyfillRequirePlugin, { polyfills, regenerator }]);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
plugins
|
plugins,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
export default {
|
export default {
|
||||||
"amd": "transform-es2015-modules-amd",
|
amd: "transform-es2015-modules-amd",
|
||||||
"commonjs": "transform-es2015-modules-commonjs",
|
commonjs: "transform-es2015-modules-commonjs",
|
||||||
"systemjs": "transform-es2015-modules-systemjs",
|
systemjs: "transform-es2015-modules-systemjs",
|
||||||
"umd": "transform-es2015-modules-umd"
|
umd: "transform-es2015-modules-umd",
|
||||||
};
|
};
|
||||||
|
|||||||
@ -7,19 +7,19 @@ import pluginFeatures from "../data/plugin-features";
|
|||||||
|
|
||||||
const validIncludesAndExcludes = [
|
const validIncludesAndExcludes = [
|
||||||
...Object.keys(pluginFeatures),
|
...Object.keys(pluginFeatures),
|
||||||
...Object.keys(moduleTransformations).map((m) => moduleTransformations[m]),
|
...Object.keys(moduleTransformations).map(m => moduleTransformations[m]),
|
||||||
...Object.keys(builtInsList),
|
...Object.keys(builtInsList),
|
||||||
...defaultInclude
|
...defaultInclude,
|
||||||
];
|
];
|
||||||
|
|
||||||
export const validateIncludesAndExcludes = (opts = [], type) => {
|
export const validateIncludesAndExcludes = (opts = [], type) => {
|
||||||
invariant(
|
invariant(
|
||||||
Array.isArray(opts),
|
Array.isArray(opts),
|
||||||
`Invalid Option: The '${type}' option must be an Array<String> of plugins/built-ins`
|
`Invalid Option: The '${type}' option must be an Array<String> of plugins/built-ins`,
|
||||||
);
|
);
|
||||||
|
|
||||||
const unknownOpts = [];
|
const unknownOpts = [];
|
||||||
opts.forEach((opt) => {
|
opts.forEach(opt => {
|
||||||
if (validIncludesAndExcludes.indexOf(opt) === -1) {
|
if (validIncludesAndExcludes.indexOf(opt) === -1) {
|
||||||
unknownOpts.push(opt);
|
unknownOpts.push(opt);
|
||||||
}
|
}
|
||||||
@ -28,21 +28,19 @@ export const validateIncludesAndExcludes = (opts = [], type) => {
|
|||||||
invariant(
|
invariant(
|
||||||
unknownOpts.length === 0,
|
unknownOpts.length === 0,
|
||||||
`Invalid Option: The plugins/built-ins '${unknownOpts}' passed to the '${type}' option are not
|
`Invalid Option: The plugins/built-ins '${unknownOpts}' passed to the '${type}' option are not
|
||||||
valid. Please check data/[plugin-features|built-in-features].js in babel-preset-env`
|
valid. Please check data/[plugin-features|built-in-features].js in babel-preset-env`,
|
||||||
);
|
);
|
||||||
|
|
||||||
return opts;
|
return opts;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const checkDuplicateIncludeExcludes = (include = [], exclude = []) => {
|
export const checkDuplicateIncludeExcludes = (include = [], exclude = []) => {
|
||||||
const duplicates = include.filter(
|
const duplicates = include.filter(opt => exclude.indexOf(opt) >= 0);
|
||||||
(opt) => exclude.indexOf(opt) >= 0
|
|
||||||
);
|
|
||||||
|
|
||||||
invariant(
|
invariant(
|
||||||
duplicates.length === 0,
|
duplicates.length === 0,
|
||||||
`Invalid Option: The plugins/built-ins '${duplicates}' were found in both the "include" and
|
`Invalid Option: The plugins/built-ins '${duplicates}' were found in both the "include" and
|
||||||
"exclude" options.`
|
"exclude" options.`,
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -52,7 +50,7 @@ export const checkDuplicateIncludeExcludes = (include = [], exclude = []) => {
|
|||||||
export const validateLooseOption = (looseOpt = false) => {
|
export const validateLooseOption = (looseOpt = false) => {
|
||||||
invariant(
|
invariant(
|
||||||
typeof looseOpt === "boolean",
|
typeof looseOpt === "boolean",
|
||||||
"Invalid Option: The 'loose' option must be a boolean."
|
"Invalid Option: The 'loose' option must be a boolean.",
|
||||||
);
|
);
|
||||||
|
|
||||||
return looseOpt;
|
return looseOpt;
|
||||||
@ -60,20 +58,24 @@ export const validateLooseOption = (looseOpt = false) => {
|
|||||||
|
|
||||||
export const validateModulesOption = (modulesOpt = "commonjs") => {
|
export const validateModulesOption = (modulesOpt = "commonjs") => {
|
||||||
invariant(
|
invariant(
|
||||||
modulesOpt === false || Object.keys(moduleTransformations).indexOf(modulesOpt) > -1,
|
modulesOpt === false ||
|
||||||
|
Object.keys(moduleTransformations).indexOf(modulesOpt) > -1,
|
||||||
`Invalid Option: The 'modules' option must be either 'false' to indicate no modules, or a
|
`Invalid Option: The 'modules' option must be either 'false' to indicate no modules, or a
|
||||||
module type which can be be one of: 'commonjs' (default), 'amd', 'umd', 'systemjs'.`
|
module type which can be be one of: 'commonjs' (default), 'amd', 'umd', 'systemjs'.`,
|
||||||
);
|
);
|
||||||
|
|
||||||
return modulesOpt;
|
return modulesOpt;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getElectronChromeVersion = (electronVersion) => {
|
export const getElectronChromeVersion = electronVersion => {
|
||||||
const electronChromeVersion = parseInt(electronToChromium(electronVersion), 10);
|
const electronChromeVersion = parseInt(
|
||||||
|
electronToChromium(electronVersion),
|
||||||
|
10,
|
||||||
|
);
|
||||||
|
|
||||||
invariant(
|
invariant(
|
||||||
!!electronChromeVersion,
|
!!electronChromeVersion,
|
||||||
`Electron version ${electronVersion} is either too old or too new`
|
`Electron version ${electronVersion} is either too old or too new`,
|
||||||
);
|
);
|
||||||
|
|
||||||
return electronChromeVersion;
|
return electronChromeVersion;
|
||||||
@ -89,6 +91,6 @@ export default function normalizeOptions(opts) {
|
|||||||
loose: validateLooseOption(opts.loose),
|
loose: validateLooseOption(opts.loose),
|
||||||
moduleType: validateModulesOption(opts.modules),
|
moduleType: validateModulesOption(opts.modules),
|
||||||
targets: opts.targets,
|
targets: opts.targets,
|
||||||
useBuiltIns: opts.useBuiltIns
|
useBuiltIns: opts.useBuiltIns,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,12 +11,7 @@ export default function ({ types: t }) {
|
|||||||
|
|
||||||
function createRequireStatement(polyfill) {
|
function createRequireStatement(polyfill) {
|
||||||
return t.expressionStatement(
|
return t.expressionStatement(
|
||||||
t.callExpression(
|
t.callExpression(t.identifier("require"), [t.stringLiteral(polyfill)]),
|
||||||
t.identifier("require"),
|
|
||||||
[
|
|
||||||
t.stringLiteral(polyfill)
|
|
||||||
]
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,18 +40,20 @@ export default function ({ types: t }) {
|
|||||||
function createImports(polyfills, requireType, regenerator) {
|
function createImports(polyfills, requireType, regenerator) {
|
||||||
const imports = polyfills
|
const imports = polyfills
|
||||||
.filter((el, i, arr) => arr.indexOf(el) === i)
|
.filter((el, i, arr) => arr.indexOf(el) === i)
|
||||||
.map((polyfill) => createImport(polyfill, requireType, true));
|
.map(polyfill => createImport(polyfill, requireType, true));
|
||||||
|
|
||||||
return [
|
return [
|
||||||
...imports,
|
...imports,
|
||||||
regenerator && createImport("regenerator-runtime/runtime", requireType)
|
regenerator && createImport("regenerator-runtime/runtime", requireType),
|
||||||
].filter(Boolean);
|
].filter(Boolean);
|
||||||
}
|
}
|
||||||
|
|
||||||
const isPolyfillImport = {
|
const isPolyfillImport = {
|
||||||
ImportDeclaration(path, state) {
|
ImportDeclaration(path, state) {
|
||||||
if (path.node.specifiers.length === 0 &&
|
if (
|
||||||
isPolyfillSource(path.node.source.value)) {
|
path.node.specifiers.length === 0 &&
|
||||||
|
isPolyfillSource(path.node.source.value)
|
||||||
|
) {
|
||||||
this.numPolyfillImports++;
|
this.numPolyfillImports++;
|
||||||
if (this.numPolyfillImports > 1) {
|
if (this.numPolyfillImports > 1) {
|
||||||
path.remove();
|
path.remove();
|
||||||
@ -64,19 +61,21 @@ export default function ({ types: t }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
path.replaceWithMultiple(
|
path.replaceWithMultiple(
|
||||||
createImports(state.opts.polyfills, "import", state.opts.regenerator)
|
createImports(state.opts.polyfills, "import", state.opts.regenerator),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
Program(path, state) {
|
Program(path, state) {
|
||||||
if (!state.opts.polyfills) {
|
if (!state.opts.polyfills) {
|
||||||
throw path.buildCodeFrameError(`
|
throw path.buildCodeFrameError(
|
||||||
|
`
|
||||||
There was an issue in "babel-preset-env" such that
|
There was an issue in "babel-preset-env" such that
|
||||||
the "polyfills" option was not correctly passed
|
the "polyfills" option was not correctly passed
|
||||||
to the "transform-polyfill-require" plugin
|
to the "transform-polyfill-require" plugin
|
||||||
`);
|
`,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
path.get("body").forEach((bodyPath) => {
|
path.get("body").forEach(bodyPath => {
|
||||||
if (isRequire(bodyPath)) {
|
if (isRequire(bodyPath)) {
|
||||||
this.numPolyfillImports++;
|
this.numPolyfillImports++;
|
||||||
if (this.numPolyfillImports > 1) {
|
if (this.numPolyfillImports > 1) {
|
||||||
@ -85,11 +84,15 @@ to the "transform-polyfill-require" plugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
bodyPath.replaceWithMultiple(
|
bodyPath.replaceWithMultiple(
|
||||||
createImports(state.opts.polyfills, "require", state.opts.regenerator)
|
createImports(
|
||||||
|
state.opts.polyfills,
|
||||||
|
"require",
|
||||||
|
state.opts.regenerator,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@ -97,6 +100,6 @@ to the "transform-polyfill-require" plugin
|
|||||||
visitor: isPolyfillImport,
|
visitor: isPolyfillImport,
|
||||||
pre() {
|
pre() {
|
||||||
this.numPolyfillImports = 0;
|
this.numPolyfillImports = 0;
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,8 +14,8 @@ const clear = () => {
|
|||||||
process.chdir(tmpLoc);
|
process.chdir(tmpLoc);
|
||||||
};
|
};
|
||||||
|
|
||||||
const saveInFiles = (files) => {
|
const saveInFiles = files => {
|
||||||
Object.keys(files).forEach((filename) => {
|
Object.keys(files).forEach(filename => {
|
||||||
const content = files[filename];
|
const content = files[filename];
|
||||||
fs.outputFileSync(filename, content);
|
fs.outputFileSync(filename, content);
|
||||||
});
|
});
|
||||||
@ -41,10 +41,10 @@ const assertTest = (stdout, stderr, opts) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const buildTest = (opts) => {
|
const buildTest = opts => {
|
||||||
const binLoc = path.join(process.cwd(), "node_modules/.bin/babel");
|
const binLoc = path.join(process.cwd(), "node_modules/.bin/babel");
|
||||||
|
|
||||||
return (callback) => {
|
return callback => {
|
||||||
clear();
|
clear();
|
||||||
saveInFiles(opts.inFiles);
|
saveInFiles(opts.inFiles);
|
||||||
|
|
||||||
@ -56,8 +56,8 @@ const buildTest = (opts) => {
|
|||||||
let stdout = "";
|
let stdout = "";
|
||||||
let stderr = "";
|
let stderr = "";
|
||||||
|
|
||||||
spawn.stdout.on("data", (chunk) => stdout += chunk);
|
spawn.stdout.on("data", chunk => stdout += chunk);
|
||||||
spawn.stderr.on("data", (chunk) => stderr += chunk);
|
spawn.stderr.on("data", chunk => stderr += chunk);
|
||||||
|
|
||||||
spawn.on("close", () => {
|
spawn.on("close", () => {
|
||||||
let err;
|
let err;
|
||||||
@ -74,7 +74,7 @@ const buildTest = (opts) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
describe("debug output", () => {
|
describe("debug output", () => {
|
||||||
fs.readdirSync(fixtureLoc).forEach((testName) => {
|
fs.readdirSync(fixtureLoc).forEach(testName => {
|
||||||
const testLoc = path.join(fixtureLoc, testName);
|
const testLoc = path.join(fixtureLoc, testName);
|
||||||
|
|
||||||
const opts = {
|
const opts = {
|
||||||
@ -91,7 +91,9 @@ describe("debug output", () => {
|
|||||||
const optionsLoc = path.join(testLoc, "options.json");
|
const optionsLoc = path.join(testLoc, "options.json");
|
||||||
|
|
||||||
if (!fs.existsSync(optionsLoc)) {
|
if (!fs.existsSync(optionsLoc)) {
|
||||||
throw new Error(`Debug test '${testName}' is missing an options.json file`);
|
throw new Error(
|
||||||
|
`Debug test '${testName}' is missing an options.json file`,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
opts.inFiles = {
|
opts.inFiles = {
|
||||||
|
|||||||
@ -6,104 +6,131 @@ const { versions: electronToChromiumData } = require("electron-to-chromium");
|
|||||||
|
|
||||||
describe("babel-preset-env", () => {
|
describe("babel-preset-env", () => {
|
||||||
describe("getTargets", () => {
|
describe("getTargets", () => {
|
||||||
it("should return the current node version with option 'current'", function() {
|
it("should return the current node version with option 'current'", () => {
|
||||||
assert.deepEqual(babelPresetEnv.getTargets({
|
assert.deepEqual(
|
||||||
node: true
|
babelPresetEnv.getTargets({
|
||||||
}), {
|
node: true,
|
||||||
node: parseFloat(process.versions.node)
|
}),
|
||||||
});
|
{
|
||||||
|
node: parseFloat(process.versions.node),
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
assert.deepEqual(babelPresetEnv.getTargets({
|
assert.deepEqual(
|
||||||
node: "current"
|
babelPresetEnv.getTargets({
|
||||||
}), {
|
node: "current",
|
||||||
node: parseFloat(process.versions.node)
|
}),
|
||||||
});
|
{
|
||||||
|
node: parseFloat(process.versions.node),
|
||||||
|
},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("getTargets + electron", () => {
|
describe("getTargets + electron", () => {
|
||||||
it("should work with a string", function() {
|
it("should work with a string", () => {
|
||||||
assert.deepEqual(babelPresetEnv.getTargets({
|
assert.deepEqual(
|
||||||
electron: "1.0"
|
babelPresetEnv.getTargets({
|
||||||
}), {
|
electron: "1.0",
|
||||||
chrome: 49
|
}),
|
||||||
});
|
{
|
||||||
|
chrome: 49,
|
||||||
|
},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should work with a number", function() {
|
it("should work with a number", () => {
|
||||||
assert.deepEqual(babelPresetEnv.getTargets({
|
assert.deepEqual(
|
||||||
electron: 1.0
|
babelPresetEnv.getTargets({
|
||||||
}), {
|
|
||||||
chrome: 49
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
it("should preserve lower Chrome number if Electron version is more recent", function() {
|
|
||||||
assert.deepEqual(babelPresetEnv.getTargets({
|
|
||||||
electron: 1.4,
|
|
||||||
chrome: 50
|
|
||||||
}), {
|
|
||||||
chrome: 50
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it("should overwrite Chrome number if Electron version is older", function() {
|
|
||||||
assert.deepEqual(babelPresetEnv.getTargets({
|
|
||||||
electron: 1.0,
|
electron: 1.0,
|
||||||
chrome: 50
|
}),
|
||||||
}), {
|
{
|
||||||
chrome: 49
|
chrome: 49,
|
||||||
});
|
},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
Object.keys(electronToChromiumData).forEach((electronVersion) => {
|
it("should preserve lower Chrome number if Electron version is more recent", () => {
|
||||||
it(`"should work for Electron: ${electronVersion}`, function() {
|
assert.deepEqual(
|
||||||
assert.deepEqual(babelPresetEnv.getTargets({
|
babelPresetEnv.getTargets({
|
||||||
electron: electronVersion
|
electron: 1.4,
|
||||||
}), {
|
chrome: 50,
|
||||||
chrome: electronToChromiumData[electronVersion]
|
}),
|
||||||
|
{
|
||||||
|
chrome: 50,
|
||||||
|
},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("should overwrite Chrome number if Electron version is older", () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
babelPresetEnv.getTargets({
|
||||||
|
electron: 1.0,
|
||||||
|
chrome: 50,
|
||||||
|
}),
|
||||||
|
{
|
||||||
|
chrome: 49,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
Object.keys(electronToChromiumData).forEach(electronVersion => {
|
||||||
|
it(`"should work for Electron: ${electronVersion}`, () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
babelPresetEnv.getTargets({
|
||||||
|
electron: electronVersion,
|
||||||
|
}),
|
||||||
|
{
|
||||||
|
chrome: electronToChromiumData[electronVersion],
|
||||||
|
},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should error if electron version is invalid", () => {
|
it("should error if electron version is invalid", () => {
|
||||||
const fixtures = [
|
const fixtures = ["0.19", 0.19, 999, "999"];
|
||||||
"0.19",
|
|
||||||
0.19,
|
|
||||||
999,
|
|
||||||
"999",
|
|
||||||
];
|
|
||||||
|
|
||||||
fixtures.forEach((electronVersion) => {
|
fixtures.forEach(electronVersion => {
|
||||||
assert.throws(() => {
|
assert.throws(
|
||||||
|
() => {
|
||||||
babelPresetEnv.getTargets({
|
babelPresetEnv.getTargets({
|
||||||
electron: electronVersion,
|
electron: electronVersion,
|
||||||
});
|
});
|
||||||
}, Error);
|
},
|
||||||
|
Error,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("getTargets + uglify", () => {
|
describe("getTargets + uglify", () => {
|
||||||
it("should work with `true`", function() {
|
it("should work with `true`", function() {
|
||||||
assert.deepEqual(babelPresetEnv.getTargets({
|
assert.deepEqual(
|
||||||
uglify: true
|
babelPresetEnv.getTargets({
|
||||||
}), {
|
uglify: true,
|
||||||
uglify: true
|
}),
|
||||||
});
|
{
|
||||||
|
uglify: true,
|
||||||
|
},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should ignore `false`", function() {
|
it("should ignore `false`", function() {
|
||||||
assert.deepEqual(babelPresetEnv.getTargets({
|
assert.deepEqual(
|
||||||
uglify: false
|
babelPresetEnv.getTargets({
|
||||||
}), {});
|
uglify: false,
|
||||||
|
}),
|
||||||
|
{},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should ignore `null`", function() {
|
it("should ignore `null`", function() {
|
||||||
assert.deepEqual(babelPresetEnv.getTargets({
|
assert.deepEqual(
|
||||||
uglify: null
|
babelPresetEnv.getTargets({
|
||||||
}), {});
|
uglify: null,
|
||||||
|
}),
|
||||||
|
{},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -122,13 +149,13 @@ describe("babel-preset-env", () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
targets = {
|
targets = {
|
||||||
"chrome": Number.MAX_SAFE_INTEGER,
|
chrome: Number.MAX_SAFE_INTEGER,
|
||||||
"firefox": Number.MAX_SAFE_INTEGER
|
firefox: Number.MAX_SAFE_INTEGER,
|
||||||
};
|
};
|
||||||
assert(babelPresetEnv.isPluginRequired(targets, plugin) === false);
|
assert(babelPresetEnv.isPluginRequired(targets, plugin) === false);
|
||||||
|
|
||||||
targets = {
|
targets = {
|
||||||
"edge": 12,
|
edge: 12,
|
||||||
};
|
};
|
||||||
assert(babelPresetEnv.isPluginRequired(plugin, plugin) === true);
|
assert(babelPresetEnv.isPluginRequired(plugin, plugin) === true);
|
||||||
});
|
});
|
||||||
@ -138,7 +165,7 @@ describe("babel-preset-env", () => {
|
|||||||
chrome: 49,
|
chrome: 49,
|
||||||
};
|
};
|
||||||
const targets = {
|
const targets = {
|
||||||
"chrome": Number.MAX_SAFE_INTEGER,
|
chrome: Number.MAX_SAFE_INTEGER,
|
||||||
};
|
};
|
||||||
assert(babelPresetEnv.isPluginRequired(targets, plugin) === false);
|
assert(babelPresetEnv.isPluginRequired(targets, plugin) === false);
|
||||||
});
|
});
|
||||||
@ -148,7 +175,7 @@ describe("babel-preset-env", () => {
|
|||||||
chrome: 49,
|
chrome: 49,
|
||||||
};
|
};
|
||||||
const targets = {
|
const targets = {
|
||||||
"chrome": 49,
|
chrome: 49,
|
||||||
};
|
};
|
||||||
assert(babelPresetEnv.isPluginRequired(targets, plugin) === false);
|
assert(babelPresetEnv.isPluginRequired(targets, plugin) === false);
|
||||||
});
|
});
|
||||||
@ -158,7 +185,7 @@ describe("babel-preset-env", () => {
|
|||||||
chrome: 50,
|
chrome: 50,
|
||||||
};
|
};
|
||||||
const targets = {
|
const targets = {
|
||||||
"chrome": 49,
|
chrome: 49,
|
||||||
};
|
};
|
||||||
assert(babelPresetEnv.isPluginRequired(targets, plugin) === true);
|
assert(babelPresetEnv.isPluginRequired(targets, plugin) === true);
|
||||||
});
|
});
|
||||||
@ -168,7 +195,7 @@ describe("babel-preset-env", () => {
|
|||||||
chrome: 49,
|
chrome: 49,
|
||||||
};
|
};
|
||||||
const targets = {
|
const targets = {
|
||||||
"browsers": "chrome > 50"
|
browsers: "chrome > 50",
|
||||||
};
|
};
|
||||||
assert(babelPresetEnv.isPluginRequired(targets, plugin) === false);
|
assert(babelPresetEnv.isPluginRequired(targets, plugin) === false);
|
||||||
});
|
});
|
||||||
@ -178,7 +205,7 @@ describe("babel-preset-env", () => {
|
|||||||
chrome: 52,
|
chrome: 52,
|
||||||
};
|
};
|
||||||
const targets = {
|
const targets = {
|
||||||
"browsers": "chrome > 50"
|
browsers: "chrome > 50",
|
||||||
};
|
};
|
||||||
assert(babelPresetEnv.isPluginRequired(targets, plugin) === true);
|
assert(babelPresetEnv.isPluginRequired(targets, plugin) === true);
|
||||||
});
|
});
|
||||||
@ -189,7 +216,7 @@ describe("babel-preset-env", () => {
|
|||||||
};
|
};
|
||||||
const targets = {
|
const targets = {
|
||||||
browsers: "last 2 Chrome versions",
|
browsers: "last 2 Chrome versions",
|
||||||
chrome: 44
|
chrome: 44,
|
||||||
};
|
};
|
||||||
|
|
||||||
assert(babelPresetEnv.isPluginRequired(targets, plugin) === true);
|
assert(babelPresetEnv.isPluginRequired(targets, plugin) === true);
|
||||||
@ -197,11 +224,11 @@ describe("babel-preset-env", () => {
|
|||||||
|
|
||||||
it("returns true if uglify is specified as a target", () => {
|
it("returns true if uglify is specified as a target", () => {
|
||||||
const plugin = {
|
const plugin = {
|
||||||
chrome: 50
|
chrome: 50,
|
||||||
};
|
};
|
||||||
const targets = {
|
const targets = {
|
||||||
chrome: 55,
|
chrome: 55,
|
||||||
uglify: true
|
uglify: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
assert(babelPresetEnv.isPluginRequired(targets, plugin) === true);
|
assert(babelPresetEnv.isPluginRequired(targets, plugin) === true);
|
||||||
@ -209,53 +236,61 @@ describe("babel-preset-env", () => {
|
|||||||
|
|
||||||
it("doesn't throw when specifying a decimal for node", () => {
|
it("doesn't throw when specifying a decimal for node", () => {
|
||||||
const plugin = {
|
const plugin = {
|
||||||
node: 6
|
node: 6,
|
||||||
};
|
};
|
||||||
|
|
||||||
const targets = {
|
const targets = {
|
||||||
"node": 6.5
|
node: 6.5,
|
||||||
};
|
};
|
||||||
|
|
||||||
assert.doesNotThrow(() => {
|
assert.doesNotThrow(
|
||||||
|
() => {
|
||||||
babelPresetEnv.isPluginRequired(targets, plugin);
|
babelPresetEnv.isPluginRequired(targets, plugin);
|
||||||
}, Error);
|
},
|
||||||
|
Error,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("will throw if target version is not a number", () => {
|
it("will throw if target version is not a number", () => {
|
||||||
const plugin = {
|
const plugin = {
|
||||||
"node": 6,
|
node: 6,
|
||||||
};
|
};
|
||||||
|
|
||||||
const targets = {
|
const targets = {
|
||||||
"node": "6.5",
|
node: "6.5",
|
||||||
};
|
};
|
||||||
|
|
||||||
assert.throws(() => {
|
assert.throws(
|
||||||
|
() => {
|
||||||
babelPresetEnv.isPluginRequired(targets, plugin);
|
babelPresetEnv.isPluginRequired(targets, plugin);
|
||||||
}, Error);
|
},
|
||||||
|
Error,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("transformIncludesAndExcludes", function() {
|
describe("transformIncludesAndExcludes", () => {
|
||||||
it("should return in transforms array", function() {
|
it("should return in transforms array", () => {
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
babelPresetEnv.transformIncludesAndExcludes(["transform-es2015-arrow-functions"]),
|
babelPresetEnv.transformIncludesAndExcludes([
|
||||||
|
"transform-es2015-arrow-functions",
|
||||||
|
]),
|
||||||
{
|
{
|
||||||
all: ["transform-es2015-arrow-functions"],
|
all: ["transform-es2015-arrow-functions"],
|
||||||
plugins: ["transform-es2015-arrow-functions"],
|
plugins: ["transform-es2015-arrow-functions"],
|
||||||
builtIns: []
|
builtIns: [],
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should return in built-ins array", function() {
|
it("should return in built-ins array", () => {
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
babelPresetEnv.transformIncludesAndExcludes(["es6.map"]),
|
babelPresetEnv.transformIncludesAndExcludes(["es6.map"]),
|
||||||
{
|
{
|
||||||
all: ["es6.map"],
|
all: ["es6.map"],
|
||||||
plugins: [],
|
plugins: [],
|
||||||
builtIns: ["es6.map"]
|
builtIns: ["es6.map"],
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -7,7 +7,7 @@ const {
|
|||||||
checkDuplicateIncludeExcludes,
|
checkDuplicateIncludeExcludes,
|
||||||
validateIncludesAndExcludes,
|
validateIncludesAndExcludes,
|
||||||
validateLooseOption,
|
validateLooseOption,
|
||||||
validateModulesOption
|
validateModulesOption,
|
||||||
} = normalizeOptions;
|
} = normalizeOptions;
|
||||||
|
|
||||||
describe("normalize-options", () => {
|
describe("normalize-options", () => {
|
||||||
@ -25,29 +25,35 @@ describe("normalize-options", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("array option is invalid", () => {
|
it("array option is invalid", () => {
|
||||||
assert.throws(() => {
|
assert.throws(
|
||||||
|
() => {
|
||||||
validateLooseOption([]);
|
validateLooseOption([]);
|
||||||
}, Error);
|
},
|
||||||
|
Error,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("checkDuplicateIncludeExcludes", function() {
|
describe("checkDuplicateIncludeExcludes", function() {
|
||||||
it("should throw if duplicate names in both", function() {
|
it("should throw if duplicate names in both", function() {
|
||||||
assert.throws(() => {
|
assert.throws(
|
||||||
|
() => {
|
||||||
checkDuplicateIncludeExcludes(
|
checkDuplicateIncludeExcludes(
|
||||||
["transform-regenerator", "map"],
|
["transform-regenerator", "map"],
|
||||||
["transform-regenerator", "map"]
|
["transform-regenerator", "map"],
|
||||||
|
);
|
||||||
|
},
|
||||||
|
Error,
|
||||||
);
|
);
|
||||||
}, Error);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should not throw if no duplicate names in both", function() {
|
it("should not throw if no duplicate names in both", function() {
|
||||||
assert.doesNotThrow(() => {
|
assert.doesNotThrow(
|
||||||
checkDuplicateIncludeExcludes(
|
() => {
|
||||||
["transform-regenerator"],
|
checkDuplicateIncludeExcludes(["transform-regenerator"], ["map"]);
|
||||||
["map"]
|
},
|
||||||
|
Error,
|
||||||
);
|
);
|
||||||
}, Error);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -77,15 +83,21 @@ describe("normalize-options", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("`true` option is invalid", () => {
|
it("`true` option is invalid", () => {
|
||||||
assert.throws(() => {
|
assert.throws(
|
||||||
|
() => {
|
||||||
validateModulesOption(true);
|
validateModulesOption(true);
|
||||||
}, Error);
|
},
|
||||||
|
Error,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("array option is invalid", () => {
|
it("array option is invalid", () => {
|
||||||
assert.throws(() => {
|
assert.throws(
|
||||||
|
() => {
|
||||||
assert(validateModulesOption([]));
|
assert(validateModulesOption([]));
|
||||||
}, Error);
|
},
|
||||||
|
Error,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe("validateIncludesAndExcludes", function() {
|
describe("validateIncludesAndExcludes", function() {
|
||||||
@ -93,9 +105,12 @@ describe("normalize-options", () => {
|
|||||||
assert.deepEqual(validateIncludesAndExcludes(), []);
|
assert.deepEqual(validateIncludesAndExcludes(), []);
|
||||||
});
|
});
|
||||||
it("should throw if not in features", function() {
|
it("should throw if not in features", function() {
|
||||||
assert.throws(() => {
|
assert.throws(
|
||||||
|
() => {
|
||||||
validateIncludesAndExcludes(["asdf"]);
|
validateIncludesAndExcludes(["asdf"]);
|
||||||
}, Error);
|
},
|
||||||
|
Error,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -57,7 +57,7 @@ amdefine@>=0.0.4:
|
|||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
|
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
|
||||||
|
|
||||||
ansi-escapes@^1.1.0:
|
ansi-escapes@^1.0.0, ansi-escapes@^1.1.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
|
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
|
||||||
|
|
||||||
@ -69,6 +69,12 @@ ansi-styles@^2.2.1:
|
|||||||
version "2.2.1"
|
version "2.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
|
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
|
||||||
|
|
||||||
|
ansi-styles@^3.0.0:
|
||||||
|
version "3.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.0.0.tgz#5404e93a544c4fec7f048262977bebfe3155e0c1"
|
||||||
|
dependencies:
|
||||||
|
color-convert "^1.0.0"
|
||||||
|
|
||||||
ansidiff@~1.0.0:
|
ansidiff@~1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/ansidiff/-/ansidiff-1.0.0.tgz#d4a3ed89ab1670f20c097def759f34d944478aab"
|
resolved "https://registry.yarnpkg.com/ansidiff/-/ansidiff-1.0.0.tgz#d4a3ed89ab1670f20c097def759f34d944478aab"
|
||||||
@ -82,6 +88,10 @@ anymatch@^1.3.0:
|
|||||||
arrify "^1.0.0"
|
arrify "^1.0.0"
|
||||||
micromatch "^2.1.5"
|
micromatch "^2.1.5"
|
||||||
|
|
||||||
|
app-root-path@^2.0.0:
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46"
|
||||||
|
|
||||||
append-transform@^0.4.0:
|
append-transform@^0.4.0:
|
||||||
version "0.4.0"
|
version "0.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991"
|
resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991"
|
||||||
@ -164,6 +174,14 @@ assertion-error@^1.0.1:
|
|||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c"
|
resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c"
|
||||||
|
|
||||||
|
ast-types@0.8.18:
|
||||||
|
version "0.8.18"
|
||||||
|
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.8.18.tgz#c8b98574898e8914e9d8de74b947564a9fe929af"
|
||||||
|
|
||||||
|
ast-types@0.9.4:
|
||||||
|
version "0.9.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.4.tgz#410d1f81890aeb8e0a38621558ba5869ae53c91b"
|
||||||
|
|
||||||
ast-types@0.9.5:
|
ast-types@0.9.5:
|
||||||
version "0.9.5"
|
version "0.9.5"
|
||||||
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.5.tgz#1a660a09945dbceb1f9c9cbb715002617424e04a"
|
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.5.tgz#1a660a09945dbceb1f9c9cbb715002617424e04a"
|
||||||
@ -211,17 +229,17 @@ babel-cli@7.0.0-alpha.1:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
chokidar "^1.6.1"
|
chokidar "^1.6.1"
|
||||||
|
|
||||||
babel-code-frame@7.0.0-alpha.1:
|
babel-code-frame@6.22.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
|
||||||
version "7.0.0-alpha.1"
|
version "6.22.0"
|
||||||
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-7.0.0-alpha.1.tgz#d72908f1401d27e1f75eb872d4d8553f4c5bfcd0"
|
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk "^1.1.0"
|
chalk "^1.1.0"
|
||||||
esutils "^2.0.2"
|
esutils "^2.0.2"
|
||||||
js-tokens "^3.0.0"
|
js-tokens "^3.0.0"
|
||||||
|
|
||||||
babel-code-frame@^6.16.0, babel-code-frame@^6.22.0:
|
babel-code-frame@7.0.0-alpha.1:
|
||||||
version "6.22.0"
|
version "7.0.0-alpha.1"
|
||||||
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
|
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-7.0.0-alpha.1.tgz#d72908f1401d27e1f75eb872d4d8553f4c5bfcd0"
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk "^1.1.0"
|
chalk "^1.1.0"
|
||||||
esutils "^2.0.2"
|
esutils "^2.0.2"
|
||||||
@ -1283,6 +1301,10 @@ babel-types@^6.15.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.22
|
|||||||
lodash "^4.2.0"
|
lodash "^4.2.0"
|
||||||
to-fast-properties "^1.0.1"
|
to-fast-properties "^1.0.1"
|
||||||
|
|
||||||
|
babylon@6.15.0:
|
||||||
|
version "6.15.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
|
||||||
|
|
||||||
babylon@7.0.0-beta.4:
|
babylon@7.0.0-beta.4:
|
||||||
version "7.0.0-beta.4"
|
version "7.0.0-beta.4"
|
||||||
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.4.tgz#82db799d2667f61bbaf34456dbfa91c37613459d"
|
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.4.tgz#82db799d2667f61bbaf34456dbfa91c37613459d"
|
||||||
@ -1414,7 +1436,7 @@ chai@^3.0.0, chai@^3.5.0:
|
|||||||
deep-eql "^0.1.3"
|
deep-eql "^0.1.3"
|
||||||
type-detect "^1.0.0"
|
type-detect "^1.0.0"
|
||||||
|
|
||||||
chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
|
chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
|
||||||
version "1.1.3"
|
version "1.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
|
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -1451,16 +1473,31 @@ chokidar@^1.6.1:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents "^1.0.0"
|
fsevents "^1.0.0"
|
||||||
|
|
||||||
|
ci-info@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534"
|
||||||
|
|
||||||
circular-json@^0.3.1:
|
circular-json@^0.3.1:
|
||||||
version "0.3.1"
|
version "0.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
|
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
|
||||||
|
|
||||||
cli-cursor@^1.0.1:
|
cli-cursor@^1.0.1, cli-cursor@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
|
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
|
||||||
dependencies:
|
dependencies:
|
||||||
restore-cursor "^1.0.1"
|
restore-cursor "^1.0.1"
|
||||||
|
|
||||||
|
cli-spinners@^0.1.2:
|
||||||
|
version "0.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c"
|
||||||
|
|
||||||
|
cli-truncate@^0.2.1:
|
||||||
|
version "0.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574"
|
||||||
|
dependencies:
|
||||||
|
slice-ansi "0.0.4"
|
||||||
|
string-width "^1.0.1"
|
||||||
|
|
||||||
cli-width@^2.0.0:
|
cli-width@^2.0.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
|
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
|
||||||
@ -1517,13 +1554,27 @@ codecov@^1.0.1:
|
|||||||
request ">=2.42.0"
|
request ">=2.42.0"
|
||||||
urlgrey ">=0.4.0"
|
urlgrey ">=0.4.0"
|
||||||
|
|
||||||
|
color-convert@^1.0.0:
|
||||||
|
version "1.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a"
|
||||||
|
dependencies:
|
||||||
|
color-name "^1.1.1"
|
||||||
|
|
||||||
|
color-name@^1.1.1:
|
||||||
|
version "1.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689"
|
||||||
|
|
||||||
|
colors@>=0.6.2:
|
||||||
|
version "1.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
|
||||||
|
|
||||||
combined-stream@^1.0.5, combined-stream@~1.0.5:
|
combined-stream@^1.0.5, combined-stream@~1.0.5:
|
||||||
version "1.0.5"
|
version "1.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
|
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
|
||||||
dependencies:
|
dependencies:
|
||||||
delayed-stream "~1.0.0"
|
delayed-stream "~1.0.0"
|
||||||
|
|
||||||
commander@2.9.0, commander@2.9.x, commander@^2.5.0, commander@^2.8.1:
|
commander@2.9.0, commander@2.9.x, commander@^2.5.0, commander@^2.8.1, commander@^2.9.0:
|
||||||
version "2.9.0"
|
version "2.9.0"
|
||||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
|
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -1609,6 +1660,19 @@ core-util-is@~1.0.0:
|
|||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
||||||
|
|
||||||
|
cosmiconfig@^1.1.0:
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-1.1.0.tgz#0dea0f9804efdfb929fbb1b188e25553ea053d37"
|
||||||
|
dependencies:
|
||||||
|
graceful-fs "^4.1.2"
|
||||||
|
js-yaml "^3.4.3"
|
||||||
|
minimist "^1.2.0"
|
||||||
|
object-assign "^4.0.1"
|
||||||
|
os-homedir "^1.0.1"
|
||||||
|
parse-json "^2.2.0"
|
||||||
|
pinkie-promise "^2.0.0"
|
||||||
|
require-from-string "^1.1.0"
|
||||||
|
|
||||||
cross-spawn@^4:
|
cross-spawn@^4:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
|
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41"
|
||||||
@ -1616,6 +1680,14 @@ cross-spawn@^4:
|
|||||||
lru-cache "^4.0.1"
|
lru-cache "^4.0.1"
|
||||||
which "^1.2.9"
|
which "^1.2.9"
|
||||||
|
|
||||||
|
cross-spawn@^5.0.1:
|
||||||
|
version "5.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
|
||||||
|
dependencies:
|
||||||
|
lru-cache "^4.0.1"
|
||||||
|
shebang-command "^1.2.0"
|
||||||
|
which "^1.2.9"
|
||||||
|
|
||||||
cryptiles@2.x.x:
|
cryptiles@2.x.x:
|
||||||
version "2.0.5"
|
version "2.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
|
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
|
||||||
@ -1657,6 +1729,10 @@ dashdash@^1.12.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
assert-plus "^1.0.0"
|
assert-plus "^1.0.0"
|
||||||
|
|
||||||
|
date-fns@^1.27.2:
|
||||||
|
version "1.28.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.0.tgz#3b12f54b66467807bb95e5930caf7bfb4170bc1a"
|
||||||
|
|
||||||
date-now@^0.1.4:
|
date-now@^0.1.4:
|
||||||
version "0.1.4"
|
version "0.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
|
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
|
||||||
@ -1767,7 +1843,11 @@ dom-serializer@0, dom-serializer@~0.1.0:
|
|||||||
domelementtype "~1.1.1"
|
domelementtype "~1.1.1"
|
||||||
entities "~1.1.1"
|
entities "~1.1.1"
|
||||||
|
|
||||||
domelementtype@1, domelementtype@~1.1.1:
|
domelementtype@1:
|
||||||
|
version "1.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
|
||||||
|
|
||||||
|
domelementtype@~1.1.1:
|
||||||
version "1.1.3"
|
version "1.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
|
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
|
||||||
|
|
||||||
@ -1794,6 +1874,10 @@ electron-to-chromium@^1.1.0, electron-to-chromium@^1.2.5, electron-to-chromium@^
|
|||||||
version "1.2.6"
|
version "1.2.6"
|
||||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.6.tgz#f38ad51d1919b06bc07275c62629db803ddca05a"
|
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.6.tgz#f38ad51d1919b06bc07275c62629db803ddca05a"
|
||||||
|
|
||||||
|
elegant-spinner@^1.0.1:
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
|
||||||
|
|
||||||
entities@1.0:
|
entities@1.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26"
|
resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26"
|
||||||
@ -2034,7 +2118,7 @@ estraverse@~4.1.0:
|
|||||||
version "4.1.1"
|
version "4.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2"
|
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2"
|
||||||
|
|
||||||
esutils@^2.0.2:
|
esutils@2.0.2, esutils@^2.0.2:
|
||||||
version "2.0.2"
|
version "2.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
|
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
|
||||||
|
|
||||||
@ -2051,6 +2135,18 @@ execSync@1.0.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
temp "~0.5.1"
|
temp "~0.5.1"
|
||||||
|
|
||||||
|
execa@^0.6.0:
|
||||||
|
version "0.6.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/execa/-/execa-0.6.0.tgz#934fc9f04a9febb4d4b449d976e92cfd95ef4f6e"
|
||||||
|
dependencies:
|
||||||
|
cross-spawn "^5.0.1"
|
||||||
|
get-stream "^3.0.0"
|
||||||
|
is-stream "^1.1.0"
|
||||||
|
npm-run-path "^2.0.0"
|
||||||
|
p-finally "^1.0.0"
|
||||||
|
signal-exit "^3.0.0"
|
||||||
|
strip-eof "^1.0.0"
|
||||||
|
|
||||||
exit-hook@^1.0.0:
|
exit-hook@^1.0.0:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
|
resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
|
||||||
@ -2089,7 +2185,7 @@ fast-levenshtein@~2.0.4:
|
|||||||
version "2.0.6"
|
version "2.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
|
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
|
||||||
|
|
||||||
figures@^1.3.5:
|
figures@^1.3.5, figures@^1.7.0:
|
||||||
version "1.7.0"
|
version "1.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
|
resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -2125,6 +2221,10 @@ find-cache-dir@^0.1.1:
|
|||||||
mkdirp "^0.5.1"
|
mkdirp "^0.5.1"
|
||||||
pkg-dir "^1.0.0"
|
pkg-dir "^1.0.0"
|
||||||
|
|
||||||
|
find-parent-dir@^0.3.0:
|
||||||
|
version "0.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54"
|
||||||
|
|
||||||
find-up@^1.0.0, find-up@^1.1.2:
|
find-up@^1.0.0, find-up@^1.1.2:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
|
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
|
||||||
@ -2141,6 +2241,14 @@ flat-cache@^1.2.1:
|
|||||||
graceful-fs "^4.1.2"
|
graceful-fs "^4.1.2"
|
||||||
write "^0.2.1"
|
write "^0.2.1"
|
||||||
|
|
||||||
|
flow-parser@0.40.0:
|
||||||
|
version "0.40.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.40.0.tgz#b3444742189093323c4319c4fe9d35391f46bcbc"
|
||||||
|
dependencies:
|
||||||
|
ast-types "0.8.18"
|
||||||
|
colors ">=0.6.2"
|
||||||
|
minimist ">=0.2.0"
|
||||||
|
|
||||||
for-in@^1.0.1:
|
for-in@^1.0.1:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
|
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
|
||||||
@ -2244,6 +2352,14 @@ get-caller-file@^1.0.1:
|
|||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
|
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
|
||||||
|
|
||||||
|
get-stdin@5.0.1:
|
||||||
|
version "5.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
|
||||||
|
|
||||||
|
get-stream@^3.0.0:
|
||||||
|
version "3.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
|
||||||
|
|
||||||
getpass@^0.1.1:
|
getpass@^0.1.1:
|
||||||
version "0.1.6"
|
version "0.1.6"
|
||||||
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
|
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
|
||||||
@ -2284,7 +2400,7 @@ glob@7.0.5:
|
|||||||
once "^1.3.0"
|
once "^1.3.0"
|
||||||
path-is-absolute "^1.0.0"
|
path-is-absolute "^1.0.0"
|
||||||
|
|
||||||
glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1:
|
glob@7.1.1, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1:
|
||||||
version "7.1.1"
|
version "7.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
|
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -2413,6 +2529,15 @@ http-signature@~1.1.0:
|
|||||||
jsprim "^1.2.2"
|
jsprim "^1.2.2"
|
||||||
sshpk "^1.7.0"
|
sshpk "^1.7.0"
|
||||||
|
|
||||||
|
husky@^0.13.2:
|
||||||
|
version "0.13.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/husky/-/husky-0.13.2.tgz#9dcf212f88e61dba36f17be1a202ed61ff6c0661"
|
||||||
|
dependencies:
|
||||||
|
chalk "^1.1.3"
|
||||||
|
find-parent-dir "^0.3.0"
|
||||||
|
is-ci "^1.0.9"
|
||||||
|
normalize-path "^1.0.0"
|
||||||
|
|
||||||
iconv-lite@^0.4.5:
|
iconv-lite@^0.4.5:
|
||||||
version "0.4.15"
|
version "0.4.15"
|
||||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
|
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
|
||||||
@ -2425,6 +2550,16 @@ imurmurhash@^0.1.4:
|
|||||||
version "0.1.4"
|
version "0.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
|
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
|
||||||
|
|
||||||
|
indent-string@^2.1.0:
|
||||||
|
version "2.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
|
||||||
|
dependencies:
|
||||||
|
repeating "^2.0.0"
|
||||||
|
|
||||||
|
indent-string@^3.0.0:
|
||||||
|
version "3.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.1.0.tgz#08ff4334603388399b329e6b9538dc7a3cf5de7d"
|
||||||
|
|
||||||
inflight@^1.0.4:
|
inflight@^1.0.4:
|
||||||
version "1.0.6"
|
version "1.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
|
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
|
||||||
@ -2496,6 +2631,12 @@ is-callable@^1.1.1, is-callable@^1.1.3:
|
|||||||
version "1.1.3"
|
version "1.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
|
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
|
||||||
|
|
||||||
|
is-ci@^1.0.9:
|
||||||
|
version "1.0.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e"
|
||||||
|
dependencies:
|
||||||
|
ci-info "^1.0.0"
|
||||||
|
|
||||||
is-date-object@^1.0.1:
|
is-date-object@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
|
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
|
||||||
@ -2579,6 +2720,10 @@ is-primitive@^2.0.0:
|
|||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
|
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
|
||||||
|
|
||||||
|
is-promise@^2.1.0:
|
||||||
|
version "2.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
|
||||||
|
|
||||||
is-property@^1.0.0:
|
is-property@^1.0.0:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
|
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
|
||||||
@ -2595,6 +2740,10 @@ is-resolvable@^1.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
tryit "^1.0.1"
|
tryit "^1.0.1"
|
||||||
|
|
||||||
|
is-stream@^1.1.0:
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
|
||||||
|
|
||||||
is-symbol@^1.0.1:
|
is-symbol@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
|
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
|
||||||
@ -2677,6 +2826,22 @@ istanbul-reports@^1.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
handlebars "^4.0.3"
|
handlebars "^4.0.3"
|
||||||
|
|
||||||
|
jest-matcher-utils@^19.0.0:
|
||||||
|
version "19.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-19.0.0.tgz#5ecd9b63565d2b001f61fbf7ec4c7f537964564d"
|
||||||
|
dependencies:
|
||||||
|
chalk "^1.1.3"
|
||||||
|
pretty-format "^19.0.0"
|
||||||
|
|
||||||
|
jest-validate@19.0.0:
|
||||||
|
version "19.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-19.0.0.tgz#8c6318a20ecfeaba0ba5378bfbb8277abded4173"
|
||||||
|
dependencies:
|
||||||
|
chalk "^1.1.1"
|
||||||
|
jest-matcher-utils "^19.0.0"
|
||||||
|
leven "^2.0.0"
|
||||||
|
pretty-format "^19.0.0"
|
||||||
|
|
||||||
jodid25519@^1.0.0:
|
jodid25519@^1.0.0:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
|
resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
|
||||||
@ -2687,7 +2852,7 @@ js-tokens@^3.0.0:
|
|||||||
version "3.0.1"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
|
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
|
||||||
|
|
||||||
js-yaml@^3.5.1:
|
js-yaml@^3.4.3, js-yaml@^3.5.1:
|
||||||
version "3.8.2"
|
version "3.8.2"
|
||||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.2.tgz#02d3e2c0f6beab20248d412c352203827d786721"
|
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.2.tgz#02d3e2c0f6beab20248d412c352203827d786721"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -2813,6 +2978,10 @@ lcid@^1.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
invert-kv "^1.0.0"
|
invert-kv "^1.0.0"
|
||||||
|
|
||||||
|
leven@^2.0.0:
|
||||||
|
version "2.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
|
||||||
|
|
||||||
levn@^0.3.0, levn@~0.3.0:
|
levn@^0.3.0, levn@~0.3.0:
|
||||||
version "0.3.0"
|
version "0.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
|
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
|
||||||
@ -2820,6 +2989,65 @@ levn@^0.3.0, levn@~0.3.0:
|
|||||||
prelude-ls "~1.1.2"
|
prelude-ls "~1.1.2"
|
||||||
type-check "~0.3.2"
|
type-check "~0.3.2"
|
||||||
|
|
||||||
|
lint-staged@^3.3.1:
|
||||||
|
version "3.3.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-3.3.1.tgz#b725d98a2be1f82cb228069fab682f503c95234d"
|
||||||
|
dependencies:
|
||||||
|
app-root-path "^2.0.0"
|
||||||
|
cosmiconfig "^1.1.0"
|
||||||
|
execa "^0.6.0"
|
||||||
|
listr "^0.11.0"
|
||||||
|
minimatch "^3.0.0"
|
||||||
|
npm-which "^3.0.1"
|
||||||
|
staged-git-files "0.0.4"
|
||||||
|
which "^1.2.11"
|
||||||
|
|
||||||
|
listr-silent-renderer@^1.1.1:
|
||||||
|
version "1.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e"
|
||||||
|
|
||||||
|
listr-update-renderer@^0.2.0:
|
||||||
|
version "0.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz#ca80e1779b4e70266807e8eed1ad6abe398550f9"
|
||||||
|
dependencies:
|
||||||
|
chalk "^1.1.3"
|
||||||
|
cli-truncate "^0.2.1"
|
||||||
|
elegant-spinner "^1.0.1"
|
||||||
|
figures "^1.7.0"
|
||||||
|
indent-string "^3.0.0"
|
||||||
|
log-symbols "^1.0.2"
|
||||||
|
log-update "^1.0.2"
|
||||||
|
strip-ansi "^3.0.1"
|
||||||
|
|
||||||
|
listr-verbose-renderer@^0.4.0:
|
||||||
|
version "0.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.0.tgz#44dc01bb0c34a03c572154d4d08cde9b1dc5620f"
|
||||||
|
dependencies:
|
||||||
|
chalk "^1.1.3"
|
||||||
|
cli-cursor "^1.0.2"
|
||||||
|
date-fns "^1.27.2"
|
||||||
|
figures "^1.7.0"
|
||||||
|
|
||||||
|
listr@^0.11.0:
|
||||||
|
version "0.11.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/listr/-/listr-0.11.0.tgz#5e778bc23806ac3ab984ed75564458151f39b03e"
|
||||||
|
dependencies:
|
||||||
|
chalk "^1.1.3"
|
||||||
|
cli-truncate "^0.2.1"
|
||||||
|
figures "^1.7.0"
|
||||||
|
indent-string "^2.1.0"
|
||||||
|
is-promise "^2.1.0"
|
||||||
|
is-stream "^1.1.0"
|
||||||
|
listr-silent-renderer "^1.1.1"
|
||||||
|
listr-update-renderer "^0.2.0"
|
||||||
|
listr-verbose-renderer "^0.4.0"
|
||||||
|
log-symbols "^1.0.2"
|
||||||
|
log-update "^1.0.2"
|
||||||
|
ora "^0.2.3"
|
||||||
|
rxjs "^5.0.0-beta.11"
|
||||||
|
stream-to-observable "^0.1.0"
|
||||||
|
strip-ansi "^3.0.1"
|
||||||
|
|
||||||
load-json-file@^1.0.0:
|
load-json-file@^1.0.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
|
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
|
||||||
@ -2889,6 +3117,19 @@ lodash@^4.0.0, lodash@^4.1.0, lodash@^4.15.0, lodash@^4.17.4, lodash@^4.2.0, lod
|
|||||||
version "4.17.4"
|
version "4.17.4"
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
|
||||||
|
|
||||||
|
log-symbols@^1.0.2:
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
|
||||||
|
dependencies:
|
||||||
|
chalk "^1.0.0"
|
||||||
|
|
||||||
|
log-update@^1.0.2:
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1"
|
||||||
|
dependencies:
|
||||||
|
ansi-escapes "^1.0.0"
|
||||||
|
cli-cursor "^1.0.2"
|
||||||
|
|
||||||
longest@^1.0.1:
|
longest@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
|
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
|
||||||
@ -2960,7 +3201,7 @@ minimist@0.0.8, minimist@~0.0.1:
|
|||||||
version "0.0.8"
|
version "0.0.8"
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
||||||
|
|
||||||
minimist@^1.2.0:
|
minimist@1.2.0, minimist@>=0.2.0, minimist@^1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
|
||||||
|
|
||||||
@ -3035,10 +3276,34 @@ normalize-package-data@^2.3.2:
|
|||||||
semver "2 || 3 || 4 || 5"
|
semver "2 || 3 || 4 || 5"
|
||||||
validate-npm-package-license "^3.0.1"
|
validate-npm-package-license "^3.0.1"
|
||||||
|
|
||||||
|
normalize-path@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379"
|
||||||
|
|
||||||
normalize-path@^2.0.1:
|
normalize-path@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a"
|
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a"
|
||||||
|
|
||||||
|
npm-path@^2.0.2:
|
||||||
|
version "2.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.3.tgz#15cff4e1c89a38da77f56f6055b24f975dfb2bbe"
|
||||||
|
dependencies:
|
||||||
|
which "^1.2.10"
|
||||||
|
|
||||||
|
npm-run-path@^2.0.0:
|
||||||
|
version "2.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
|
||||||
|
dependencies:
|
||||||
|
path-key "^2.0.0"
|
||||||
|
|
||||||
|
npm-which@^3.0.1:
|
||||||
|
version "3.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa"
|
||||||
|
dependencies:
|
||||||
|
commander "^2.9.0"
|
||||||
|
npm-path "^2.0.2"
|
||||||
|
which "^1.2.10"
|
||||||
|
|
||||||
npmlog@^4.0.1:
|
npmlog@^4.0.1:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
|
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
|
||||||
@ -3184,6 +3449,15 @@ optionator@^0.8.1, optionator@^0.8.2:
|
|||||||
type-check "~0.3.2"
|
type-check "~0.3.2"
|
||||||
wordwrap "~1.0.0"
|
wordwrap "~1.0.0"
|
||||||
|
|
||||||
|
ora@^0.2.3:
|
||||||
|
version "0.2.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4"
|
||||||
|
dependencies:
|
||||||
|
chalk "^1.1.1"
|
||||||
|
cli-cursor "^1.0.2"
|
||||||
|
cli-spinners "^0.1.2"
|
||||||
|
object-assign "^4.0.1"
|
||||||
|
|
||||||
os-homedir@^1.0.0, os-homedir@^1.0.1:
|
os-homedir@^1.0.0, os-homedir@^1.0.1:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
|
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
|
||||||
@ -3206,6 +3480,10 @@ output-file-sync@^1.1.0:
|
|||||||
mkdirp "^0.5.1"
|
mkdirp "^0.5.1"
|
||||||
object-assign "^4.1.0"
|
object-assign "^4.1.0"
|
||||||
|
|
||||||
|
p-finally@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
|
||||||
|
|
||||||
parse-glob@^3.0.4:
|
parse-glob@^3.0.4:
|
||||||
version "3.0.4"
|
version "3.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
|
resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
|
||||||
@ -3239,6 +3517,10 @@ path-is-inside@^1.0.1:
|
|||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
|
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
|
||||||
|
|
||||||
|
path-key@^2.0.0:
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
|
||||||
|
|
||||||
path-parse@^1.0.5:
|
path-parse@^1.0.5:
|
||||||
version "1.0.5"
|
version "1.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
|
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
|
||||||
@ -3287,6 +3569,27 @@ preserve@^0.2.0:
|
|||||||
version "0.2.0"
|
version "0.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
|
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
|
||||||
|
|
||||||
|
prettier@^0.22.0:
|
||||||
|
version "0.22.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/prettier/-/prettier-0.22.0.tgz#7b37c4480d0858180407e5a8e13f0f47da7385d2"
|
||||||
|
dependencies:
|
||||||
|
ast-types "0.9.4"
|
||||||
|
babel-code-frame "6.22.0"
|
||||||
|
babylon "6.15.0"
|
||||||
|
chalk "1.1.3"
|
||||||
|
esutils "2.0.2"
|
||||||
|
flow-parser "0.40.0"
|
||||||
|
get-stdin "5.0.1"
|
||||||
|
glob "7.1.1"
|
||||||
|
jest-validate "19.0.0"
|
||||||
|
minimist "1.2.0"
|
||||||
|
|
||||||
|
pretty-format@^19.0.0:
|
||||||
|
version "19.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-19.0.0.tgz#56530d32acb98a3fa4851c4e2b9d37b420684c84"
|
||||||
|
dependencies:
|
||||||
|
ansi-styles "^3.0.0"
|
||||||
|
|
||||||
private@^0.1.6, private@~0.1.5:
|
private@^0.1.6, private@~0.1.5:
|
||||||
version "0.1.7"
|
version "0.1.7"
|
||||||
resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
|
resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
|
||||||
@ -3533,6 +3836,10 @@ require-directory@^2.1.1:
|
|||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
||||||
|
|
||||||
|
require-from-string@^1.1.0:
|
||||||
|
version "1.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418"
|
||||||
|
|
||||||
require-main-filename@^1.0.1:
|
require-main-filename@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
|
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
|
||||||
@ -3603,6 +3910,12 @@ rx-lite@^3.1.2:
|
|||||||
version "3.1.2"
|
version "3.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
|
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
|
||||||
|
|
||||||
|
rxjs@^5.0.0-beta.11:
|
||||||
|
version "5.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.2.0.tgz#db537de8767c05fa73721587a29e0085307d318b"
|
||||||
|
dependencies:
|
||||||
|
symbol-observable "^1.0.1"
|
||||||
|
|
||||||
safe-buffer@^5.0.1:
|
safe-buffer@^5.0.1:
|
||||||
version "5.0.1"
|
version "5.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
|
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
|
||||||
@ -3627,6 +3940,16 @@ set-immediate-shim@^1.0.1:
|
|||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
|
resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
|
||||||
|
|
||||||
|
shebang-command@^1.2.0:
|
||||||
|
version "1.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
|
||||||
|
dependencies:
|
||||||
|
shebang-regex "^1.0.0"
|
||||||
|
|
||||||
|
shebang-regex@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
|
||||||
|
|
||||||
shelljs@0.3.x:
|
shelljs@0.3.x:
|
||||||
version "0.3.0"
|
version "0.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.3.0.tgz#3596e6307a781544f591f37da618360f31db57b1"
|
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.3.0.tgz#3596e6307a781544f591f37da618360f31db57b1"
|
||||||
@ -3751,6 +4074,14 @@ sshpk@^1.7.0:
|
|||||||
jsbn "~0.1.0"
|
jsbn "~0.1.0"
|
||||||
tweetnacl "~0.14.0"
|
tweetnacl "~0.14.0"
|
||||||
|
|
||||||
|
staged-git-files@0.0.4:
|
||||||
|
version "0.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-0.0.4.tgz#d797e1b551ca7a639dec0237dc6eb4bb9be17d35"
|
||||||
|
|
||||||
|
stream-to-observable@^0.1.0:
|
||||||
|
version "0.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.1.0.tgz#45bf1d9f2d7dc09bed81f1c307c430e68b84cffe"
|
||||||
|
|
||||||
string-alter@latest:
|
string-alter@latest:
|
||||||
version "0.7.3"
|
version "0.7.3"
|
||||||
resolved "https://registry.yarnpkg.com/string-alter/-/string-alter-0.7.3.tgz#a99f203d7293396348b49fc723dd7ab0a0b8d892"
|
resolved "https://registry.yarnpkg.com/string-alter/-/string-alter-0.7.3.tgz#a99f203d7293396348b49fc723dd7ab0a0b8d892"
|
||||||
@ -3840,6 +4171,10 @@ strip-bom@^3.0.0:
|
|||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
|
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
|
||||||
|
|
||||||
|
strip-eof@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
|
||||||
|
|
||||||
strip-json-comments@1.0.x:
|
strip-json-comments@1.0.x:
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
|
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
|
||||||
@ -3858,6 +4193,10 @@ supports-color@^2.0.0:
|
|||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
|
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
|
||||||
|
|
||||||
|
symbol-observable@^1.0.1:
|
||||||
|
version "1.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
|
||||||
|
|
||||||
"symbol-tree@>= 3.1.0 < 4.0.0":
|
"symbol-tree@>= 3.1.0 < 4.0.0":
|
||||||
version "3.2.2"
|
version "3.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
|
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
|
||||||
@ -4082,7 +4421,7 @@ which-module@^1.0.0:
|
|||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
|
resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
|
||||||
|
|
||||||
which@^1.2.4, which@^1.2.9:
|
which@^1.2.10, which@^1.2.11, which@^1.2.4, which@^1.2.9:
|
||||||
version "1.2.12"
|
version "1.2.12"
|
||||||
resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192"
|
resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -4098,14 +4437,10 @@ window-size@0.1.0:
|
|||||||
version "0.1.0"
|
version "0.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
|
resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
|
||||||
|
|
||||||
wordwrap@0.0.2:
|
wordwrap@0.0.2, wordwrap@~0.0.2:
|
||||||
version "0.0.2"
|
version "0.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
|
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
|
||||||
|
|
||||||
wordwrap@~0.0.2:
|
|
||||||
version "0.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
|
|
||||||
|
|
||||||
wordwrap@~1.0.0:
|
wordwrap@~1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
|
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user