*Refactor preset to take the global arguments and merge itself, plus allow node resolve and commonjs overrides

This commit is contained in:
Derrick Hammer 2023-01-01 12:40:15 -05:00
parent 72ce6e66d4
commit 7776703d3f
Signed by: pcfreak30
GPG Key ID: C997C339BE476FF2
3 changed files with 36 additions and 14 deletions

View File

@ -9,6 +9,7 @@
"@rollup/plugin-json": "^5.0.2",
"@rollup/plugin-node-resolve": "^15.0.1",
"@rollup/plugin-typescript": "^10.0.1",
"object-merger": "^1.0.3",
"rollup": "^3.7.4",
"tslib": "^2.4.1",
"typescript": "^4.9.4"

View File

@ -1,21 +1,34 @@
import { defineConfig, RollupOptions } from "rollup";
import commonjs from "@rollup/plugin-commonjs";
import { nodeResolve } from "@rollup/plugin-node-resolve";
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(): RollupOptions {
return defineConfig({
plugins: [
typescript(),
json(),
bundleNativeModulesPlugin(),
nodeResolve({
mainFields: ["main"],
exportConditions: ["node", "require", "default"],
}),
commonjs(),
],
});
export default function preset(
globalOptions: RollupOptions,
resolveOptions: RollupNodeResolveOptions = {},
commonJsOptions: any = {}
): RollupOptions {
return merger(
globalOptions,
defineConfig({
plugins: [
typescript(),
json(),
bundleNativeModulesPlugin(),
nodeResolve({
mainFields: ["main"],
exportConditions: ["node", "require", "default"],
...resolveOptions,
}),
commonjs(commonJsOptions),
],
})
);
}

View File

@ -28,6 +28,7 @@ __metadata:
"@rollup/plugin-json": ^5.0.2
"@rollup/plugin-node-resolve": ^15.0.1
"@rollup/plugin-typescript": ^10.0.1
object-merger: ^1.0.3
prettier: ^2.8.1
rollup: ^3.7.4
tslib: ^2.4.1
@ -916,6 +917,13 @@ __metadata:
languageName: node
linkType: hard
"object-merger@npm:^1.0.3":
version: 1.0.3
resolution: "object-merger@npm:1.0.3"
checksum: cdb4c5b533b82313e2f4cc60e1a9b1f13708fb9b675fed072d1866ca8a70c1172905457accf94061f3a393542994ff58ce73d21f0e75db8cf45c51436160e72f
languageName: node
linkType: hard
"once@npm:^1.3.0":
version: 1.4.0
resolution: "once@npm:1.4.0"