genScript.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. const services = require('./services')
  2. console.log('#!/bin/bash')
  3. console.log('set -ex')
  4. switch (process.argv.pop()) {
  5. case 'install':
  6. for (const service of services) {
  7. console.log('pushd', `services/${service.name}`)
  8. switch (service.name) {
  9. case 'web':
  10. console.log('npm ci')
  11. break
  12. default:
  13. // TODO(das7pad): revert back to npm ci --only=production (https://github.com/overleaf/issues/issues/4544)
  14. console.log('npm ci')
  15. }
  16. console.log('popd')
  17. }
  18. break
  19. case 'compile':
  20. for (const service of services) {
  21. console.log('pushd', `services/${service.name}`)
  22. switch (service.name) {
  23. case 'web':
  24. console.log('npm run webpack:production')
  25. // drop webpack/babel cache
  26. console.log('rm -rf node_modules/.cache')
  27. break
  28. default:
  29. console.log(`echo ${service.name} does not require a compilation`)
  30. }
  31. console.log('popd')
  32. }
  33. break
  34. default:
  35. console.error('unknown command')
  36. console.log('exit 101')
  37. process.exit(101)
  38. }
  39. console.log('set +x')
  40. console.log(
  41. 'rm -rf /root/.cache /root/.npm $(find /tmp/ -mindepth 1 -maxdepth 1)'
  42. )