@babel/helper-module-imports
Advanced tools
Comparing version 7.0.0-beta.46 to 7.0.0-beta.47
@@ -9,3 +9,3 @@ "use strict"; | ||
function _assert() { | ||
var data = _interopRequireDefault(require("assert")); | ||
const data = _interopRequireDefault(require("assert")); | ||
@@ -20,3 +20,3 @@ _assert = function _assert() { | ||
function t() { | ||
var data = _interopRequireWildcard(require("@babel/types")); | ||
const data = _interopRequireWildcard(require("@babel/types")); | ||
@@ -34,4 +34,4 @@ t = function t() { | ||
var ImportBuilder = function () { | ||
function ImportBuilder(importedSource, scope, file) { | ||
class ImportBuilder { | ||
constructor(importedSource, scope, file) { | ||
this._statements = []; | ||
@@ -46,5 +46,3 @@ this._resultName = null; | ||
var _proto = ImportBuilder.prototype; | ||
_proto.done = function done() { | ||
done() { | ||
return { | ||
@@ -54,23 +52,19 @@ statements: this._statements, | ||
}; | ||
}; | ||
} | ||
_proto.import = function _import() { | ||
import() { | ||
this._statements.push(t().importDeclaration([], t().stringLiteral(this._importedSource))); | ||
return this; | ||
}; | ||
} | ||
_proto.require = function require() { | ||
require() { | ||
this._statements.push(t().expressionStatement(t().callExpression(t().identifier("require"), [t().stringLiteral(this._importedSource)]))); | ||
return this; | ||
}; | ||
} | ||
_proto.namespace = function namespace(name) { | ||
if (name === void 0) { | ||
name = "namespace"; | ||
} | ||
namespace(name = "namespace") { | ||
name = this._scope.generateUidIdentifier(name); | ||
var statement = this._statements[this._statements.length - 1]; | ||
const statement = this._statements[this._statements.length - 1]; | ||
(0, _assert().default)(statement.type === "ImportDeclaration"); | ||
@@ -81,7 +75,7 @@ (0, _assert().default)(statement.specifiers.length === 0); | ||
return this; | ||
}; | ||
} | ||
_proto.default = function _default(name) { | ||
default(name) { | ||
name = this._scope.generateUidIdentifier(name); | ||
var statement = this._statements[this._statements.length - 1]; | ||
const statement = this._statements[this._statements.length - 1]; | ||
(0, _assert().default)(statement.type === "ImportDeclaration"); | ||
@@ -92,8 +86,8 @@ (0, _assert().default)(statement.specifiers.length === 0); | ||
return this; | ||
}; | ||
} | ||
_proto.named = function named(name, importName) { | ||
named(name, importName) { | ||
if (importName === "default") return this.default(name); | ||
name = this._scope.generateUidIdentifier(name); | ||
var statement = this._statements[this._statements.length - 1]; | ||
const statement = this._statements[this._statements.length - 1]; | ||
(0, _assert().default)(statement.type === "ImportDeclaration"); | ||
@@ -104,7 +98,7 @@ (0, _assert().default)(statement.specifiers.length === 0); | ||
return this; | ||
}; | ||
} | ||
_proto.var = function _var(name) { | ||
var(name) { | ||
name = this._scope.generateUidIdentifier(name); | ||
var statement = this._statements[this._statements.length - 1]; | ||
let statement = this._statements[this._statements.length - 1]; | ||
@@ -121,14 +115,14 @@ if (statement.type !== "ExpressionStatement") { | ||
return this; | ||
}; | ||
} | ||
_proto.defaultInterop = function defaultInterop() { | ||
defaultInterop() { | ||
return this._interop(this._file.addHelper("interopRequireDefault")); | ||
}; | ||
} | ||
_proto.wildcardInterop = function wildcardInterop() { | ||
wildcardInterop() { | ||
return this._interop(this._file.addHelper("interopRequireWildcard")); | ||
}; | ||
} | ||
_proto._interop = function _interop(callee) { | ||
var statement = this._statements[this._statements.length - 1]; | ||
_interop(callee) { | ||
const statement = this._statements[this._statements.length - 1]; | ||
@@ -145,6 +139,6 @@ if (statement.type === "ExpressionStatement") { | ||
return this; | ||
}; | ||
} | ||
_proto.prop = function prop(name) { | ||
var statement = this._statements[this._statements.length - 1]; | ||
prop(name) { | ||
const statement = this._statements[this._statements.length - 1]; | ||
@@ -161,11 +155,10 @@ if (statement.type === "ExpressionStatement") { | ||
return this; | ||
}; | ||
} | ||
_proto.read = function read(name) { | ||
read(name) { | ||
this._resultName = t().memberExpression(this._resultName, t().identifier(name)); | ||
}; | ||
} | ||
return ImportBuilder; | ||
}(); | ||
} | ||
exports.default = ImportBuilder; |
@@ -9,3 +9,3 @@ "use strict"; | ||
function _assert() { | ||
var data = _interopRequireDefault(require("assert")); | ||
const data = _interopRequireDefault(require("assert")); | ||
@@ -20,3 +20,3 @@ _assert = function _assert() { | ||
function t() { | ||
var data = _interopRequireWildcard(require("@babel/types")); | ||
const data = _interopRequireWildcard(require("@babel/types")); | ||
@@ -38,4 +38,4 @@ t = function t() { | ||
var ImportInjector = function () { | ||
function ImportInjector(path, importedSource, opts) { | ||
class ImportInjector { | ||
constructor(path, importedSource, opts) { | ||
this._defaultOpts = { | ||
@@ -49,5 +49,3 @@ importedSource: null, | ||
}; | ||
var programPath = path.find(function (p) { | ||
return p.isProgram(); | ||
}); | ||
const programPath = path.find(p => p.isProgram()); | ||
this._programPath = programPath; | ||
@@ -59,31 +57,25 @@ this._programScope = programPath.scope; | ||
var _proto = ImportInjector.prototype; | ||
_proto.addDefault = function addDefault(importedSourceIn, opts) { | ||
addDefault(importedSourceIn, opts) { | ||
return this.addNamed("default", importedSourceIn, opts); | ||
}; | ||
} | ||
_proto.addNamed = function addNamed(importName, importedSourceIn, opts) { | ||
addNamed(importName, importedSourceIn, opts) { | ||
(0, _assert().default)(typeof importName === "string"); | ||
return this._generateImport(this._applyDefaults(importedSourceIn, opts), importName); | ||
}; | ||
} | ||
_proto.addNamespace = function addNamespace(importedSourceIn, opts) { | ||
addNamespace(importedSourceIn, opts) { | ||
return this._generateImport(this._applyDefaults(importedSourceIn, opts), null); | ||
}; | ||
} | ||
_proto.addSideEffect = function addSideEffect(importedSourceIn, opts) { | ||
addSideEffect(importedSourceIn, opts) { | ||
return this._generateImport(this._applyDefaults(importedSourceIn, opts), false); | ||
}; | ||
} | ||
_proto._applyDefaults = function _applyDefaults(importedSource, opts, isInit) { | ||
if (isInit === void 0) { | ||
isInit = false; | ||
} | ||
_applyDefaults(importedSource, opts, isInit = false) { | ||
const optsList = []; | ||
var optsList = []; | ||
if (typeof importedSource === "string") { | ||
optsList.push({ | ||
importedSource: importedSource | ||
importedSource | ||
}); | ||
@@ -96,8 +88,8 @@ optsList.push(opts); | ||
var newOpts = Object.assign({}, this._defaultOpts); | ||
const newOpts = Object.assign({}, this._defaultOpts); | ||
var _loop = function _loop() { | ||
var opts = optsList[_i]; | ||
if (!opts) return "continue"; | ||
Object.keys(newOpts).forEach(function (key) { | ||
for (var _i = 0; _i < optsList.length; _i++) { | ||
const opts = optsList[_i]; | ||
if (!opts) continue; | ||
Object.keys(newOpts).forEach(key => { | ||
if (opts[key] !== undefined) newOpts[key] = opts[key]; | ||
@@ -110,30 +102,24 @@ }); | ||
} | ||
}; | ||
for (var _i = 0; _i < optsList.length; _i++) { | ||
var _ret = _loop(); | ||
if (_ret === "continue") continue; | ||
} | ||
return newOpts; | ||
}; | ||
} | ||
_proto._generateImport = function _generateImport(opts, importName) { | ||
var isDefault = importName === "default"; | ||
var isNamed = !!importName && !isDefault; | ||
var isNamespace = importName === null; | ||
var importedSource = opts.importedSource, | ||
importedType = opts.importedType, | ||
importedInterop = opts.importedInterop, | ||
importingInterop = opts.importingInterop, | ||
ensureLiveReference = opts.ensureLiveReference, | ||
ensureNoContext = opts.ensureNoContext, | ||
nameHint = opts.nameHint, | ||
blockHoist = opts.blockHoist; | ||
var name = nameHint || importName; | ||
var isMod = (0, _isModule.default)(this._programPath); | ||
var isModuleForNode = isMod && importingInterop === "node"; | ||
var isModuleForBabel = isMod && importingInterop === "babel"; | ||
var builder = new _importBuilder.default(importedSource, this._programScope, this._file); | ||
_generateImport(opts, importName) { | ||
const isDefault = importName === "default"; | ||
const isNamed = !!importName && !isDefault; | ||
const isNamespace = importName === null; | ||
const importedSource = opts.importedSource, | ||
importedType = opts.importedType, | ||
importedInterop = opts.importedInterop, | ||
importingInterop = opts.importingInterop, | ||
ensureLiveReference = opts.ensureLiveReference, | ||
ensureNoContext = opts.ensureNoContext, | ||
nameHint = opts.nameHint, | ||
blockHoist = opts.blockHoist; | ||
let name = nameHint || importName; | ||
const isMod = (0, _isModule.default)(this._programPath); | ||
const isModuleForNode = isMod && importingInterop === "node"; | ||
const isModuleForBabel = isMod && importingInterop === "babel"; | ||
const builder = new _importBuilder.default(importedSource, this._programScope, this._file); | ||
@@ -153,7 +139,7 @@ if (importedType === "es6") { | ||
} else if (importedType !== "commonjs") { | ||
throw new Error("Unexpected interopType \"" + importedType + "\""); | ||
throw new Error(`Unexpected interopType "${importedType}"`); | ||
} else if (importedInterop === "babel") { | ||
if (isModuleForNode) { | ||
name = name !== "default" ? name : importedSource; | ||
var es6Default = importedSource + "$es6Default"; | ||
const es6Default = `${importedSource}$es6Default`; | ||
builder.import(); | ||
@@ -270,8 +256,8 @@ | ||
} else { | ||
throw new Error("Unknown importedInterop \"" + importedInterop + "\"."); | ||
throw new Error(`Unknown importedInterop "${importedInterop}".`); | ||
} | ||
var _builder$done = builder.done(), | ||
statements = _builder$done.statements, | ||
resultName = _builder$done.resultName; | ||
const _builder$done = builder.done(), | ||
statements = _builder$done.statements, | ||
resultName = _builder$done.resultName; | ||
@@ -285,15 +271,11 @@ this._insertStatements(statements, blockHoist); | ||
return resultName; | ||
}; | ||
} | ||
_proto._insertStatements = function _insertStatements(statements, blockHoist) { | ||
if (blockHoist === void 0) { | ||
blockHoist = 3; | ||
} | ||
statements.forEach(function (node) { | ||
_insertStatements(statements, blockHoist = 3) { | ||
statements.forEach(node => { | ||
node._blockHoist = blockHoist; | ||
}); | ||
var targetPath = this._programPath.get("body").filter(function (p) { | ||
var val = p.node._blockHoist; | ||
const targetPath = this._programPath.get("body").filter(p => { | ||
const val = p.node._blockHoist; | ||
return Number.isFinite(val) && val < 4; | ||
@@ -307,7 +289,6 @@ })[0]; | ||
} | ||
}; | ||
} | ||
return ImportInjector; | ||
}(); | ||
} | ||
exports.default = ImportInjector; |
@@ -9,6 +9,6 @@ "use strict"; | ||
function isModule(path) { | ||
var sourceType = path.node.sourceType; | ||
const sourceType = path.node.sourceType; | ||
if (sourceType !== "module" && sourceType !== "script") { | ||
throw path.buildCodeFrameError("Unknown sourceType \"" + sourceType + "\", cannot transform."); | ||
throw path.buildCodeFrameError(`Unknown sourceType "${sourceType}", cannot transform.`); | ||
} | ||
@@ -15,0 +15,0 @@ |
{ | ||
"name": "@babel/helper-module-imports", | ||
"version": "7.0.0-beta.46", | ||
"version": "7.0.0-beta.47", | ||
"description": "Babel helper functions for inserting module loads", | ||
@@ -11,8 +11,8 @@ "author": "Logan Smyth <loganfsmyth@gmail.com>", | ||
"dependencies": { | ||
"@babel/types": "7.0.0-beta.46", | ||
"lodash": "^4.2.0" | ||
"@babel/types": "7.0.0-beta.47", | ||
"lodash": "^4.17.5" | ||
}, | ||
"devDependencies": { | ||
"@babel/core": "7.0.0-beta.46" | ||
"@babel/core": "7.0.0-beta.47" | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
0
17732
403
+ Added@babel/types@7.0.0-beta.47(transitive)
- Removed@babel/types@7.0.0-beta.46(transitive)
Updated@babel/types@7.0.0-beta.47
Updatedlodash@^4.17.5