Skip to content

Commit

Permalink
Resolve import.meta.{filename,dirname} in files imported from config (#…
Browse files Browse the repository at this point in the history
…5520)

Use correct import.meta.{filename,dirname} in relative imports from transpiled config files
  • Loading branch information
BPScott committed May 22, 2024
1 parent a25a779 commit cc993e7
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 2 deletions.
8 changes: 7 additions & 1 deletion cli/run/loadConfigFile.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,14 @@ async function loadTranspiledConfigFile(
if (property === 'url') {
return `'${pathToFileURL(moduleId).href}'`;
}
if (property == 'filename') {
return `'${moduleId}'`;
}
if (property == 'dirname') {
return `'${path.dirname(moduleId)}'`;
}
if (property == null) {
return `{url:'${pathToFileURL(moduleId).href}'}`;
return `{url:'${pathToFileURL(moduleId).href}', filename: '${moduleId}', dirname: '${path.dirname(moduleId)}'}`;
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion test/cli/samples/config-import-meta/_config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module.exports = defineTest({
description: 'uses correct import.meta.url in config files',
description: 'uses correct import.meta.{url,filename,dirname} in config files',
command: 'rollup -c --bundleConfigAsCjs'
});
2 changes: 2 additions & 0 deletions test/cli/samples/config-import-meta/plugin/plugin.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ const fileName = `test.txt`;

function validateImportMeta(importMeta) {
assert.strictEqual(importMeta.url, import.meta.url);
assert.strictEqual(importMeta.filename, import.meta.filename);
assert.strictEqual(importMeta.dirname, import.meta.dirname);
}

validateImportMeta(import.meta);
Expand Down

0 comments on commit cc993e7

Please sign in to comment.