on df0c310 help sign in
bridge/vite.config.ts
77 lines 2.0 kB history raw
1import { defineConfig } from 'vite'
2import GlobalPolyFill from "@esbuild-plugins/node-globals-polyfill";
3import nodePolyfills from 'rollup-plugin-node-polyfills';
4import inject from '@rollup/plugin-inject'
5import react from '@vitejs/plugin-react'
6import svgr from 'vite-plugin-svgr';
7import { comlink } from 'vite-plugin-comlink'
8import { resolve } from 'path';
9import basicSsl from '@vitejs/plugin-basic-ssl'
11// https://vitejs.dev/config/
12export default defineConfig(({ mode }) => {
13 return {
14 server: {
15 port: 3000,
16 https: true,
17 },
18 plugins: [comlink(), basicSsl(), svgr(), react(),],
19 resolve: {
20 alias: [
21 { find: 'process', replacement: 'process/browser' },
22 { find: 'stream', replacement: 'stream-browserify' },
23 { find: 'https', replacement: 'agent-base' },
24 ...[
25 'assets',
26 'components',
27 'form',
28 'indigo-react',
29 'lib',
30 'store',
31 'style',
32 'views',
33 'worker',
34 ].map(a => ({ find: a, replacement: resolve(__dirname, `src/${a}`)})),
35 ],
36 },
37 worker: {
38 plugins: [
39 comlink(),
40 ],
41 },
42 build: Object.assign(
43 {
44 outDir: 'build',
45 rollupOptions: {
46 plugins: [nodePolyfills()],
47 },
48 },
49 mode === 'development' ? { global: {} } : {}
50 ),
51 optimizeDeps: {
52 include: ['urbit-key-generation'],
53 esbuildOptions: {
54 define: {
55 global: 'globalThis',
56 },
57 plugins: [
58 GlobalPolyFill({
59 process: true,
60 buffer: true,
61 }),
62 ],
63 },
64 },
65 define: Object.assign({
66 // https://github.com/origamitower/folktale/issues/229
67 "process.env.FOLKTALE_DOCS": false,
68 "process.env.FOLKTALE_ASSERTIONS": false,
69 },
70 mode === 'production' ? {
71 rollupOptions: {
72 plugins: [inject({ Buffer: ['buffer', 'Buffer'] })],
73 },
74 } : {}
75 )
76 };
77});