-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvite.config.js
61 lines (58 loc) · 2.05 KB
/
vite.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import { sveltekit } from '@sveltejs/kit/vite'
import { defineConfig } from 'vite'
import { searchForWorkspaceRoot } from 'vite'
// import { Server } from 'socket.io'
import { createWSSGlobalInstance, onHttpServerUpgrade } from './src/lib/websocket/utils.js'
import { rabbitCreateGlobalConnection } from './src/lib/rabbitmq/utils.js'
import 'dotenv/config'
/**
* Using WebSockets with SvelteKit
* Step 1. Create vite plugin for websockets (for development)
* https://joyofcode.xyz/using-websockets-with-sveltekit
*
* config.kit.vite is deprecated so we need to move the code in vite.config.js
* https://www.reddit.com/r/sveltejs/comments/vtu5ha/do_you_have_an_idea_to_install_and_create_a/
*/
// export const webSocketServer = {
// name: 'webSocketServer',
// // https://vitejs.dev/guide/api-plugin.html#configureserver
// configureServer(server) {
// const io = new Server(server.httpServer)
// io.on('connection', (socket) => {
// socket.emit('eventFromServer', 'Hello World!')
// })
// }
// }
export default defineConfig({
plugins: [
sveltekit(),
{
name: 'integratedWebsocketServer',
/** @param {import('vite').ViteDevServer} server */
configureServer(server) {
createWSSGlobalInstance()
server.httpServer?.on('upgrade', onHttpServerUpgrade)
}
},
{
name: 'integratedRabbitmqServer',
/** @param {import('vite').ViteDevServer} server */
configureServer(server) {
rabbitCreateGlobalConnection(process.env.RABBITMQ_CONNECTION_URL)
}
}
],
// https://github.com/bluwy/svelte-preprocess-import-assets
// https://vitejs.dev/config/server-options.html#server-fs-allow
server: {
fs: {
allow: [
// We are now using /storage route endpoint for this
// // search up for workspace root
// searchForWorkspaceRoot(process.cwd()),
// // your custom rules
// './storage/aerial/**/*'
]
}
}
});