rollup.config.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import replace from 'rollup-plugin-replace'
  2. import babel from 'rollup-plugin-babel'
  3. import vue from 'rollup-plugin-vue'
  4. import css from 'rollup-plugin-css-only'
  5. import json from 'rollup-plugin-json'
  6. import resolve from 'rollup-plugin-node-resolve'
  7. import commonjs from 'rollup-plugin-commonjs'
  8. import eslint from 'rollup-plugin-eslint'
  9. import uglify from 'rollup-plugin-uglify'
  10. import { minify } from 'uglify-es'
  11. import { name, author, homepage, version } from './package.json'
  12. const isMin = process.env.compile_type === 'min'
  13. export default {
  14. input: 'src/index.js',
  15. output: {
  16. file: `./docs/happy-scroll${isMin ? '.min' : ''}.js`,
  17. format: 'umd'
  18. },
  19. name: 'happy-scroll',
  20. sourcemap: true,
  21. external: ['vue'],
  22. banner: `/*!
  23. name: ${name}
  24. version: ${version}
  25. author: ${author}
  26. github: ${homepage}
  27. */`,
  28. plugins: [
  29. replace({
  30. 'process.env.NODE_ENV': '"production"'
  31. }),
  32. resolve(),
  33. json(),
  34. css({
  35. output: './docs/happy-scroll.css'
  36. }),
  37. eslint(),
  38. commonjs(),
  39. vue(),
  40. babel({
  41. exclude: 'node_modules/**'
  42. }),
  43. isMin ? uglify({}, minify) : ''
  44. ]
  45. }