mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-11 20:44:32 -05:00
71 lines
1.7 KiB
TypeScript
71 lines
1.7 KiB
TypeScript
import path from 'path';
|
|
|
|
import { visualizer } from 'rollup-plugin-visualizer';
|
|
import { defineConfig } from 'vite';
|
|
import peggyLoader from 'vite-plugin-peggy-loader';
|
|
|
|
// eslint-disable-next-line import/no-default-export
|
|
export default defineConfig(({ mode }) => {
|
|
const outDir = path.resolve(__dirname, '../api/app');
|
|
const crdtDir = path.resolve(__dirname, '../crdt');
|
|
|
|
return {
|
|
mode,
|
|
ssr: { noExternal: true, external: ['better-sqlite3'] },
|
|
build: {
|
|
target: 'node18',
|
|
outDir,
|
|
emptyOutDir: false,
|
|
ssr: true,
|
|
lib: {
|
|
entry: path.resolve(__dirname, 'src/server/main.ts'),
|
|
formats: ['cjs'],
|
|
},
|
|
sourcemap: true,
|
|
rollupOptions: {
|
|
output: {
|
|
entryFileNames: 'bundle.api.js',
|
|
format: 'cjs',
|
|
name: 'api',
|
|
},
|
|
},
|
|
},
|
|
resolve: {
|
|
extensions: [
|
|
'.api.js',
|
|
'.api.ts',
|
|
'.api.tsx',
|
|
'.electron.js',
|
|
'.electron.ts',
|
|
'.electron.tsx',
|
|
'.js',
|
|
'.ts',
|
|
'.tsx',
|
|
'.json',
|
|
],
|
|
alias: [
|
|
{
|
|
find: 'handlebars',
|
|
replacement: require.resolve('handlebars/dist/handlebars.js'),
|
|
},
|
|
{
|
|
find: /^@actual-app\/crdt(\/.*)?$/,
|
|
replacement: path.resolve(crdtDir, 'src') + '$1',
|
|
},
|
|
{
|
|
find: '@actual-app/query',
|
|
replacement: path.resolve(__dirname, '../query/src'),
|
|
},
|
|
{
|
|
find: '@actual-app/shared-types',
|
|
replacement: path.resolve(__dirname, '../shared-types/src'),
|
|
},
|
|
],
|
|
},
|
|
plugins: [
|
|
peggyLoader(),
|
|
visualizer({ template: 'raw-data', filename: `${outDir}/stats.json` }),
|
|
],
|
|
};
|
|
});
|