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:
@@ -52,13 +52,13 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{!-- Affichage de la durée --}}
|
{{!-- Affichage de la durée --}}
|
||||||
{{#if effect.duration.type}}
|
{{#if effect.duration.units}}
|
||||||
<span class="item-field-label-short" style="font-size: 0.85em;">
|
<span class="item-field-label-short" style="font-size: 0.85em;">
|
||||||
{{#if (eq effect.duration.type "rounds")}}🔄{{/if}}
|
{{#if (eq effect.duration.units "rounds")}}🔄{{/if}}
|
||||||
{{#if (eq effect.duration.type "turns")}}🎭{{/if}}
|
{{#if (eq effect.duration.units "turns")}}🎭{{/if}}
|
||||||
{{#if (eq effect.duration.type "seconds")}}⏱️{{/if}}
|
{{#if (eq effect.duration.units "seconds")}}⏱️{{/if}}
|
||||||
{{#if (eq effect.duration.type "combat")}}⚔️{{/if}}
|
{{#if (eq effect.duration.units "combat")}}⚔️{{/if}}
|
||||||
{{#if (eq effect.duration.type "scene")}}📜{{/if}}
|
{{#if (eq effect.duration.units "scene")}}📜{{/if}}
|
||||||
{{effect.duration.value}}
|
{{effect.duration.value}}
|
||||||
</span>
|
</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|||||||
@@ -48,12 +48,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{!-- Affichage de la durée --}}
|
{{!-- Affichage de la durée --}}
|
||||||
{{#if effect.duration.type}}
|
{{#if effect.duration.units}}
|
||||||
<span class="item-field-label-short" style="font-size: 0.85em;">
|
<span class="item-field-label-short" style="font-size: 0.85em;">
|
||||||
{{#if (eq effect.duration.type "rounds")}}🔄{{/if}}
|
{{#if (eq effect.duration.units "rounds")}}🔄{{/if}}
|
||||||
{{#if (eq effect.duration.type "turns")}}🎭{{/if}}
|
{{#if (eq effect.duration.units "turns")}}🎭{{/if}}
|
||||||
{{#if (eq effect.duration.type "seconds")}}⏱️{{/if}}
|
{{#if (eq effect.duration.units "seconds")}}⏱️{{/if}}
|
||||||
{{#if (eq effect.duration.type "combat")}}⚔️{{/if}}
|
{{#if (eq effect.duration.units "combat")}}⚔️{{/if}}
|
||||||
{{effect.duration.value}}
|
{{effect.duration.value}}
|
||||||
</span>
|
</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|||||||
+28
-1
@@ -165,6 +165,32 @@ if (!effectWebpFound) {
|
|||||||
console.log(' ✅ Aucune référence à effect.webp (icône manquante) trouvée');
|
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é
|
// Résumé
|
||||||
console.log('\n=== Résumé ===');
|
console.log('\n=== Résumé ===');
|
||||||
console.log(`Templates préchargés: ${loaded.length}`);
|
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(`Fichier JSON valide: ${errors.length === 0 ? 'Oui' : 'Non'}`);
|
||||||
console.log(`API dépréciée utilisée: ${deprecatedFound ? '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(`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 !');
|
console.log('\n✅ Toutes les vérifications ont réussi !');
|
||||||
process.exit(0);
|
process.exit(0);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user