¿Cómo obtener información de git sobre la rama actual, la fecha de confirmación y otros cuando se usa el paquete Vite ?
Es posible usar execSync y recuperar información de git al iniciar Vite.
vite.config.ts :
export default ({ mode }: ConfigEnv) => { const dev = mode === 'development'; const commitDate = execSync('git log -1 --format=%cI').toString().trimEnd(); const branchName = execSync('git rev-parse --abbrev-ref HEAD').toString().trimEnd(); const commitHash = execSync('git rev-parse HEAD').toString().trimEnd(); const lastCommitMessage = execSync('git show -s --format=%s').toString().trimEnd(); process.env.VITE_GIT_COMMIT_DATE = commitDate; process.env.VITE_GIT_BRANCH_NAME = branchName; process.env.VITE_GIT_COMMIT_HASH = commitHash; process.env.VITE_GIT_LAST_COMMIT_MESSAGE = lastCommitMessage; ... NB: Es importante usar el prefijo VITE_ en las variables, de lo contrario no estarán disponibles.
Ejemplo de uso :
function BuildInfo() { const date = new Date(import.meta.env.VITE_GIT_COMMIT_DATE); return ( <div> <span>{date.toLocaleString()}</span> <span>{import.meta.env.VITE_GIT_LAST_COMMIT_MESSAGE}</span> <span>{import.meta.env.VITE_GIT_BRANCH_NAME}/{import.meta.env.VITE_GIT_COMMIT_HASH}</span> </div> ); } UPD: también puede usar https://www.npmjs.com/package/git-rev-sync para obtener información de git.