prepackage-plugins.js 962 B

1234567891011121314151617181920212223242526272829303132333435
  1. #!/usr/bin/env node
  2. const rebuild = require('electron-rebuild').default
  3. const sh = require('shelljs')
  4. const path = require('path')
  5. const fs = require('fs')
  6. const vars = require('./vars')
  7. const log = require('npmlog')
  8. let target = path.resolve(__dirname, '../builtin-plugins')
  9. sh.mkdir('-p', target)
  10. fs.writeFileSync(path.join(target, 'package.json'), '{}')
  11. sh.cd(target)
  12. vars.builtinPlugins.forEach(plugin => {
  13. if (plugin === 'tabby-web') {
  14. return
  15. }
  16. log.info('install', plugin)
  17. sh.cp('-r', path.join('..', plugin), '.')
  18. sh.rm('-rf', path.join(plugin, 'node_modules'))
  19. sh.cd(plugin)
  20. sh.exec(`yarn install --force --production`)
  21. log.info('rebuild', 'native')
  22. if (fs.existsSync('node_modules')) {
  23. rebuild({
  24. buildPath: path.resolve('.'),
  25. electronVersion: vars.electronVersion,
  26. arch: process.env.ARCH ?? process.arch,
  27. force: true,
  28. })
  29. }
  30. sh.cd('..')
  31. })
  32. fs.unlinkSync(path.join(target, 'package.json'), '{}')