rollup.config.prod.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import filesize from "rollup-plugin-filesize";
  2. import uglify from "rollup-plugin-uglify";
  3. import { minify } from "uglify-es";
  4. import baseConfig from "./rollup.config.base";
  5. import { name, version, author } from "../package.json";
  6. // banner
  7. const banner =
  8. `${"/*!\n" + " * "}${name}.js v${version}\n` +
  9. ` * (c) 2018-${new Date().getFullYear()} ${author}\n` +
  10. ` */`;
  11. // 支持输出 []
  12. export default [
  13. // .js, .cjs.js, .esm.js
  14. {
  15. ...baseConfig,
  16. output: [
  17. // umd development version with sourcemap
  18. {
  19. file: `dist/${name}.js`,
  20. format: "umd",
  21. name,
  22. banner,
  23. sourcemap: true,
  24. },
  25. // cjs and esm version
  26. {
  27. file: `dist/${name}.cjs.js`,
  28. format: "cjs",
  29. banner,
  30. },
  31. // cjs and esm version
  32. {
  33. file: `dist/${name}.esm.js`,
  34. format: "es",
  35. banner,
  36. },
  37. ],
  38. plugins: [...baseConfig.plugins, filesize()],
  39. },
  40. // .min.js
  41. {
  42. ...baseConfig,
  43. output: [
  44. // umd with compress version
  45. {
  46. file: `dist/${name}.min.js`,
  47. format: "umd",
  48. name,
  49. banner,
  50. },
  51. ],
  52. plugins: [
  53. ...baseConfig.plugins,
  54. uglify(
  55. {
  56. compress: {
  57. drop_console: false,
  58. },
  59. },
  60. minify
  61. ),
  62. filesize(),
  63. ],
  64. },
  65. ];