diff --git a/galaxygen b/galaxygen new file mode 100755 index 0000000..30b58a0 --- /dev/null +++ b/galaxygen @@ -0,0 +1,27 @@ +#!/bin/env node +const fs = require('fs'); +const cli = require('cli'); +const galaxy = require('./index'); + +cli.parse({ + seed: ['s', 'The seed you want to generate with. (defaults to \'1234\')', 'string'], + amount: ['a', 'The amount of stars you want to generate. (defaults to 1000)', 'int'], + output: ['o', 'The output file (if enabled). (defaults to printing JSON to stdout)', 'string'], +}); + +cli.main((args, options) => { + var gen = galaxy.generate(options.seed, options.amount); + + if (options.output) { + fs.access(options.output, fs.R_OK | fs.W_OK, (err) => { + if (err) console.log('No write access to the specified output file!'); + else { + fs.writeFileSync(options.output, JSON.stringify(gen, null, 2)); + } + }); + } + else { + console.log(JSON.stringify(gen, null, 2)); + } + +}); diff --git a/package.json b/package.json index f9e9e6f..0ddfd8e 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,9 @@ "type": "git", "url": "git+https://github.com/96aa48/galaxygen.git" }, + "bin": { + "galaxygen": "galaxygen" + }, "keywords": [ "galaxy", "generator", @@ -23,5 +26,8 @@ "bugs": { "url": "https://github.com/96aa48/galaxygen/issues" }, - "homepage": "https://github.com/96aa48/galaxygen#readme" + "homepage": "https://github.com/96aa48/galaxygen#readme", + "dependencies": { + "cli": "^0.11.2" + } }