Skip to content

Commit ebf682e

Browse files
authored
fix: use correct require extension to load config (#9118)
1 parent b7b3e65 commit ebf682e

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

packages/vite/src/node/config.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -962,9 +962,11 @@ async function loadConfigFromBundledFile(
962962
}
963963
// for cjs, we can register a custom loader via `_require.extensions`
964964
else {
965+
const extension = path.extname(fileName)
965966
const realFileName = fs.realpathSync(fileName)
966-
const defaultLoader = _require.extensions['.js']
967-
_require.extensions['.js'] = (module: NodeModule, filename: string) => {
967+
const loaderExt = extension in _require.extensions ? extension : '.js'
968+
const defaultLoader = _require.extensions[loaderExt]!
969+
_require.extensions[loaderExt] = (module: NodeModule, filename: string) => {
968970
if (filename === realFileName) {
969971
;(module as NodeModuleWithCompile)._compile(bundledCode, filename)
970972
} else {
@@ -974,7 +976,7 @@ async function loadConfigFromBundledFile(
974976
// clear cache in case of server restart
975977
delete _require.cache[_require.resolve(fileName)]
976978
const raw = _require(fileName)
977-
_require.extensions['.js'] = defaultLoader
979+
_require.extensions[loaderExt] = defaultLoader
978980
return raw.__esModule ? raw.default : raw
979981
}
980982
}

0 commit comments

Comments
 (0)