Add per-file asset hashes and a rollback-compatible server manifest
This commit is contained in:
254
frontend/assets.json
Normal file
254
frontend/assets.json
Normal file
@@ -0,0 +1,254 @@
|
||||
{
|
||||
"groups": {
|
||||
"core": {
|
||||
"contract": 1,
|
||||
"eager": true,
|
||||
"files": [
|
||||
"/index.html",
|
||||
"/styles.css",
|
||||
"/service-ui.css",
|
||||
"/refresh.css",
|
||||
"/recommendations.css",
|
||||
"/flag-ui.js",
|
||||
"/async-guard.js",
|
||||
"/visible-timer.js",
|
||||
"/sw-update.js",
|
||||
"/fingerprint.js",
|
||||
"/opfs.js",
|
||||
"/opfs-worker.js",
|
||||
"/lyrics-core.js",
|
||||
"/lyrics-display.js",
|
||||
"/sha256.js",
|
||||
"/resume-core.js",
|
||||
"/loudness-wasm.js",
|
||||
"/loudness.js",
|
||||
"/sha256-wasm.js",
|
||||
"/settings-sections.js",
|
||||
"/related-videos.js",
|
||||
"/related-videos.css",
|
||||
"/audio-continuity.js",
|
||||
"/fullscreen-orientation.js",
|
||||
"/fullscreen-orientation.css",
|
||||
"/download-actions.js",
|
||||
"/download-actions.css",
|
||||
"/download-errors.js",
|
||||
"/downloads.js",
|
||||
"/downloads-page.js",
|
||||
"/offline-pages.css",
|
||||
"/saved-page.js",
|
||||
"/server-backfill.js",
|
||||
"/saved-page.css",
|
||||
"/prewarm-next.js",
|
||||
"/settings-sections.css",
|
||||
"/app.js",
|
||||
"/manifest.webmanifest",
|
||||
"/icons/icon-192.png",
|
||||
"/icons/icon-512.png",
|
||||
"/fonts/fonts.css",
|
||||
"/fonts/BricolageGrotesque-latin-ext.woff2",
|
||||
"/fonts/BricolageGrotesque-latin.woff2",
|
||||
"/fonts/HankenGrotesk-latin-ext.woff2",
|
||||
"/fonts/HankenGrotesk-latin.woff2",
|
||||
"/fonts/JetBrainsMono-latin-ext.woff2",
|
||||
"/fonts/JetBrainsMono-latin.woff2"
|
||||
]
|
||||
},
|
||||
"layout:glass": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/theme-glass.css"
|
||||
]
|
||||
},
|
||||
"layout:classic": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/theme-classic.css"
|
||||
]
|
||||
},
|
||||
"layout:glass-controls": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/theme-glass-controls.css",
|
||||
"/glass-controls.js"
|
||||
]
|
||||
},
|
||||
"layout:glass-panel": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/theme-glass-panel.css",
|
||||
"/glass-panel-layout.js"
|
||||
]
|
||||
},
|
||||
"layout:bento-hub": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/theme-bento-hub.css",
|
||||
"/bento-hub.js",
|
||||
"/fonts/PlusJakartaSans-latin.woff2",
|
||||
"/fonts/PlusJakartaSans-latin-ext.woff2"
|
||||
]
|
||||
},
|
||||
"layout:f7-swipe": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/theme-f7.css",
|
||||
"/f7-layout.js",
|
||||
"/vendor/framework7-swipe.min.js"
|
||||
]
|
||||
},
|
||||
"feature:piano": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/piano-core.js",
|
||||
"/piano.js",
|
||||
"/piano-engine.mjs"
|
||||
]
|
||||
},
|
||||
"feature:midi": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/midi.js"
|
||||
]
|
||||
},
|
||||
"feature:party-dj": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/party-dj.js"
|
||||
]
|
||||
},
|
||||
"feature:lyrics-window": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/lyrics-window.js"
|
||||
]
|
||||
},
|
||||
"feature:lower-third": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/lower-third.js",
|
||||
"/lower-third.css"
|
||||
]
|
||||
},
|
||||
"feature:vocal-reducer": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/vocal-reducer.js"
|
||||
]
|
||||
},
|
||||
"feature:eq-core": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/eq-core.js"
|
||||
]
|
||||
},
|
||||
"feature:setlist-import": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/setlist-import.js"
|
||||
]
|
||||
},
|
||||
"feature:car-mode": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/car-mode.js",
|
||||
"/car-mode.css"
|
||||
]
|
||||
},
|
||||
"feature:p2p": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/p2p-client.js",
|
||||
"/p2p-core.js",
|
||||
"/p2p-transfer.js",
|
||||
"/p2p-recv-worker.js",
|
||||
"/hash-worker.js",
|
||||
"/device-db.js"
|
||||
]
|
||||
},
|
||||
"feature:direct": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/direct-protocol.js",
|
||||
"/direct-stream.js",
|
||||
"/direct-media.js",
|
||||
"/direct-media.css",
|
||||
"/direct-recv-worker.js"
|
||||
]
|
||||
},
|
||||
"feature:video-edit": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/video-edit.js"
|
||||
]
|
||||
},
|
||||
"feature:stats": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/stats-core.js"
|
||||
]
|
||||
},
|
||||
"feature:export": {
|
||||
"contract": 1,
|
||||
"eager": false,
|
||||
"files": [
|
||||
"/export.js"
|
||||
]
|
||||
},
|
||||
"feature:playlist": {
|
||||
"contract": 1,
|
||||
"eager": true,
|
||||
"files": [],
|
||||
"embeddedIn": [
|
||||
"/app.js"
|
||||
]
|
||||
},
|
||||
"feature:settings": {
|
||||
"contract": 1,
|
||||
"eager": true,
|
||||
"files": [],
|
||||
"embeddedIn": [
|
||||
"/app.js",
|
||||
"/settings-sections.js",
|
||||
"/settings-sections.css"
|
||||
]
|
||||
},
|
||||
"feature:service-mode": {
|
||||
"contract": 1,
|
||||
"eager": true,
|
||||
"files": [],
|
||||
"embeddedIn": [
|
||||
"/app.js",
|
||||
"/service-ui.css"
|
||||
]
|
||||
},
|
||||
"feature:lyrics-editor": {
|
||||
"contract": 1,
|
||||
"eager": true,
|
||||
"files": [],
|
||||
"embeddedIn": [
|
||||
"/app.js",
|
||||
"/lyrics-core.js",
|
||||
"/lyrics-display.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user