Files
Nitro-V3/vite.config.mjs
T
simoleo89 a11987e1e0 Add FurniEditor tool with Next.js API integration
- FurniEditor component with Search/Edit tabs (NitroCard UI)
- useFurniEditor hook connecting to Next.js API routes via Vite proxy
- Edit Furni button in room infostand (godMode) with sprite ID lookup
- Toolbar: 3-column flex layout (icons | chat | friends)
- Heroicons SVG for ID/Sprite display in infostand and edit view
- Vite config: proxy /api to Next.js, aliases for renderer3 packages
2026-03-15 00:27:09 +01:00

67 lines
2.8 KiB
JavaScript

import react from '@vitejs/plugin-react';
import { resolve } from 'path';
import { defineConfig } from 'vite';
import tsconfigPaths from 'vite-tsconfig-paths';
const renderer3 = resolve(__dirname, '..', 'renderer3');
export default defineConfig({
plugins: [ react(), tsconfigPaths() ],
server: {
fs: {
allow: [
resolve(__dirname), // nitro3 itself
renderer3, // renderer3 source + packages
]
},
proxy: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true,
}
}
},
resolve: {
alias: {
'@': resolve(__dirname, 'src'),
'~': resolve(__dirname, 'node_modules'),
// Renderer3 workspace packages → point to their src/index.ts
'@nitrots/api': resolve(renderer3, 'packages/api/src/index.ts'),
'@nitrots/assets': resolve(renderer3, 'packages/assets/src/index.ts'),
'@nitrots/avatar': resolve(renderer3, 'packages/avatar/src/index.ts'),
'@nitrots/camera': resolve(renderer3, 'packages/camera/src/index.ts'),
'@nitrots/communication': resolve(renderer3, 'packages/communication/src/index.ts'),
'@nitrots/configuration': resolve(renderer3, 'packages/configuration/src/index.ts'),
'@nitrots/events': resolve(renderer3, 'packages/events/src/index.ts'),
'@nitrots/localization': resolve(renderer3, 'packages/localization/src/index.ts'),
'@nitrots/room': resolve(renderer3, 'packages/room/src/index.ts'),
'@nitrots/session': resolve(renderer3, 'packages/session/src/index.ts'),
'@nitrots/sound': resolve(renderer3, 'packages/sound/src/index.ts'),
'@nitrots/utils/src': resolve(renderer3, 'packages/utils/src'),
'@nitrots/utils': resolve(renderer3, 'packages/utils/src/index.ts'),
// Resolve pixi.js and pixi-filters from renderer3's node_modules
'pixi.js': resolve(renderer3, 'node_modules/pixi.js'),
'pixi-filters': resolve(renderer3, 'node_modules/pixi-filters'),
'howler': resolve(renderer3, 'node_modules/howler'),
}
},
build: {
assetsInlineLimit: 102400,
chunkSizeWarningLimit: 200000,
rollupOptions: {
output: {
assetFileNames: 'src/assets/[name].[ext]',
manualChunks: id =>
{
if(id.includes('node_modules'))
{
if(id.includes('@nitrots/nitro-renderer') || id.includes('renderer3')) return 'nitro-renderer';
return 'vendor';
}
}
}
}
}
})