JSPM

find-package-json

1.2.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1366471
  • Score
    100M100P100Q188322F
  • License MIT

Find package.json files in parent directories, keep finding until you find the right one using iterators.

Package Exports

  • find-package-json

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (find-package-json) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

find-package-json

Easily find package.json files that you're searching for. It spiders parent directories for package.json files and correctly reads the results. It follows an ES6 iterator design so it should be easy to implement.

Installation

The module is released in the public npm registry and can be installed by running:

npm install --save find-package-json

Usage

We expose a single function as module interface. So in all examples we assume that you've already required the code as illustrated in the example below:

'use strict';

var finder = require('find-package-json');

The function accepts 1 optional argument which is the directory it should start searching in or a module object with a filename key. If nothing is provided it will default to process.cwd() as entry point.

As we're build upon the iterator interface you can simply call the .next() function of the returned result to find the first package.json. If you don't like the result, call .next() again to find the next file. Please do note that these methods do synchronous API calls in Node.js so they are blocking.

var f = finder(__dirname);

console.log(f.next().value); // the package.json object
console.log(f.next().filename); // the path to the package.json file

You can also search for the global module object:

var f = finder(module);

console.log(f.next().value); // the package.json object
console.log(f.next().filename); // the path to the package.json file

If there is no more package.json's to be found, the method will set the returned done key as true;

var f = finder(__dirname);

f.next().done // false
f.next().done // true

License

MIT