build-lib.js 941 B

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