mirror of
				https://github.com/1disk/edp445.git
				synced 2024-08-14 22:47:02 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			No EOL
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			No EOL
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/env node
 | |
| const { version, repository } = require("../package.json");
 | |
| const args = process.argv.slice(2).map(parseArgs);
 | |
| 
 | |
| function parseArgs(arg) {
 | |
|     if (arg.includes("=")) {
 | |
|         const [k, v] = arg.split("=");
 | |
|         return { [k]: v };
 | |
|     }
 | |
|     return { [arg]: arg };
 | |
| }
 | |
| 
 | |
| function getArgs(name) {
 | |
|     const found = args.find(x => x[name]);
 | |
|     if (found) return found[name];
 | |
| }
 | |
| 
 | |
| const assetsBuilder = (force) => import("../scripts/assets/build.mjs").then(res => res.build(force));
 | |
| const chalkImport = import("chalk").then(res => res.default || res);
 | |
| /**
 | |
|  * @type {import("chalk").default}
 | |
|  */
 | |
| let chalk;
 | |
| 
 | |
| async function main() {
 | |
|     if (!chalk) chalk = await chalkImport;
 | |
|     const helpMessage = `Commands usage: ${chalk.grey(`${chalk.yellow("canvacord")} ${chalk.blue("<command_name>")} [options]`)}
 | |
| ${chalk.blue("help")}               : shows this menu
 | |
| ${chalk.blue("rebuild")} ${chalk.grey(`[--force]`)}  : rebuilds assets
 | |
| ${chalk.blue("version")}            : shows canvacord version info
 | |
| ${chalk.blue("github")}             : returns github repository url for canvacord
 | |
| 
 | |
| ${chalk.cyanBright(`Canvacord v${version}`)}`;
 | |
|     if (getArgs("rebuild")) {
 | |
|         if (getArgs("--help")) return console.log(`Rebuilds assets cache.\n\nExamples:\n${chalk.blue("canvacord")} ${chalk.blue("rebuild")}\n${chalk.blue("canvacord")} ${chalk.blue("rebuild")} ${chalk.grey("--force")}`);
 | |
|         return await assetsBuilder(!!getArgs("--force"));
 | |
|     }
 | |
|     if (getArgs("version")) return console.log(chalk.cyan(`Canvacord v${version}`));
 | |
|     if (getArgs("github")) return console.log(chalk.blue(repository.url.replace("git+", "")));
 | |
|     console.log(helpMessage);
 | |
| }
 | |
| 
 | |
| main(); |