Skip to content

Commit 4460d21

Browse files
author
Loïc Mangeonjean
committed
fix: fix import-meta-asset-plugin resolution
see modernweb-dev/web#2819
1 parent 0751bc9 commit 4460d21

File tree

2 files changed

+28
-7
lines changed

2 files changed

+28
-7
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
diff --git a/node_modules/@web/rollup-plugin-import-meta-assets/src/rollup-plugin-import-meta-assets.js b/node_modules/@web/rollup-plugin-import-meta-assets/src/rollup-plugin-import-meta-assets.js
2+
index 245ec98..d623ef3 100644
3+
--- a/node_modules/@web/rollup-plugin-import-meta-assets/src/rollup-plugin-import-meta-assets.js
4+
+++ b/node_modules/@web/rollup-plugin-import-meta-assets/src/rollup-plugin-import-meta-assets.js
5+
@@ -161,11 +161,19 @@ ${` default: return new Promise(function(resolve, reject) {
6+
if (importMetaUrlType === 'static') {
7+
const absoluteScriptDir = path.dirname(id);
8+
const relativeAssetPath = getRelativeAssetPath(node);
9+
+ const resolved = await this.resolve(relativeAssetPath, id)
10+
+ if (resolved == null) {
11+
+ this.error(`Unable to resolve "${relativeAssetPath}" from "${id}"`)
12+
+ return
13+
+ }
14+
+ if (resolved.external) {
15+
+ return
16+
+ }
17+
const absoluteAssetPath = path.resolve(absoluteScriptDir, relativeAssetPath);
18+
const assetName = path.basename(absoluteAssetPath);
19+
20+
try {
21+
- const assetContents = await fs.promises.readFile(absoluteAssetPath);
22+
+ const assetContents = await fs.promises.readFile(resolved.id);
23+
const transformedAssetContents =
24+
transform != null
25+
? await transform(assetContents, absoluteAssetPath)

rollup/rollup.config.ts

+3-7
Original file line numberDiff line numberDiff line change
@@ -436,9 +436,7 @@ export default (args: Record<string, string>): rollup.RollupOptions[] => {
436436
input,
437437
plugins: [
438438
importMetaAssets({
439-
include: ['**/*.ts', '**/*.js'],
440-
// assets are externals and this plugin is not able to ignore external assets
441-
exclude: ['**/service-override/textmate.ts', '**/service-override/languageDetectionWorker.ts']
439+
include: ['**/*.ts', '**/*.js']
442440
}),
443441
commonjs({
444442
include: '**/vscode-semver/**/*'
@@ -621,9 +619,8 @@ export default (args: Record<string, string>): rollup.RollupOptions[] => {
621619
hoistTransitiveImports: false
622620
}],
623621
plugins: [importMetaAssets({
624-
include: ['**/*.ts', '**/*.js'],
622+
include: ['**/*.ts', '**/*.js']
625623
// assets are externals and this plugin is not able to ignore external assets
626-
exclude: ['**/service-override/textmate.js', '**/service-override/languageDetectionWorker.js']
627624
}), {
628625
name: 'resolve-asset-url',
629626
resolveFileUrl (options) {
@@ -1068,9 +1065,8 @@ export default (args: Record<string, string>): rollup.RollupOptions[] => {
10681065
treeshake: false,
10691066
plugins: [
10701067
importMetaAssets({
1071-
include: ['**/*.ts', '**/*.js'],
1068+
include: ['**/*.ts', '**/*.js']
10721069
// assets are externals and this plugin is not able to ignore external assets
1073-
exclude: ['**/service-override/textmate.js', '**/service-override/languageDetectionWorker.js']
10741070
}),
10751071
nodeResolve({
10761072
extensions: EXTENSIONS

0 commit comments

Comments
 (0)