rollup.config.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import glob from 'glob'
  2. import babel from 'rollup-plugin-babel'
  3. import resolve from 'rollup-plugin-node-resolve'
  4. import commonjs from 'rollup-plugin-commonjs'
  5. import minify from 'rollup-plugin-babel-minify'
  6. import inject from 'rollup-plugin-inject'
  7. const files = glob.sync('src/**/*.js', {
  8. ignore: ['src/constants/**', 'src/utils/**', 'src/virtual-scroll/**']
  9. })
  10. const external = ['jquery']
  11. const globals = {
  12. jquery: 'jQuery'
  13. }
  14. const config = []
  15. const plugins = [
  16. inject({
  17. include: '**/*.js',
  18. exclude: 'node_modules/**',
  19. $: 'jquery'
  20. }),
  21. resolve(),
  22. commonjs(),
  23. babel({
  24. exclude: 'node_modules/**'
  25. })
  26. ]
  27. if (process.env.NODE_ENV === 'production') {
  28. plugins.push(minify({
  29. comments: false
  30. }))
  31. }
  32. for (const file of files) {
  33. let out = `dist/${file.replace('src/', '')}`
  34. if (process.env.NODE_ENV === 'production') {
  35. out = out.replace(/.js$/, '.min.js')
  36. }
  37. config.push({
  38. input: file,
  39. output: {
  40. name: 'BootstrapTable',
  41. file: out,
  42. format: 'umd',
  43. globals
  44. },
  45. external,
  46. plugins
  47. })
  48. }
  49. export default config