Files
linkding/rollup.config.mjs
2026-01-11 22:40:06 +01:00

45 lines
1.1 KiB
JavaScript

import resolve from '@rollup/plugin-node-resolve';
import terser from '@rollup/plugin-terser';
const production = !process.env.ROLLUP_WATCH;
// Custom plugin to exclude dev-tool.js from production builds
const excludeDevTool = {
name: 'exclude-dev-tool',
load(id) {
if (production && id.endsWith('dev-tool.js')) {
return '';
}
return null;
},
};
export default {
input: 'bookmarks/frontend/index.js',
output: {
sourcemap: true,
format: 'iife',
name: 'linkding',
// Generate bundle in static folder to that it is picked up by Django static files finder
file: 'bookmarks/static/bundle.js',
},
plugins: [
excludeDevTool,
// If you have external dependencies installed from
// npm, you'll most likely need these plugins. In
// some cases you'll need additional configuration —
// consult the documentation for details:
// https://github.com/rollup/rollup-plugin-commonjs
resolve({
browser: true,
}),
// If we're building for production (npm run build
// instead of npm run dev), minify
production && terser(),
],
watch: {
clearScreen: false,
},
};