https://github.com/mongodb/js-bson
Raw File
Tip revision: b858f508b57250eddb01c7bc2ec34f7967af590b authored by Matt Broadstone on 12 July 2018, 12:55:27 UTC
3.0.1
Tip revision: b858f50
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 = 'index.js';
const plugins = [
  nodeResolve(),
  commonjs(),
  nodeBuiltins(),
  babel({
    plugins: ['external-helpers'],
    presets: [
      [
        'env',
        {
          modules: false
        }
      ]
    ]
  })
];
const browserPlugins = [
  nodeResolve({
    browser: true,
    preferBuiltins: false
  }),
  commonjs(),
  nodeBuiltins(),
  babel({
    plugins: ['external-helpers'],
    presets: [
      [
        '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: 'default'
    },
    plugins,
    external
  },
  {
    input,
    output: {
      file: 'dist/bson.browser.umd.js',
      format: 'umd',
      name: defaultName,
      exports: 'default',
      globals: {
        buffer: 'Buffer'
      }
    },
    plugins: browserPlugins,
    external
  },
  {
    input,
    output: {
      file: 'dist/bson.browser.esm.js',
      format: 'es',
      name: defaultName,
      exports: 'default'
    },
    plugins: browserPlugins,
    external
  },
  {
    input,
    output: {
      file: 'dist/bson.bundle.js',
      format: 'iife',
      name: defaultName,
      exports: 'default'
    },
    plugins: browserPlugins
  }
];
back to top