Sviluppo e rilascio

← Torna alla home · Guida all’utilizzo

Prerequisiti

Comandi

npm install                                    # dipendenze
npm run build                                  # bundle esbuild → dist/extension.js
npm run watch                                  # build in watch
npm test                                       # unit + integrazione (nats-server locale, porta random)
npx tsc --noEmit                               # typecheck (esbuild non typecheckka)
npx @vscode/vsce package --no-dependencies     # .vsix locale

Premi F5 in VS Code per aprire l’Extension Host e provare l’estensione.

Architettura

Gate (prima di ogni commit)

npx tsc --noEmit e npm test devono essere verdi — sono gli stessi check della CI. La logica nuova va nel core con relativo test.

CI/CD

.github/workflows/ci.yml (guidato dai tag):

Job Quando Cosa fa
test push/PR install nats-server + npm test
type-check push/PR tsc --noEmit
build dopo test+type-check bundle + controllo dimensione
package tag v* .vsix allegato alla release GitHub
publish-marketplace tag v* vsce publish con secrets.VSCE_TOKEN (env marketplace)

Rilascio

  1. Bump version in package.json + nuova sezione in CHANGELOG.md (Keep a Changelog, in italiano).
  2. Commit, poi tag annotato: git tag -a vX.Y.Z -m "Release X.Y.Z" (la version deve coincidere col tag).
  3. git push origin main && git push origin vX.Y.Z → parte package + publish.

Prerequisiti Marketplace: publisher allannava95 e secret VSCE_TOKEN (PAT Azure DevOps con scope Marketplace → Manage). Verifica con npx @vscode/vsce verify-pat allannava95.

Documentazione

Il sito che stai leggendo è servito da docs/ (Jekyll) e ri-deployato a ogni push su main da .github/workflows/pages.yml. Ogni modifica funzionale va riflessa in docs/ nello stesso commit.