UNPKG

@dasa-health/icons

Version:
70 lines (63 loc) 1.82 kB
import babel from '@rollup/plugin-babel' import peerDepsExternal from 'rollup-plugin-peer-deps-external' import resolve from '@rollup/plugin-node-resolve' import commonjs from '@rollup/plugin-commonjs' import visualizer from 'rollup-plugin-visualizer' import copy from 'rollup-plugin-copy' const packageJson = require('./package.json') const transformToCapitalize = (string = '') => string .replace(/@/gi) .split('-') .map(word => `${word.slice(0, 1).toUpperCase()}${word.slice(1, word.length).toLowerCase()}`) .join('') const external = Object.keys(packageJson.dependencies || {}) const peers = Object.keys(packageJson.peerDependencies || {}) const globals = external.concat(peers).reduce((acc, item) => ({ ...acc, [item]: transformToCapitalize(item) }), {}) const input = 'src/index.js' const commonPlugins = [ peerDepsExternal(), babel({ exclude: ['node_modules/**', '../../node_modules/**'], babelHelpers: 'bundled', }), resolve({ jsnext: true, main: true, browser: true, }), resolve(), commonjs(), copy({ targets: [ { src: 'src/index.d.ts', dest: 'build' }, ] }), visualizer(), ] export default [ { input, external, output: { file: packageJson.main, format: 'cjs', sourcemap: true }, plugins: commonPlugins, }, { input, external, output: { file: packageJson.module, format: 'esm', sourcemap: true }, plugins: commonPlugins, }, { input, external, output: { file: packageJson.browser, format: 'umd', sourcemap: true, name: 'dasa-icons', globals, }, plugins: commonPlugins, }, ]