rollup.config.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import path from 'path'
  2. import replace from '@rollup/plugin-replace'
  3. import resolveNode from '@rollup/plugin-node-resolve'
  4. import commonjs from '@rollup/plugin-commonjs'
  5. import babel from '@rollup/plugin-babel'
  6. import babelEnvConfig from './babel.env.config'
  7. import { terser } from 'rollup-plugin-terser'
  8. import webWorkerLoader from 'rollup-plugin-web-worker-loader';
  9. const pkg = require(`./package.json`)
  10. const version = pkg.version
  11. const isProd = process.env.NODE_ENV === 'production'
  12. const dist = file => path.resolve('dist/js/' + file)
  13. function createReplacePlugin() {
  14. const replacements = {
  15. __COMMIT__: `"${process.env.COMMIT}"`,
  16. __VERSION__: `"${version}"`,
  17. __ENV__: `"${process.env.NODE_ENV}"`,
  18. __PROD__: isProd,
  19. __DEV__: !isProd,
  20. }
  21. Object.keys(replacements).forEach(key => {
  22. if (key in process.env) {
  23. replacements[key] = process.env[key]
  24. }
  25. })
  26. return replace({
  27. values: replacements,
  28. preventAssignment: true,
  29. })
  30. }
  31. const sdk_plugins = [
  32. resolveNode({
  33. mainFields: ['jsnext', 'main'],
  34. preferBuiltins: true,
  35. browser: true,
  36. }),
  37. babel(babelEnvConfig()),
  38. commonjs(),
  39. createReplacePlugin(),
  40. webWorkerLoader(/* configuration */),
  41. ]
  42. if (isProd) {
  43. sdk_plugins.push(terser())
  44. }
  45. export default [
  46. {
  47. input: 'src/main.js',
  48. //external: ['three'],
  49. output: [
  50. {
  51. globals: {
  52. // three: 'THREE',
  53. },
  54. file: dist('index.js'),
  55. format: 'umd',
  56. name: 'Metaverse',
  57. sourcemap: !isProd,
  58. banner: pkg.banner.replace('${date}', new Date().toLocaleDateString()).replace('${author}', pkg.author).replace('${year}', new Date().getFullYear()),
  59. },
  60. ],
  61. plugins: sdk_plugins,
  62. },
  63. ]