UNPKG

@networkpro/web

Version:

This package powers the official web presence of Network Pro Strategies β€” a research- and infrastructure-focused technology initiative working across cybersecurity, digital systems, and privacy.

74 lines (67 loc) β€’ 2.75 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'; // 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 { // Keep PUBLIC_* available through import.meta.env.PUBLIC_*. // SvelteKit's kit.env.publicPrefix controls $env/static/public and // $env/dynamic/public instead; this app currently uses Vite env access // in env/analytics code, so this is intentional. envPrefix: ['PUBLIC_'], resolve: { tsconfigPaths: true, }, plugins: [ 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, }), ], }; });