You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.8 KiB
71 lines
1.8 KiB
import { defineConfig } from "vite";
|
|
import vue from "@vitejs/plugin-vue";
|
|
import path from "path";
|
|
import { fileURLToPath } from 'url';
|
|
|
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
export default defineConfig({
|
|
plugins: [vue()],
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, './src'),
|
|
'nostr-tools': path.resolve(__dirname, 'node_modules/nostr-tools'),
|
|
'nostr-tools/nip06': path.resolve(__dirname, 'node_modules/nostr-tools/nip06'),
|
|
'nostr-tools/core': path.resolve(__dirname, 'node_modules/nostr-tools/core'),
|
|
stream: 'stream-browserify',
|
|
util: 'util',
|
|
crypto: 'crypto-browserify',
|
|
assert: 'assert/',
|
|
http: 'stream-http',
|
|
https: 'https-browserify',
|
|
url: 'url/',
|
|
zlib: 'browserify-zlib',
|
|
path: 'path-browserify',
|
|
fs: false,
|
|
tty: 'tty-browserify',
|
|
net: false,
|
|
dns: false,
|
|
child_process: false,
|
|
os: false
|
|
},
|
|
mainFields: ['module', 'jsnext:main', 'jsnext', 'main'],
|
|
},
|
|
optimizeDeps: {
|
|
include: ['nostr-tools', 'nostr-tools/nip06', 'nostr-tools/core'],
|
|
esbuildOptions: {
|
|
define: {
|
|
global: 'globalThis'
|
|
}
|
|
}
|
|
},
|
|
build: {
|
|
sourcemap: true,
|
|
target: 'esnext',
|
|
chunkSizeWarningLimit: 1000,
|
|
commonjsOptions: {
|
|
include: [/node_modules/],
|
|
transformMixedEsModules: true
|
|
},
|
|
rollupOptions: {
|
|
external: [
|
|
'stream', 'util', 'crypto', 'http', 'https', 'url', 'zlib',
|
|
'path', 'fs', 'tty', 'assert', 'net', 'dns', 'child_process', 'os'
|
|
],
|
|
output: {
|
|
globals: {
|
|
stream: 'stream',
|
|
util: 'util',
|
|
crypto: 'crypto',
|
|
http: 'http',
|
|
https: 'https',
|
|
url: 'url',
|
|
zlib: 'zlib',
|
|
path: 'path',
|
|
assert: 'assert',
|
|
tty: 'tty'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|