get-info
v2.4.5
Published
> Utility functions extract project(s) Json by providing> project root path or package names.
Downloads
48
Maintainers
Readme
get-info
Utility functions extract project(s) Json by providing> project root path or package names.
get-info
Works with monorepos ./packages/**/
as well as for a single package project ./myFiles
.
npm install get-info
API
getJsonByName
Extracts package json, and resolved path for each project name. If names
are
not passed, it returns all json objects can be found in
./packages/**/package.json
or ./package json
getJsonByName(...packNames?string)
The result object:
json: Array <packJson>
- Contains objects of all retrieved package.json based on given namespkgInfo: Array <packPath>
- Contains objects of package paths based on package name
const { json, pkgInfo } = getJsonByName(...names);
Example(1)
import { getJsonByName } from "get-info";
// workspace
// │
// ├───foo
// │ ├───src
// │ └───package.json
// ├───bar
// │ ├───src
// │ └───package.json
// ├───foobar
// │ ├───src
// │
const { json, pkgInfo } = getJsonByName("foo", "bar");
// json = [
// { name: "foo", version: "1.0.0", main: "index.js" },
// { name: "bar", version: "2.1.1", main: "bundle.js" },
// ];
// pkgInfo = {
// foo: { path: "path/to/foo" },
// bar: { path: "path/to/bar" },
// };
What if passed invalid name? It returns empty array []
Example(2)
// workspace
// │
// ├───foo
// │ ├───src
// │ └───package.json
// ├───bar
// │ ├───src
// │ └───package.json
// ├───foobar
// │ ├───src
// │
const { json, pkgInfo } = getJsonByName("baz");
// json =[]
if (json.length === 0) console.log("do something");
getJsonByPath
Extracts package json, and its associated resolved path. If paths
are not
passed, it returns all json objects can be found in ./packages/**/package.json
or ./package.json
getJsonByPath(...paths?string)
The result object:
json: Array <packJson>
- Contains objects of all retrieved package.json based on given pathspkgInfo: Array <packPath>
- Contains objects of package paths based on package pathunfoundJson: Array <string>
- List of paths don't have valid package.json
const { json, pkgInfo, unfoundJson } = getJsonByPath(...paths);
Example(3)
import { getJsonByPath } from "get-info";
// workspace
// │
// ├───foo
// │ ├───src
// │ └───package.json
// ├───bar
// │ ├───src
// │ └───package.json
// ├───foobar
// │ ├───src
// │
const { json, pkgInfo, unfoundJson } = getJsonByPath(
`${__dirname}/foo`,
`${__dirname}/bar`
);
// json = [
// { name: "foo", version: "1.0.0", main: "index.js" },
// { name: "bar", version: "2.1.1", main: "bundle.js" },
// ];
// pkgInfo = {
// foo: { path: "path/to/foo" },
// bar: { path: "path/to/bar" },
// };
// unfoundJson = ["path/to/foobar"];
By default, getJsonByPath
returns all package in workspace
tree.
// workspace
// │
// ├───foo
// │ ├───src
// │ └───package.json
// ├───bar
// │ ├───src
// │ └───package.json
// ├───foobar
// │ └───src
// │
// │───package.json
const { json, pkgInfo, unfoundJson } = getJsonByPath();
// json = [
// { name: "foo", version: "1.0.0", main: "index.js" },
// { name: "bar", version: "2.1.1", main: "bundle.js" },
// ];
// pkgInfo = {
// foo: { path: "path/to/foo" },
// bar: { path: "path/to/bar" },
// };
// unfoundJson = ["path/to/foobar"];
Tests
npm test
License
This project is licensed under the GPL-3.0 License
Related projects
validate-access - Validate project accessibility files
packageSorter - Sorts a group of packages that depends on each other.
builderz - JavaScript Bundler with zero configuration.
corename - Extracts package name.
move-position - Moves element index in an array.
textics & textics-stream - Counts lines, words, chars and spaces for a given string.
folo - Form & Layout Components Built with React.