JSPM

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

Read the stacked JSON file from any sub-directory in your project.

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-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'

    License

    MIT

    Author

    @mnrendra