// Хэш коммита сборки — в логи (git.commit) и записи экрана мониторинга: @tnsu/monitoring-web читает // __TNSU_GIT_COMMIT__, а webpack подставляет его при сборке. Хэш — GIT_COMMIT или GITHUB_SHA пайплайна, иначе git. const { execSync } = require('node:child_process'); const webpack = require('webpack'); function gitCommit() { const fromEnv = process.env.GIT_COMMIT || process.env.GITHUB_SHA; if (fromEnv) return fromEnv; try { return execSync('git rev-parse HEAD', { stdio: ['ignore', 'pipe', 'ignore'] }).toString().trim(); } catch { return ''; } } module.exports = function monitoringPatch(config) { config.plugins = config.plugins || []; config.plugins.push(new webpack.DefinePlugin({ __TNSU_GIT_COMMIT__: JSON.stringify(gitCommit()) })); return config; };