Skip to content

feat(analyzer): support @data variables in static analysis - #29

Merged
atinseau merged 1 commit into
masterfrom
feature/support-data-variables-static-analysis
Mar 20, 2026
Merged

atinseau merged 1 commit into
masterfrom
feature/support-data-variables-static-analysis

Conversation

@atinseau

Copy link
Copy Markdown
Owner

Changements apportés

  • Ajout de la fonction isDataExpression() dans parser.ts pour détecter les variables @data de Handlebars (@index, @first, @last, @key) dans l'AST
  • Ajout d'un mapping DATA_VARIABLE_SCHEMAS dans analyzer.ts associant chaque variable @data connue à son type statique (number, boolean, string)
  • Ajout de la fonction resolveDataExpression() dans analyzer.ts pour résoudre le schéma des variables @data — les variables inconnues retournent un schéma ouvert {}
  • Modification de resolveExpressionWithDiagnostics() pour court-circuiter la résolution classique sur les expressions @data, évitant les faux diagnostics UNKNOWN_PROPERTY
  • Modification de processMustache() pour ignorer les vérifications d'optionalité sur les variables @data (elles sont toujours fournies par Handlebars au runtime)

Tests

  • Ajout de 7 tests dans analyzer.spec.ts couvrant : @index, @first, @last, @key sans erreurs de validation, inférence du type number pour @index, combinaison avec des propriétés régulières, et tolérance des variables @data inconnues

🚀

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@atinseau
atinseau merged commit a9f0ddc into master Mar 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant