code: function configGen() {
    return {
      input: 'src/index.ts',
      moduleContext: {
        [require.resolve('@tweenjs/tween.js')]: 'window'
      },
      output: {
        file: 'dist/web/buttplug.devtools.js',
        format: 'iife',
        name: "ButtplugDevTools",
        globals: { "buttplug": "Buttplug" }
      },
      plugins: [
        nodeResolve({
          jsnext: true,
          main: true,
          extensions: [ '.ts', '.js', '.json' ],
          browser: true
        }),
        postCss(),
        typescript({ tsconfigOverride: { compilerOptions: { module: "ES2015" } } }),
        json(),
        nodeBuiltins(),
        nodeGlobals(),
        commonjs({
          include: ['../../node_modules/**', './node_modules/**', "../buttplug/dist/main/src/**"],
          namedExports: {
            '../buttplug/dist/main/src/index.js': [ 'ButtplugLogger', 'ButtplugLogLevel', 'TestDeviceSubtypeManager' ],
            '../../node_modules/@tweenjs/tween.js/src/Tween.js': [ 'TWEEN', 'Tween' ]
          }
        }),
        autoExternal({
          dependencies: false,
          peerDependencies: true
        }),
        rollupHtml()
      ]
    };
  }
docs: Generate our base config object out of a function return, so we don't have to worry about doing copies/clones.