Socket
Socket
Sign inDemoInstall

read-package-json-fast

Package Overview
Dependencies
1
Maintainers
9
Versions
18
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

read-package-json-fast


Version published
Maintainers
9
Created

Package description

What is read-package-json-fast?

The read-package-json-fast npm package is designed to quickly read and parse package.json files in a Node.js environment. It is optimized for performance and provides a simple API for accessing package metadata.

What are read-package-json-fast's main functionalities?

Read and parse package.json

This feature allows you to read and parse the contents of a package.json file asynchronously. The function returns a promise that resolves with the parsed package data.

const readPackageJsonFast = require('read-package-json-fast');

async function getPackageData() {
  try {
    const packageData = await readPackageJsonFast('path/to/package.json');
    console.log(packageData);
  } catch (error) {
    console.error('Error reading package.json:', error);
  }
}

getPackageData();

Other packages similar to read-package-json-fast

Readme

Source

read-package-json-fast

Like read-package-json, but faster and more accepting of "missing" data.

This is only suitable for reading package.json files in a node_modules tree, since it doesn't do the various cleanups, normalization, and warnings that are beneficial at the root level in a package being published.

USAGE

const rpj = require('read-package-json-fast')

// typical promisey type API
rpj('/path/to/package.json')
  .then(data => ...)
  .catch(er => ...)

Errors raised from parsing will use json-parse-even-better-errors, so they'll be of type JSONParseError and have a code: 'EJSONPARSE' property. Errors will also always have a path member referring to the path originally passed into the function.

WHAT THIS MODULE DOES

  • Parse JSON
  • Normalize bundledDependencies/bundleDependencies naming to just bundleDependencies (without the extra d)
  • Handle true, false, or object values passed to bundleDependencies
  • Normalize funding: <string> to funding: { url: <string> }
  • Remove any scripts members that are not a string value.
  • Normalize a string bin member to { [name]: bin }.
  • Fold optionalDependencies into dependencies.
  • Set the _id property if name and version are set. (This is load-bearing in a few places within the npm CLI.)

WHAT THIS MODULE DOES NOT DO

  • Warn about invalid/missing name, version, repository, etc. Extract a
  • description from the README.md file, or attach the readme to the parsed data object.
  • Read the HEAD value out of the .git folder. Warn about potentially
  • typo'ed scripts (eg, tset instead of test) Check to make sure that
  • all the files in the files field exist and are valid files.
  • Fix bundleDependencies that are not listed in dependencies. Fix
  • dependencies fields that are not strictly objects of string values.
  • Anything involving the directories field (ie, bins, mans, and so on)

FAQs

Last updated on 23 Nov 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc