Skip to content

Commit 98b390c

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 98b390c

3 files changed

Lines changed: 10 additions & 11 deletions

File tree

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v24.1.0
1+
v26.1.0

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -412,14 +412,14 @@ describe('getUIExtensionPayload', () => {
412412
assets: {
413413
assets: {
414414
name: 'assets',
415-
url: 'http://tunnel-url.com/extensions/devUUID/assets/CUSTOM_EXTENSION_POINT/assets/',
415+
url: 'http://tunnel-url.com/extensions/devUUID/assets/CUSTOM_EXTENSION_POINT/',
416416
lastUpdated: expect.any(Number),
417417
},
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

@@ -465,16 +465,16 @@ describe('getUIExtensionPayload', () => {
465465
expect(got.extensionPoints).toMatchObject([
466466
{
467467
target: 'TARGET_A',
468-
assets: {assets: {url: 'http://tunnel-url.com/extensions/devUUID/assets/TARGET_A/assets/'}},
468+
assets: {assets: {url: 'http://tunnel-url.com/extensions/devUUID/assets/TARGET_A/'}},
469469
},
470470
{
471471
target: 'TARGET_B',
472-
assets: {assets: {url: 'http://tunnel-url.com/extensions/devUUID/assets/TARGET_B/assets/'}},
472+
assets: {assets: {url: 'http://tunnel-url.com/extensions/devUUID/assets/TARGET_B/'}},
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)