UNPKG

@networkpro/web

Version:

Locking Down Networks, Unlocking Confidence™ | Security, Networking, Privacy — Network Pro Strategies

69 lines (62 loc) 2.54 kB
/* ========================================================================= vite.config.js Copyright © 2025-2026 Network Pro Strategies (Network Pro™) SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later This file is part of Network Pro. ========================================================================= */ import { sveltekit } from '@sveltejs/kit/vite'; import { resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; import { defineConfig } from 'vite'; import devtoolsJson from 'vite-plugin-devtools-json'; import lightningcssPlugin from 'vite-plugin-lightningcss'; import tsconfigPaths from 'vite-tsconfig-paths'; // tsconfig/jsconfig alias support // Compute absolute project root const projectRoot = fileURLToPath(new URL('.', import.meta.url)); export default defineConfig(({ mode }) => { // --- 🧩 Log Build Environment Info ------------------------------------- console.log( '\x1b[36m%s\x1b[0m', '──────────────────────────────────────────────', ); console.log('\x1b[33m%s\x1b[0m', `📦 Building Network Pro — mode: ${mode}`); console.log( '\x1b[36m%s\x1b[0m', '──────────────────────────────────────────────', ); console.log('ENV_MODE:', process.env.ENV_MODE); console.log('PUBLIC_ENV_MODE:', process.env.PUBLIC_ENV_MODE); console.log('NODE_ENV:', process.env.NODE_ENV); if ( process.env.ENV_MODE === 'audit' || process.env.PUBLIC_ENV_MODE === 'audit' || mode === 'audit' ) { process.stderr.write( '🔒 Audit Mode Detected — hardened CSP and no analytics will be applied.\n', ); } console.log( '\x1b[36m%s\x1b[0m', '──────────────────────────────────────────────', ); // ----------------------------------------------------------------------- return { envPrefix: ['PUBLIC_'], plugins: [ tsconfigPaths(), devtoolsJson({ projectRoot: resolve(projectRoot), normalizeForWindowsContainer: true, uuid: 'ad0db4f4-6172-4c1e-ae17-26b1bee53764', }), sveltekit(), lightningcssPlugin({ minify: ['production', 'audit'].includes(mode), pruneUnusedFontFaceRules: true, pruneUnusedKeyframes: true, removeUnusedFontFaces: true, }), ], }; });