Visually makeover
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import { readFile, writeFile } from 'node:fs/promises';
|
||||
import { resolve } from 'node:path';
|
||||
|
||||
const repoRoot = process.cwd();
|
||||
const publicSwPath = resolve(repoRoot, 'public', 'sw.js');
|
||||
const distSwPath = resolve(repoRoot, 'dist', 'sw.js');
|
||||
const distIndexHtmlPath = resolve(repoRoot, 'dist', 'index.html');
|
||||
const radioConfigPath = resolve(repoRoot, 'src', 'radio', 'radioConfig.json');
|
||||
const serviceWorkerConfigPath = resolve(repoRoot, 'src', 'shared', 'serviceWorkerConfig.json');
|
||||
|
||||
const distIndexHtml = await readFile(distIndexHtmlPath, 'utf8');
|
||||
const buildStampMatch = distIndexHtml.match(/assets\/(?:main|player)-(\d+)-/);
|
||||
if (!buildStampMatch) {
|
||||
throw new Error('Unable to infer build stamp from dist/index.html.');
|
||||
}
|
||||
|
||||
const buildStamp = buildStampMatch[1];
|
||||
const radioConfig = JSON.parse(await readFile(radioConfigPath, 'utf8'));
|
||||
const serviceWorkerConfig = JSON.parse(await readFile(serviceWorkerConfigPath, 'utf8'));
|
||||
const swTemplate = await readFile(publicSwPath, 'utf8');
|
||||
|
||||
const stampedSource = swTemplate
|
||||
.replaceAll('__APP_BUILD_ID__', buildStamp)
|
||||
.replace('__RADIO_COUNTRIES_JSON__', JSON.stringify(radioConfig.radioCountries))
|
||||
.replaceAll('__MANAGED_COUNTRY_CODE__', String(radioConfig.managedCountryCode ?? 'SI'))
|
||||
.replaceAll('__SW_STATION_SYNC_TAG__', serviceWorkerConfig.stationSyncTag)
|
||||
.replaceAll('__SW_STATION_PERIODIC_SYNC_TAG__', serviceWorkerConfig.stationPeriodicSyncTag)
|
||||
.replaceAll('__SW_MANAGED_CATALOG_PERIODIC_SYNC_TAG__', serviceWorkerConfig.managedCatalogPeriodicSyncTag)
|
||||
.replaceAll('__SW_STATION_SYNC_META_PATH__', serviceWorkerConfig.stationSyncMetaPath);
|
||||
|
||||
await writeFile(distSwPath, stampedSource, 'utf8');
|
||||
console.log(`[stamp-dist-sw] Updated dist/sw.js with build stamp ${buildStamp}`);
|
||||
Reference in New Issue
Block a user