example-projects-build.js 914 B

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/env node
  2. const path = require('path')
  3. const { glob } = require('glob')
  4. const { exec } = require('./lib/shell')
  5. const PROJECTS_ROOT = path.resolve(__dirname, '../example-projects')
  6. const IS_CI = Boolean(process.env.CI)
  7. glob.sync('*/', { cwd: PROJECTS_ROOT }).forEach(function(exampleDir) { // will match ONLY directories
  8. let exampleName = exampleDir.replace(/\/$/, '')
  9. if (IS_CI && exampleName.match('angular')) {
  10. console.log(
  11. 'Skipping angular example project because we sometimes get a "Maximum call stack size exceeded" when "flattening the source-map"\n' +
  12. 'TODO: come up with a solution for v5'
  13. )
  14. } else {
  15. let { success } = exec.sync('yarn', [ 'run', 'build' ], {
  16. cwd: path.join(PROJECTS_ROOT, exampleDir),
  17. live: true
  18. })
  19. if (!success) {
  20. console.warn(`Failed building example project "${exampleName}"`)
  21. process.exit(1)
  22. }
  23. }
  24. })