@autofix/vite-plugin
v0.4.0
Published
Plugin Vite: inietta automaticamente il release (commit SHA) nel bundle, così l'SDK AutoFix lo riporta senza configurazione manuale.
Downloads
257
Readme
@autofix/vite-plugin
Inietta automaticamente il release (commit SHA) nel bundle a build time, così l'SDK AutoFix lo riporta senza SHA hardcodato.
Perché
Il bundle nel browser non può leggere git a runtime. Il release — il commit
esatto che era deployato quando l'errore è stato lanciato — deve essere "stampato"
nel bundle al build: solo quel commit combacia con lo stacktrace, quindi la
diagnosi AI di AutoFix è precisa. Scriverlo a mano è fragile e va stale; questo
plugin lo risolve una volta e lo aggiorna a ogni build.
Uso
npm install -D @autofix/vite-plugin// vite.config.js
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { autofix } from '@autofix/vite-plugin';
export default defineConfig({
plugins: [react(), autofix()],
});// il tuo entrypoint — niente più `release`
import { init } from '@autofix/browser';
init({
apiKey: 'afk_…',
endpoint: 'https://<tuo-ingest>/v1/events',
// release: iniettato dal plugin, raccolto in automatico da init()
});Come risolve il release
In ordine di preferenza:
releaseesplicito passato al plugin;- una env di CI:
AUTOFIX_RELEASE,GITHUB_SHA,VERCEL_GIT_COMMIT_SHA,CF_PAGES_COMMIT_SHA,CI_COMMIT_SHA,COMMIT_REF,SOURCE_VERSION; git rev-parse HEADsulla macchina di build.
Se nessuno è disponibile, non inietta nulla (con un warning, silenziabile con
autofix({ silent: true })).
Opzioni
| opzione | default | descrizione |
| ------------ | --------------------- | --------------------------------------------- |
| release | — | SHA esplicito; ha precedenza su env e git. |
| releaseVar | __AUTOFIX_RELEASE__ | nome della costante globale iniettata. |
| silent | false | silenzia il warning se il release non c'è. |
Backend
Per @autofix/node non serve questo plugin: init() legge da solo il release da
process.env.AUTOFIX_RELEASE (o dalle stesse env di CI) al boot.
Sicurezza
Il plugin gira solo a build time. L'unico comando eseguito è
git rev-parse HEAD (costante, nessuna interpolazione → niente command
injection). Non fa rete né scrive file. Il valore iniettato è un commit SHA, non
un segreto.
MIT © AutoFix
