Skip to content

Commit 30a8c91

Browse files
authored
fix(commonjs): prevent rewrite require.resolve (#446)
1 parent 3fb72b6 commit 30a8c91

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

packages/commonjs/src/transform.js

+12
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,14 @@ export function transformCommonjs(
192192
return true;
193193
}
194194

195+
function isNodeRequireStatement(parent) {
196+
const reservedMethod = ['resolve', 'cache', 'main'];
197+
if (parent && parent.property && reservedMethod.indexOf(parent.property.name) > -1) {
198+
return true;
199+
}
200+
return false;
201+
}
202+
195203
function isIgnoredRequireStatement(requiredNode) {
196204
return ignoreRequire(requiredNode.arguments[0].value);
197205
}
@@ -353,6 +361,10 @@ export function transformCommonjs(
353361
if (isReference(node, parent) && !scope.contains(node.name)) {
354362
if (node.name in uses) {
355363
if (isRequireIdentifier(node)) {
364+
if (isNodeRequireStatement(parent)) {
365+
return;
366+
}
367+
356368
if (!isDynamicRequireModulesEnabled && isStaticRequireStatement(parent)) {
357369
return;
358370
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports.getFilePath = function getFilePath(someFile) {
2+
return require.resolve(someFile);
3+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
var getFilePath = function getFilePath(someFile) {
2+
return require.resolve(someFile);
3+
};
4+
5+
var input = {
6+
getFilePath: getFilePath
7+
};
8+
9+
export default input;
10+
export { input as __moduleExports };
11+
export { getFilePath };

0 commit comments

Comments
 (0)