Skip to content

Commit 6ca0aca

Browse files
committed
fix(sea-node): do not use cache when options has paths property
avoid problems in v8.9.0 require.resolve case
1 parent 5436126 commit 6ca0aca

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

bin/tsw/loader/seajs/lib/sea-node.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,22 @@ const _compile = Module.prototype._compile;
1212
const _resolveFilename = Module._resolveFilename;
1313
const moduleStack = [];
1414

15-
Module._resolveFilename = function(request, parent) {
15+
Module._resolveFilename = function(request, parent, isMain, options = {}) {
1616
let res;
1717
//request = request.replace(/\?.*$/, '') // remove timestamp etc.
1818

1919
//性能优化
20-
if(parent.resolveFilenameCache) {
20+
// do not use cache when `options` has `paths` property
21+
// in v8.9.0 require.resolve case
22+
if(parent.resolveFilenameCache && !options.paths) {
2123
if(parent.resolveFilenameCache[request]) {
2224
return parent.resolveFilenameCache[request];
2325
}
2426
}else{
2527
parent.resolveFilenameCache = {};
2628
}
2729

28-
res = _resolveFilename(request, parent);
30+
res = _resolveFilename(request, parent, isMain, options);
2931

3032
parent.resolveFilenameCache[request] = res;
3133

0 commit comments

Comments
 (0)