Skip to content

Commit cc993e7

Browse files
authored
Resolve import.meta.{filename,dirname} in files imported from config (#5520)
Use correct import.meta.{filename,dirname} in relative imports from transpiled config files
1 parent a25a779 commit cc993e7

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

cli/run/loadConfigFile.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,14 @@ async function loadTranspiledConfigFile(
118118
if (property === 'url') {
119119
return `'${pathToFileURL(moduleId).href}'`;
120120
}
121+
if (property == 'filename') {
122+
return `'${moduleId}'`;
123+
}
124+
if (property == 'dirname') {
125+
return `'${path.dirname(moduleId)}'`;
126+
}
121127
if (property == null) {
122-
return `{url:'${pathToFileURL(moduleId).href}'}`;
128+
return `{url:'${pathToFileURL(moduleId).href}', filename: '${moduleId}', dirname: '${path.dirname(moduleId)}'}`;
123129
}
124130
}
125131
}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
module.exports = defineTest({
2-
description: 'uses correct import.meta.url in config files',
2+
description: 'uses correct import.meta.{url,filename,dirname} in config files',
33
command: 'rollup -c --bundleConfigAsCjs'
44
});

test/cli/samples/config-import-meta/plugin/plugin.js

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ const fileName = `test.txt`;
99

1010
function validateImportMeta(importMeta) {
1111
assert.strictEqual(importMeta.url, import.meta.url);
12+
assert.strictEqual(importMeta.filename, import.meta.filename);
13+
assert.strictEqual(importMeta.dirname, import.meta.dirname);
1214
}
1315

1416
validateImportMeta(import.meta);

0 commit comments

Comments
 (0)