rollup.config.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import resolve from 'rollup-plugin-node-resolve';
  2. import commonjs from 'rollup-plugin-commonjs';
  3. import sourceMaps from 'rollup-plugin-sourcemaps';
  4. import { terser } from 'rollup-plugin-terser';
  5. const pkg = require('./package.json');
  6. const libraryName = pkg.name;
  7. const buildCjsPackage = ({ env }) => {
  8. return {
  9. input: `compiled/index.js`,
  10. output: [
  11. {
  12. file: `dist/index.${env}.js`,
  13. name: libraryName,
  14. format: 'cjs',
  15. sourcemap: true,
  16. exports: 'named',
  17. globals: {
  18. react: 'React',
  19. 'prop-types': 'PropTypes',
  20. },
  21. },
  22. ],
  23. external: ['react', 'react-dom'],
  24. plugins: [
  25. commonjs({
  26. include: /node_modules/,
  27. namedExports: {
  28. '../../node_modules/lodash/lodash.js': [
  29. 'flatten',
  30. 'find',
  31. 'upperFirst',
  32. 'debounce',
  33. 'isNil',
  34. 'isNumber',
  35. 'flattenDeep',
  36. 'map',
  37. 'chunk',
  38. 'sortBy',
  39. 'uniqueId',
  40. 'zip',
  41. 'omit',
  42. ],
  43. '../../node_modules/react-color/lib/components/common': ['Saturation', 'Hue', 'Alpha'],
  44. },
  45. }),
  46. resolve(),
  47. sourceMaps(),
  48. env === 'production' && terser(),
  49. ],
  50. };
  51. };
  52. export default [buildCjsPackage({ env: 'development' }), buildCjsPackage({ env: 'production' })];