@momsfriendlydevco/repl

    2.1.2 • Public • Published

    MFDC-REPL

    MFDC's own internal REPL command line interface.

    This project provides the executable mrepl which has the following functionality over regular REPL:

    • Babel pre-compiler (babel plugin) - All code is automatically compiled via BabelJS before it is run - making things like arrow functions available on older Node releases
    • Lodash (lodash plugin) - lodash is provided as lodash, l and __
    • Moment (moment plugin) - moment is provided as moment
    • Mongoose project support (mongoose plugin) - If the files ./config/index.js, ./config/db.js and ./models/index.js are found they are loaded in that order (with ./models/index.js expected to return an object containing the available compiled schemas. Models are then provided in the db object. e.g. db.users.find() will return all users.
    • STDIN slurping (stdin plugin) - Any piped input into the program is provied as the input variable. Automatic decoding of the variable will be attempted by JSON.parse() otherwise it will be a raw string.
    • History saving - History saing is enabled by default

    Installation

    Simply run the following:

    sudo npm install -g @momsfriendlydevco/repl
    

    You should now be able to run the REPL interface with:

    mrepl
    

    Plugins

    Plugins are provided in the plugins/ folder within the main script file.

    Each plugin is a simple JavaScript file which is expected to expose a function taking a callback and the main app argument. Each plugin can decorate the properties of the program and return the callback when finished.

    Some usefully exposed properties:

    Property path Type Default Description
    app Object Complex The main application object - an instance of a commander definition
    app.verbose Number 0 Verbosity level
    app.plugin Array ['./plugins'] Globs to search for plugins
    app.repl Object Complex Repl options when creating the interface
    app.repl.globals Object {} Any exported globals that should be available inside the REPL session
    app.repl.eval Array [] Array of evaluation functions to run. Each Eval is run as a compose pipeline with the final output being returned to the REPL session
    inspect.depth Number 2 How deeply to examine objects when printing results to the console
    inspect.colors Boolean true Whether colors are enabled when printing results to the console

    Keywords

    Install

    npm i @momsfriendlydevco/repl

    DownloadsWeekly Downloads

    3

    Version

    2.1.2

    License

    MIT

    Unpacked Size

    19.3 kB

    Total Files

    11

    Last publish

    Collaborators

    • mr-yellow
    • melromero
    • hash-bang
    • 1watt
    • eekthecat