Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
@pnpm/dependency-path
Advanced tools
@pnpm/dependency-path is a utility package designed to handle and manipulate dependency paths in a consistent manner. It is particularly useful for package managers and tools that need to resolve and manage dependencies efficiently.
Create Dependency Path
This feature allows you to create a dependency path given a root directory, package name, and version. It helps in standardizing the way dependency paths are generated.
const { createDependencyPath } = require('@pnpm/dependency-path');
const depPath = createDependencyPath('/root/project', 'lodash', '4.17.21');
console.log(depPath);
Parse Dependency Path
This feature parses a given dependency path and extracts useful information such as the package name and version. It is useful for analyzing and understanding the structure of dependency paths.
const { parseDependencyPath } = require('@pnpm/dependency-path');
const parsed = parseDependencyPath('/root/project/node_modules/lodash@4.17.21');
console.log(parsed);
Get Package Name from Path
This feature extracts the package name from a given dependency path. It simplifies the process of identifying packages from their paths.
const { getPackageNameFromPath } = require('@pnpm/dependency-path');
const packageName = getPackageNameFromPath('/root/project/node_modules/lodash@4.17.21');
console.log(packageName);
The 'resolve' package is used to resolve module paths in Node.js. It provides similar functionality in terms of resolving paths but is more focused on module resolution rather than dependency path manipulation.
The 'dependency-tree' package generates a dependency tree for a given module. While it provides insights into dependencies, it is more focused on visualizing and analyzing dependency trees rather than manipulating dependency paths.
The 'read-pkg-up' package reads the closest package.json file. It is useful for retrieving package information but does not offer the same level of path manipulation capabilities as @pnpm/dependency-path.
Utilities for working with symlinked node_modules
Like path
but for packages in a symlinked node_modules
. Symlinked node_modules
is a unique dependencies layout that
pnpm creates.
pnpm add @pnpm/dependency-path
const dependencyPath = require('@pnpm/dependency-path')
const registry = 'https://registry.npmjs.org/'
console.log(dependencyPath.isAbsolute('/foo/1.0.0'))
//> false
// it is confusing currently because relative starts with /.
// It will be changed in the future to vice versa
console.log(dependencyPath.resolve(registry, '/foo/1.0.0'))
//> registry.npmjs.org/foo/1.0.0
console.log(dependencyPath.relative(registry, 'registry.npmjs.org/foo/1.0.0'))
//> /foo/1.0.0
console.log(dependencyPath.refToAbsolute('1.0.1', 'foo', registry))
//> registry.npmjs.org/foo/1.0.1
console.log(dependencyPath.refToAbsolute('github.com/foo/bar/twe0jger043t0ew', 'foo', registry))
//> github.com/foo/bar/twe0jger043t0ew
console.log(dependencyPath.refToRelative('1.0.1', 'foo', registry))
//> /foo/1.0.1
console.log(dependencyPath.parse('/foo/2.0.0'))
//> { isAbsolute: false, name: 'foo', version: '2.0.0' }
MIT
FAQs
Utilities for working with symlinked node_modules
The npm package @pnpm/dependency-path receives a total of 121,209 weekly downloads. As such, @pnpm/dependency-path popularity was classified as popular.
We found that @pnpm/dependency-path demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
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.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.