npm: possibly marvellous

    n_shell

    0.6.2 • Public • Published

    n_shell

    npm version npm downloads

    A node REPL with ShellJS loaded by default.

    This was inspired by (and forked from) n_.

    Like it?

    Give it a star on Github

    Installation:

    $ npm install -g n_shell

    Usage:

    Invoking n_shell starts a node REPL with ShellJS required globally, with shell-like output:

    bash $ n_shell
    shelljs $ ls()
    LICENSE
    README.md
    bin
    node_modules
    package.json
    src
    tmp
    shelljs $ pwd()
    /path/to/dir

    But I don't want to use shelljs/global

    No problem:

    bash $ n_shell --no_global
    shelljs $ typeof ls // not in the global namespace
    'undefined'
    shelljs $ shell.ls() // uses 'shell' prefix
    LICENSE
    README.md
    bin
    node_modules
    package.json
    src
    tmp
    shelljs $ shell.pwd()
    /path/to/dir
    

    But I want to use a different namespace

    You're covered:

    bash $ n_shell --no_global=$
    shelljs $ $.ls() // now uses '$' as the prefix
    LICENSE
    README.md
    bin
    node_modules
    package.json
    src
    tmp
    shelljs $ $.pwd()
    /path/to/dir
    

    But I want to use a different version of ShellJS

    Just install that version locally (npm install shelljs) and start up n_shell with the --path option:

    bash $ n_shell --path=node_modules/shelljs
    shelljs $
    

    But I want plain JavaScript output

    bash $ n_shell --noinspect
    shelljs $ ls()
    [ 'LICENSE',
      'README.md',
      'index.js',
      'node_modules',
      'package.json',
      stdout: 'LICENSE\nREADME.md\nindex.js\nnode_modules\npackage.json\n',
      stderr: null,
      code: 0,
      to: [Function],
      toEnd: [Function],
      cat: [Function],
      head: [Function],
      sed: [Function],
      sort: [Function],
      tail: [Function],
      grep: [Function],
      exec: [Function] ]

    Available commands

    This supports any command that ShellJS supports. It also adds some extra commands, for convenience. So far, this adds:

    Options

    • --global: Start a node REPL with the equivalent of require('shelljs/global'). This is the default behavior.
    • --no_global [PREFIX], --local [PREFIX], -n [PREFIX]: Start a node REPL with the equivalent of var PREFIX = require('shelljs'). PREFIX defaults to shell, if not specified.
    • --use_strict: enforce strict mode (default is false)
    • --prompt <FORMAT>: use this format to generate the REPL prompt. Default is "shelljs %v%l $ "
      • %%: a literal % sign
      • %v: show the current version (from package.json)
      • %l: show [local] if this is using a local version of ShellJS
      • Want more format options? Let me know or send me a PR
    • --noinspect: disable the default --inspect behavior. This provides less-readable REPL output, but behaves just as a standard Node REPL would.
    • --path=path/to/shelljs/: the argument should be a path to a folder containing a ShellJS package.
    • --inspect (default): an experimental switch to add a .inspect() method to the output of each command. The return values are still ShellStrings, but appear more readable and shell-like. Also, commands with no arguments can be invoked without parentheses, such as shell.pwd and shell.ls. Recommended for ShellJS v0.7+. Credit for the idea goes to piranna.

    History

    Similarly to n_, n_shell stores REPL history under ~/.n_shell_history.

    Install

    npm i n_shell

    DownloadsWeekly Downloads

    22

    Version

    0.6.2

    License

    MIT

    Unpacked Size

    11.6 kB

    Total Files

    5

    Last publish

    Collaborators

    • nfischer