Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 

50 righe
1.2 KiB

  1. import babel from 'rollup-plugin-babel';
  2. import commonjs from 'rollup-plugin-commonjs';
  3. import nodeResolve from 'rollup-plugin-node-resolve';
  4. import replace from 'rollup-plugin-replace';
  5. import { terser } from 'rollup-plugin-terser';
  6. import { argv } from 'yargs';
  7. const format = argv.format || argv.f || 'iife';
  8. const compress = argv.uglify;
  9. const babelOptions = {
  10. presets: [
  11. [
  12. '@babel/preset-env',
  13. {
  14. targets: {
  15. esmodules: true,
  16. },
  17. },
  18. ],
  19. '@babel/react',
  20. ],
  21. babelrc: false,
  22. };
  23. const file = {
  24. amd: `dist/amd/react-i18next${compress ? '.min' : ''}.js`,
  25. umd: `dist/umd/react-i18next${compress ? '.min' : ''}.js`,
  26. iife: `dist/iife/react-i18next${compress ? '.min' : ''}.js`,
  27. }[format];
  28. export default {
  29. input: 'src/index.js',
  30. plugins: [
  31. babel(babelOptions),
  32. replace({
  33. 'process.env.NODE_ENV': JSON.stringify(compress ? 'production' : 'development'),
  34. }),
  35. nodeResolve({ jsnext: true, main: true }),
  36. commonjs({}),
  37. ].concat(compress ? terser() : []),
  38. external: ['react', 'react-dom'],
  39. // moduleId: 'react-i18next',
  40. output: {
  41. name: 'ReactI18next',
  42. format,
  43. file,
  44. },
  45. };