babel-core
Advanced tools
Comparing version 6.14.0 to 6.16.0
@@ -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 | ||
} | ||
}; |
@@ -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" | ||
} | ||
} |
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
88518
2374
11
Updatedbabel-code-frame@^6.16.0
Updatedbabel-generator@^6.16.0
Updatedbabel-helpers@^6.16.0
Updatedbabel-register@^6.16.0
Updatedbabel-template@^6.16.0
Updatedbabel-traverse@^6.16.0
Updatedbabel-types@^6.16.0
Updatedbabylon@^6.11.0