view service/mqtt_to_rdf/rollup.config.js @ 1724:8d2c75a93d82

use pdm (these are new deps)
author drewp@bigasterisk.com
date Tue, 20 Jun 2023 23:13:09 -0700
parents e0e623c01a69
children
line wrap: on
line source

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";
import postcss from "rollup-plugin-postcss";

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),
    postcss({ inject: false }),
    replace({ ...replacements, delimiters: ["", ""] }),
  ],
};