Skip to content

Commit 01f6ab3

Browse files
authoredOct 10, 2024··
feat(core): improve user config file loading (#1615)
1 parent aaf3bba commit 01f6ab3

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed
 

‎packages/cli/src/config/loadUserConfig.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -18,26 +18,28 @@ export const loadUserConfig = async (
1818
userConfigDependencies: [],
1919
}
2020
}
21-
// following code is forked and modified from vite
21+
// forked and modified from https://github.com/vitejs/vite/blob/889bfc0ada6d6cd356bb7a92efdce96298f82fef/packages/vite/src/node/config.ts#L1531
2222
// TODO: we can migrate to something like `bundler-require`, but its `__dirname` support is not as good as vite
2323
const dirnameVarName = '__vite_injected_original_dirname'
2424
const filenameVarName = '__vite_injected_original_filename'
2525
const importMetaUrlVarName = '__vite_injected_original_import_meta_url'
2626
const result = await build({
2727
absWorkingDir: process.cwd(),
2828
entryPoints: [userConfigPath],
29-
outfile: 'out.js',
3029
write: false,
31-
target: ['node18'],
30+
target: [`node${process.versions.node}`],
3231
platform: 'node',
3332
bundle: true,
3433
format: 'esm',
34+
mainFields: ['main'],
3535
sourcemap: 'inline',
3636
metafile: true,
3737
define: {
3838
'__dirname': dirnameVarName,
3939
'__filename': filenameVarName,
4040
'import.meta.url': importMetaUrlVarName,
41+
'import.meta.dirname': dirnameVarName,
42+
'import.meta.filename': filenameVarName,
4143
},
4244
plugins: [
4345
{
@@ -58,7 +60,7 @@ export const loadUserConfig = async (
5860
name: 'inject-file-scope-variables',
5961
setup(pluginBuild) {
6062
pluginBuild.onLoad({ filter: /\.[cm]?[jt]s$/ }, async (args) => {
61-
const contents = await fs.readFile(args.path, 'utf8')
63+
const contents = await fs.readFile(args.path, 'utf-8')
6264
const injectValues =
6365
`const ${dirnameVarName} = ${JSON.stringify(
6466
path.dirname(args.path),

0 commit comments

Comments
 (0)
Please sign in to comment.