import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; const currentDir = path.dirname(fileURLToPath(import.meta.url)); const distDir = path.resolve(currentDir, '../dist'); const manifestPath = path.join(distDir, 'dashboard-manifest.json'); const clockRegionPath = path.join(distDir, 'clock-region.json'); const defaultClockRegion = { x: 313, y: 0, width: 220, height: 220, }; const clockRegion = fs.existsSync(clockRegionPath) ? { ...defaultClockRegion, ...JSON.parse(fs.readFileSync(clockRegionPath, 'utf8')), } : defaultClockRegion; const manifest = { background: { path: 'kindlebg.png', url: 'https://shell.biboer.cn:20001/kindlebg.png', updatedAt: new Date().toISOString(), refreshIntervalMinutes: 120, }, clockRegion, clockFace: { path: 'assets/clock-face.png', managedOnKindle: true, designWidth: 220, designHeight: 220, }, clockHands: { hourPattern: 'assets/hour-hand/%03d.png', minutePattern: 'assets/minute-hand/%02d.png', refreshIntervalMinutes: 1, networkRequired: false, anchorMode: 'baked-into-patch', scaleWithClockFace: false, }, }; fs.mkdirSync(distDir, { recursive: true }); fs.writeFileSync(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, 'utf8'); console.log(`Wrote ${manifestPath}`);