Socket
Socket
Sign inDemoInstall

@babel/helper-module-imports

Package Overview
Dependencies
Maintainers
6
Versions
75
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/helper-module-imports - npm Package Compare versions

Comparing version 7.0.0-beta.42 to 7.0.0-beta.43

151

lib/import-builder.js
"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _assert = _interopRequireDefault(require("assert"));
function _assert() {
const data = _interopRequireDefault(require("assert"));
var t = _interopRequireWildcard(require("@babel/types"));
_assert = function () {
return data;
};
return data;
}
function t() {
const data = _interopRequireWildcard(require("@babel/types"));
t = function () {
return data;
};
return data;
}
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; } }

@@ -14,4 +32,4 @@

var ImportBuilder = function () {
function ImportBuilder(importedSource, scope, file) {
class ImportBuilder {
constructor(importedSource, scope, file) {
this._statements = [];

@@ -26,5 +44,3 @@ this._resultName = null;

var _proto = ImportBuilder.prototype;
_proto.done = function done() {
done() {
return {

@@ -34,58 +50,54 @@ statements: this._statements,

};
};
}
_proto.import = function _import() {
this._statements.push(t.importDeclaration([], t.stringLiteral(this._importedSource)));
import() {
this._statements.push(t().importDeclaration([], t().stringLiteral(this._importedSource)));
return this;
};
}
_proto.require = function require() {
this._statements.push(t.expressionStatement(t.callExpression(t.identifier("require"), [t.stringLiteral(this._importedSource)])));
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];
(0, _assert.default)(statement.type === "ImportDeclaration");
(0, _assert.default)(statement.specifiers.length === 0);
statement.specifiers = [t.importNamespaceSpecifier(name)];
this._resultName = t.cloneNode(name);
const statement = this._statements[this._statements.length - 1];
(0, _assert().default)(statement.type === "ImportDeclaration");
(0, _assert().default)(statement.specifiers.length === 0);
statement.specifiers = [t().importNamespaceSpecifier(name)];
this._resultName = t().cloneNode(name);
return this;
};
}
_proto.default = function _default(name) {
default(name) {
name = this._scope.generateUidIdentifier(name);
var statement = this._statements[this._statements.length - 1];
(0, _assert.default)(statement.type === "ImportDeclaration");
(0, _assert.default)(statement.specifiers.length === 0);
statement.specifiers = [t.importDefaultSpecifier(name)];
this._resultName = t.cloneNode(name);
const statement = this._statements[this._statements.length - 1];
(0, _assert().default)(statement.type === "ImportDeclaration");
(0, _assert().default)(statement.specifiers.length === 0);
statement.specifiers = [t().importDefaultSpecifier(name)];
this._resultName = t().cloneNode(name);
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];
(0, _assert.default)(statement.type === "ImportDeclaration");
(0, _assert.default)(statement.specifiers.length === 0);
statement.specifiers = [t.importSpecifier(name, t.identifier(importName))];
this._resultName = t.cloneNode(name);
const statement = this._statements[this._statements.length - 1];
(0, _assert().default)(statement.type === "ImportDeclaration");
(0, _assert().default)(statement.specifiers.length === 0);
statement.specifiers = [t().importSpecifier(name, t().identifier(importName))];
this._resultName = t().cloneNode(name);
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];
if (statement.type !== "ExpressionStatement") {
(0, _assert.default)(this._resultName);
statement = t.expressionStatement(this._resultName);
(0, _assert().default)(this._resultName);
statement = t().expressionStatement(this._resultName);

@@ -95,52 +107,51 @@ this._statements.push(statement);

this._statements[this._statements.length - 1] = t.variableDeclaration("var", [t.variableDeclarator(name, statement.expression)]);
this._resultName = t.cloneNode(name);
this._statements[this._statements.length - 1] = t().variableDeclaration("var", [t().variableDeclarator(name, statement.expression)]);
this._resultName = t().cloneNode(name);
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];
if (statement.type === "ExpressionStatement") {
statement.expression = t.callExpression(callee, [statement.expression]);
statement.expression = t().callExpression(callee, [statement.expression]);
} else if (statement.type === "VariableDeclaration") {
(0, _assert.default)(statement.declarations.length === 1);
statement.declarations[0].init = t.callExpression(callee, [statement.declarations[0].init]);
(0, _assert().default)(statement.declarations.length === 1);
statement.declarations[0].init = t().callExpression(callee, [statement.declarations[0].init]);
} else {
_assert.default.fail("Unexpected type.");
_assert().default.fail("Unexpected type.");
}
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];
if (statement.type === "ExpressionStatement") {
statement.expression = t.memberExpression(statement.expression, t.identifier(name));
statement.expression = t().memberExpression(statement.expression, t().identifier(name));
} else if (statement.type === "VariableDeclaration") {
(0, _assert.default)(statement.declarations.length === 1);
statement.declarations[0].init = t.memberExpression(statement.declarations[0].init, t.identifier(name));
(0, _assert().default)(statement.declarations.length === 1);
statement.declarations[0].init = t().memberExpression(statement.declarations[0].init, t().identifier(name));
} else {
_assert.default.fail("Unexpected type:" + statement.type);
_assert().default.fail("Unexpected type:" + statement.type);
}
return this;
};
}
_proto.read = function read(name) {
this._resultName = t.memberExpression(this._resultName, t.identifier(name));
};
read(name) {
this._resultName = t().memberExpression(this._resultName, t().identifier(name));
}
return ImportBuilder;
}();
}
exports.default = ImportBuilder;
"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _assert = _interopRequireDefault(require("assert"));
function _assert() {
const data = _interopRequireDefault(require("assert"));
var t = _interopRequireWildcard(require("@babel/types"));
_assert = function () {
return data;
};
return data;
}
function t() {
const data = _interopRequireWildcard(require("@babel/types"));
t = function () {
return data;
};
return data;
}
var _importBuilder = _interopRequireDefault(require("./import-builder"));

@@ -18,4 +36,4 @@

var ImportInjector = function () {
function ImportInjector(path, importedSource, opts) {
class ImportInjector {
constructor(path, importedSource, opts) {
this._defaultOpts = {

@@ -29,5 +47,3 @@ importedSource: null,

};
var programPath = path.find(function (p) {
return p.isProgram();
});
const programPath = path.find(p => p.isProgram());
this._programPath = programPath;

@@ -39,80 +55,68 @@ 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) {
(0, _assert.default)(typeof importName === "string");
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
});
optsList.push(opts);
} else {
(0, _assert.default)(!opts, "Unexpected secondary arguments.");
(0, _assert().default)(!opts, "Unexpected secondary arguments.");
optsList.push(importedSource);
}
var newOpts = Object.assign({}, this._defaultOpts);
const newOpts = Object.assign({}, this._defaultOpts);
var _loop = function _loop(_opts) {
if (!_opts) return "continue";
Object.keys(newOpts).forEach(function (key) {
if (_opts[key] !== undefined) newOpts[key] = _opts[key];
for (const opts of optsList) {
if (!opts) continue;
Object.keys(newOpts).forEach(key => {
if (opts[key] !== undefined) newOpts[key] = opts[key];
});
if (!isInit) {
if (_opts.nameHint !== undefined) newOpts.nameHint = _opts.nameHint;
if (_opts.blockHoist !== undefined) newOpts.blockHoist = _opts.blockHoist;
if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint;
if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist;
}
};
for (var _i = 0; _i < optsList.length; _i++) {
var _opts = optsList[_i];
var _ret = _loop(_opts);
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,
importedType,
importedInterop,
importingInterop,
ensureLiveReference,
ensureNoContext,
nameHint,
blockHoist
} = opts;
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);

@@ -132,7 +136,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();

@@ -249,8 +253,9 @@

} 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 {
statements,
resultName
} = builder.done();

@@ -260,19 +265,15 @@ this._insertStatements(statements, blockHoist);

if ((isDefault || isNamed) && ensureNoContext && resultName.type !== "Identifier") {
return t.sequenceExpression([t.numericLiteral(0), resultName]);
return t().sequenceExpression([t().numericLiteral(0), resultName]);
}
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;

@@ -286,7 +287,6 @@ })[0];

}
};
}
return ImportInjector;
}();
}
exports.default = ImportInjector;
"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.addDefault = addDefault;

@@ -8,12 +10,19 @@ exports.addNamed = addNamed;

exports.addSideEffect = addSideEffect;
exports.isModule = void 0;
Object.defineProperty(exports, "ImportInjector", {
enumerable: true,
get: function () {
return _importInjector.default;
}
});
Object.defineProperty(exports, "isModule", {
enumerable: true,
get: function () {
return _isModule.default;
}
});
var _importInjector = _interopRequireDefault(require("./import-injector"));
exports.ImportInjector = _importInjector.default;
var _isModule = _interopRequireDefault(require("./is-module"));
exports.isModule = _isModule.default;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -20,0 +29,0 @@

"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = isModule;
function isModule(path) {
var sourceType = path.node.sourceType;
const {
sourceType
} = path.node;
if (sourceType !== "module" && sourceType !== "script") {
throw path.buildCodeFrameError("Unknown sourceType \"" + sourceType + "\", cannot transform.");
throw path.buildCodeFrameError(`Unknown sourceType "${sourceType}", cannot transform.`);
}

@@ -12,0 +16,0 @@

{
"name": "@babel/helper-module-imports",
"version": "7.0.0-beta.42",
"version": "7.0.0-beta.43",
"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.42",
"@babel/types": "7.0.0-beta.43",
"lodash": "^4.2.0"
},
"devDependencies": {
"@babel/core": "7.0.0-beta.42"
"@babel/core": "7.0.0-beta.43"
}
}
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