Files
Gemini-Search/node_modules/motion-dom/rollup.config.mjs
Ammaar Reshi d6025af146 Initial commit
2025-01-04 14:06:53 +00:00

95 lines
2.2 KiB
JavaScript

import resolve from "@rollup/plugin-node-resolve"
import replace from "@rollup/plugin-replace"
import dts from "rollup-plugin-dts"
import pkg from "./package.json" with { type: "json"}
import tsconfig from "./tsconfig.json" with { type: "json" }
import preserveDirectives from "rollup-plugin-preserve-directives";
const config = {
input: "lib/index.js",
}
export const replaceSettings = (env) => {
const replaceConfig = env
? {
"process.env.NODE_ENV": JSON.stringify(env),
preventAssignment: false,
}
: {
preventAssignment: false,
}
replaceConfig.__VERSION__ = `${pkg.version}`
return replace(replaceConfig)
}
const external = [
...Object.keys(pkg.dependencies || {}),
...Object.keys(pkg.peerDependencies || {}),
...Object.keys(pkg.optionalDependencies || {}),
"react/jsx-runtime",
]
const cjs = Object.assign({}, config, {
input: "lib/index.js",
output: {
entryFileNames: `[name].js`,
dir: "dist/cjs",
format: "cjs",
exports: "named",
esModule: true
},
plugins: [resolve(), replaceSettings()],
external,
onwarn(warning, warn) {
if (warning.code === 'MODULE_LEVEL_DIRECTIVE') {
return
}
warn(warning)
}
})
export const es = Object.assign({}, config, {
input: ["lib/index.js"],
output: {
entryFileNames: "[name].mjs",
format: "es",
exports: "named",
preserveModules: true,
dir: "dist/es",
},
plugins: [resolve(), replaceSettings(), preserveDirectives()],
external,
onwarn(warning, warn) {
if (warning.code === 'MODULE_LEVEL_DIRECTIVE') {
return
}
warn(warning)
}
})
const typePlugins = [dts({compilerOptions: {...tsconfig, baseUrl:"types"}})]
function createTypes(input, file) {
return {
input,
output: {
format: "es",
file: file,
},
plugins: typePlugins,
}
}
const types = createTypes("types/index.d.ts", "dist/index.d.ts")
// eslint-disable-next-line import/no-default-export
export default [
cjs,
es,
types,
]