@mnrendra/read-stacked-json
v1.6.1
Published
Read the stacked JSON file from any sub-directory in your project.
Downloads
379
Maintainers
Readme
@mnrendra/read-stacked-json
Read the stacked JSON file from any sub-directory in your project.
Install
npm i @mnrendra/read-stacked-json
Usage
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'