Socket
Socket
Sign inDemoInstall

@babel/core

Package Overview
Dependencies
Maintainers
9
Versions
191
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/core - npm Package Compare versions

Comparing version 7.0.0-beta.35 to 7.0.0-beta.36

lib/config/config-chain.js

30

lib/config/caching.js

@@ -33,5 +33,5 @@ "use strict";

var _ref3 = _ref2;
var _value2 = _ref3[0];
var _valid = _ref3[1];
if (_valid(data)) return _value2;
var _value2 = _ref3.value,
_valid2 = _ref3.valid;
if (_valid2(data)) return _value2;
}

@@ -47,5 +47,8 @@ }

case "forever":
cachedValue = [[value, function () {
return true;
}]];
cachedValue = [{
value: value,
valid: function valid() {
return true;
}
}];
callCache.set(arg, cachedValue);

@@ -55,3 +58,6 @@ break;

case "invalidate":
cachedValue = [[value, cache.validator()]];
cachedValue = [{
value: value,
valid: cache.validator()
}];
callCache.set(arg, cachedValue);

@@ -62,5 +68,11 @@ break;

if (cachedValue) {
cachedValue.push([value, cache.validator()]);
cachedValue.push({
value: value,
valid: cache.validator()
});
} else {
cachedValue = [[value, cache.validator()]];
cachedValue = [{
value: value,
valid: cache.validator()
}];
callCache.set(arg, cachedValue);

@@ -67,0 +79,0 @@ }

@@ -6,12 +6,269 @@ "use strict";

var _optionManager = _interopRequireDefault(require("./option-manager"));
var _path = _interopRequireDefault(require("path"));
var context = _interopRequireWildcard(require("../index"));
var _plugin = _interopRequireDefault(require("./plugin"));
var _merge = _interopRequireDefault(require("lodash/merge"));
var _configChain = require("./config-chain");
var _traverse = _interopRequireDefault(require("@babel/traverse"));
var _clone = _interopRequireDefault(require("lodash/clone"));
var _caching = require("./caching");
var _environment = require("./helpers/environment");
var _options = require("./validation/options");
var _plugins = require("./validation/plugins");
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function loadConfig(opts) {
if (opts != null && (typeof opts !== "object" || Array.isArray(opts))) {
function loadConfig(inputOpts) {
if (inputOpts != null && (typeof inputOpts !== "object" || Array.isArray(inputOpts))) {
throw new Error("Babel options must be an object, null, or undefined");
}
return (0, _optionManager.default)(opts || {});
var args = inputOpts ? (0, _options.validate)("arguments", inputOpts) : {};
var _args$envName = args.envName,
envName = _args$envName === void 0 ? (0, _environment.getEnv)() : _args$envName,
_args$cwd = args.cwd,
cwd = _args$cwd === void 0 ? "." : _args$cwd;
var absoluteCwd = _path.default.resolve(cwd);
var configChain = (0, _configChain.buildRootChain)(absoluteCwd, args, envName);
if (!configChain) return null;
var optionDefaults = {};
var options = {};
var passes = [[]];
try {
(function recurseDescriptors(config, pass, envName) {
var plugins = config.plugins.map(function (descriptor) {
return loadPluginDescriptor(descriptor, envName);
});
var presets = config.presets.map(function (descriptor) {
return {
preset: loadPresetDescriptor(descriptor, envName),
pass: descriptor.ownPass ? [] : pass
};
});
if (presets.length > 0) {
passes.splice.apply(passes, [1, 0].concat(presets.map(function (o) {
return o.pass;
}).filter(function (p) {
return p !== pass;
})));
for (var _iterator = presets, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref2;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref2 = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref2 = _i.value;
}
var _ref3 = _ref2;
var _preset = _ref3.preset,
_pass2 = _ref3.pass;
recurseDescriptors({
plugins: _preset.plugins,
presets: _preset.presets
}, _pass2, envName);
_preset.options.forEach(function (opts) {
(0, _merge.default)(optionDefaults, opts);
});
}
}
if (plugins.length > 0) {
pass.unshift.apply(pass, plugins);
}
})({
plugins: configChain.plugins,
presets: configChain.presets
}, passes[0], envName);
configChain.options.forEach(function (opts) {
(0, _merge.default)(options, opts);
});
} catch (e) {
if (!/^\[BABEL\]/.test(e.message)) {
e.message = "[BABEL] " + (args.filename || "unknown") + ": " + e.message;
}
throw e;
}
var opts = (0, _merge.default)(optionDefaults, options);
opts.babelrc = false;
opts.plugins = passes[0];
opts.presets = passes.slice(1).filter(function (plugins) {
return plugins.length > 0;
}).map(function (plugins) {
return {
plugins: plugins
};
});
opts.passPerPreset = opts.presets.length > 0;
opts.envName = envName;
opts.cwd = absoluteCwd;
return {
options: opts,
passes: passes
};
}
var loadDescriptor = (0, _caching.makeWeakCache)(function (_ref4, cache) {
var value = _ref4.value,
options = _ref4.options,
dirname = _ref4.dirname,
alias = _ref4.alias;
if (options === false) throw new Error("Assertion failure");
options = options || {};
var item = value;
if (typeof value === "function") {
var api = Object.assign(Object.create(context), {
cache: cache.simple(),
env: function env() {
return cache.using(function (data) {
return data.envName;
});
},
async: function async() {
return false;
}
});
try {
item = value(api, options, dirname);
} catch (e) {
if (alias) {
e.message += " (While processing: " + JSON.stringify(alias) + ")";
}
throw e;
}
}
if (!item || typeof item !== "object") {
throw new Error("Plugin/Preset did not return an object.");
}
if (typeof item.then === "function") {
throw new Error("You appear to be using an async plugin, " + "which your current version of Babel does not support." + "If you're using a published plugin, " + "you may need to upgrade your @babel/core version.");
}
return {
value: item,
options: options,
dirname: dirname,
alias: alias
};
});
function loadPluginDescriptor(descriptor, envName) {
if (descriptor.value instanceof _plugin.default) {
if (descriptor.options) {
throw new Error("Passed options to an existing Plugin instance will not work.");
}
return descriptor.value;
}
return instantiatePlugin(loadDescriptor(descriptor, {
envName: envName
}), {
envName: envName
});
}
var instantiatePlugin = (0, _caching.makeWeakCache)(function (_ref5, cache) {
var value = _ref5.value,
options = _ref5.options,
dirname = _ref5.dirname,
alias = _ref5.alias;
var pluginObj = (0, _plugins.validatePluginObject)(value);
var plugin = Object.assign({}, pluginObj);
if (plugin.visitor) {
plugin.visitor = _traverse.default.explode((0, _clone.default)(plugin.visitor));
}
if (plugin.inherits) {
var inheritsDescriptor = {
name: undefined,
alias: alias + "$inherits",
value: plugin.inherits,
options: options,
dirname: dirname
};
var inherits = cache.invalidate(function (data) {
return loadPluginDescriptor(inheritsDescriptor, data.envName);
});
plugin.pre = chain(inherits.pre, plugin.pre);
plugin.post = chain(inherits.post, plugin.post);
plugin.manipulateOptions = chain(inherits.manipulateOptions, plugin.manipulateOptions);
plugin.visitor = _traverse.default.visitors.merge([inherits.visitor || {}, plugin.visitor || {}]);
}
return new _plugin.default(plugin, options, alias);
});
var loadPresetDescriptor = function loadPresetDescriptor(descriptor, envName) {
return (0, _configChain.buildPresetChain)(instantiatePreset(loadDescriptor(descriptor, {
envName: envName
})));
};
var instantiatePreset = (0, _caching.makeWeakCache)(function (_ref6) {
var value = _ref6.value,
dirname = _ref6.dirname,
alias = _ref6.alias;
return {
options: (0, _options.validate)("preset", value),
alias: alias,
dirname: dirname
};
});
function chain(a, b) {
var fns = [a, b].filter(Boolean);
if (fns.length <= 1) return fns[0];
return function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
for (var _iterator2 = fns, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref7;
if (_isArray2) {
if (_i2 >= _iterator2.length) break;
_ref7 = _iterator2[_i2++];
} else {
_i2 = _iterator2.next();
if (_i2.done) break;
_ref7 = _i2.value;
}
var _fn = _ref7;
_fn.apply(this, args);
}
};
}
"use strict";
exports.__esModule = true;
exports.validatePluginObject = validatePluginObject;
exports.default = void 0;
var _optionAssertions = require("./option-assertions");
var VALIDATORS = {
name: _optionAssertions.assertString,
manipulateOptions: _optionAssertions.assertFunction,
pre: _optionAssertions.assertFunction,
post: _optionAssertions.assertFunction,
inherits: _optionAssertions.assertFunction,
visitor: assertVisitorMap,
parserOverride: _optionAssertions.assertFunction,
generatorOverride: _optionAssertions.assertFunction
};
function assertVisitorMap(key, value) {
var obj = (0, _optionAssertions.assertObject)(key, value);
if (obj) {
Object.keys(obj).forEach(function (prop) {
return assertVisitorHandler(prop, obj[prop]);
});
if (obj.enter || obj.exit) {
throw new Error("." + key + " cannot contain catch-all \"enter\" or \"exit\" handlers. Please target individual nodes.");
}
}
return obj;
}
function assertVisitorHandler(key, value) {
if (value && typeof value === "object") {
Object.keys(value).forEach(function (handler) {
if (handler !== "enter" && handler !== "exit") {
throw new Error(".visitor[\"" + key + "\"] may only have .enter and/or .exit handlers.");
}
});
} else if (typeof value !== "function") {
throw new Error(".visitor[\"" + key + "\"] must be a function");
}
return value;
}
function validatePluginObject(obj) {
Object.keys(obj).forEach(function (key) {
var validator = VALIDATORS[key];
if (validator) validator(key, obj[key]);else throw new Error("." + key + " is not a valid Plugin property");
});
return obj;
}
var Plugin = function Plugin(plugin, options, key) {

@@ -59,0 +7,0 @@ this.key = void 0;

@@ -16,3 +16,3 @@ "use strict";

var _files = require("./config/loading/files");
var _files = require("./config/files");

@@ -19,0 +19,0 @@ exports.resolvePlugin = _files.resolvePlugin;

@@ -16,2 +16,4 @@ "use strict";

var _missingPluginHelper = _interopRequireDefault(require("./util/missing-plugin-helper"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -116,7 +118,8 @@

} catch (err) {
var loc = err.loc;
var loc = err.loc,
missingPlugin = err.missingPlugin;
if (loc) {
err.loc = null;
err.message = (options.filename || "unknown") + ": " + err.message + "\n" + (0, _codeFrame.codeFrameColumns)(code, {
var codeFrame = (0, _codeFrame.codeFrameColumns)(code, {
start: {

@@ -127,2 +130,8 @@ line: loc.line,

}, options);
if (missingPlugin) {
err.message = (options.filename || "unknown") + ": " + (0, _missingPluginHelper.default)(missingPlugin[0], loc, codeFrame);
} else {
err.message = (options.filename || "unknown") + ": " + err.message + "\n\n" + codeFrame;
}
}

@@ -129,0 +138,0 @@

{
"name": "@babel/core",
"version": "7.0.0-beta.35",
"version": "7.0.0-beta.36",
"description": "Babel compiler core.",

@@ -26,3 +26,3 @@ "main": "./lib/index.js",

"browser": {
"./lib/config/loading/files/index.js": "./lib/config/loading/files/index-browser.js",
"./lib/config/files/index.js": "./lib/config/files/index-browser.js",
"./lib/transform-file.js": "./lib/transform-file-browser.js",

@@ -32,9 +32,9 @@ "./lib/transform-file-sync.js": "./lib/transform-file-sync-browser.js"

"dependencies": {
"@babel/code-frame": "7.0.0-beta.35",
"@babel/generator": "7.0.0-beta.35",
"@babel/helpers": "7.0.0-beta.35",
"@babel/template": "7.0.0-beta.35",
"@babel/traverse": "7.0.0-beta.35",
"@babel/types": "7.0.0-beta.35",
"babylon": "7.0.0-beta.35",
"@babel/code-frame": "7.0.0-beta.36",
"@babel/generator": "7.0.0-beta.36",
"@babel/helpers": "7.0.0-beta.36",
"@babel/template": "7.0.0-beta.36",
"@babel/traverse": "7.0.0-beta.36",
"@babel/types": "7.0.0-beta.36",
"babylon": "7.0.0-beta.36",
"convert-source-map": "^1.1.0",

@@ -49,5 +49,5 @@ "debug": "^3.0.1",

"devDependencies": {
"@babel/helper-transform-fixture-test-runner": "7.0.0-beta.35",
"@babel/register": "7.0.0-beta.35"
"@babel/helper-transform-fixture-test-runner": "7.0.0-beta.36",
"@babel/register": "7.0.0-beta.36"
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc