New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@pnpm/npm-resolver

Package Overview
Dependencies
Maintainers
3
Versions
211
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pnpm/npm-resolver - npm Package Compare versions

Comparing version 4.0.0 to 5.0.0

6

lib/index.d.ts

@@ -7,3 +7,3 @@ import { LocalPackages, ResolveResult, WantedDependency } from '@pnpm/resolver-base';

metaCache: PackageMetaCache;
store: string;
storeDir: string;
cert?: string;

@@ -37,7 +37,7 @@ fullMetadata?: boolean;

} & ({
prefix?: string;
importerDir?: string;
localPackages?: undefined;
} | {
prefix: string;
importerDir: string;
localPackages: LocalPackages;
});

@@ -36,4 +36,4 @@ "use strict";

}
if (typeof opts.store !== 'string') { // tslint:disable-line
throw new TypeError('`opts.store` is required and needs to be a string');
if (typeof opts.storeDir !== 'string') { // tslint:disable-line
throw new TypeError('`opts.storeDir` is required and needs to be a string');
}

@@ -64,3 +64,3 @@ const fetch = fetch_from_npm_registry_1.default({

preferOffline: opts.preferOffline,
storePath: opts.store,
storeDir: opts.storeDir,
}),

@@ -71,7 +71,8 @@ });

async function resolveNpm(ctx, wantedDependency, opts) {
var _a, _b;
const defaultTag = opts.defaultTag || 'latest';
const resolvedFromWorkspace = tryResolveFromWorkspace(wantedDependency, {
defaultTag,
importerDir: opts.importerDir,
localPackages: opts.localPackages,
prefix: opts.prefix,
registry: opts.registry,

@@ -93,3 +94,3 @@ });

dryRun: opts.dryRun === true,
preferredVersionSelector: opts.preferredVersions && opts.preferredVersions[spec.name],
preferredVersionSelector: (_a = opts.preferredVersions) === null || _a === void 0 ? void 0 : _a[spec.name],
registry: opts.registry,

@@ -100,3 +101,3 @@ });

if (opts.localPackages) {
const resolvedFromLocal = tryResolveFromLocalPackages(opts.localPackages, spec, opts.prefix);
const resolvedFromLocal = tryResolveFromLocalPackages(opts.localPackages, spec, opts.importerDir);
if (resolvedFromLocal)

@@ -111,3 +112,3 @@ return resolvedFromLocal;

if (opts.localPackages) {
const resolvedFromLocal = tryResolveFromLocalPackages(opts.localPackages, spec, opts.prefix);
const resolvedFromLocal = tryResolveFromLocalPackages(opts.localPackages, spec, opts.importerDir);
if (resolvedFromLocal)

@@ -118,6 +119,6 @@ return resolvedFromLocal;

}
if (opts.localPackages && opts.localPackages[pickedPackage.name]) {
if ((_b = opts.localPackages) === null || _b === void 0 ? void 0 : _b[pickedPackage.name]) {
if (opts.localPackages[pickedPackage.name][pickedPackage.version]) {
return {
...resolveFromLocalPackage(opts.localPackages[pickedPackage.name][pickedPackage.version], spec.normalizedPref, opts.prefix),
...resolveFromLocalPackage(opts.localPackages[pickedPackage.name][pickedPackage.version], spec.normalizedPref, opts.importerDir),
latest: meta['dist-tags'].latest,

@@ -129,3 +130,3 @@ };

return {
...resolveFromLocalPackage(opts.localPackages[pickedPackage.name][localVersion], spec.normalizedPref, opts.prefix),
...resolveFromLocalPackage(opts.localPackages[pickedPackage.name][localVersion], spec.normalizedPref, opts.importerDir),
latest: meta['dist-tags'].latest,

@@ -144,4 +145,4 @@ };

latest: meta['dist-tags'].latest,
manifest: pickedPackage,
normalizedPref: spec.normalizedPref,
package: pickedPackage,
resolution,

@@ -152,3 +153,4 @@ resolvedVia: 'npm-registry',

function tryResolveFromWorkspace(wantedDependency, opts) {
if (!wantedDependency.pref || !wantedDependency.pref.startsWith('workspace:')) {
var _a;
if (!((_a = wantedDependency.pref) === null || _a === void 0 ? void 0 : _a.startsWith('workspace:'))) {
return null;

@@ -163,6 +165,6 @@ }

}
if (!opts.prefix) {
throw new Error('Cannot resolve package from workspace because opts.prefix is not defined');
if (!opts.importerDir) {
throw new Error('Cannot resolve package from workspace because opts.importerDir is not defined');
}
const resolvedFromLocal = tryResolveFromLocalPackages(opts.localPackages, spec, opts.prefix);
const resolvedFromLocal = tryResolveFromLocalPackages(opts.localPackages, spec, opts.importerDir);
if (!resolvedFromLocal) {

@@ -173,3 +175,3 @@ throw new error_1.default('NO_MATCHING_VERSION_INSIDE_WORKSPACE', `No matching version found for ${wantedDependency.alias}@${pref} inside the workspace`);

}
function tryResolveFromLocalPackages(localPackages, spec, prefix) {
function tryResolveFromLocalPackages(localPackages, spec, importerDir) {
if (!localPackages[spec.name])

@@ -180,3 +182,3 @@ return null;

return null;
return resolveFromLocalPackage(localPackages[spec.name][localVersion], spec.normalizedPref, prefix);
return resolveFromLocalPackage(localPackages[spec.name][localVersion], spec.normalizedPref, importerDir);
}

@@ -196,9 +198,9 @@ function pickMatchingLocalVersionOrNull(versions, spec) {

}
function resolveFromLocalPackage(localPackage, normalizedPref, prefix) {
function resolveFromLocalPackage(localPackage, normalizedPref, importerDir) {
return {
id: `link:${normalize(path.relative(prefix, localPackage.directory))}`,
id: `link:${normalize(path.relative(importerDir, localPackage.dir))}`,
manifest: localPackage.manifest,
normalizedPref,
package: localPackage.package,
resolution: {
directory: localPackage.directory,
directory: localPackage.dir,
type: 'directory',

@@ -205,0 +207,0 @@ },

@@ -39,3 +39,3 @@ import { PackageManifest } from '@pnpm/types';

metaCache: PackageMetaCache;
storePath: string;
storeDir: string;
offline?: boolean | undefined;

@@ -42,0 +42,0 @@ preferOffline?: boolean | undefined;

@@ -19,2 +19,3 @@ "use strict";

exports.default = async (ctx, spec, opts) => {
var _a, _b;
opts = opts || {};

@@ -29,3 +30,3 @@ const cachedMeta = ctx.metaCache.get(spec.name);

const registryName = getRegistryName(opts.registry);
const pkgMirror = path.join(ctx.storePath, registryName, spec.name);
const pkgMirror = path.join(ctx.storeDir, registryName, spec.name);
const limit = metafileOperationLimits[pkgMirror] = metafileOperationLimits[pkgMirror] || p_limit_1.default(1);

@@ -57,3 +58,3 @@ let metaCachedInStore;

// otherwise it is probably out of date
if (metaCachedInStore && metaCachedInStore.versions && metaCachedInStore.versions[spec.fetchSpec]) {
if ((_b = (_a = metaCachedInStore) === null || _a === void 0 ? void 0 : _a.versions) === null || _b === void 0 ? void 0 : _b[spec.fetchSpec]) {
return {

@@ -60,0 +61,0 @@ meta: metaCachedInStore,

{
"name": "@pnpm/npm-resolver",
"version": "4.0.0",
"version": "5.0.0",
"description": "Resolver for npm-hosted packages",

@@ -36,3 +36,3 @@ "main": "lib/index.js",

"@pnpm/error": "1.0.0",
"@pnpm/resolver-base": "4.0.0",
"@pnpm/resolver-base": "5.0.0",
"@pnpm/types": "4.0.0",

@@ -56,5 +56,5 @@ "credentials-by-uri": "1.0.0",

"@types/normalize-path": "^3.0.0",
"@types/semver": "6",
"@types/ssri": "^6.0.0",
"nock": "11.3.6",
"@types/semver": "^6.2.0",
"@types/ssri": "^6.0.1",
"nock": "11.7.0",
"path-exists": "4.0.0",

@@ -61,0 +61,0 @@ "rimraf": "3.0.0",

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc