@babel/helper-module-transforms
Advanced tools
Comparing version 7.0.0-beta.43 to 7.0.0-beta.44
370
lib/index.js
@@ -12,3 +12,3 @@ "use strict"; | ||
enumerable: true, | ||
get: function () { | ||
get: function get() { | ||
return _helperModuleImports().isModule; | ||
@@ -19,3 +19,3 @@ } | ||
enumerable: true, | ||
get: function () { | ||
get: function get() { | ||
return _normalizeAndLoadMetadata.hasExports; | ||
@@ -26,3 +26,3 @@ } | ||
enumerable: true, | ||
get: function () { | ||
get: function get() { | ||
return _normalizeAndLoadMetadata.isSideEffectImport; | ||
@@ -33,5 +33,5 @@ } | ||
function _assert() { | ||
const data = _interopRequireDefault(require("assert")); | ||
var data = _interopRequireDefault(require("assert")); | ||
_assert = function () { | ||
_assert = function _assert() { | ||
return data; | ||
@@ -44,5 +44,5 @@ }; | ||
function t() { | ||
const data = _interopRequireWildcard(require("@babel/types")); | ||
var data = _interopRequireWildcard(require("@babel/types")); | ||
t = function () { | ||
t = function t() { | ||
return data; | ||
@@ -55,5 +55,5 @@ }; | ||
function _template() { | ||
const data = _interopRequireDefault(require("@babel/template")); | ||
var data = _interopRequireDefault(require("@babel/template")); | ||
_template = function () { | ||
_template = function _template() { | ||
return data; | ||
@@ -66,5 +66,5 @@ }; | ||
function _chunk() { | ||
const data = _interopRequireDefault(require("lodash/chunk")); | ||
var data = _interopRequireDefault(require("lodash/chunk")); | ||
_chunk = function () { | ||
_chunk = function _chunk() { | ||
return data; | ||
@@ -77,5 +77,5 @@ }; | ||
function _helperModuleImports() { | ||
const data = require("@babel/helper-module-imports"); | ||
var data = require("@babel/helper-module-imports"); | ||
_helperModuleImports = function () { | ||
_helperModuleImports = function _helperModuleImports() { | ||
return data; | ||
@@ -93,2 +93,14 @@ }; | ||
var _templateObject = _taggedTemplateLiteralLoose(["var NAME = SOURCE;"]), | ||
_templateObject2 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(EXPORTS, \"NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE;\n }\n });\n "]), | ||
_templateObject3 = _taggedTemplateLiteralLoose(["EXPORTS.NAME = NAMESPACE;"]), | ||
_templateObject4 = _taggedTemplateLiteralLoose(["EXPORTS.EXPORT_NAME = NAMESPACE.IMPORT_NAME;"]), | ||
_templateObject5 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(EXPORTS, \"EXPORT_NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE.IMPORT_NAME;\n },\n });\n "]), | ||
_templateObject6 = _taggedTemplateLiteralLoose(["\n EXPORTS.__esModule = true;\n "]), | ||
_templateObject7 = _taggedTemplateLiteralLoose(["\n Object.defineProperty(EXPORTS, \"__esModule\", {\n value: true,\n });\n "]), | ||
_templateObject8 = _taggedTemplateLiteralLoose(["\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n\n EXPORTS[key] = NAMESPACE[key];\n });\n "]), | ||
_templateObject9 = _taggedTemplateLiteralLoose(["\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n\n Object.defineProperty(EXPORTS, key, {\n enumerable: true,\n get: function() {\n return NAMESPACE[key];\n },\n });\n });\n "]), | ||
_templateObject10 = _taggedTemplateLiteralLoose(["\n if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return;\n "]), | ||
_templateObject11 = _taggedTemplateLiteralLoose(["EXPORTS.NAME = VALUE"]); | ||
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; } } | ||
@@ -98,19 +110,20 @@ | ||
function rewriteModuleStatementsAndPrepareHeader(path, { | ||
exportName, | ||
strict, | ||
allowTopLevelThis, | ||
strictMode, | ||
loose, | ||
noInterop, | ||
lazy, | ||
esNamespaceOnly | ||
}) { | ||
function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; } | ||
function rewriteModuleStatementsAndPrepareHeader(path, _ref) { | ||
var exportName = _ref.exportName, | ||
strict = _ref.strict, | ||
allowTopLevelThis = _ref.allowTopLevelThis, | ||
strictMode = _ref.strictMode, | ||
loose = _ref.loose, | ||
noInterop = _ref.noInterop, | ||
lazy = _ref.lazy, | ||
esNamespaceOnly = _ref.esNamespaceOnly; | ||
(0, _assert().default)((0, _helperModuleImports().isModule)(path), "Cannot process module statements in a script"); | ||
path.node.sourceType = "script"; | ||
const meta = (0, _normalizeAndLoadMetadata.default)(path, exportName, { | ||
noInterop, | ||
loose, | ||
lazy, | ||
esNamespaceOnly | ||
var meta = (0, _normalizeAndLoadMetadata.default)(path, exportName, { | ||
noInterop: noInterop, | ||
loose: loose, | ||
lazy: lazy, | ||
esNamespaceOnly: esNamespaceOnly | ||
}); | ||
@@ -125,3 +138,3 @@ | ||
if (strictMode !== false) { | ||
const hasStrict = path.node.directives.some(directive => { | ||
var hasStrict = path.node.directives.some(function (directive) { | ||
return directive.value.value === "use strict"; | ||
@@ -135,3 +148,3 @@ }); | ||
const headers = []; | ||
var headers = []; | ||
@@ -142,3 +155,3 @@ if ((0, _normalizeAndLoadMetadata.hasExports)(meta) && !strict) { | ||
const nameList = buildExportNameListDeclaration(path, meta); | ||
var nameList = buildExportNameListDeclaration(path, meta); | ||
@@ -150,6 +163,6 @@ if (nameList) { | ||
headers.push(...buildExportInitializationStatements(path, meta, loose)); | ||
headers.push.apply(headers, buildExportInitializationStatements(path, meta, loose)); | ||
return { | ||
meta, | ||
headers | ||
meta: meta, | ||
headers: headers | ||
}; | ||
@@ -159,3 +172,3 @@ } | ||
function ensureStatementsHoisted(statements) { | ||
statements.forEach(header => { | ||
statements.forEach(function (header) { | ||
header._blockHoist = 3; | ||
@@ -170,3 +183,3 @@ }); | ||
let helper; | ||
var helper; | ||
@@ -178,3 +191,3 @@ if (type === "default") { | ||
} else { | ||
throw new Error(`Unknown interop: ${type}`); | ||
throw new Error("Unknown interop: " + type); | ||
} | ||
@@ -185,10 +198,26 @@ | ||
function buildNamespaceInitStatements(metadata, sourceMetadata, loose = false) { | ||
const statements = []; | ||
let srcNamespace = t().identifier(sourceMetadata.name); | ||
function buildNamespaceInitStatements(metadata, sourceMetadata, loose) { | ||
if (loose === void 0) { | ||
loose = false; | ||
} | ||
var statements = []; | ||
var srcNamespace = t().identifier(sourceMetadata.name); | ||
if (sourceMetadata.lazy) srcNamespace = t().callExpression(srcNamespace, []); | ||
for (const localName of sourceMetadata.importsNamespace) { | ||
for (var _iterator = sourceMetadata.importsNamespace, _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 localName = _ref2; | ||
if (localName === sourceMetadata.name) continue; | ||
statements.push(_template().default.statement`var NAME = SOURCE;`({ | ||
statements.push(_template().default.statement(_templateObject)({ | ||
NAME: localName, | ||
@@ -200,14 +229,19 @@ SOURCE: t().cloneNode(srcNamespace) | ||
if (loose) { | ||
statements.push(...buildReexportsFromMeta(metadata, sourceMetadata, loose)); | ||
statements.push.apply(statements, buildReexportsFromMeta(metadata, sourceMetadata, loose)); | ||
} | ||
for (const exportName of sourceMetadata.reexportNamespace) { | ||
statements.push((sourceMetadata.lazy ? _template().default.statement` | ||
Object.defineProperty(EXPORTS, "NAME", { | ||
enumerable: true, | ||
get: function() { | ||
return NAMESPACE; | ||
} | ||
}); | ||
` : _template().default.statement`EXPORTS.NAME = NAMESPACE;`)({ | ||
for (var _iterator2 = sourceMetadata.reexportNamespace, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { | ||
var _ref3; | ||
if (_isArray2) { | ||
if (_i2 >= _iterator2.length) break; | ||
_ref3 = _iterator2[_i2++]; | ||
} else { | ||
_i2 = _iterator2.next(); | ||
if (_i2.done) break; | ||
_ref3 = _i2.value; | ||
} | ||
var exportName = _ref3; | ||
statements.push((sourceMetadata.lazy ? _template().default.statement(_templateObject2) : _template().default.statement(_templateObject3))({ | ||
EXPORTS: metadata.exportName, | ||
@@ -220,3 +254,3 @@ NAME: exportName, | ||
if (sourceMetadata.reexportAll) { | ||
const statement = buildNamespaceReexport(metadata, t().cloneNode(srcNamespace), loose); | ||
var statement = buildNamespaceReexport(metadata, t().cloneNode(srcNamespace), loose); | ||
statement.loc = sourceMetadata.reexportAll.loc; | ||
@@ -229,32 +263,27 @@ statements.push(statement); | ||
const getTemplateForReexport = loose => { | ||
return loose ? _template().default.statement`EXPORTS.EXPORT_NAME = NAMESPACE.IMPORT_NAME;` : _template().default` | ||
Object.defineProperty(EXPORTS, "EXPORT_NAME", { | ||
enumerable: true, | ||
get: function() { | ||
return NAMESPACE.IMPORT_NAME; | ||
}, | ||
}); | ||
`; | ||
var getTemplateForReexport = function getTemplateForReexport(loose) { | ||
return loose ? _template().default.statement(_templateObject4) : (0, _template().default)(_templateObject5); | ||
}; | ||
const buildReexportsFromMeta = (meta, metadata, loose) => { | ||
const namespace = metadata.lazy ? t().callExpression(t().identifier(metadata.name), []) : t().identifier(metadata.name); | ||
const templateForCurrentMode = getTemplateForReexport(loose); | ||
return Array.from(metadata.reexports, ([exportName, importName]) => templateForCurrentMode({ | ||
EXPORTS: meta.exportName, | ||
EXPORT_NAME: exportName, | ||
NAMESPACE: t().cloneNode(namespace), | ||
IMPORT_NAME: importName | ||
})); | ||
var buildReexportsFromMeta = function buildReexportsFromMeta(meta, metadata, loose) { | ||
var namespace = metadata.lazy ? t().callExpression(t().identifier(metadata.name), []) : t().identifier(metadata.name); | ||
var templateForCurrentMode = getTemplateForReexport(loose); | ||
return Array.from(metadata.reexports, function (_ref4) { | ||
var exportName = _ref4[0], | ||
importName = _ref4[1]; | ||
return templateForCurrentMode({ | ||
EXPORTS: meta.exportName, | ||
EXPORT_NAME: exportName, | ||
NAMESPACE: t().cloneNode(namespace), | ||
IMPORT_NAME: importName | ||
}); | ||
}); | ||
}; | ||
function buildESModuleHeader(metadata, enumerable = false) { | ||
return (enumerable ? _template().default.statement` | ||
EXPORTS.__esModule = true; | ||
` : _template().default.statement` | ||
Object.defineProperty(EXPORTS, "__esModule", { | ||
value: true, | ||
}); | ||
`)({ | ||
function buildESModuleHeader(metadata, enumerable) { | ||
if (enumerable === void 0) { | ||
enumerable = false; | ||
} | ||
return (enumerable ? _template().default.statement(_templateObject6) : _template().default.statement(_templateObject7))({ | ||
EXPORTS: metadata.exportName | ||
@@ -265,27 +294,6 @@ }); | ||
function buildNamespaceReexport(metadata, namespace, loose) { | ||
return (loose ? _template().default.statement` | ||
Object.keys(NAMESPACE).forEach(function(key) { | ||
if (key === "default" || key === "__esModule") return; | ||
VERIFY_NAME_LIST; | ||
EXPORTS[key] = NAMESPACE[key]; | ||
}); | ||
` : _template().default.statement` | ||
Object.keys(NAMESPACE).forEach(function(key) { | ||
if (key === "default" || key === "__esModule") return; | ||
VERIFY_NAME_LIST; | ||
Object.defineProperty(EXPORTS, key, { | ||
enumerable: true, | ||
get: function() { | ||
return NAMESPACE[key]; | ||
}, | ||
}); | ||
}); | ||
`)({ | ||
return (loose ? _template().default.statement(_templateObject8) : _template().default.statement(_templateObject9))({ | ||
NAMESPACE: namespace, | ||
EXPORTS: metadata.exportName, | ||
VERIFY_NAME_LIST: metadata.exportNameListName ? _template().default` | ||
if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return; | ||
`({ | ||
VERIFY_NAME_LIST: metadata.exportNameListName ? (0, _template().default)(_templateObject10)({ | ||
EXPORTS_LIST: metadata.exportNameListName | ||
@@ -297,26 +305,88 @@ }) : null | ||
function buildExportNameListDeclaration(programPath, metadata) { | ||
const exportedVars = Object.create(null); | ||
var exportedVars = Object.create(null); | ||
for (const data of metadata.local.values()) { | ||
for (const name of data.names) { | ||
exportedVars[name] = true; | ||
for (var _iterator3 = metadata.local.values(), _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { | ||
var _ref5; | ||
if (_isArray3) { | ||
if (_i3 >= _iterator3.length) break; | ||
_ref5 = _iterator3[_i3++]; | ||
} else { | ||
_i3 = _iterator3.next(); | ||
if (_i3.done) break; | ||
_ref5 = _i3.value; | ||
} | ||
var data = _ref5; | ||
for (var _iterator5 = data.names, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { | ||
var _ref7; | ||
if (_isArray5) { | ||
if (_i5 >= _iterator5.length) break; | ||
_ref7 = _iterator5[_i5++]; | ||
} else { | ||
_i5 = _iterator5.next(); | ||
if (_i5.done) break; | ||
_ref7 = _i5.value; | ||
} | ||
var _name = _ref7; | ||
exportedVars[_name] = true; | ||
} | ||
} | ||
let hasReexport = false; | ||
var hasReexport = false; | ||
for (const data of metadata.source.values()) { | ||
for (const exportName of data.reexports.keys()) { | ||
exportedVars[exportName] = true; | ||
for (var _iterator4 = metadata.source.values(), _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { | ||
var _ref6; | ||
if (_isArray4) { | ||
if (_i4 >= _iterator4.length) break; | ||
_ref6 = _iterator4[_i4++]; | ||
} else { | ||
_i4 = _iterator4.next(); | ||
if (_i4.done) break; | ||
_ref6 = _i4.value; | ||
} | ||
for (const exportName of data.reexportNamespace) { | ||
var _data = _ref6; | ||
for (var _iterator6 = _data.reexports.keys(), _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { | ||
var _ref8; | ||
if (_isArray6) { | ||
if (_i6 >= _iterator6.length) break; | ||
_ref8 = _iterator6[_i6++]; | ||
} else { | ||
_i6 = _iterator6.next(); | ||
if (_i6.done) break; | ||
_ref8 = _i6.value; | ||
} | ||
var exportName = _ref8; | ||
exportedVars[exportName] = true; | ||
} | ||
hasReexport = hasReexport || data.reexportAll; | ||
for (var _iterator7 = _data.reexportNamespace, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { | ||
var _ref9; | ||
if (_isArray7) { | ||
if (_i7 >= _iterator7.length) break; | ||
_ref9 = _iterator7[_i7++]; | ||
} else { | ||
_i7 = _iterator7.next(); | ||
if (_i7.done) break; | ||
_ref9 = _i7.value; | ||
} | ||
var _exportName = _ref9; | ||
exportedVars[_exportName] = true; | ||
} | ||
hasReexport = hasReexport || _data.reexportAll; | ||
} | ||
if (!hasReexport || Object.keys(exportedVars).length === 0) return null; | ||
const name = programPath.scope.generateUidIdentifier("exportNames"); | ||
var name = programPath.scope.generateUidIdentifier("exportNames"); | ||
delete exportedVars.default; | ||
@@ -329,20 +399,64 @@ return { | ||
function buildExportInitializationStatements(programPath, metadata, loose = false) { | ||
const initStatements = []; | ||
const exportNames = []; | ||
function buildExportInitializationStatements(programPath, metadata, loose) { | ||
if (loose === void 0) { | ||
loose = false; | ||
} | ||
for (const [localName, data] of metadata.local) { | ||
var initStatements = []; | ||
var exportNames = []; | ||
for (var _iterator8 = metadata.local, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) { | ||
var _ref10; | ||
if (_isArray8) { | ||
if (_i8 >= _iterator8.length) break; | ||
_ref10 = _iterator8[_i8++]; | ||
} else { | ||
_i8 = _iterator8.next(); | ||
if (_i8.done) break; | ||
_ref10 = _i8.value; | ||
} | ||
var _ref12 = _ref10, | ||
localName = _ref12[0], | ||
data = _ref12[1]; | ||
if (data.kind === "import") {} else if (data.kind === "hoisted") { | ||
initStatements.push(buildInitStatement(metadata, data.names, t().identifier(localName))); | ||
} else { | ||
exportNames.push(...data.names); | ||
exportNames.push.apply(exportNames, data.names); | ||
} | ||
} | ||
for (const data of metadata.source.values()) { | ||
for (var _iterator9 = metadata.source.values(), _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) { | ||
var _ref11; | ||
if (_isArray9) { | ||
if (_i9 >= _iterator9.length) break; | ||
_ref11 = _iterator9[_i9++]; | ||
} else { | ||
_i9 = _iterator9.next(); | ||
if (_i9.done) break; | ||
_ref11 = _i9.value; | ||
} | ||
var data = _ref11; | ||
if (!loose) { | ||
initStatements.push(...buildReexportsFromMeta(metadata, data, loose)); | ||
initStatements.push.apply(initStatements, buildReexportsFromMeta(metadata, data, loose)); | ||
} | ||
for (const exportName of data.reexportNamespace) { | ||
for (var _iterator10 = data.reexportNamespace, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) { | ||
var _ref13; | ||
if (_isArray10) { | ||
if (_i10 >= _iterator10.length) break; | ||
_ref13 = _iterator10[_i10++]; | ||
} else { | ||
_i10 = _iterator10.next(); | ||
if (_i10.done) break; | ||
_ref13 = _i10.value; | ||
} | ||
var exportName = _ref13; | ||
exportNames.push(exportName); | ||
@@ -352,3 +466,3 @@ } | ||
initStatements.push(...(0, _chunk().default)(exportNames, 100).map(members => { | ||
initStatements.push.apply(initStatements, (0, _chunk().default)(exportNames, 100).map(function (members) { | ||
return buildInitStatement(metadata, members, programPath.scope.buildUndefinedNode()); | ||
@@ -360,7 +474,9 @@ })); | ||
function buildInitStatement(metadata, exportNames, initExpr) { | ||
return t().expressionStatement(exportNames.reduce((acc, exportName) => _template().default.expression`EXPORTS.NAME = VALUE`({ | ||
EXPORTS: metadata.exportName, | ||
NAME: exportName, | ||
VALUE: acc | ||
}), initExpr)); | ||
return t().expressionStatement(exportNames.reduce(function (acc, exportName) { | ||
return _template().default.expression(_templateObject11)({ | ||
EXPORTS: metadata.exportName, | ||
NAME: exportName, | ||
VALUE: acc | ||
}); | ||
}, initExpr)); | ||
} |
@@ -11,5 +11,5 @@ "use strict"; | ||
function _path() { | ||
const data = require("path"); | ||
var data = require("path"); | ||
_path = function () { | ||
_path = function _path() { | ||
return data; | ||
@@ -22,5 +22,5 @@ }; | ||
function _helperSplitExportDeclaration() { | ||
const data = _interopRequireDefault(require("@babel/helper-split-export-declaration")); | ||
var data = _interopRequireDefault(require("@babel/helper-split-export-declaration")); | ||
_helperSplitExportDeclaration = function () { | ||
_helperSplitExportDeclaration = function _helperSplitExportDeclaration() { | ||
return data; | ||
@@ -35,7 +35,6 @@ }; | ||
function hasExports(metadata) { | ||
const { | ||
local, | ||
source | ||
} = metadata; | ||
return local.size > 0 || Array.from(source).some(([, meta]) => { | ||
var local = metadata.local, | ||
source = metadata.source; | ||
return local.size > 0 || Array.from(source).some(function (_ref) { | ||
var meta = _ref[1]; | ||
return meta.reexports.size > 0 || meta.reexportNamespace.size > 0 || !!meta.reexportAll; | ||
@@ -49,8 +48,13 @@ }); | ||
function normalizeModuleAndLoadMetadata(programPath, exportName, { | ||
noInterop = false, | ||
loose = false, | ||
lazy = false, | ||
esNamespaceOnly = false | ||
} = {}) { | ||
function normalizeModuleAndLoadMetadata(programPath, exportName, _temp) { | ||
var _ref2 = _temp === void 0 ? {} : _temp, | ||
_ref2$noInterop = _ref2.noInterop, | ||
noInterop = _ref2$noInterop === void 0 ? false : _ref2$noInterop, | ||
_ref2$loose = _ref2.loose, | ||
loose = _ref2$loose === void 0 ? false : _ref2$loose, | ||
_ref2$lazy = _ref2.lazy, | ||
lazy = _ref2$lazy === void 0 ? false : _ref2$lazy, | ||
_ref2$esNamespaceOnly = _ref2.esNamespaceOnly, | ||
esNamespaceOnly = _ref2$esNamespaceOnly === void 0 ? false : _ref2$esNamespaceOnly; | ||
if (!exportName) { | ||
@@ -61,12 +65,27 @@ exportName = programPath.scope.generateUidIdentifier("exports").name; | ||
nameAnonymousExports(programPath); | ||
const { | ||
local, | ||
source | ||
} = getModuleMetadata(programPath, { | ||
loose, | ||
lazy | ||
}); | ||
var _getModuleMetadata = getModuleMetadata(programPath, { | ||
loose: loose, | ||
lazy: lazy | ||
}), | ||
local = _getModuleMetadata.local, | ||
source = _getModuleMetadata.source; | ||
removeModuleDeclarations(programPath); | ||
for (const [, metadata] of source) { | ||
for (var _iterator = source, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { | ||
var _ref3; | ||
if (_isArray) { | ||
if (_i >= _iterator.length) break; | ||
_ref3 = _iterator[_i++]; | ||
} else { | ||
_i = _iterator.next(); | ||
if (_i.done) break; | ||
_ref3 = _i.value; | ||
} | ||
var _ref4 = _ref3, | ||
metadata = _ref4[1]; | ||
if (metadata.importsNamespace.size > 0) { | ||
@@ -84,19 +103,18 @@ metadata.name = metadata.importsNamespace.values().next().value; | ||
return { | ||
exportName, | ||
exportName: exportName, | ||
exportNameListName: null, | ||
local, | ||
source | ||
local: local, | ||
source: source | ||
}; | ||
} | ||
function getModuleMetadata(programPath, { | ||
loose, | ||
lazy | ||
}) { | ||
const localData = getLocalExportMetadata(programPath, loose); | ||
const sourceData = new Map(); | ||
function getModuleMetadata(programPath, _ref5) { | ||
var loose = _ref5.loose, | ||
lazy = _ref5.lazy; | ||
var localData = getLocalExportMetadata(programPath, loose); | ||
var sourceData = new Map(); | ||
const getData = sourceNode => { | ||
const source = sourceNode.value; | ||
let data = sourceData.get(source); | ||
var getData = function getData(sourceNode) { | ||
var source = sourceNode.value; | ||
var data = sourceData.get(source); | ||
@@ -121,15 +139,15 @@ if (!data) { | ||
programPath.get("body").forEach(child => { | ||
programPath.get("body").forEach(function (child) { | ||
if (child.isImportDeclaration()) { | ||
const data = getData(child.node.source); | ||
var data = getData(child.node.source); | ||
if (!data.loc) data.loc = child.node.loc; | ||
child.get("specifiers").forEach(spec => { | ||
child.get("specifiers").forEach(function (spec) { | ||
if (spec.isImportDefaultSpecifier()) { | ||
const localName = spec.get("local").node.name; | ||
var localName = spec.get("local").node.name; | ||
data.imports.set(localName, "default"); | ||
const reexport = localData.get(localName); | ||
var reexport = localData.get(localName); | ||
if (reexport) { | ||
localData.delete(localName); | ||
reexport.names.forEach(name => { | ||
reexport.names.forEach(function (name) { | ||
data.reexports.set(name, "default"); | ||
@@ -139,9 +157,11 @@ }); | ||
} else if (spec.isImportNamespaceSpecifier()) { | ||
const localName = spec.get("local").node.name; | ||
data.importsNamespace.add(localName); | ||
const reexport = localData.get(localName); | ||
var _localName = spec.get("local").node.name; | ||
data.importsNamespace.add(_localName); | ||
if (reexport) { | ||
localData.delete(localName); | ||
reexport.names.forEach(name => { | ||
var _reexport = localData.get(_localName); | ||
if (_reexport) { | ||
localData.delete(_localName); | ||
_reexport.names.forEach(function (name) { | ||
data.reexportNamespace.add(name); | ||
@@ -151,10 +171,12 @@ }); | ||
} else if (spec.isImportSpecifier()) { | ||
const importName = spec.get("imported").node.name; | ||
const localName = spec.get("local").node.name; | ||
data.imports.set(localName, importName); | ||
const reexport = localData.get(localName); | ||
var importName = spec.get("imported").node.name; | ||
var _localName2 = spec.get("local").node.name; | ||
data.imports.set(_localName2, importName); | ||
if (reexport) { | ||
localData.delete(localName); | ||
reexport.names.forEach(name => { | ||
var _reexport2 = localData.get(_localName2); | ||
if (_reexport2) { | ||
localData.delete(_localName2); | ||
_reexport2.names.forEach(function (name) { | ||
data.reexports.set(name, importName); | ||
@@ -166,11 +188,13 @@ }); | ||
} else if (child.isExportAllDeclaration()) { | ||
const data = getData(child.node.source); | ||
if (!data.loc) data.loc = child.node.loc; | ||
data.reexportAll = { | ||
var _data = getData(child.node.source); | ||
if (!_data.loc) _data.loc = child.node.loc; | ||
_data.reexportAll = { | ||
loc: child.node.loc | ||
}; | ||
} else if (child.isExportNamedDeclaration() && child.node.source) { | ||
const data = getData(child.node.source); | ||
if (!data.loc) data.loc = child.node.loc; | ||
child.get("specifiers").forEach(spec => { | ||
var _data2 = getData(child.node.source); | ||
if (!_data2.loc) _data2.loc = child.node.loc; | ||
child.get("specifiers").forEach(function (spec) { | ||
if (!spec.isExportSpecifier()) { | ||
@@ -180,6 +204,7 @@ throw spec.buildCodeFrameError("Unexpected export specifier type"); | ||
const importName = spec.get("local").node.name; | ||
const exportName = spec.get("exported").node.name; | ||
data.reexports.set(exportName, importName); | ||
var importName = spec.get("local").node.name; | ||
var exportName = spec.get("exported").node.name; | ||
_data2.reexports.set(exportName, importName); | ||
if (exportName === "__esModule") { | ||
@@ -192,3 +217,16 @@ throw exportName.buildCodeFrameError('Illegal export "__esModule".'); | ||
for (const metadata of sourceData.values()) { | ||
for (var _iterator2 = sourceData.values(), _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { | ||
var _ref6; | ||
if (_isArray2) { | ||
if (_i2 >= _iterator2.length) break; | ||
_ref6 = _iterator2[_i2++]; | ||
} else { | ||
_i2 = _iterator2.next(); | ||
if (_i2.done) break; | ||
_ref6 = _i2.value; | ||
} | ||
var metadata = _ref6; | ||
if (metadata.importsNamespace.size > 0) { | ||
@@ -199,11 +237,35 @@ metadata.interop = "namespace"; | ||
let needsDefault = false; | ||
let needsNamed = false; | ||
var needsDefault = false; | ||
var needsNamed = false; | ||
for (const importName of metadata.imports.values()) { | ||
for (var _iterator4 = metadata.imports.values(), _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { | ||
var _ref8; | ||
if (_isArray4) { | ||
if (_i4 >= _iterator4.length) break; | ||
_ref8 = _iterator4[_i4++]; | ||
} else { | ||
_i4 = _iterator4.next(); | ||
if (_i4.done) break; | ||
_ref8 = _i4.value; | ||
} | ||
var importName = _ref8; | ||
if (importName === "default") needsDefault = true;else needsNamed = true; | ||
} | ||
for (const importName of metadata.reexports.values()) { | ||
if (importName === "default") needsDefault = true;else needsNamed = true; | ||
for (var _iterator5 = metadata.reexports.values(), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { | ||
var _ref9; | ||
if (_isArray5) { | ||
if (_i5 >= _iterator5.length) break; | ||
_ref9 = _iterator5[_i5++]; | ||
} else { | ||
_i5 = _iterator5.next(); | ||
if (_i5.done) break; | ||
_ref9 = _i5.value; | ||
} | ||
var _importName = _ref9; | ||
if (_importName === "default") needsDefault = true;else needsNamed = true; | ||
} | ||
@@ -218,12 +280,27 @@ | ||
for (const [source, metadata] of sourceData) { | ||
if (lazy !== false && !(isSideEffectImport(metadata) || metadata.reexportAll)) { | ||
for (var _iterator3 = sourceData, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { | ||
var _ref7; | ||
if (_isArray3) { | ||
if (_i3 >= _iterator3.length) break; | ||
_ref7 = _iterator3[_i3++]; | ||
} else { | ||
_i3 = _iterator3.next(); | ||
if (_i3.done) break; | ||
_ref7 = _i3.value; | ||
} | ||
var _ref10 = _ref7, | ||
_source = _ref10[0], | ||
_metadata = _ref10[1]; | ||
if (lazy !== false && !(isSideEffectImport(_metadata) || _metadata.reexportAll)) { | ||
if (lazy === true) { | ||
metadata.lazy = !/\./.test(source); | ||
_metadata.lazy = !/\./.test(_source); | ||
} else if (Array.isArray(lazy)) { | ||
metadata.lazy = lazy.indexOf(source); | ||
_metadata.lazy = lazy.indexOf(_source); | ||
} else if (typeof lazy === "function") { | ||
metadata.lazy = lazy(source); | ||
_metadata.lazy = lazy(_source); | ||
} else { | ||
throw new Error(`.lazy must be a boolean, string array, or function`); | ||
throw new Error(".lazy must be a boolean, string array, or function"); | ||
} | ||
@@ -240,5 +317,5 @@ } | ||
function getLocalExportMetadata(programPath, loose) { | ||
const bindingKindLookup = new Map(); | ||
programPath.get("body").forEach(child => { | ||
let kind; | ||
var bindingKindLookup = new Map(); | ||
programPath.get("body").forEach(function (child) { | ||
var kind; | ||
@@ -254,3 +331,3 @@ if (child.isImportDeclaration()) { | ||
} else if (loose && child.node.source && child.get("source").isStringLiteral()) { | ||
child.node.specifiers.forEach(specifier => { | ||
child.node.specifiers.forEach(function (specifier) { | ||
bindingKindLookup.set(specifier.local.name, "block"); | ||
@@ -277,17 +354,17 @@ }); | ||
Object.keys(child.getOuterBindingIdentifiers()).forEach(name => { | ||
Object.keys(child.getOuterBindingIdentifiers()).forEach(function (name) { | ||
bindingKindLookup.set(name, kind); | ||
}); | ||
}); | ||
const localMetadata = new Map(); | ||
var localMetadata = new Map(); | ||
const getLocalMetadata = idPath => { | ||
const localName = idPath.node.name; | ||
let metadata = localMetadata.get(localName); | ||
var getLocalMetadata = function getLocalMetadata(idPath) { | ||
var localName = idPath.node.name; | ||
var metadata = localMetadata.get(localName); | ||
if (!metadata) { | ||
const kind = bindingKindLookup.get(localName); | ||
var _kind = bindingKindLookup.get(localName); | ||
if (kind === undefined) { | ||
throw idPath.buildCodeFrameError(`Exporting local "${localName}", which is not declared.`); | ||
if (_kind === undefined) { | ||
throw idPath.buildCodeFrameError("Exporting local \"" + localName + "\", which is not declared."); | ||
} | ||
@@ -297,3 +374,3 @@ | ||
names: [], | ||
kind | ||
kind: _kind | ||
}; | ||
@@ -306,8 +383,8 @@ localMetadata.set(localName, metadata); | ||
programPath.get("body").forEach(child => { | ||
programPath.get("body").forEach(function (child) { | ||
if (child.isExportNamedDeclaration() && (loose || !child.node.source)) { | ||
if (child.node.declaration) { | ||
const declaration = child.get("declaration"); | ||
const ids = declaration.getOuterBindingIdentifierPaths(); | ||
Object.keys(ids).forEach(name => { | ||
var declaration = child.get("declaration"); | ||
var ids = declaration.getOuterBindingIdentifierPaths(); | ||
Object.keys(ids).forEach(function (name) { | ||
if (name === "__esModule") { | ||
@@ -320,5 +397,5 @@ throw declaration.buildCodeFrameError('Illegal export "__esModule".'); | ||
} else { | ||
child.get("specifiers").forEach(spec => { | ||
const local = spec.get("local"); | ||
const exported = spec.get("exported"); | ||
child.get("specifiers").forEach(function (spec) { | ||
var local = spec.get("local"); | ||
var exported = spec.get("exported"); | ||
@@ -333,8 +410,8 @@ if (exported.node.name === "__esModule") { | ||
} else if (child.isExportDefaultDeclaration()) { | ||
const declaration = child.get("declaration"); | ||
var _declaration = child.get("declaration"); | ||
if (declaration.isFunctionDeclaration() || declaration.isClassDeclaration()) { | ||
getLocalMetadata(declaration.get("id")).names.push("default"); | ||
if (_declaration.isFunctionDeclaration() || _declaration.isClassDeclaration()) { | ||
getLocalMetadata(_declaration.get("id")).names.push("default"); | ||
} else { | ||
throw declaration.buildCodeFrameError("Unexpected default expression export."); | ||
throw _declaration.buildCodeFrameError("Unexpected default expression export."); | ||
} | ||
@@ -347,3 +424,3 @@ } | ||
function nameAnonymousExports(programPath) { | ||
programPath.get("body").forEach(child => { | ||
programPath.get("body").forEach(function (child) { | ||
if (!child.isExportDefaultDeclaration()) return; | ||
@@ -355,3 +432,3 @@ (0, _helperSplitExportDeclaration().default)(child); | ||
function removeModuleDeclarations(programPath) { | ||
programPath.get("body").forEach(child => { | ||
programPath.get("body").forEach(function (child) { | ||
if (child.isImportDeclaration()) { | ||
@@ -367,3 +444,3 @@ child.remove(); | ||
} else if (child.isExportDefaultDeclaration()) { | ||
const declaration = child.get("declaration"); | ||
var declaration = child.get("declaration"); | ||
@@ -370,0 +447,0 @@ if (declaration.isFunctionDeclaration() || declaration.isClassDeclaration()) { |
@@ -9,5 +9,5 @@ "use strict"; | ||
function _assert() { | ||
const data = _interopRequireDefault(require("assert")); | ||
var data = _interopRequireDefault(require("assert")); | ||
_assert = function () { | ||
_assert = function _assert() { | ||
return data; | ||
@@ -20,5 +20,5 @@ }; | ||
function t() { | ||
const data = _interopRequireWildcard(require("@babel/types")); | ||
var data = _interopRequireWildcard(require("@babel/types")); | ||
t = function () { | ||
t = function t() { | ||
return data; | ||
@@ -31,5 +31,5 @@ }; | ||
function _template() { | ||
const data = _interopRequireDefault(require("@babel/template")); | ||
var data = _interopRequireDefault(require("@babel/template")); | ||
_template = function () { | ||
_template = function _template() { | ||
return data; | ||
@@ -42,5 +42,5 @@ }; | ||
function _helperSimpleAccess() { | ||
const data = _interopRequireDefault(require("@babel/helper-simple-access")); | ||
var data = _interopRequireDefault(require("@babel/helper-simple-access")); | ||
_helperSimpleAccess = function () { | ||
_helperSimpleAccess = function _helperSimpleAccess() { | ||
return data; | ||
@@ -52,2 +52,4 @@ }; | ||
var _templateObject = _taggedTemplateLiteralLoose(["\n (function() {\n throw new Error('\"' + '", "' + '\" is read-only.');\n })()\n "]); | ||
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; } } | ||
@@ -57,16 +59,59 @@ | ||
function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; } | ||
function rewriteLiveReferences(programPath, metadata) { | ||
const imported = new Map(); | ||
const exported = new Map(); | ||
var imported = new Map(); | ||
var exported = new Map(); | ||
const requeueInParent = path => { | ||
var requeueInParent = function requeueInParent(path) { | ||
programPath.requeue(path); | ||
}; | ||
for (const [source, data] of metadata.source) { | ||
for (const [localName, importName] of data.imports) { | ||
for (var _iterator = metadata.source, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { | ||
var _ref; | ||
if (_isArray) { | ||
if (_i >= _iterator.length) break; | ||
_ref = _iterator[_i++]; | ||
} else { | ||
_i = _iterator.next(); | ||
if (_i.done) break; | ||
_ref = _i.value; | ||
} | ||
var _ref4 = _ref, | ||
source = _ref4[0], | ||
data = _ref4[1]; | ||
for (var _iterator3 = data.imports, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { | ||
var _ref5; | ||
if (_isArray3) { | ||
if (_i3 >= _iterator3.length) break; | ||
_ref5 = _iterator3[_i3++]; | ||
} else { | ||
_i3 = _iterator3.next(); | ||
if (_i3.done) break; | ||
_ref5 = _i3.value; | ||
} | ||
var _ref7 = _ref5, | ||
localName = _ref7[0], | ||
importName = _ref7[1]; | ||
imported.set(localName, [source, importName, null]); | ||
} | ||
for (const localName of data.importsNamespace) { | ||
for (var _iterator4 = data.importsNamespace, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { | ||
var _ref6; | ||
if (_isArray4) { | ||
if (_i4 >= _iterator4.length) break; | ||
_ref6 = _iterator4[_i4++]; | ||
} else { | ||
_i4 = _iterator4.next(); | ||
if (_i4.done) break; | ||
_ref6 = _i4.value; | ||
} | ||
var localName = _ref6; | ||
imported.set(localName, [source, null, localName]); | ||
@@ -76,5 +121,21 @@ } | ||
for (const [local, data] of metadata.local) { | ||
let exportMeta = exported.get(local); | ||
for (var _iterator2 = metadata.local, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { | ||
var _exportMeta; | ||
var _ref2; | ||
if (_isArray2) { | ||
if (_i2 >= _iterator2.length) break; | ||
_ref2 = _iterator2[_i2++]; | ||
} else { | ||
_i2 = _iterator2.next(); | ||
if (_i2.done) break; | ||
_ref2 = _i2.value; | ||
} | ||
var _ref8 = _ref2, | ||
local = _ref8[0], | ||
data = _ref8[1]; | ||
var exportMeta = exported.get(local); | ||
if (!exportMeta) { | ||
@@ -85,21 +146,24 @@ exportMeta = []; | ||
exportMeta.push(...data.names); | ||
(_exportMeta = exportMeta).push.apply(_exportMeta, data.names); | ||
} | ||
programPath.traverse(rewriteBindingInitVisitor, { | ||
metadata, | ||
requeueInParent, | ||
metadata: metadata, | ||
requeueInParent: requeueInParent, | ||
scope: programPath.scope, | ||
exported | ||
exported: exported | ||
}); | ||
(0, _helperSimpleAccess().default)(programPath, new Set([...Array.from(imported.keys()), ...Array.from(exported.keys())])); | ||
(0, _helperSimpleAccess().default)(programPath, new Set(Array.from(imported.keys()).concat(Array.from(exported.keys())))); | ||
programPath.traverse(rewriteReferencesVisitor, { | ||
seen: new WeakSet(), | ||
metadata, | ||
requeueInParent, | ||
metadata: metadata, | ||
requeueInParent: requeueInParent, | ||
scope: programPath.scope, | ||
imported, | ||
exported, | ||
buildImportReference: ([source, importName, localName], identNode) => { | ||
const meta = metadata.source.get(source); | ||
imported: imported, | ||
exported: exported, | ||
buildImportReference: function buildImportReference(_ref3, identNode) { | ||
var source = _ref3[0], | ||
importName = _ref3[1], | ||
localName = _ref3[2]; | ||
var meta = metadata.source.get(source); | ||
@@ -111,3 +175,3 @@ if (localName) { | ||
let namespace = t().identifier(meta.name); | ||
var namespace = t().identifier(meta.name); | ||
if (meta.lazy) namespace = t().callExpression(namespace, []); | ||
@@ -119,26 +183,20 @@ return t().memberExpression(namespace, t().identifier(importName)); | ||
const rewriteBindingInitVisitor = { | ||
ClassProperty(path) { | ||
var rewriteBindingInitVisitor = { | ||
ClassProperty: function ClassProperty(path) { | ||
path.skip(); | ||
}, | ||
Function(path) { | ||
Function: function Function(path) { | ||
path.skip(); | ||
}, | ||
ClassDeclaration(path) { | ||
const { | ||
requeueInParent, | ||
exported, | ||
metadata | ||
} = this; | ||
const { | ||
id | ||
} = path.node; | ||
ClassDeclaration: function ClassDeclaration(path) { | ||
var requeueInParent = this.requeueInParent, | ||
exported = this.exported, | ||
metadata = this.metadata; | ||
var id = path.node.id; | ||
if (!id) throw new Error("Expected class to have a name"); | ||
const localName = id.name; | ||
const exportNames = exported.get(localName) || []; | ||
var localName = id.name; | ||
var exportNames = exported.get(localName) || []; | ||
if (exportNames.length > 0) { | ||
const statement = t().expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, t().identifier(localName))); | ||
var statement = t().expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, t().identifier(localName))); | ||
statement._blockHoist = path.node._blockHoist; | ||
@@ -148,14 +206,11 @@ requeueInParent(path.insertAfter(statement)[0]); | ||
}, | ||
VariableDeclaration: function VariableDeclaration(path) { | ||
var requeueInParent = this.requeueInParent, | ||
exported = this.exported, | ||
metadata = this.metadata; | ||
Object.keys(path.getOuterBindingIdentifiers()).forEach(function (localName) { | ||
var exportNames = exported.get(localName) || []; | ||
VariableDeclaration(path) { | ||
const { | ||
requeueInParent, | ||
exported, | ||
metadata | ||
} = this; | ||
Object.keys(path.getOuterBindingIdentifiers()).forEach(localName => { | ||
const exportNames = exported.get(localName) || []; | ||
if (exportNames.length > 0) { | ||
const statement = t().expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, t().identifier(localName))); | ||
var statement = t().expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, t().identifier(localName))); | ||
statement._blockHoist = path.node._blockHoist; | ||
@@ -166,7 +221,6 @@ requeueInParent(path.insertAfter(statement)[0]); | ||
} | ||
}; | ||
const buildBindingExportAssignmentExpression = (metadata, exportNames, localExpr) => { | ||
return (exportNames || []).reduce((expr, exportName) => { | ||
var buildBindingExportAssignmentExpression = function buildBindingExportAssignmentExpression(metadata, exportNames, localExpr) { | ||
return (exportNames || []).reduce(function (expr, exportName) { | ||
return t().assignmentExpression("=", t().memberExpression(t().identifier(metadata.exportName), t().identifier(exportName)), expr); | ||
@@ -176,29 +230,23 @@ }, localExpr); | ||
const buildImportThrow = localName => { | ||
return _template().default.expression.ast` | ||
(function() { | ||
throw new Error('"' + '${localName}' + '" is read-only.'); | ||
})() | ||
`; | ||
var buildImportThrow = function buildImportThrow(localName) { | ||
return _template().default.expression.ast(_templateObject, localName); | ||
}; | ||
const rewriteReferencesVisitor = { | ||
ReferencedIdentifier(path) { | ||
const { | ||
seen, | ||
buildImportReference, | ||
scope, | ||
imported, | ||
requeueInParent | ||
} = this; | ||
var rewriteReferencesVisitor = { | ||
ReferencedIdentifier: function ReferencedIdentifier(path) { | ||
var seen = this.seen, | ||
buildImportReference = this.buildImportReference, | ||
scope = this.scope, | ||
imported = this.imported, | ||
requeueInParent = this.requeueInParent; | ||
if (seen.has(path.node)) return; | ||
seen.add(path.node); | ||
const localName = path.node.name; | ||
const localBinding = path.scope.getBinding(localName); | ||
const rootBinding = scope.getBinding(localName); | ||
var localName = path.node.name; | ||
var localBinding = path.scope.getBinding(localName); | ||
var rootBinding = scope.getBinding(localName); | ||
if (rootBinding !== localBinding) return; | ||
const importData = imported.get(localName); | ||
var importData = imported.get(localName); | ||
if (importData) { | ||
const ref = buildImportReference(importData, path.node); | ||
var ref = buildImportReference(importData, path.node); | ||
ref.loc = path.node.loc; | ||
@@ -211,6 +259,4 @@ | ||
} else if (path.isJSXIdentifier() && t().isMemberExpression(ref)) { | ||
const { | ||
object, | ||
property | ||
} = ref; | ||
var object = ref.object, | ||
property = ref.property; | ||
path.replaceWith(t().JSXMemberExpression(t().JSXIdentifier(object.name), t().JSXIdentifier(property.name))); | ||
@@ -225,19 +271,18 @@ } else { | ||
}, | ||
AssignmentExpression: { | ||
exit: function exit(path) { | ||
var _this = this; | ||
AssignmentExpression: { | ||
exit(path) { | ||
const { | ||
scope, | ||
seen, | ||
imported, | ||
exported, | ||
requeueInParent, | ||
buildImportReference | ||
} = this; | ||
var scope = this.scope, | ||
seen = this.seen, | ||
imported = this.imported, | ||
exported = this.exported, | ||
requeueInParent = this.requeueInParent, | ||
buildImportReference = this.buildImportReference; | ||
if (seen.has(path.node)) return; | ||
seen.add(path.node); | ||
const left = path.get("left"); | ||
var left = path.get("left"); | ||
if (left.isIdentifier()) { | ||
const localName = left.node.name; | ||
var localName = left.node.name; | ||
@@ -248,8 +293,8 @@ if (scope.getBinding(localName) !== path.scope.getBinding(localName)) { | ||
const exportedNames = exported.get(localName) || []; | ||
const importData = imported.get(localName); | ||
var exportedNames = exported.get(localName) || []; | ||
var importData = imported.get(localName); | ||
if (exportedNames.length > 0 || importData) { | ||
(0, _assert().default)(path.node.operator === "=", "Path was not simplified"); | ||
const assignment = path.node; | ||
var assignment = path.node; | ||
@@ -265,4 +310,6 @@ if (importData) { | ||
} else if (left.isMemberExpression()) {} else { | ||
const ids = left.getOuterBindingIdentifiers(); | ||
const id = Object.keys(ids).filter(localName => imported.has(localName)).pop(); | ||
var ids = left.getOuterBindingIdentifiers(); | ||
var id = Object.keys(ids).filter(function (localName) { | ||
return imported.has(localName); | ||
}).pop(); | ||
@@ -273,4 +320,4 @@ if (id) { | ||
const items = []; | ||
Object.keys(ids).forEach(localName => { | ||
var items = []; | ||
Object.keys(ids).forEach(function (localName) { | ||
if (scope.getBinding(localName) !== path.scope.getBinding(localName)) { | ||
@@ -280,6 +327,6 @@ return; | ||
const exportedNames = exported.get(localName) || []; | ||
var exportedNames = exported.get(localName) || []; | ||
if (exportedNames.length > 0) { | ||
items.push(buildBindingExportAssignmentExpression(this.metadata, exportedNames, t().identifier(localName))); | ||
items.push(buildBindingExportAssignmentExpression(_this.metadata, exportedNames, t().identifier(localName))); | ||
} | ||
@@ -289,3 +336,3 @@ }); | ||
if (items.length > 0) { | ||
let node = t().sequenceExpression(items); | ||
var node = t().sequenceExpression(items); | ||
@@ -297,3 +344,3 @@ if (path.parentPath.isExpressionStatement()) { | ||
const statement = path.insertAfter(node)[0]; | ||
var statement = path.insertAfter(node)[0]; | ||
requeueInParent(statement); | ||
@@ -303,4 +350,3 @@ } | ||
} | ||
} | ||
}; |
@@ -12,15 +12,12 @@ "use strict"; | ||
const rewriteThisVisitor = { | ||
ThisExpression(path) { | ||
var rewriteThisVisitor = { | ||
ThisExpression: function ThisExpression(path) { | ||
path.replaceWith(path.scope.buildUndefinedNode()); | ||
}, | ||
Function(path) { | ||
Function: function Function(path) { | ||
if (!path.isArrowFunctionExpression()) path.skip(); | ||
}, | ||
ClassProperty(path) { | ||
ClassProperty: function ClassProperty(path) { | ||
path.skip(); | ||
} | ||
}; |
{ | ||
"name": "@babel/helper-module-transforms", | ||
"version": "7.0.0-beta.43", | ||
"version": "7.0.0-beta.44", | ||
"description": "Babel helper functions for implementing ES6 module transformations", | ||
@@ -11,9 +11,9 @@ "author": "Logan Smyth <loganfsmyth@gmail.com>", | ||
"dependencies": { | ||
"@babel/helper-module-imports": "7.0.0-beta.43", | ||
"@babel/helper-simple-access": "7.0.0-beta.43", | ||
"@babel/helper-split-export-declaration": "7.0.0-beta.43", | ||
"@babel/template": "7.0.0-beta.43", | ||
"@babel/types": "7.0.0-beta.43", | ||
"@babel/helper-module-imports": "7.0.0-beta.44", | ||
"@babel/helper-simple-access": "7.0.0-beta.44", | ||
"@babel/helper-split-export-declaration": "7.0.0-beta.44", | ||
"@babel/template": "7.0.0-beta.44", | ||
"@babel/types": "7.0.0-beta.44", | ||
"lodash": "^4.2.0" | ||
} | ||
} |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
40274
1016
0
+ Added@babel/code-frame@7.0.0-beta.44(transitive)
+ Added@babel/helper-module-imports@7.0.0-beta.44(transitive)
+ Added@babel/helper-simple-access@7.0.0-beta.44(transitive)
+ Added@babel/helper-split-export-declaration@7.0.0-beta.44(transitive)
+ Added@babel/highlight@7.0.0-beta.44(transitive)
+ Added@babel/template@7.0.0-beta.44(transitive)
+ Added@babel/types@7.0.0-beta.44(transitive)
+ Addedbabylon@7.0.0-beta.44(transitive)
- Removed@babel/code-frame@7.0.0-beta.43(transitive)
- Removed@babel/helper-module-imports@7.0.0-beta.43(transitive)
- Removed@babel/helper-simple-access@7.0.0-beta.43(transitive)
- Removed@babel/helper-split-export-declaration@7.0.0-beta.43(transitive)
- Removed@babel/highlight@7.0.0-beta.43(transitive)
- Removed@babel/template@7.0.0-beta.43(transitive)
- Removed@babel/types@7.0.0-beta.43(transitive)
- Removedbabylon@7.0.0-beta.43(transitive)
Updated@babel/types@7.0.0-beta.44