@@ -9,7 +9,7 @@ import { UserConfig } from 'vite';
9
9
// used to require cjs config in esm.
10
10
// NOTE dynamic import() cjs technically works, but timestamp query cache bust
11
11
// have no effect, likely because it has another internal cache?
12
- let _require : NodeRequire ;
12
+ let esmRequire : NodeRequire ;
13
13
14
14
export const knownSvelteConfigNames = [
15
15
'svelte.config.js' ,
@@ -52,30 +52,11 @@ export async function loadSvelteConfig(
52
52
// cjs or error with dynamic import
53
53
if ( ! configFile . endsWith ( '.mjs' ) ) {
54
54
try {
55
- // avoid loading cached version on reload
56
- delete require . cache [ require . resolve ( configFile ) ] ;
57
- const result = require ( configFile ) ;
58
- if ( result != null ) {
59
- return {
60
- ...result ,
61
- configFile
62
- } ;
63
- } else {
64
- throw new Error ( `invalid export in ${ configFile } ` ) ;
65
- }
66
- } catch ( e ) {
67
- log . error ( `failed to require config ${ configFile } ` , e ) ;
68
- if ( ! err ) {
69
- err = e ;
70
- }
71
- }
72
- }
73
- // cjs but project is using `type: module`
74
- if ( ! configFile . endsWith ( '.mjs' ) && import . meta. url ) {
75
- try {
76
- if ( ! _require ) {
77
- _require = createRequire ( import . meta. url ) ;
78
- }
55
+ // identify which require function to use (esm and cjs mode)
56
+ const _require = import . meta. url
57
+ ? ( esmRequire ??= createRequire ( import . meta. url ) )
58
+ : require ;
59
+
79
60
// avoid loading cached version on reload
80
61
delete _require . cache [ _require . resolve ( configFile ) ] ;
81
62
const result = _require ( configFile ) ;
0 commit comments