67 lines
2.4 KiB
JavaScript
67 lines
2.4 KiB
JavaScript
import { statSync } from 'fs';
|
|
import { readFileSync, writeFileSync } from 'fs';
|
|
import { join } from 'path';
|
|
|
|
// Get image modification times
|
|
const sidebarBgPath = join(process.cwd(), 'public', 'sidebar-background.jpg');
|
|
const logoPath = join(process.cwd(), 'public', 'seera-logo.png');
|
|
const sidebarPath = join(process.cwd(), 'src', 'components', 'Sidebar.tsx');
|
|
const loginPath = join(process.cwd(), 'src', 'pages', 'Login.tsx');
|
|
const indexPath = join(process.cwd(), 'index.html');
|
|
|
|
try {
|
|
// Get sidebar background image modification time
|
|
const sidebarBgStats = statSync(sidebarBgPath);
|
|
const sidebarBgMtime = Math.floor(sidebarBgStats.mtimeMs / 1000);
|
|
|
|
// Get logo modification time
|
|
const logoStats = statSync(logoPath);
|
|
const logoMtime = Math.floor(logoStats.mtimeMs / 1000);
|
|
|
|
// Update Sidebar.tsx
|
|
let sidebarContent = readFileSync(sidebarPath, 'utf8');
|
|
|
|
// Update sidebar background version constant
|
|
sidebarContent = sidebarContent.replace(
|
|
/(const imageVersion = import\.meta\.env\.DEV[\s\S]*?`\?v=)([\d]+)(`; \/\/ Auto-updated by build script)/,
|
|
`$1${sidebarBgMtime}$3`
|
|
);
|
|
|
|
// Update logo version constant
|
|
sidebarContent = sidebarContent.replace(
|
|
/(const logoVersion = import\.meta\.env\.DEV[\s\S]*?`\?v=)([\d]+)(`; \/\/ Auto-updated by build script)/,
|
|
`$1${logoMtime}$3`
|
|
);
|
|
|
|
writeFileSync(sidebarPath, sidebarContent, 'utf8');
|
|
console.log(`✓ Updated sidebar background image version to ${sidebarBgMtime}`);
|
|
console.log(`✓ Updated seera-logo.png version to ${logoMtime} in Sidebar.tsx`);
|
|
|
|
// Update Login.tsx
|
|
let loginContent = readFileSync(loginPath, 'utf8');
|
|
|
|
// Update logo version constant
|
|
loginContent = loginContent.replace(
|
|
/(const logoVersion = import\.meta\.env\.DEV[\s\S]*?`\?v=)([\d]+)(`; \/\/ Auto-updated by build script)/,
|
|
`$1${logoMtime}$3`
|
|
);
|
|
|
|
writeFileSync(loginPath, loginContent, 'utf8');
|
|
console.log(`✓ Updated seera-logo.png version to ${logoMtime} in Login.tsx`);
|
|
|
|
// Update index.html favicon
|
|
let indexContent = readFileSync(indexPath, 'utf8');
|
|
|
|
// Update favicon version
|
|
indexContent = indexContent.replace(
|
|
/seera-logo\.png(\?v=[\d]+)?/g,
|
|
`seera-logo.png?v=${logoMtime}`
|
|
);
|
|
|
|
writeFileSync(indexPath, indexContent, 'utf8');
|
|
console.log(`✓ Updated seera-logo.png version to ${logoMtime} in index.html`);
|
|
|
|
} catch (error) {
|
|
console.warn('⚠ Could not update image versions:', error.message);
|
|
}
|