build-lib.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. const chalk = require('chalk')
  2. const babel = require('babel-core')
  3. const { promisify } = require('util')
  4. const glob = promisify(require('glob'))
  5. const mkdirp = promisify(require('mkdirp'))
  6. const fs = require('fs')
  7. const path = require('path')
  8. const transformFile = promisify(babel.transformFile)
  9. const writeFile = promisify(fs.writeFile)
  10. const SOURCE = 'packages/{*,@uppy/*}/src/**/*.js'
  11. // Files not to build (such as tests)
  12. const IGNORE = /\.test\.js$|__mocks__|service-dog/
  13. async function buildLib () {
  14. const files = await glob(SOURCE)
  15. for (const file of files) {
  16. if (IGNORE.test(file)) continue
  17. const libFile = file.replace('/src/', '/lib/')
  18. const { code, map } = await transformFile(file, {})
  19. await mkdirp(path.dirname(libFile))
  20. await Promise.all([
  21. writeFile(libFile, code),
  22. writeFile(libFile + '.map', JSON.stringify(map))
  23. ])
  24. console.log(chalk.green('Compiled lib:'), chalk.magenta(libFile))
  25. }
  26. }
  27. buildLib().catch((err) => {
  28. console.error(err.stack)
  29. process.exit(1)
  30. })