Fix incorrect module path when absoluteRuntime is specified (#11893)

* - Added failing tests for issue #11885.

* - Fix issue #11885: absoluteRuntime does not work as expected with corejs3.

* - Removed helper code from test output files (tests for issue #11885).

* chore: add @babel/runtime-corejs3 to dev deps

* chore: update test fixtures

Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
This commit is contained in:
SZ-Coder 2020-07-30 16:35:37 +02:00 committed by GitHub
parent 164a93945d
commit 4ce1b70ade
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 116 additions and 3 deletions

View File

@ -35,6 +35,7 @@
"@babel/plugin-transform-typeof-symbol": "^7.10.4",
"@babel/preset-env": "^7.10.4",
"@babel/runtime": "^7.10.5",
"@babel/runtime-corejs3": "^7.10.5",
"@babel/template": "^7.10.4",
"@babel/types": "^7.10.5"
}

View File

@ -310,7 +310,7 @@ export default declare((api, options, dirname) => {
node.callee = t.memberExpression(
t.callExpression(
this.addDefaultImport(
`${moduleName}/${corejsRoot}/instance/${InstanceProperties[propertyName].path}`,
`${modulePath}/${corejsRoot}/instance/${InstanceProperties[propertyName].path}`,
`${propertyName}InstanceProperty`,
),
[context2],
@ -379,7 +379,7 @@ export default declare((api, options, dirname) => {
path.replaceWith(
t.callExpression(
this.addDefaultImport(
`${moduleName}/core-js/get-iterator-method`,
`${modulePath}/core-js/get-iterator-method`,
"getIteratorMethod",
),
[object],
@ -407,7 +407,7 @@ export default declare((api, options, dirname) => {
path.replaceWith(
t.callExpression(
this.addDefaultImport(
`${moduleName}/${corejsRoot}/instance/${InstanceProperties[propertyName].path}`,
`${modulePath}/${corejsRoot}/instance/${InstanceProperties[propertyName].path}`,
`${propertyName}InstanceProperty`,
),
[object],

View File

@ -0,0 +1,8 @@
Array.map;
function* makeIterator() {
yield 1;
yield 2;
}
for (const itItem of makeIterator()) {
console.log(itItem);
}

View File

@ -0,0 +1,7 @@
{
"presets": ["env"],
"plugins": [
["transform-runtime", { "absoluteRuntime": true, "corejs": { "version": 3, "proposals": true } }],
["external-helpers", { "helperVersion": "7.100.0" }]
]
}

View File

@ -0,0 +1,41 @@
var _regeneratorRuntime = require("<CWD>/packages/babel-plugin-transform-runtime/node_modules/@babel/runtime-corejs3/regenerator");
var _mapInstanceProperty = require("<CWD>/packages/babel-plugin-transform-runtime/node_modules/@babel/runtime-corejs3/core-js/instance/map");
var _marked = /*#__PURE__*/_regeneratorRuntime.mark(makeIterator);
_mapInstanceProperty(Array);
function makeIterator() {
return _regeneratorRuntime.wrap(function makeIterator$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return 1;
case 2:
_context.next = 4;
return 2;
case 4:
case "end":
return _context.stop();
}
}
}, _marked);
}
var _iterator = babelHelpers.createForOfIteratorHelper(makeIterator()),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var itItem = _step.value;
console.log(itItem);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}

View File

@ -0,0 +1,8 @@
Array.map;
function* makeIterator() {
yield 1;
yield 2;
}
for (const itItem of makeIterator()) {
console.log(itItem);
}

View File

@ -0,0 +1,7 @@
{
"presets": ["env"],
"plugins": [
["transform-runtime", { "absoluteRuntime": true, "corejs": { "version": 3, "proposals": false } }],
["external-helpers", { "helperVersion": "7.100.0" }]
]
}

View File

@ -0,0 +1,41 @@
var _regeneratorRuntime = require("<CWD>/packages/babel-plugin-transform-runtime/node_modules/@babel/runtime-corejs3/regenerator");
var _mapInstanceProperty = require("<CWD>/packages/babel-plugin-transform-runtime/node_modules/@babel/runtime-corejs3/core-js-stable/instance/map");
var _marked = /*#__PURE__*/_regeneratorRuntime.mark(makeIterator);
_mapInstanceProperty(Array);
function makeIterator() {
return _regeneratorRuntime.wrap(function makeIterator$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return 1;
case 2:
_context.next = 4;
return 2;
case 4:
case "end":
return _context.stop();
}
}
}, _marked);
}
var _iterator = babelHelpers.createForOfIteratorHelper(makeIterator()),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var itItem = _step.value;
console.log(itItem);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}