// SPDX-FileCopyrightText: 2021 Johannes Loher // // SPDX-License-Identifier: MIT import styles from "@ironkinoko/rollup-plugin-styles"; import { swc } from "rollup-plugin-swc3"; import { copy } from "@guanghechen/rollup-plugin-copy"; import { distDirectory, name, sourceDirectory } from "./tools/const.js"; const staticFiles = [ ".reuse", "assets", "ATTRIBUTION.md", "fonts", "lang", "LICENSE.md", "LICENSES", "README.md", "system.json.license", "system.json", "template.json.license", "template.json", "templates", ]; const isProduction = process.env.NODE_ENV === "production"; /** * @type {import('rollup').RollupOptions} */ const config = { input: { [name]: `${sourceDirectory}/${name}.ts` }, output: { dir: distDirectory, format: "es", sourcemap: true, assetFileNames: "[name].[ext]", }, plugins: [ swc({ jsc: { minify: isProduction && { sourceMap: true, mangle: { keepClassNames: true, keepFnNames: true, }, }, }, sourceMaps: true, }), styles({ mode: ["extract", `css/${name}.css`], url: false, sourceMap: true, minimize: isProduction, }), copy({ targets: [{ src: staticFiles, dest: distDirectory }] }), ], }; export default config;