tauri/cli/tauri.js/bin/tauri-icon.js

62 lines
1.5 KiB
JavaScript
Raw Normal View History

const parseArgs = require('minimist')
const { appDir, tauriDir } = require('../helpers/app-paths')
const logger = require('../helpers/logger')
const log = logger('app:tauri')
const warn = logger('app:tauri (icon)', 'red')
const { tauricon } = require('../helpers/tauricon')
const { resolve } = require('path')
/**
* @type {object}
* @property {boolean} h
* @property {boolean} help
* @property {string|boolean} f
* @property {string|boolean} force
* @property {boolean} l
* @property {boolean} log
* @property {boolean} c
* @property {boolean} config
* @property {boolean} s
* @property {boolean} source
* @property {boolean} t
* @property {boolean} target
*/
const argv = parseArgs(process.argv.slice(2), {
alias: {
h: 'help',
l: 'log',
c: 'config',
s: 'source',
t: 'target'
},
boolean: ['h', 'l']
})
if (argv.help) {
console.log(`
Description
Create all the icons you need for your Tauri app.
Usage
$ tauri icon
Options
--help, -h Displays this message
--log, l Logging [boolean]
--icon, i Source icon (png, 1240x1240 with transparency)
--target, t Target folder (default: 'src-tauri/icons')
--compression, c Compression type [pngquant|optipng|zopfli]
`)
process.exit(0)
}
tauricon.make(
argv.i || resolve(appDir, 'app-icon.png'),
argv.t || resolve(tauriDir, 'icons'),
argv.c || 'optipng'
).then(() => {
log('(tauricon) Completed')
}).catch(e => {
warn(e)
})