Socket
Socket
Sign inDemoInstall

npm-package-arg

Package Overview
Dependencies
1
Maintainers
1
Versions
49
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

npm-package-arg


Version published
Maintainers
1
Created

Package description

What is npm-package-arg?

The npm-package-arg package is a utility for parsing package names and specifiers in the npm ecosystem. It helps in understanding and manipulating package references, whether they are simple names, version ranges, GitHub URLs, or local paths.

What are npm-package-arg's main functionalities?

Parsing Package Names

This feature allows you to parse a simple package name. The output will be an object containing details about the package, such as its name, type, and registry.

const npa = require('npm-package-arg');
const parsed = npa('express');
console.log(parsed);

Parsing Version Ranges

This feature allows you to parse a package name with a version range. The output will include the specified version range and other details.

const npa = require('npm-package-arg');
const parsed = npa('express@^4.0.0');
console.log(parsed);

Parsing GitHub URLs

This feature allows you to parse a GitHub URL. The output will include details about the repository, such as the user and repo names.

const npa = require('npm-package-arg');
const parsed = npa('github:user/repo');
console.log(parsed);

Parsing Local Paths

This feature allows you to parse a local file path. The output will include details about the local path and the type of reference.

const npa = require('npm-package-arg');
const parsed = npa('file:./local-package');
console.log(parsed);

Other packages similar to npm-package-arg

Readme

Source

npm-package-arg

Parse the things that can be arguments to npm install

Takes an argument like foo@1.2, or foo@user/foo, or http://x.com/foo.tgz, or git+https://github.com/user/foo, and figures out what type of thing it is.

USAGE

var assert = require("assert")
var npa = require("npm-package-arg")

// Pass in the descriptor, and it'll return an object
var parsed = npa("foo@1.2")

// Returns an object like:
// {
//  name: "foo",  // The bit in front of the @
//  type: "range", // the type of descriptor this is
//  spec: "1.2" // the specifier for this descriptor
// }

// Completely unreasonable invalid garbage throws an error
// Make sure you wrap this in a try/catch if you have not
// already sanitized the inputs!
assert.throws(function() {
  npa("this is not \0 a valid package name or url")
})

For more examples, see the test file.

Result Objects

The objects that are returned by npm-package-arg contain the following fields:

  • name - If known, the name field expected in the resulting pkg.
  • type - One of the following strings:
    • git - A git repo
    • github - A github shorthand, like user/project
    • tag - A tagged version, like "foo@latest"
    • version - A specific version number, like "foo@1.2.3"
    • range - A version range, like "foo@2.x"
    • local - A local file or folder path
    • remote - An http url (presumably to a tgz)
  • spec - The "thing". URL, the range, git repo, etc.
  • raw - The original un-modified string that was provided.
  • rawSpec - The part after the name@..., as it was originally provided.

FAQs

Last updated on 25 Jun 2014

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