import babel from "@rollup/plugin-babel"; import commonjs from "@rollup/plugin-commonjs"; import json from "@rollup/plugin-json"; import resolve from "@rollup/plugin-node-resolve"; import multiInput from "rollup-plugin-multi-input"; import nodePolyfills from "rollup-plugin-node-polyfills"; import postcss from "rollup-plugin-postcss"; import { terser } from "rollup-plugin-terser"; const INPUT_DIR = "app/Views/_assets"; const OUTPUT_DIR = "public/assets"; export default { input: [`${INPUT_DIR}/*.ts`, `!${INPUT_DIR}/*.d.ts`], output: { dir: OUTPUT_DIR, format: "esm", sourcemap: true, }, plugins: [ multiInput({ relative: INPUT_DIR }), resolve({ preferBuiltins: false, extensions: [".js", ".ts"], }), commonjs(), postcss({ extract: true, sourceMap: true, minimize: true }), json(), nodePolyfills(), babel({ babelHelpers: "bundled", extensions: [".js", ".ts"], exclude: "node_modules/**", }), terser(), ], watch: { chokidar: { usePolling: true, }, include: `${INPUT_DIR}/**/*.ts`, exclude: `${INPUT_DIR}/**/*.d.ts`, }, };