Fix: Replace deprecated duration.type with duration.units (Foundry v14+)

- ActiveEffectDuration#type was renamed to #units in Foundry VTT v14
- Updated partial-active-effects.hbs to use duration.units
- Updated partial-item-effects.hbs to use duration.units
- Added test verification for duration.type usage
- Support for duration.type will be removed in v16

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-06-07 00:41:46 +02:00
parent 335238df3d
commit 9b3d34c5d7
3 changed files with 39 additions and 12 deletions
+28 -1
View File
@@ -165,6 +165,32 @@ if (!effectWebpFound) {
console.log(' ✅ Aucune référence à effect.webp (icône manquante) trouvée');
}
// 7. Vérification de la propriété dépréciée duration.type
console.log('\n7. Vérification de l\'utilisation de duration.type (déprécié en v14) :');
const durationTypePattern = /duration\.type/g;
const allHbsFiles = [
'templates/partial-active-effects.hbs',
'templates/partial-item-effects.hbs',
'templates/item-arme-sheet.hbs'
];
let durationTypeFound = false;
allHbsFiles.forEach(file => {
try {
const content = fs.readFileSync(path.join(__dirname, file), 'utf8');
if (durationTypePattern.test(content)) {
console.log(` ❌ Fichier ${file} utilise duration.type (déprécié)`);
durationTypeFound = true;
}
} catch (err) {
// Fichier introuvable, ignorer
}
});
if (!durationTypeFound) {
console.log(' ✅ Aucune utilisation de duration.type (utilise duration.units)');
}
// Résumé
console.log('\n=== Résumé ===');
console.log(`Templates préchargés: ${loaded.length}`);
@@ -173,8 +199,9 @@ console.log(`Partials manquants: ${missingPartials.length}`);
console.log(`Fichier JSON valide: ${errors.length === 0 ? 'Oui' : 'Non'}`);
console.log(`API dépréciée utilisée: ${deprecatedFound ? 'Oui' : 'Non'}`);
console.log(`Référence à effect.webp: ${effectWebpFound ? 'Oui' : 'Non'}`);
console.log(`Utilisation de duration.type: ${durationTypeFound ? 'Oui' : 'Non'}`);
if (errors.length === 0 && missingPartials.length === 0 && !deprecatedFound && !effectWebpFound) {
if (errors.length === 0 && missingPartials.length === 0 && !deprecatedFound && !effectWebpFound && !durationTypeFound) {
console.log('\n✅ Toutes les vérifications ont réussi !');
process.exit(0);
} else {