#!/usr/bin/env node // Script pour changer facilement le thème clair de l'application Remanso // Usage: pnpm run theme:light [theme-name] import { readFileSync, writeFileSync } from "fs" import { join } from "path" import { commitTheme } from "./change-theme" // Chemins vers les fichiers const themeConfigPath = join(__dirname, "..", "src", "theme.config.ts") const indexPath = join(__dirname, "..", "index.html") const appCssPath = join(__dirname, "..", "src", "styles", "app.css") // Vérifier les arguments if (process.argv.length < 3) { console.log("Usage: pnpm run theme:light [theme-name]") console.log("Exemple: pnpm run theme:light cupcake") process.exit(1) } // Mode fixé à light pour ce script const mode = "light" const newTheme = process.argv[2] // nom du nouveau thème // Lire le contenu actuel du fichier de configuration let themeConfigContent = readFileSync(themeConfigPath, "utf8") // Remplacer la valeur du thème clair themeConfigContent = themeConfigContent.replace( /light:\s*['"][^'"]*['"],/, `light: '${newTheme}',` ) // Écrire le contenu mis à jour dans le fichier writeFileSync(themeConfigPath, themeConfigContent) // Mettre à jour également le fichier index.html let indexContent = readFileSync(indexPath, "utf8") indexContent = indexContent.replace( /data-theme="[^"]*"/, `data-theme="${newTheme}"` ) writeFileSync(indexPath, indexContent) // Mettre à jour également le fichier app.css pour le thème --default let appCssContent = readFileSync(appCssPath, "utf8") appCssContent = appCssContent.replace( /(\s+)([a-zA-Z0-9-]+)(\s+--default,)/, `$1${newTheme}$3` ) writeFileSync(appCssPath, appCssContent) commitTheme(mode, newTheme) console.log(`Thème ${mode} mis à jour avec succès vers: ${newTheme}`) process.exit(0)