You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

esbuild.config.mjs 1002B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* eslint-disable no-undef */
  2. import fs from 'fs'
  3. import esbuild from 'esbuild'
  4. import serve, { error, log } from 'create-serve'
  5. const isDevServer = true
  6. if (!fs.existsSync('./dist')) {
  7. fs.mkdirSync('./dist')
  8. }
  9. fs.copyFile('./src/index.html', './dist/index.html', (err) => {
  10. if (err) throw err
  11. })
  12. esbuild
  13. .build({
  14. entryPoints: ['src/index.tsx'],
  15. bundle: true,
  16. outfile: 'dist/bundle.js',
  17. minify: false,
  18. sourcemap: true,
  19. incremental: isDevServer,
  20. target: ['chrome58', 'firefox57', 'safari11', 'edge18'],
  21. define: {
  22. 'process.env.LIVEBLOCKS_PUBLIC_API_KEY': process.env.LIVEBLOCKS_PUBLIC_API_KEY,
  23. 'process.env.NODE_ENV': isDevServer ? '"development"' : '"production"',
  24. },
  25. watch: isDevServer && {
  26. onRebuild(err) {
  27. serve.update()
  28. err ? error('❌ Failed') : log('✅ Updated')
  29. },
  30. },
  31. })
  32. .catch(() => process.exit(1))
  33. if (isDevServer) {
  34. serve.start({
  35. port: 5000,
  36. root: './dist',
  37. live: true,
  38. })
  39. }