0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-06 13:08:40 +08:00
discourse/frontend/asset-processor/rollup-plugins/discourse-terser.js
David Taylor d1e1c02fcb DEV: Rename app/assets/javascripts/ -> frontend/
Commit created with `mv app/assets/javascripts frontend && git add .`
2025-10-22 16:24:11 +01:00

31 lines
786 B
JavaScript
Vendored

import { minify as terserMinify } from "terser";
export default function discourseTerser({ opts }) {
return {
name: "discourse-terser",
async renderChunk(code, chunk, outputOptions) {
if (!opts.minify) {
return;
}
// Based on https://github.com/ember-cli/ember-cli-terser/blob/28df3d90a5/index.js#L12-L26
const defaultOptions = {
sourceMap:
outputOptions.sourcemap === true ||
typeof outputOptions.sourcemap === "string",
compress: {
negate_iife: false,
sequences: 30,
drop_debugger: false,
},
output: {
semicolons: false,
},
};
defaultOptions.module = true;
return await terserMinify(code, defaultOptions);
},
};
}