relay-plugin-rollup-preset/src/index.ts

33 lines
853 B
TypeScript

import { defineConfig, RollupOptions } from "rollup";
import commonjs from "@rollup/plugin-commonjs";
import {
nodeResolve,
RollupNodeResolveOptions,
} from "@rollup/plugin-node-resolve";
import { bundleNativeModulesPlugin } from "@lumeweb/rollup-plugin-bundle-native-modules";
import typescript from "@rollup/plugin-typescript";
import json from "@rollup/plugin-json";
// @ts-ignore
import merger from "object-merger";
export default function preset(
globalOptions: RollupOptions,
resolveOptions: RollupNodeResolveOptions = {},
commonJsOptions: any = {}
): RollupOptions {
return merger(
globalOptions,
defineConfig({
plugins: [
typescript(),
json(),
bundleNativeModulesPlugin(),
nodeResolve({
...resolveOptions,
}),
commonjs(commonJsOptions),
],
})
);
}