tauri-icon.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. const parseArgs = require('minimist')
  2. const { tauricon } = require('../dist/api/tauricon')
  3. /**
  4. * @type {object}
  5. * @property {boolean} h
  6. * @property {boolean} help
  7. * @property {string|boolean} f
  8. * @property {string|boolean} force
  9. * @property {boolean} l
  10. * @property {boolean} log
  11. * @property {boolean} c
  12. * @property {boolean} config
  13. * @property {boolean} s
  14. * @property {boolean} source
  15. * @property {boolean} t
  16. * @property {boolean} target
  17. */
  18. const argv = parseArgs(process.argv.slice(2), {
  19. alias: {
  20. h: 'help',
  21. l: 'log',
  22. c: 'config',
  23. i: 'icon',
  24. t: 'target'
  25. },
  26. boolean: ['h', 'l']
  27. })
  28. if (argv.help) {
  29. console.log(`
  30. Description
  31. Create all the icons you need for your Tauri app.
  32. Usage
  33. $ tauri icon
  34. Options
  35. --help, -h Displays this message
  36. --log, l Logging [boolean]
  37. --icon, i Source icon (png, 1240x1240 with transparency)
  38. --target, t Target folder (default: 'src-tauri/icons')
  39. --compression, c Compression type [pngquant|optipng|zopfli]
  40. `)
  41. process.exit(0)
  42. }
  43. tauricon.make(
  44. argv.i,
  45. argv.t,
  46. argv.c || 'optipng'
  47. ).then(() => {
  48. // TODO: use logger module for prettier output
  49. console.log('app:tauri (tauricon) Completed')
  50. }).catch(e => {
  51. // TODO: use logger module for prettier output
  52. console.error('app:tauri (icon)', e)
  53. })