0.0.4 • Published 6 years ago

@spine/project-path v0.0.4

Weekly downloads
1
License
MIT
Repository
gitlab
Last release
6 years ago

Spine Project Path Utility

It's an utility module to determines project root path

How to use it

import { getProjectPath } from '@spine/project-path';
import { exec } from 'child_process';

exec('npm install', {
  stdio: 'inherit',
  cwd: getProjectPath(),
});

Matching order

To determine project path it follows these strict cases in order...

First case scenario

If process.cwd() contains a /node_modules/ return the path before it;

Second case scenario

If a package.json is present in process.cwd() path, than returns the same path;

Third case scenario

If @spine/project-path installation path contains /node_modules/ return the path before it;

If @spine/project-path is a submodule of another installed dependency, it will return the parent of all, which means the parent directory of the first encounter of /node_modules/.

Default scenario

Otherwise throws an error.

If you don't want any possibility for an error you can use

setProjectDefaultPath(() => {
  return '-- Your default project root path fallback --';
});