From 7776703d3f1f655c0252fed7b9046a8bc62c7828 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Sun, 1 Jan 2023 12:40:15 -0500 Subject: [PATCH] *Refactor preset to take the global arguments and merge itself, plus allow node resolve and commonjs overrides --- package.json | 1 + src/index.ts | 41 +++++++++++++++++++++++++++-------------- yarn.lock | 8 ++++++++ 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index dee1357..09d18d8 100644 --- a/package.json +++ b/package.json @@ -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" diff --git a/src/index.ts b/src/index.ts index d88cae8..373076b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -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), + ], + }) + ); } diff --git a/yarn.lock b/yarn.lock index ce64171..b91bfcf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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"