Skip to content

Helper library that loads the environment variables from vscode's launch.json so that you can run your node app from the command line

License

Notifications You must be signed in to change notification settings

lawrips/launch-json

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

launch-json

Helper library that loads the environment variables from Visual Studio Code's (vscode) launch.json into process.env.

Usage

In your startup file (e.g. server.js, index.js or app.js), just include the following line:

require('launch-json');

That's it! This module will then find the .vscode/launch.json file in your project and merge the environment variables into your process.env.

This will then allow you to run your node app from the command line without having to manually set the environment variables in your launch.json.

Why launch-json?

This library is designed specifically for users of vscode who store environment variables in their project's launch.json. There's a few scenarios where using this library might be useful:

  • You want to make sure your code runs the same outside of vscode (which starts node processes by default with --debug enabled)
  • You have Mocha tests (or tests from another test framework) which rely on environment variables
  • Your environment variables have colon's in them. These are a pain to export into environment variables on macos

Options

When required as above, this will load the default "launch" configuration from the .vscode/launch.json file. To choose a specific configuration, simply:

require('launch-json')('myconfig');

Example

Assume you have the following launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "launch",
            "type": "node",
            "request": "launch",
            "program": "${workspaceRoot}/lib/index.js",
            "cwd": "${workspaceRoot}",
            "env": {
                "NODE_ENV": "local",
                "theFox":"red",
                "theDog":"brown"
            }
        },
        {
            "name": "dev",
            "type": "node",
            "request": "launch",
            "program": "${workspaceRoot}/lib/index.js",
            "cwd": "${workspaceRoot}",
            "env": {
                "NODE_ENV": "development",
                "theFox":"quick",
                "theDog":"lazy"
            }
        }
    ]
}

The following will work:

require('launch-json'); // launch is selected by default
process.env['NODE_ENV']; // local
process.env['theFox']; // red
process.env['theDog']; // brown

The following will work:

require('launch-json')('dev'); // dev will load
process.env['NODE_ENV']; // development
process.env['theFox']; // quick
process.env['theDog']; // lazy

About

Helper library that loads the environment variables from vscode's launch.json so that you can run your node app from the command line

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published