Files
remanso/_scripts/change-theme-light.ts
2026-03-28 09:38:55 +01:00

59 lines
1.7 KiB
JavaScript

#!/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)