UNPKG

form-preview-df

Version:

Resusable Form Preview Components

69 lines (64 loc) 1.91 kB
// rollup.config.js (CommonJS) const fs = require("fs"); const resolve = require("@rollup/plugin-node-resolve").default || require("@rollup/plugin-node-resolve"); const commonjs = require("@rollup/plugin-commonjs"); const typescript = require("@rollup/plugin-typescript"); const postcss = require("rollup-plugin-postcss"); const dts = require("rollup-plugin-dts").default || require("rollup-plugin-dts"); const { terser } = require("@rollup/plugin-terser") || {}; const packageJson = JSON.parse(fs.readFileSync("./package.json", "utf8")); module.exports = [ // JS bundles (CJS + ESM) { input: "src/index.ts", output: [ { file: packageJson.main || "dist/index.cjs.js", format: "cjs", sourcemap: true, name: "DfFormPreview", inlineDynamicImports: true, }, { file: packageJson.module || "dist/index.esm.js", format: "esm", sourcemap: true, inlineDynamicImports: true, }, ], plugins: [ resolve({ browser: true, preferBuiltins: false }), commonjs(), typescript({ tsconfig: "./tsconfig.json", exclude: ["**/*.test.*", "**/*.spec.*"], }), postcss({ extract: true, minimize: true, sourceMap: true, }), // keep terser optional (only if you installed @rollup/plugin-terser) ...(terser ? [terser()] : []), ], external: ["react", "react-dom", "react-i18next", "i18next"], }, // Type declaration bundle { input: "dist/index.d.ts", output: [{ file: "dist/index.d.ts", format: "es" }], plugins: [dts()], external: (id) => { if (!id) return false; return ( id.endsWith(".css") || id.endsWith(".scss") || id.endsWith(".sass") || /\.s?css$/.test(id) ); }, }, ];