rollup.iife.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import { name } from '../package.json'
  2. import { resolve } from 'path'
  3. import react from 'react';
  4. import reactDom from 'react-dom';
  5. import typescript from 'rollup-plugin-typescript'
  6. import postcss from 'rollup-plugin-postcss';
  7. import simplevars from 'postcss-simple-vars';
  8. import nested from 'postcss-nested';
  9. import cssnext from 'postcss-cssnext';
  10. import nodeResolve from 'rollup-plugin-node-resolve'
  11. import commonjs from 'rollup-plugin-commonjs'
  12. import replace from 'rollup-plugin-replace'
  13. import {uglify} from 'rollup-plugin-uglify'
  14. export default {
  15. // 入口文件
  16. input: resolve(__dirname, '../src/index.ts'),
  17. plugins: [
  18. // tsx(),
  19. nodeResolve({
  20. browser: true
  21. }),
  22. postcss({
  23. extensions: ['.css'],
  24. extract: true,
  25. extract: 'wotu-ui.css',
  26. plugins: [
  27. simplevars(),
  28. nested(),
  29. cssnext({ warnForDuplicates: false, }),
  30. // cssnano()
  31. ]
  32. }),
  33. typescript({
  34. "include": [
  35. "./src/**/*.ts",
  36. "./src/**/*.tsx"
  37. ],
  38. "exclude": [
  39. "./dist",
  40. "./node_modules"
  41. ]
  42. }),
  43. commonjs({
  44. include: 'node_modules/**',
  45. namedExports: {
  46. 'node_modules/react-is/index.js': ['isFragment', 'ForwardRef', 'isMemo'],
  47. react: Object.keys(react),
  48. 'react-dom': Object.keys(reactDom)
  49. }
  50. }),
  51. replace({
  52. 'process.env.NODE_ENV': JSON.stringify('production')
  53. }),
  54. uglify()
  55. ],
  56. output: {
  57. // 打包名称
  58. name: 'WotuUI',
  59. sourcemap: true,
  60. file: resolve(__dirname, `../dist/WotuUI.js`),
  61. format: 'iife'
  62. },
  63. }