From b39bbb87354f879775c01feb54b8f18f8c94e722 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Tue, 4 Jul 2023 10:19:56 -0400 Subject: [PATCH] ci: customize build to override hyperswarm, protomux-rpc and timers --- mock-hyperswarm.js | 1 + rollup.config.ts | 55 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 mock-hyperswarm.js create mode 100644 rollup.config.ts diff --git a/mock-hyperswarm.js b/mock-hyperswarm.js new file mode 100644 index 0000000..ff8b4c5 --- /dev/null +++ b/mock-hyperswarm.js @@ -0,0 +1 @@ +export default {}; diff --git a/rollup.config.ts b/rollup.config.ts new file mode 100644 index 0000000..a60801e --- /dev/null +++ b/rollup.config.ts @@ -0,0 +1,55 @@ +// @ts-nocheck +import * as import0 from "@rollup/plugin-json"; +import * as import1 from "@rollup/plugin-node-resolve"; +import * as import2 from "@rollup/plugin-commonjs"; +import * as import3 from "@rollup/plugin-graphql"; +import * as import4 from "@rollup/plugin-image"; +import * as import5 from "@rollup/plugin-yaml"; +import * as import6 from "rollup-plugin-postcss"; +import * as import7 from "rollup-plugin-visualizer"; +import * as import8 from "@rollup/plugin-wasm"; +import * as import9 from "@rollup/plugin-alias"; + +export default { + input: "build/index.js", + output: [ + { + file: "lib/index.js", + format: "cjs", + sourcemap: true, + inlineDynamicImports: true, + }, + ], + plugins: [ + import0.default(...([] as const)), + import9.default({ + entries: { + "hyperswarm": "./mock-hyperswarm.js", + "protomux-rpc": "@lumeweb/protomux-rpc-web", + "timers": "timers-browserify", + }, + }), + import1.default( + ...([ + { + browser: true, + preferBuiltins: false, + dedupe: [ + "@lumeweb/libkernel", + "@lumeweb/libweb", + "@lumeweb/libportal", + ], + }, + ] as const), + ), + import2.default( + ...([{ extensions: [".js", ".jsx", ".ts", ".tsx"] }] as const), + ), + import3.default(...([] as const)), + import4.default(...([] as const)), + import5.default(...([] as const)), + import6.default(...([{ inject: { insertAt: "top" } }] as const)), + import7.visualizer(...([] as const)), + import8.default(...([{ targetEnv: "auto-inline" }] as const)), + ], +};