Files
site-builder/craft/vite.config.ts
Josh Knapp 43627bddb0 sitesmith: alias tiny-invariant to a diagnostic shim
The prod build of tiny-invariant strips all failure messages, leaving
us with bare 'Error: Invariant failed' and no actionable info. Aliasing
the package to a shim that always emits the message + a stack-trace
console.error before throwing — so the next Craft.js invariant we hit
tells us which assertion (ERROR_NOT_IN_RESOLVER, ERROR_NOPARENT,
ERROR_INVALID_NODE_ID, etc.) is actually failing.

Temporary; will revert once the Sitesmith apply flow is stable.
2026-05-24 16:32:50 -07:00

34 lines
864 B
TypeScript

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path'
export default defineConfig({
plugins: [react()],
base: './',
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
// Diagnostic: replace tiny-invariant with a shim that always logs the
// failure message (the upstream prod build strips it).
'tiny-invariant': path.resolve(__dirname, './src/utils/tiny-invariant-shim.ts'),
},
},
build: {
outDir: 'dist',
rollupOptions: {
output: {
entryFileNames: 'js/editor.js',
chunkFileNames: 'js/[name].js',
assetFileNames: (info) =>
info.name?.endsWith('.css') ? 'css/editor.css' : 'assets/[name][extname]',
},
},
},
server: {
port: 5173,
proxy: {
'/api': 'http://192.168.1.105:8080',
},
},
})