npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@pandi-coding-agent/pandi-typescript-lsp

v0.1.9

Published

Extensión de Pi para feedback de diagnósticos de TypeScript: ejecuta `tsc --noEmit` en el borde coherente (`agent_end`) sobre archivos tocados, más la herramienta `typescript_diagnostics` y el comando `/tsc`. No es un LSP completo (sin hover/go-to-def).

Readme

@pandi-coding-agent/pandi-typescript-lsp

Feedback de diagnósticos de TypeScript para Pi: después de un turno que escribió o editó TypeScript, ejecuta tsc --noEmit sobre el/los proyecto(s) relevante(s) y reporta errores solo para los archivos que ese turno tocó. Usalo cuando estés iterando TypeScript dentro de una sesión de Pi y quieras feedback del compilador sin salir del chat ni correr tsc a mano.

En 30 segundos

pi install npm:@pandi-coding-agent/pandi-typescript-lsp

Por defecto, el chequeo corre automáticamente en agent_end, acotado a los archivos tocados por el turno. Si encuentra algo, vas a ver el reporte en tu siguiente turno, sin hacer nada:

Diagnósticos de TypeScript (1):
src/foo.ts(12,5): error TS2322: Type 'string' is not assignable to type 'number'.

Ese chequeo automático también limpia la lista de archivos tocados, así que si corrés /tsc run enseguida solo va a decir "No se tocó ningún archivo TypeScript en este turno." — editá primero otro .ts y después lanzalo a demanda:

/tsc run
Diagnósticos de TypeScript (1):
src/foo.ts(12,5): error TS2322: Type 'string' is not assignable to type 'number'.

Qué obtenés

  • Feedback automático y no bloqueante en agent_end — advisory por defecto, autofix opcional.
  • typescript_diagnostics — herramienta de modelo para chequeos bajo demanda.
  • /tsc — comando slash para controlar y ejecutar chequeos vos mismo.

Instalación

Desde este repositorio:

pi install ./extensions/pandi-typescript-lsp          # global (tu usuario)
pi install -l ./extensions/pandi-typescript-lsp       # local al proyecto
pi --no-extensions -e ./extensions/pandi-typescript-lsp   # prueba única, sin cargar nada más

Comandos

| Comando | Qué hace | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | /tsc o /tsc status | Muestra estado habilitado, modo, scope, autofix y máximo. | | /tsc on / /tsc off | Habilita o deshabilita el feedback automático. | | /tsc run | Ejecuta un chequeo ahora y reporta el resultado. | | /tsc scope touched\|project | Define el scope por defecto (archivos tocados vs. proyecto completo). | | /tsc autofix on\|off | Alterna entre entrega advisory y autofix. | | /tsc max <n> | Limita cuántos diagnósticos se muestran. | | typescript_diagnostics | Herramienta de modelo: ejecuta diagnósticos con scope opcional (touched por defecto, o project para <cwd>/tsconfig.json); devuelve un resumen textual y details estructurados. |

Cómo funciona

Los diagnósticos se disparan en agent_end — cuando termina todo el turno — y no después de cada escritura. A mitad del turno, un archivo suele quedar a medio editar y eso reportaría errores transitorios; chequear una sola vez en el borde, acotado a los archivos tocados, da señal honesta con ruido mínimo.

Elegí el modo de entrega con /tsc autofix on|off:

| Modo | Ante errores, agent_end... | Seguridad de loop | | ---------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | | advisory (default) | envía un mensaje no bloqueante en el siguiente turno | los reportes idénticos se deduplican y nunca se reinyectan | | autofix (opt-in) | dispara un turno de seguimiento para que el agente los corrija ahora | limitado a 1 arreglo auto-disparado por prompt, más la misma deduplicación — nunca puede entrar en loop |

Limitaciones y notas de seguridad

  • No es un LSP completo. Aunque el nombre diga eso, esto solo da diagnósticos — sin hover, sin go-to-definition, sin completions. Pensalo como: "¿mis ediciones de TypeScript siguen compilando?".
  • No bloquea por diseño. Nunca bloquea una llamada a tool; si falta tsconfig o tsc, queda en un NO-OP silencioso con una única advertencia advisory, nunca en una sesión rota.
  • tsc siempre se lanza con un array argv — nunca con un string de shell — así que las rutas no pueden inyectar comandos.
  • Una corrida que supera el presupuesto de timeout se muestra como inconclusa ("timed out"), nunca como chequeo limpio, y no altera el estado de dedupe advisory.

Detalles

Orden de resolución de tsc:

  1. PI_TS_LSP_TSC — ruta absoluta a un tsc.js, ejecutado con el node actual.
  2. El node_modules/typescript/bin/tsc más cercano, subiendo desde el directorio del tsconfig.
  3. Respaldo: npx tsc.

Variables de entorno:

| Variable | Predeterminado | Significado | | ---------------------- | -------------- | ---------------------------------------------------------------- | | PI_TS_LSP | on | on / off — habilita la extensión | | PI_TS_LSP_MODE | advisory | advisory / autofix | | PI_TS_LSP_MAX | 20 | Máximo de diagnósticos mostrados (entero positivo) | | PI_TS_LSP_AUTOFIX | off | on / off — habilita turnos de autofix | | PI_TS_LSP_TSC | (auto) | Ruta absoluta al tsc.js a ejecutar | | PI_TS_LSP_TIMEOUT_MS | 60000 | Presupuesto de tiempo por corrida de tsc (entero positivo, ms) |

La entrega autofix necesita AMBAS configuraciones juntas — PI_TS_LSP_MODE=autofix solo sigue en advisory, porque el código recién cambia a autofix cuando mode === "autofix" && autofix (PI_TS_LSP_AUTOFIX=on).

Relacionado

Para instalar el paquete completo de extensiones y skills, instalá la raíz del repositorio.