https://github.com/mongodb/js-bson
Raw File
Tip revision: 51862d8610aa10b6566b697a065f358797b4d0fa authored by Dan Aprahamian on 08 March 2019, 19:14:53 UTC
chore(release): 4.0.2
Tip revision: 51862d8
rollup.config.js
'use strict';

const pkg = require('./package.json');
const commonjs = require('rollup-plugin-commonjs');
const nodeBuiltins = require('rollup-plugin-node-builtins');
const nodeResolve = require('rollup-plugin-node-resolve');
const babel = require('rollup-plugin-babel');

const input = 'lib/bson.js';
const plugins = [
  nodeResolve(),
  commonjs(),
  nodeBuiltins(),
  babel({
    externalHelpers: true,
    presets: [
      [
        '@babel/env',
        {
          modules: false
        }
      ]
    ]
  })
];

const browserPlugins = [
  nodeResolve({
    browser: true,
    preferBuiltins: false
  }),
  commonjs(),
  nodeBuiltins(),
  babel({
    externalHelpers: true,
    presets: [
      [
        '@babel/env',
        {
          modules: false
        }
      ]
    ]
  })
];

const external = Object.keys(pkg.dependencies || {});
const defaultName = 'BSON';

module.exports = [
  {
    input,
    output: {
      file: 'dist/bson.esm.js',
      format: 'es',
      name: defaultName,
      exports: 'named'
    },
    plugins,
    external
  },
  {
    input,
    output: {
      file: 'dist/bson.browser.umd.js',
      format: 'umd',
      name: defaultName,
      exports: 'named',
      globals: {
        buffer: 'Buffer'
      }
    },
    plugins: browserPlugins,
    external
  },
  {
    input,
    output: {
      file: 'dist/bson.browser.esm.js',
      format: 'es',
      name: defaultName,
      exports: 'named'
    },
    plugins: browserPlugins,
    external
  },
  {
    input,
    output: {
      file: 'dist/bson.bundle.js',
      format: 'iife',
      name: defaultName,
      exports: 'named'
    },
    plugins: browserPlugins
  }
];
back to top