nodejs-launcher

Crates.ionodejs-launcher
lib.rsnodejs-launcher
version0.1.3
sourcesrc
created_at2022-04-21 18:31:35.726275
updated_at2022-04-22 08:41:43.797961
descriptionA lightweight launch configurations CLI for NodeJS apps
homepagehttps://github.com/ostaplisovyj/nodejs-launcher
repositoryhttps://github.com/ostaplisovyj/nodejs-launcher
max_upload_size
id571795
size21,981
Ostap Lisovyi (ostaplisovyj)

documentation

README

About this project

nodejs-launcher is a CLI tool written in Rust which enables launch configurations seamlessly for NodeJS applications. This is still a work-in-progress project therefore it's not recommended to use in production environments. Suggestions for improvements are welcomed (please create the issue ticket).

Use cases

Common IDEs (VScode, Webstorm etc.) typically offer built-in debuggers which extensively take advantage of launch configurations. This espesially comes handy when there's a lot of environment variables to pass to a NodeJS script.

When IDE is not an option or lightweight alternative is preferred (a terminal editor, i.e. vim, emacs, nano), this simple CLI tool enables configuration presets for launching your nodejs apps and scripts with specified environment variables, arguments etc.

The nodejs-launcher configuration has similar structure to VScode's built-in launch config (launch.json).

Requirements

Make sure you have nano editor available. This constraint will be changed in the future.

Installation

cargo install nodejs-launcher

CLI usage

nodejs-launcher [command]

Commands & options:

init - inits the config directory (by default .node_launcher) with config file launch.json

run - prompts user to select and execute one of available configurations specified in launch.json config file.

edit - opens terminal editor (nano) for changing available configurations

add - adds new configuration and opens terminal editor (nano) for configuring

Launch configuration file launch.json

Launch config is a way for declaring different aspects of running the nodejs application. For instance, you can specify environment variables and reuse different presets between launches.

The following attributes are supported:

  • name - the name of configuration which is used to reference and launch the particular configuration.

  • env - a dictionary of key-value pairs which are passed as environment variables to executable nodejs script and can be accessed by referencing process.env in your script file.

  • script - path to the script file which should execute with all environment variables specified in env JSON attribute,

Commit count: 11

cargo fmt