@jbangdev/jbang

    0.1.4 • Public • Published

    jbang-npm - Java Script in your JavaScript

    Install and use JBang from npm based projects.

    Lets you use your own local scripts, JBang AppStore alias or any network reachable jar or Maven artifact.

    Usage

    The jbang.exec() function accepts a string that will be passed as the command-line arguments to the jbang executable.

    Given this script test.js:

    #! /usr/bin/env node
    const jbang = require('@jbangdev/jbang');
    jbang.exec('properties@jbangdev');

    And in package.json:

    {
      "scripts": {
        "test": "node test.js"
      },
      "devDependencies": {
        "@jbangdev/jbang": "^0.1.0"
      }
    }

    Now you can invoke the test script from the command-line:

    npm run test
    

    You can easily pass command-line arguments around:

    let args = process.argv.slice(2).join(' ');
    jbang.exec('com.myco.mylib:RELEASE ' + args);

    So now if you run npm run test arg1 arg2, arg1 arg2 will be appended to the command executed.

    Behind the scenes

    When you run npm install - JBang and other dependencies will be installed via the npm preinstall hook. This uses the app setup command.

    Opening a new terminal or shell may be required to be able to use the jbang command from the system PATH.

    Using as a dependency

    In most cases you should be able to use JBang directly in node scripts.

    But if you want to provide more customization you can create your own "wrapper" NPM package. One of the advantages is that you can pre-install the library dependencies needed at the time of npm install (just by calling --help or a similar "no op" command) so that the user-experience when running the first command after install is better.

    For an example, refer to the @karatelabs/karate NPM package.

    Install

    npm i @jbangdev/jbang

    Homepage

    jbang.dev

    DownloadsWeekly Downloads

    54

    Version

    0.1.4

    License

    MIT

    Unpacked Size

    3.92 kB

    Total Files

    5

    Last publish

    Collaborators

    • maxandersen