@mnrendra/read-package v2.4.3
@mnrendra/read-package
Read the package.json file from any sub-directory in your project.
Install
npm i @mnrendra/read-packageUsage
Using CommonJS:
const { readPackage, readPackageSync } = require('@mnrendra/read-package')
// Asynchronously
readPackage()
.then(({ name, version }) => {
console.log('asynchronously:', name, version)
})
// Synchronously
const { name, version } = readPackageSync()
console.log('synchronously:', name, version)Using ES Module:
import { readPackage, readPackageSync } from '@mnrendra/read-package'
// Asynchronously
readPackage()
.then(({ name, version }) => {
console.log('asynchronously:', name, version)
})
// Synchronously
const { name, version } = readPackageSync()
console.log('synchronously:', name, version)Examples
1. Read the package.json file in your development project:
Assuming your project's ~/project-name/package.json file is as follows:
{
"name": "project-name",
"version": "1.0.0"
}Then, you can access and read the ~/project-name/package.json file from any directory within your project.
Here are some examples:
• Read from ~/project-name/src/index.js:
const { readPackageSync } = require('@mnrendra/read-package')
// Synchronously
const { name, version } = readPackageSync()
console.log('synchronously:', name, version) // Output: synchronously: project-name 1.0.0• Read from ~/project-name/src/any-directory/index.mjs:
import { readPackage } from '@mnrendra/read-package'
// Asynchronously
readPackage()
.then(({ name, version }) => {
console.log('asynchronously:', name, version) // Output: asynchronously: project-name 1.0.0
})2. Read the package.json file in your published module:
Assuming your module is installed in the /consumer/node_modules/module-name/ directory and the package.json file for your module located at /consumer/node_modules/module-name/package.json is as follows:
{
"name": "module-name",
"version": "1.0.0"
}Then, you can access and read your package.json file from any directory within your module.
Here are some examples:
• Read from /consumer/node_modules/module-name/dist/index.js:
"use strict";
const { readPackageSync } = require('@mnrendra/read-package');
// Synchronously
const { name, version } = readPackageSync();
console.log('synchronously:', name, version); // Output: synchronously: module-name 1.0.0• Read from /consumer/node_modules/module-name/dist/any-directory/index.js:
"use strict";
const { readPackage } = require('@mnrendra/read-package');
// Asynchronously
readPackage()
.then(({ name, version }) => {
console.log('asynchronously:', name, version); // Output: asynchronously: module-name 1.0.0
});Options
• skippedStacks
type: string|string[]
default: []
A name or a list of names of stack traces that need to be skipped.
• stackTraceLimit
type: number
default: 10
The Error.stackTraceLimit property specifies the number of stack frames to be collected by a stack trace.
Utilities
import {
validateSkippedStacks // To validate a name or a list of names of stack traces that need to be skipped. More info: @see https://github.com/mnrendra/validate-skipped-stacks
} from '@mnrendra/read-package'Types
import type {
Package, // Exported from @mnrendra/types-package
Options, // @mnrendra/read-package options
SkippedStacks, // @mnrendra/validate-skipped-stacks input
ValidSkippedStacks // @mnrendra/validate-skipped-stacks output
} from '@mnrendra/read-package'