check_overleafModuleImports.mjs 813 B

1234567891011121314151617181920212223242526
  1. import CE_CONFIG from '../config/settings.defaults.js'
  2. import PRO_CONFIG from '../config/settings.overrides.server-pro.js'
  3. import SAAS_CONFIG from '../config/settings.webpack.js'
  4. function getOverleafModuleImports(settings) {
  5. return Object.keys(settings.overleafModuleImports).sort().join(',')
  6. }
  7. function main() {
  8. const CE = getOverleafModuleImports(CE_CONFIG)
  9. const PRO = getOverleafModuleImports(CE_CONFIG.mergeWith(PRO_CONFIG))
  10. const SAAS = getOverleafModuleImports(CE_CONFIG.mergeWith(SAAS_CONFIG))
  11. if (CE !== PRO) {
  12. throw new Error(
  13. 'settings.defaults is missing overleafModuleImports defined in settings.overrides.server-pro'
  14. )
  15. }
  16. if (CE !== SAAS) {
  17. throw new Error(
  18. 'settings.defaults is missing overleafModuleImports defined in settings.webpack'
  19. )
  20. }
  21. }
  22. main()