라이브러리를 만들기 위해 사용한 rollup에 대해 정리해보자
rollup은 javascript 번들러이다
주로 라이브러리를 만드는데 사용되며 모듈로 번들링하기 때문에 treeshaking에 강점이 있다
참고
// rollup.config.js
import Ts from "rollup-plugin-typescript2";
import image from "@rollup/plugin-image";
export default {
input: ["src/index.ts"],
output: {
dir: "dist",
format: "esm",
sourcemap: true,
preserveModules: true, // preserve source folder
},
plugins: [Ts(), image()],
external: [
"@emotion/styled",
"@mui/material",
"@emotion/react",
"immer",
"lodash",
"react",
"react-media-recorder",
"react-router-dom",
"react-toastify",
"react-loader-spinner",
"react-cookie",
],
};
// package.json
{
// ...
"scripts": {
"build": "rollup -c",
"dev": "rollup -c --watch",
},
}
-c
: Use this config file (if argument is used but value is unspecified, defaults to rollup.config.js)