Skip to content

Commit 5d3e3c2

Browse files
Copilotsapphi-red
andauthored
feat: add import.meta.main support in config (bundle config loader) (vitejs#20516)
Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: sapphi-red <[email protected]>
1 parent d17cfed commit 5d3e3c2

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

packages/vite/src/node/__tests__/config.spec.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -803,6 +803,20 @@ describe('loadConfigFromFile', () => {
803803
`)
804804
})
805805

806+
test('import.meta.main is correctly set', async () => {
807+
const { config } = (await loadConfigFromFile(
808+
{} as any,
809+
path.resolve(fixtures, './import-meta/vite.config.ts'),
810+
path.resolve(fixtures, './import-meta'),
811+
))!
812+
813+
const c = config as any
814+
expect(c.isMain).toBe(false)
815+
expect(c.url).toContain('file://')
816+
expect(c.dirname).toContain('import-meta')
817+
expect(c.filename).toContain('vite.config.ts')
818+
})
819+
806820
describe('loadConfigFromFile with configLoader: native', () => {
807821
const fixtureRoot = path.resolve(fixtures, './native-import')
808822

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export default {
2+
isMain: import.meta.main,
3+
url: import.meta.url,
4+
dirname: import.meta.dirname,
5+
filename: import.meta.filename,
6+
}

packages/vite/src/node/config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1941,6 +1941,7 @@ async function bundleConfigFile(
19411941
'import.meta.url': importMetaUrlVarName,
19421942
'import.meta.dirname': dirnameVarName,
19431943
'import.meta.filename': filenameVarName,
1944+
'import.meta.main': 'false',
19441945
},
19451946
plugins: [
19461947
{

0 commit comments

Comments
 (0)