Package Exports
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 (@mnrendra/read-stacked-json) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@mnrendra/read-stacked-json
Read the stacked JSON file from any sub-directory in your project.
Install
npm i @mnrendra/read-stacked-jsonUsage
Using CommonJS:
const { read, readSync } = require('@mnrendra/read-stacked-json')
// Asynchronously
read('file.json')
.then((data) => {
console.log('asynchronously:', data)
})
// Synchronously
const data = readSync('file.json')
console.log('synchronously:', data)Using ES Module:
import { read, readSync } from '@mnrendra/read-stacked-json'
// Asynchronously
read('file.json')
.then((data) => {
console.log('asynchronously:', data)
})
// Synchronously
const data = readSync('file.json')
console.log('synchronously:', data)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 { readSync } = require('@mnrendra/read-stacked-json')
// Synchronously
const { name, version } = readSync('package.json')
console.log('synchronously:', name, version) // Output: synchronously: project-name 1.0.0• Read from ~/project-name/src/any-directory/index.mjs:
import { read } from '@mnrendra/read-stacked-json'
// Asynchronously
read('package.json')
.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 { readSync } = require('@mnrendra/read-stacked-json');
// Synchronously
const { name, version } = readSync('package.json');
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 { read } = require('@mnrendra/read-stacked-json');
// Asynchronously
read('package.json')
.then(({ name, version }) => {
console.log('asynchronously:', name, version); // Output: asynchronously: module-name 1.0.0
});Options
• isJSON5
type: boolean
default: false
To tell the parser to parse using native JSON or JSON5.
• 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.
• useCWD
type: boolean
default: false
If set to true, it will use process.cwd() instead of @mnrendra/read-stacked-file to get the target path.
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-stacked-json'Types
import type {
Options, // @mnrendra/read-stacked-json options
SkippedStacks, // @mnrendra/validate-skipped-stacks input
ValidSkippedStacks // @mnrendra/validate-skipped-stacks output
} from '@mnrendra/read-stacked-json'