Skip to content

Commit

Permalink
Correctly update module.exports.default of typeof helper (#12858)
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo committed Feb 23, 2021
1 parent feb78c7 commit c4320a6
Show file tree
Hide file tree
Showing 13 changed files with 106 additions and 20 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ package-lock.json
!/packages/babel-runtime/helpers/toArray/*
!/packages/babel-runtime/helpers/iterableToArray/*
!/packages/babel-runtime/helpers/temporalRef/*
!/packages/babel-runtime/helpers/typeof/*
/packages/babel-runtime/helpers/esm/*.js
!/packages/babel-runtime/helpers/esm/toArray.js
!/packages/babel-runtime/helpers/esm/iterableToArray.js
Expand All @@ -42,6 +43,7 @@ package-lock.json
!/packages/babel-runtime-corejs2/helpers/toArray/*
!/packages/babel-runtime-corejs2/helpers/iterableToArray/*
!/packages/babel-runtime-corejs2/helpers/temporalRef/*
!/packages/babel-runtime-corejs2/helpers/typeof/*
/packages/babel-runtime-corejs2/helpers/esm/*.js
!/packages/babel-runtime-corejs2/helpers/esm/toArray.js
!/packages/babel-runtime-corejs2/helpers/esm/iterableToArray.js
Expand Down
15 changes: 7 additions & 8 deletions packages/babel-plugin-transform-runtime/scripts/build-dist.js
Original file line number Diff line number Diff line change
Expand Up @@ -287,15 +287,14 @@ function buildRuntimeRewritePlugin(runtimeName, helperName) {
function addDefaultCJSExport({ template }) {
return {
visitor: {
Program: {
AssignmentExpression: {
exit(path) {
path.pushContainer(
"body",
template.statements.ast`
module.exports.default = module.exports;
module.exports.__esModule = true;
`
);
if (path.get("left").matchesPattern("module.exports")) {
path.insertAfter(template.expression.ast`
module.exports.default = module.exports,
module.exports.__esModule = true
`);
}
},
},
},
Expand Down
11 changes: 11 additions & 0 deletions packages/babel-plugin-transform-runtime/test/regression.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
it("module.exports.default is correctly updated", () => {
const typeofHelper = require("@babel/runtime/helpers/typeof");

expect(typeof typeofHelper).toBe("function");
expect(typeof typeofHelper.default).toBe("function");

typeofHelper();

expect(typeof typeofHelper).toBe("function");
expect(typeof typeofHelper.default).toBe("function");
});
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,4 @@ function _iterableToArray(iter) {
}

module.exports = _iterableToArray;
module.exports["default"] = module.exports;
module.exports.__esModule = true;
module.exports["default"] = module.exports, module.exports.__esModule = true;
3 changes: 1 addition & 2 deletions packages/babel-runtime-corejs2/helpers/temporalRef/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,4 @@ function _temporalRef(val, name) {
}

module.exports = _temporalRef;
module.exports["default"] = module.exports;
module.exports.__esModule = true;
module.exports["default"] = module.exports, module.exports.__esModule = true;
3 changes: 1 addition & 2 deletions packages/babel-runtime-corejs2/helpers/toArray/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,4 @@ function _toArray(arr) {
}

module.exports = _toArray;
module.exports["default"] = module.exports;
module.exports.__esModule = true;
module.exports["default"] = module.exports, module.exports.__esModule = true;
17 changes: 17 additions & 0 deletions packages/babel-runtime-corejs2/helpers/typeof/_index.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import _Symbol from "@babel/runtime-corejs2/core-js/symbol";
import _Symbol$iterator from "@babel/runtime-corejs2/core-js/symbol/iterator";
export default function _typeof(obj) {
"@babel/helpers - typeof";

if (typeof _Symbol === "function" && typeof _Symbol$iterator === "symbol") {
_typeof = function _typeof(obj) {
return typeof obj;
};
} else {
_typeof = function _typeof(obj) {
return obj && typeof _Symbol === "function" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : typeof obj;
};
}

return _typeof(obj);
}
26 changes: 26 additions & 0 deletions packages/babel-runtime-corejs2/helpers/typeof/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
var _Symbol = require("@babel/runtime-corejs2/core-js/symbol");

var _Symbol$iterator = require("@babel/runtime-corejs2/core-js/symbol/iterator");

function _typeof(obj) {
"@babel/helpers - typeof";

if (typeof _Symbol === "function" && typeof _Symbol$iterator === "symbol") {
module.exports = _typeof = function _typeof(obj) {
return typeof obj;
};

module.exports["default"] = module.exports, module.exports.__esModule = true;
} else {
module.exports = _typeof = function _typeof(obj) {
return obj && typeof _Symbol === "function" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : typeof obj;
};

module.exports["default"] = module.exports, module.exports.__esModule = true;
}

return _typeof(obj);
}

module.exports = _typeof;
module.exports["default"] = module.exports, module.exports.__esModule = true;
3 changes: 1 addition & 2 deletions packages/babel-runtime/helpers/iterableToArray/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,4 @@ function _iterableToArray(iter) {
}

module.exports = _iterableToArray;
module.exports["default"] = module.exports;
module.exports.__esModule = true;
module.exports["default"] = module.exports, module.exports.__esModule = true;
3 changes: 1 addition & 2 deletions packages/babel-runtime/helpers/temporalRef/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,4 @@ function _temporalRef(val, name) {
}

module.exports = _temporalRef;
module.exports["default"] = module.exports;
module.exports.__esModule = true;
module.exports["default"] = module.exports, module.exports.__esModule = true;
3 changes: 1 addition & 2 deletions packages/babel-runtime/helpers/toArray/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,4 @@ function _toArray(arr) {
}

module.exports = _toArray;
module.exports["default"] = module.exports;
module.exports.__esModule = true;
module.exports["default"] = module.exports, module.exports.__esModule = true;
15 changes: 15 additions & 0 deletions packages/babel-runtime/helpers/typeof/_index.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
export default function _typeof(obj) {
"@babel/helpers - typeof";

if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof = function _typeof(obj) {
return typeof obj;
};
} else {
_typeof = function _typeof(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
};
}

return _typeof(obj);
}
22 changes: 22 additions & 0 deletions packages/babel-runtime/helpers/typeof/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
function _typeof(obj) {
"@babel/helpers - typeof";

if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
module.exports = _typeof = function _typeof(obj) {
return typeof obj;
};

module.exports["default"] = module.exports, module.exports.__esModule = true;
} else {
module.exports = _typeof = function _typeof(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
};

module.exports["default"] = module.exports, module.exports.__esModule = true;
}

return _typeof(obj);
}

module.exports = _typeof;
module.exports["default"] = module.exports, module.exports.__esModule = true;

0 comments on commit c4320a6

Please sign in to comment.