From e1e0540463f2200fdc3f9171a86c5f2ecde41e6a Mon Sep 17 00:00:00 2001 From: Luke Horvat Date: Tue, 31 Jul 2018 20:49:52 +0200 Subject: [PATCH] Add CLI support --- package.json | 1 + src/cli.js | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100755 src/cli.js diff --git a/package.json b/package.json index 1e0178d..352c0e4 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "bash-parser", "version": "0.5.0", "main": "src/index.js", + "bin": "src/cli.js", "description": "Standard compliant bash parser", "repository": "vorpaljs/bash-parser", "license": "MIT", diff --git a/src/cli.js b/src/cli.js new file mode 100755 index 0000000..e7feadc --- /dev/null +++ b/src/cli.js @@ -0,0 +1,22 @@ +#!/usr/bin/env node + +'use strict'; + +const parse = require('../'); +const pkg = require('../package'); + +const args = process.argv.slice(2); + +if (!args.length || args.includes('--help') || args.includes('-h')) { + console.log(`${pkg.name} – ${pkg.description}\n\nUsage:\n\n\t${pkg.name} `); + process.exit(); +} + +if (args.includes('--version') || args.includes('-v')) { + console.log(pkg.version); + process.exit(); +} + +const [sourceCode] = args; +const ast = parse(sourceCode); +console.log(JSON.stringify(ast, null, '\t'));