build.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. .option('config', {
  39. describe: 'Specify external config',
  40. default: Builder.DEFAULT_OPTIONS.config,
  41. })
  42. .help()
  43. .argv;
  44. (async () => {
  45. debug('in commandline', 'argv', argv);
  46. const builder = new Builder({
  47. win: argv.win,
  48. mac: argv.mac,
  49. linux: argv.linux,
  50. x86: argv.x86,
  51. x64: argv.x64,
  52. mirror: argv.mirror,
  53. mute: false,
  54. }, argv._.shift());
  55. await builder.build();
  56. process.exitCode = 0;
  57. })()
  58. .catch((err) => {
  59. console.error(err);
  60. process.exitCode = -1;
  61. });