Skip to content

Commit 3670948

Browse files
committed
fix(dev): Register static assets at target path for relative src paths
Static assets were registered at target/identifier/file (e.g., target/assets/file), but relative paths like src='./cat.png' resolve to target/file. Changes: 1. Dev server: Register assets at target/file instead of target/identifier/file 2. Deploy: Add destination: 'assets' so assets copy to assets/ subdirectory Fixes #5285
1 parent 7078668 commit 3670948

2 files changed

Lines changed: 6 additions & 7 deletions

File tree

packages/app/src/cli/services/dev/extension/payload.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -418,8 +418,8 @@ describe('getUIExtensionPayload', () => {
418418
},
419419
},
420420
])
421-
expect(resolver.get('CUSTOM_EXTENSION_POINT/assets/foo.json')).toBe('foo.json')
422-
expect(resolver.get('CUSTOM_EXTENSION_POINT/assets/subdir/bar.png')).toBe('subdir/bar.png')
421+
expect(resolver.get('CUSTOM_EXTENSION_POINT/foo.json')).toBe('foo.json')
422+
expect(resolver.get('CUSTOM_EXTENSION_POINT/subdir/bar.png')).toBe('subdir/bar.png')
423423
})
424424
})
425425

@@ -473,8 +473,8 @@ describe('getUIExtensionPayload', () => {
473473
},
474474
])
475475
// Both targets' resolver entries point at the same output-relative file.
476-
expect(resolver.get('TARGET_A/assets/foo.json')).toBe('foo.json')
477-
expect(resolver.get('TARGET_B/assets/foo.json')).toBe('foo.json')
476+
expect(resolver.get('TARGET_A/foo.json')).toBe('foo.json')
477+
expect(resolver.get('TARGET_B/foo.json')).toBe('foo.json')
478478
})
479479
})
480480

packages/app/src/cli/services/dev/extension/payload.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -250,9 +250,8 @@ async function staticAssetsMapper(
250250
files: string[],
251251
): Promise<Partial<DevNewExtensionPointSchema>> {
252252
if (files.length === 0) return {}
253-
const urlSubpath = `${target}/${identifier}`
254253
for (const file of files) {
255-
resolver?.set(`${urlSubpath}/${file}`, file)
254+
resolver?.set(`${target}/${file}`, file)
256255
}
257256
const updatedTimestamps = await Promise.all(
258257
files.map(async (file) => (await fileLastUpdatedTimestamp(joinPath(buildDirectory, file))) ?? 0),
@@ -261,7 +260,7 @@ async function staticAssetsMapper(
261260
assets: {
262261
[identifier]: {
263262
name: identifier,
264-
url: `${url}/assets/${urlSubpath}/`,
263+
url: `${url}/assets/${target}/`,
265264
lastUpdated: Math.max(...updatedTimestamps),
266265
},
267266
},

0 commit comments

Comments
 (0)