Skip to content

Commit 15b1241

Browse files
jdaltonjasnell
authored andcommitted
Revert "module: fix inconsistency between load and _findPath"
This reverts commit 1b92214 from PR #22382. See the discussion at nodejs/citgm#604 PR-URL: #23228 Refs: #22382 Fixes: #4778 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
1 parent 0339d3d commit 15b1241

File tree

3 files changed

+20
-70
lines changed

3 files changed

+20
-70
lines changed

lib/internal/modules/cjs/loader.js

+2-12
Original file line numberDiff line numberDiff line change
@@ -218,16 +218,6 @@ function tryExtensions(p, exts, isMain) {
218218
return false;
219219
}
220220

221-
function readExtensions() {
222-
const exts = Object.keys(Module._extensions);
223-
for (var i = 0, j = 0; i < exts.length; ++i) {
224-
if (path.extname(exts[i]) === '')
225-
exts[j++] = exts[i];
226-
}
227-
exts.length = j;
228-
return exts;
229-
}
230-
231221
var warned = false;
232222
Module._findPath = function(request, paths, isMain) {
233223
if (path.isAbsolute(request)) {
@@ -284,15 +274,15 @@ Module._findPath = function(request, paths, isMain) {
284274
if (!filename) {
285275
// try it with each of the extensions
286276
if (exts === undefined)
287-
exts = readExtensions();
277+
exts = Object.keys(Module._extensions);
288278
filename = tryExtensions(basePath, exts, isMain);
289279
}
290280
}
291281

292282
if (!filename && rc === 1) { // Directory.
293283
// try it with each of the extensions at "index"
294284
if (exts === undefined)
295-
exts = readExtensions();
285+
exts = Object.keys(Module._extensions);
296286
filename = tryPackage(basePath, exts, isMain);
297287
if (!filename) {
298288
filename = tryExtensions(path.resolve(basePath, 'index'), exts, isMain);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
'use strict';
2+
// Refs: https://github.com/nodejs/node/issues/4778
3+
const common = require('../common');
4+
const assert = require('assert');
5+
const fs = require('fs');
6+
const path = require('path');
7+
const tmpdir = require('../common/tmpdir');
8+
const file = path.join(tmpdir.path, 'test-extensions.foo.bar');
9+
10+
tmpdir.refresh();
11+
fs.writeFileSync(file, '', 'utf8');
12+
require.extensions['.foo.bar'] = (module, path) => {};
13+
delete require.extensions['.foo.bar'];
14+
require.extensions['.bar'] = common.mustCall((module, path) => {
15+
assert.strictEqual(module.id, file);
16+
assert.strictEqual(path, file);
17+
});
18+
require(path.join(tmpdir.path, 'test-extensions'));

test/parallel/test-module-deleted-extensions.js

-58
This file was deleted.

0 commit comments

Comments
 (0)