mirror of
https://github.com/documenso/documenso.git
synced 2025-11-10 04:22:32 +10:00
53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
import linguiMacro from '@lingui/babel-plugin-lingui-macro';
|
|
import babel from '@rollup/plugin-babel';
|
|
import commonjs from '@rollup/plugin-commonjs';
|
|
import resolve from '@rollup/plugin-node-resolve';
|
|
import typescript from '@rollup/plugin-typescript';
|
|
import path from 'node:path';
|
|
|
|
/** @type {import('rollup').RollupOptions} */
|
|
const config = {
|
|
/**
|
|
* We specifically target the router.ts instead of the entry point so the rollup doesn't go through the
|
|
* already prebuilt RR7 server files.
|
|
*/
|
|
input: 'server/router.ts',
|
|
output: {
|
|
dir: 'build/server/hono',
|
|
format: 'esm',
|
|
sourcemap: true,
|
|
preserveModules: true,
|
|
preserveModulesRoot: '.',
|
|
},
|
|
external: [/node_modules/],
|
|
plugins: [
|
|
typescript({
|
|
noEmitOnError: true,
|
|
moduleResolution: 'bundler',
|
|
include: ['server/**/*', '../../packages/**/*', '../../packages/lib/translations/**/*'],
|
|
jsx: 'preserve',
|
|
}),
|
|
resolve({
|
|
rootDir: path.join(process.cwd(), '../..'),
|
|
preferBuiltins: true,
|
|
resolveOnly: [
|
|
'@documenso/api/*',
|
|
'@documenso/auth/*',
|
|
'@documenso/lib/*',
|
|
'@documenso/trpc/*',
|
|
'@documenso/email/*',
|
|
],
|
|
extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'],
|
|
}),
|
|
commonjs(),
|
|
babel({
|
|
babelHelpers: 'bundled',
|
|
extensions: ['.ts', '.tsx'],
|
|
presets: ['@babel/preset-typescript', ['@babel/preset-react', { runtime: 'automatic' }]],
|
|
plugins: [linguiMacro],
|
|
}),
|
|
],
|
|
};
|
|
|
|
export default config;
|