rollup.config.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. },
  19. ],
  20. external: ['lodash', '@grafana/ui', '@grafana/data'], // Use Lodash from grafana
  21. plugins: [
  22. commonjs({
  23. include: /node_modules/,
  24. namedExports: {
  25. '../../node_modules/lodash/lodash.js': [
  26. 'flatten',
  27. 'find',
  28. 'upperFirst',
  29. 'debounce',
  30. 'isNil',
  31. 'isNumber',
  32. 'flattenDeep',
  33. 'map',
  34. 'chunk',
  35. 'sortBy',
  36. 'uniqueId',
  37. 'zip',
  38. ],
  39. },
  40. }),
  41. resolve(),
  42. sourceMaps(),
  43. env === 'production' && terser(),
  44. ],
  45. };
  46. };
  47. export default [buildCjsPackage({ env: 'development' }), buildCjsPackage({ env: 'production' })];