app-root-dir
Simple module to infer the root directory of the currently running node application
Last updated 10 years ago by philidem .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install app-root-dir 
SYNC missed versions from official npm registry.

node-app-root-dir

Simple module to infer the root directory of the currently running node application

Usage

// get the application's root directory
var appRootDir = require('app-root-dir').get();

// set the application's root directory
// (this will set a global so that no matter
// how many instances of app-root-dir module are
// installed, they will all return the same
// directory)
require('app-root-dir').set(__dirname);

How it Works

The following strategy is used to find the application's root directory (the directory in your project that contains the main package.json file):

  • If package.json exists at process.cwd() then use process.cwd() as the application root directory.
  • Else if, the app-root-dir module has node_modules directory in its path then use the directory above this as the application root directory. NOTE: The parent directory of the first node_modules directory in the path is used if the app-root-dir module is installed as a submodule of another module.
  • Else, use the directory of app-root-dir module as the application root directory.

For example, consider this directory structure for the scenarios below:

  • my-project
    • package.json
    • server.js
    • node_modules
      • app-root-dir
        • lib
          • index.js

Scenario 1:

Application is ran as: node server.js

The application root directory will be my-project because package.json exists at process.cwd()

Scenario 2:

Application is ran as: node my-project/server.js

There is no package.json at process.cwd(). The application root directory will still be my-project because my-project/node_modules/app-root-dir/lib/index.js has node_modules in its path and the directory above node_modules is the application's root directory.

Current Tags

  • 1.0.2                                ...           latest (10 years ago)

3 Versions

  • 1.0.2                                ...           10 years ago
  • 1.0.1                                ...           10 years ago
  • 1.0.0                                ...           11 years ago
Maintainers (1)
Downloads
Total 1
Today 0
This Week 0
This Month 1
Last Day 0
Last Week 1
Last Month 0
Dependencies (0)
None
Dev Dependencies (0)
None

© 2010 - cnpmjs.org x YWFE | Home | YWFE