chore: Add build version as banner to outputted js and css chat files (no-changelog) (#16629)

Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
This commit is contained in:
Mutasem Aldmour
2025-06-24 13:50:57 +02:00
committed by GitHub
parent f58c1ce083
commit e63583987e

View File

@@ -1,10 +1,11 @@
import { defineConfig, mergeConfig } from 'vite';
import { defineConfig, mergeConfig, PluginOption } from 'vite';
import { resolve } from 'path';
import { renameSync } from 'fs';
import { renameSync, writeFileSync, readFileSync } from 'fs';
import vue from '@vitejs/plugin-vue';
import icons from 'unplugin-icons/vite';
import dts from 'vite-plugin-dts';
import { vitestConfig } from '@n8n/vitest-config/frontend';
import pkg from './package.json';
import iconsResolver from 'unplugin-icons/resolver';
import components from 'unplugin-vue-components/vite';
@@ -12,6 +13,8 @@ const includeVue = process.env.INCLUDE_VUE === 'true';
const srcPath = resolve(__dirname, 'src');
const packagesDir = resolve(__dirname, '..', '..', '..');
const banner = `/*! Package version @n8n/chat@${pkg.version} */`;
// https://vitejs.dev/config/
export default mergeConfig(
defineConfig({
@@ -49,6 +52,19 @@ export default mergeConfig(
}
},
},
{
name: 'inject-build-version',
closeBundle() {
const cssPath = resolve(__dirname, 'dist', 'style.css');
try {
const cssContent = readFileSync(cssPath, 'utf-8');
const updatedCssContent = banner + '\n' + cssContent;
writeFileSync(cssPath, updatedCssContent, 'utf-8');
} catch (error) {
console.error('Failed to inject build version into CSS file:', error);
}
},
},
],
resolve: {
alias: [
@@ -86,6 +102,8 @@ export default mergeConfig(
external: includeVue ? [] : ['vue'],
output: {
exports: 'named',
// inject banner on top of all JS files
banner,
// Provide global variables to use in the UMD build
// for externalized deps
globals: includeVue