Lenguajes
Weftmap soporta seis lenguajes hoy. La arquitectura es ampliable: cada lenguaje es una gramática de tree-sitter más un conjunto de consultas. Cinco generan un call graph; SQL genera un diagrama entidad-relación.
| Lenguaje | Funciones | Clases | Imports | Herencia |
|---|---|---|---|---|
| Python | ✓ | ✓ | ✓ | ✓ |
| JavaScript | ✓ | ✓ | ✓ | ✓ |
| TypeScript | ✓ | ✓ | ✓ | ✓ |
| Go | ✓ | — | — | — |
| Rust | ✓ | — | — | — |
Notas por lenguaje
- Python — funciones, clases y métodos; resuelve
importyfrom … import(incluidos relativos) y la herencia entre clases. - JavaScript — funciones (incluidas arrow asignadas), clases y métodos; imports ES relativos (
./x) yextends. - TypeScript — igual que JavaScript pero con la gramática dedicada, así las anotaciones de tipos se parsean sin problemas.
- Go — funciones y métodos. Go no tiene clases, así que no hay nodos de clase ni herencia.
- Rust — funciones y llamadas. La resolución entre archivos usa definiciones únicas.
- SQL — diagrama ER a partir de DDL (
CREATE TABLE,ALTER TABLE): tablas con columnas y tipos, claves PK/FK, relaciones por foreign key con cardinalidad (1:1, 1:N y N:M vía tablas puente). Orientado a PostgreSQL.
En Go y Rust los imports son por paquete o módulo (no por archivo), así que no se dibujan aristas de import. Las llamadas entre archivos del mismo paquete sí se resuelven por nombre. SQL es un tipo de diagrama distinto: en lugar de funciones y llamadas, dibuja tablas y relaciones.