Context
Weftmap has a pluggable per-language architecture. Adding a language is ~3 pieces:
- WASM grammar in
public/wasm/tree-sitter-<lang>.wasm
- Analyzer in
src/lib/analysis/analyzers/<lang>.ts (see go.ts or python.ts)
- Register it in
src/lib/analysis/registry.ts
Already supported: Python, JavaScript, TypeScript, Go.
Task
Add Ruby. Detect def and method calls.
- Grammar:
tree-sitter-ruby
- Reference:
src/lib/analysis/analyzers/python.ts (dynamic, similar to Ruby).
- Add a case in
analyzers.test.ts.
Contexto
Weftmap tiene arquitectura pluggable por lenguaje. Añadir uno son ~3 piezas:
- Grammar WASM en
public/wasm/tree-sitter-<lang>.wasm
- Analyzer en
src/lib/analysis/analyzers/<lang>.ts (mira go.ts o python.ts)
- Registrarlo en
src/lib/analysis/registry.ts
Lenguajes ya soportados: Python, JavaScript, TypeScript, Go.
Tarea
Añadir Ruby. Detectar def y llamadas a métodos.
- Grammar:
tree-sitter-ruby
- Referencia:
src/lib/analysis/analyzers/python.ts (dinámico, similar a Ruby).
- Añadir caso en
analyzers.test.ts.
Context
Weftmap has a pluggable per-language architecture. Adding a language is ~3 pieces:
public/wasm/tree-sitter-<lang>.wasmsrc/lib/analysis/analyzers/<lang>.ts(seego.tsorpython.ts)src/lib/analysis/registry.tsAlready supported: Python, JavaScript, TypeScript, Go.
Task
Add Ruby. Detect
defand method calls.tree-sitter-rubysrc/lib/analysis/analyzers/python.ts(dynamic, similar to Ruby).analyzers.test.ts.Contexto
Weftmap tiene arquitectura pluggable por lenguaje. Añadir uno son ~3 piezas:
public/wasm/tree-sitter-<lang>.wasmsrc/lib/analysis/analyzers/<lang>.ts(mirago.tsopython.ts)src/lib/analysis/registry.tsLenguajes ya soportados: Python, JavaScript, TypeScript, Go.
Tarea
Añadir Ruby. Detectar
defy llamadas a métodos.tree-sitter-rubysrc/lib/analysis/analyzers/python.ts(dinámico, similar a Ruby).analyzers.test.ts.