build.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #!/usr/bin/env node
  2. import * as yargs from 'yargs';
  3. const debug = require('debug')('build:commandline:build');
  4. import { Builder } from '../lib';
  5. const argv = require('yargs')
  6. .option('x86', {
  7. type: 'boolean',
  8. describe: 'Build for x86 arch',
  9. default: Builder.DEFAULT_OPTIONS.x86,
  10. })
  11. .option('x64', {
  12. type: 'boolean',
  13. describe: 'Build for x64 arch',
  14. default: Builder.DEFAULT_OPTIONS.x64,
  15. })
  16. .option('win', {
  17. type: 'boolean',
  18. describe: 'Build for Windows platform',
  19. default: Builder.DEFAULT_OPTIONS.win,
  20. alias: 'w',
  21. })
  22. .option('mac', {
  23. type: 'boolean',
  24. describe: 'Build for macOS platform',
  25. default: Builder.DEFAULT_OPTIONS.mac,
  26. alias: 'm',
  27. })
  28. .option('linux', {
  29. type: 'boolean',
  30. describe: 'Build for Linux platform',
  31. default: Builder.DEFAULT_OPTIONS.linux,
  32. alias: 'l',
  33. })
  34. .option('mirror', {
  35. describe: 'Modify NW.js mirror',
  36. default: Builder.DEFAULT_OPTIONS.mirror,
  37. })
  38. .help()
  39. .argv;
  40. (async () => {
  41. debug('in commandline', 'argv', argv);
  42. const builder = new Builder({
  43. win: argv.win,
  44. mac: argv.mac,
  45. linux: argv.linux,
  46. x86: argv.x86,
  47. x64: argv.x64,
  48. mirror: argv.mirror,
  49. mute: false,
  50. }, argv._.shift());
  51. await builder.build();
  52. process.exitCode = 0;
  53. })()
  54. .catch((err) => {
  55. console.error(err);
  56. process.exitCode = -1;
  57. });