diff service/mqtt_to_rdf/rollup.config.js @ 733:9ca69f2be87b

more mqtt_to_rdf renames. bring in basic LitElement setup for the debug page Ignore-this: 85e2ab49915e44b08219e537fab21870
author drewp@bigasterisk.com
date Sat, 08 Feb 2020 04:02:22 -0800
parents
children e0e623c01a69
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/service/mqtt_to_rdf/rollup.config.js	Sat Feb 08 04:02:22 2020 -0800
@@ -0,0 +1,44 @@
+import builtins from "rollup-plugin-node-builtins";
+import commonjs from "@rollup/plugin-commonjs";
+import resolve from "@rollup/plugin-node-resolve";
+import typescript from "rollup-plugin-typescript2";
+import replace from "@rollup/plugin-replace";
+
+const workaround_jsonld_module_system_picker = "process = {version: '1.0.0'}";
+const workaround_some_browser_detector = "global = window";
+const workaround_jsonld_expand_issue = {
+  namedExports: {
+    jsonld: ["expand"], // fixes "expand is not exported by node_modules/jsonld/lib/index.js"
+    '../../../streamed-graph/node_modules/jsonld/lib/index': ['expand'],
+  }
+};
+
+// This makes <dom-module> element totally unavailable. I only meant to prune one of the
+// two, but of course why is streamed-graph's node_modules/**/dom-module.js file getting 
+// here in the first place?
+const duplicated_line_i_cant_prune =
+  "customElements.define('dom-module', DomModule);";
+const replacements = {};
+replacements[duplicated_line_i_cant_prune] = "";
+
+export default {
+  input: "src/index.ts",
+  output: {
+    file: "build/bundle.js",
+    format: "esm",
+    intro: `const ${workaround_some_browser_detector}, ${workaround_jsonld_module_system_picker};`,
+  },
+  external: [
+    "dom-module", // don't want two of these in the bundle
+  ],
+  plugins: [
+    builtins(),
+    resolve({
+      extensions: [".js", ".ts"],
+      browser: true,
+    }),
+    typescript(),
+    commonjs(workaround_jsonld_expand_issue),
+    replace({ ...replacements, delimiters: ["", ""] }),
+  ],
+};