Vendor JamesDSP in a lazy asset group

This commit is contained in:
Jonathan Sykes
2026-10-09 19:49:46 +08:00
parent 76037613a7
commit aca50c1690
13 changed files with 1284 additions and 2 deletions

View File

@@ -42,7 +42,9 @@ test('assets.json describes the complete existing shell exactly once with eager
}
for (const asset of shell) if (asset !== '/') assert.ok(described.has(asset), `${asset} is described`);
// piano-engine is dynamically imported and historically absent from SHELL.
for (const asset of described) assert.ok(listed.has(asset) || asset === '/piano-engine.mjs', `${asset} shell or documented dynamic import`);
// Piano and JamesDSP load only through build-local dynamic module URLs.
const dynamicOnly = new Set(['/piano-engine.mjs', ...groups['feature:jamesdsp'].files]);
for (const asset of described) assert.ok(listed.has(asset) || dynamicOnly.has(asset), `${asset} shell or documented dynamic import`);
assert.equal(groups.core.eager, true);
for (const name of ['playlist', 'settings', 'service-mode', 'lyrics-editor']) {
assert.equal(groups[`feature:${name}`].eager, true);