/* eslint-disable */ // npm install rollup-plugin-typescript2 typescript --save-dev import typescript from 'rollup-plugin-typescript2' // import { terser } from 'rollup-plugin-terser' // import resolve from 'rollup-plugin-node-resolve' // ------------------------------------------------------------------------------------------ // formats // ------------------------------------------------------------------------------------------ // amd – Asynchronous Module Definition, used with module loaders like RequireJS // cjs – CommonJS, suitable for Node and Browserify/Webpack // esm – Keep the bundle as an ES module file // iife – A self-executing function, suitable for inclusion as a <script> tag. (If you want to create a bundle for your application, you probably want to use this, because it leads to smaller file sizes.) // umd – Universal Module Definition, works as amd, cjs and iife all in one // system – Native format of the SystemJS loader // ------------------------------------------------------------------------------------------ // setup // ------------------------------------------------------------------------------------------ const pkg = require('./package.json') const name = pkg.name const className = name.replace(/(^\w|-\w)/g, c => c.replace('-', '').toUpperCase()) const external = Object.keys(pkg.dependencies || []) const plugins = [ typescript({ useTsconfigDeclarationDir: true, tsconfigOverride: { exclude: ['test/**/*'] } }), ] // ------------------------------------------------------------------------------------------ // Builds // ------------------------------------------------------------------------------------------ function defaults (config) { // defaults const defaults = { plugins, external, } // defaults.output config.output = config.output.map(output => { return Object.assign( { sourcemap: false, name: className, exports: 'named', }, output ) }) return Object.assign(defaults, config) } export default [ defaults({ input: 'src/index.ts', output: [ { file: 'dist/index.cjs.js', format: 'cjs' }, { file: 'dist/index.esm.js', format: 'esm' }, ], }), ]