Socket
Socket
Sign inDemoInstall

babel-core

Package Overview
Dependencies
51
Maintainers
6
Versions
257
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 6.14.0 to 6.16.0

51

lib/transformation/file/index.js

@@ -100,2 +100,6 @@ "use strict";

var _resolve = require("../../helpers/resolve");
var _resolve2 = _interopRequireDefault(_resolve);
var _blockHoist = require("../internal-plugins/block-hoist");

@@ -145,2 +149,3 @@

filename: _this.opts.filename,
sourceFileName: _this.opts.filename,
plugins: []

@@ -501,4 +506,31 @@ };

File.prototype.parse = function parse(code) {
var parseCode = _babylon.parse;
var parserOpts = this.opts.parserOpts;
if (parserOpts) {
parserOpts = (0, _assign2.default)({}, this.parserOpts, parserOpts);
if (parserOpts.parser) {
if (typeof parserOpts.parser === "string") {
var dirname = _path2.default.dirname(this.opts.filename) || process.cwd();
var parser = (0, _resolve2.default)(parserOpts.parser, dirname);
if (parser) {
parseCode = require(parser).parse;
} else {
throw new Error("Couldn't find parser " + parserOpts.parser + " with \"parse\" method relative to directory " + dirname);
}
} else {
parseCode = parserOpts.parser;
}
parserOpts.parser = {
parse: function parse(source) {
return (0, _babylon.parse)(source, parserOpts);
}
};
}
}
this.log.debug("Parse start");
var ast = (0, _babylon.parse)(code, this.parserOpts);
var ast = parseCode(code, parserOpts || this.parserOpts);
this.log.debug("Parse stop");

@@ -677,5 +709,20 @@ return ast;

var gen = _babelGenerator2.default;
if (opts.generatorOpts.generator) {
gen = opts.generatorOpts.generator;
if (typeof gen === "string") {
var dirname = _path2.default.dirname(this.opts.filename) || process.cwd();
var generator = (0, _resolve2.default)(gen, dirname);
if (generator) {
gen = require(generator).print;
} else {
throw new Error("Couldn't find generator " + gen + " with \"print\" method relative to directory " + dirname);
}
}
}
this.log.debug("Generation start");
var _result = (0, _babelGenerator2.default)(ast, opts, this.code);
var _result = gen(ast, opts.generatorOpts ? (0, _assign2.default)(opts, opts.generatorOpts) : opts, this.code);
result.code = _result.code;

@@ -682,0 +729,0 @@ result.map = _result.map;

@@ -200,3 +200,13 @@ "use strict";

hidden: true
},
parserOpts: {
description: "Options to pass into the parser, or to change parsers (parserOpts.parser)",
default: false
},
generatorOpts: {
description: "Options to pass into the generator, or to change generators (generatorOpts.generator)",
default: false
}
};

51

lib/transformation/file/options/option-manager.js

@@ -278,24 +278,45 @@ "use strict";

var presetLoc = void 0;
if (typeof val === "string") {
presetLoc = (0, _resolve2.default)("babel-preset-" + val, dirname) || (0, _resolve2.default)(val, dirname);
if (!presetLoc) {
throw new Error("Couldn't find preset " + (0, _stringify2.default)(val) + " relative to directory " + (0, _stringify2.default)(dirname));
try {
if (typeof val === "string") {
presetLoc = (0, _resolve2.default)("babel-preset-" + val, dirname) || (0, _resolve2.default)(val, dirname);
if (!presetLoc) {
var matches = val.match(/^(@[^/]+)\/(.+)$/);
if (matches) {
var orgName = matches[1];
var presetPath = matches[2];
val = orgName + "/babel-preset-" + presetPath;
presetLoc = (0, _resolve2.default)(val, dirname);
}
}
if (!presetLoc) {
throw new Error("Couldn't find preset " + (0, _stringify2.default)(val) + " relative to directory " + (0, _stringify2.default)(dirname));
}
val = require(presetLoc);
}
val = require(presetLoc);
}
if ((typeof val === "undefined" ? "undefined" : (0, _typeof3.default)(val)) === "object" && val.__esModule) val = val.default;
if ((typeof val === "undefined" ? "undefined" : (0, _typeof3.default)(val)) === "object" && val.buildPreset) val = val.buildPreset;
if ((typeof val === "undefined" ? "undefined" : (0, _typeof3.default)(val)) === "object" && val.buildPreset) val = val.buildPreset;
if (typeof val !== "function" && options !== undefined) {
throw new Error("Options " + (0, _stringify2.default)(options) + " passed to " + (presetLoc || "a preset") + " which does not accept options.");
}
if (typeof val !== "function" && options !== undefined) {
throw new Error("Options " + (0, _stringify2.default)(options) + " passed to " + (presetLoc || "a preset") + " which does not accept options.");
}
if (typeof val === "function") val = val(context, options);
if (typeof val === "function") val = val(context, options);
if ((typeof val === "undefined" ? "undefined" : (0, _typeof3.default)(val)) !== "object") {
throw new Error("Unsupported preset format: " + val + ".");
if ((typeof val === "undefined" ? "undefined" : (0, _typeof3.default)(val)) !== "object") {
throw new Error("Unsupported preset format: " + val + ".");
}
onResolve && onResolve(val, presetLoc);
} catch (e) {
if (presetLoc) {
e.message += " (While processing preset: " + (0, _stringify2.default)(presetLoc) + ")";
}
throw e;
}
onResolve && onResolve(val);
return val;

@@ -302,0 +323,0 @@ });

{
"name": "babel-core",
"version": "6.14.0",
"version": "6.16.0",
"description": "Babel compiler core.",

@@ -27,12 +27,12 @@ "author": "Sebastian McKenzie <sebmck@gmail.com>",

"dependencies": {
"babel-code-frame": "^6.8.0",
"babel-generator": "^6.14.0",
"babel-helpers": "^6.8.0",
"babel-code-frame": "^6.16.0",
"babel-generator": "^6.16.0",
"babel-helpers": "^6.16.0",
"babel-messages": "^6.8.0",
"babel-template": "^6.14.0",
"babel-template": "^6.16.0",
"babel-runtime": "^6.9.1",
"babel-register": "^6.14.0",
"babel-traverse": "^6.14.0",
"babel-types": "^6.14.0",
"babylon": "^6.9.0",
"babel-register": "^6.16.0",
"babel-traverse": "^6.16.0",
"babel-types": "^6.16.0",
"babylon": "^6.11.0",
"convert-source-map": "^1.1.0",

@@ -52,5 +52,5 @@ "debug": "^2.1.1",

"babel-helper-fixtures": "^6.9.0",
"babel-helper-transform-fixture-test-runner": "^6.13.2",
"babel-polyfill": "^6.13.0"
"babel-helper-transform-fixture-test-runner": "^6.16.0",
"babel-polyfill": "^6.16.0"
}
}
SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc