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

@ms-cloudpack/package-utilities

Package Overview
Dependencies
Maintainers
3
Versions
232
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ms-cloudpack/package-utilities - npm Package Compare versions

Comparing version 11.0.1 to 11.1.0

6

lib/packageDefinitions/getApiServerTransform.js

@@ -12,8 +12,6 @@ const apiServerBrowserDeps = ['@ms-cloudpack/data-bus', '@ms-cloudpack/path-string-parsing', '@trpc/client', 'zod'];

}
return {
...definition,
dependencies: Object.fromEntries(Object.entries(definition.dependencies || {}).filter(([dep]) => apiServerBrowserDeps.includes(dep))),
};
definition.dependencies = Object.fromEntries(Object.entries(definition.dependencies || {}).filter(([dep]) => apiServerBrowserDeps.includes(dep)));
return definition;
};
}
//# sourceMappingURL=getApiServerTransform.js.map
import semver from 'semver';
import { generateVersionFromNonSemver } from './generateVersionFromNonSemver.js';
const depTypes = ['dependencies', 'peerDependencies'];
const depTypes = ['dependencies', 'peerDependencies', 'devDependencies', 'optionalDependencies'];
/**

@@ -18,3 +18,2 @@ * Get a transform which handles non-semver dependencies:

return ({ definition, packagePath, importerContext }) => {
const result = {};
// Check for non-semver dependencies

@@ -38,4 +37,3 @@ for (const depType of depTypes) {

// "bar": "npm:@custom/bar@^1" => "0.0.0-npm--custom-bar--1"
const resultDeps = (result[depType] ??= { ...deps });
resultDeps[depName] = generateVersionFromNonSemver(depVersion);
deps[depName] = generateVersionFromNonSemver(depVersion);
// Save that this was a non-semver dep

@@ -46,4 +44,4 @@ const record = (nonSemverDeps[`${definition.name}@${definition.version}`] ??= {});

}
// If this package's parent pulled it in with a non-semver dependency, make some more updates
// (see below)
// Check if this package's parent pulled it in with a non-semver dependency, and if so,
// update the returned name and version.
const nonSemverParentInfo = importerContext && nonSemverDeps[`${importerContext.parentName}@${importerContext.parentVersion}`];

@@ -53,5 +51,4 @@ // TODO: maybe this could also be used for resolutions if we have problems there:

if (nonSemverParentInfo) {
// Example: the parent depended on this package as "bar": "npm:@custom/bar@^1"
// importedName = bar
// versionRequirement = 0.0.0-npm--custom-bar--1 (was modified when this transform ran on the parent definition)
// The parent has at least one non-semver dependency (which might not be this package).
// Check in each dependency type to see if this package is listed as non-semver.
const { importedName, versionRequirement } = importerContext;

@@ -62,2 +59,7 @@ for (const depType of depTypes) {

}
// This package's parent pulled it in with a non-semver dependency.
// Example: the parent depended on this package as "bar": "npm:@custom/bar@^1"
// importedName = bar
// versionRequirement = 0.0.0-npm--custom-bar--1 (was modified when this transform ran on the parent definition)
//
// To ensure other code handles this package properly, change its name and version to

@@ -67,8 +69,8 @@ // the ones used by the parent (after transforms). This ensures it works properly with

// package under its real name.
result.name = importedName;
result.version = versionRequirement;
const origSpec = `${definition.name}@${definition.version}`;
definition.name = importedName;
definition.version = versionRequirement;
// We have changed the definition, so link the entry in nonSemverDeps to the new name/version.
if (nonSemverDeps[`${definition.name}@${definition.version}`]) {
nonSemverDeps[`${importedName}@${versionRequirement}`] =
nonSemverDeps[`${definition.name}@${definition.version}`];
if (nonSemverDeps[origSpec]) {
nonSemverDeps[`${importedName}@${versionRequirement}`] = nonSemverDeps[origSpec];
}

@@ -78,8 +80,5 @@ break;

}
if (Object.keys(result).length) {
return { ...definition, ...result };
}
return undefined;
return definition;
};
}
//# sourceMappingURL=getNonSemverTransform.js.map

@@ -8,3 +8,2 @@ const depTypes = ['dependencies', 'peerDependencies', 'devDependencies', 'optionalDependencies'];

return ({ definition }) => {
let transformedDefinition;
for (const depType of ['dependencies', 'peerDependencies']) {

@@ -20,15 +19,10 @@ const deps = definition[depType];

const depVersion = deps[depName];
transformedDefinition ??= {
...definition,
devDependencies: { ...definition.devDependencies },
[depType]: { ...deps },
};
delete transformedDefinition[depType]?.[depName];
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
transformedDefinition.devDependencies[depName] = depVersion;
delete definition[depType]?.[depName];
definition.devDependencies ??= {};
definition.devDependencies[depName] = depVersion;
}
}
return transformedDefinition;
return definition;
};
}
//# sourceMappingURL=getTypesTransform.js.map
import path from 'path';
import { readJson } from '@ms-cloudpack/json-utilities';
import { cloneJson, readJson } from '@ms-cloudpack/json-utilities';
import { getNonSemverTransform } from './getNonSemverTransform.js';

@@ -12,2 +12,22 @@ import { getApiServerTransform } from './getApiServerTransform.js';

const getDefaultTransforms = () => [getApiServerTransform(), getTypesTransform(), getNonSemverTransform()];
/** Only copy these keys from package.json. (It's an object for better typings and faster access.) */
const copyPackageJsonKeys = {
name: true,
version: true,
description: true,
dependencies: true,
devDependencies: true,
peerDependencies: true,
peerDependenciesMeta: true,
optionalDependencies: true,
bundledDependencies: true,
bundleDependencies: true,
type: true,
main: true,
module: true,
browser: true,
exports: true,
resolutions: true,
cloudpack: true,
};
export class PackageDefinitions {

@@ -60,3 +80,4 @@ /**

if (!transformedDefinition) {
transformedDefinition = definition;
// Clone the definition (only keys we care about) so we don't accidentally modify the original.
transformedDefinition = cloneJson(definition, { onlyKeys: copyPackageJsonKeys });
for (const transform of this._transforms) {

@@ -63,0 +84,0 @@ transformedDefinition =

{
"name": "@ms-cloudpack/package-utilities",
"version": "11.0.1",
"version": "11.1.0",
"description": "Utilities for resolving/parsing packages and their imports.",

@@ -17,6 +17,6 @@ "license": "MIT",

"dependencies": {
"@ms-cloudpack/common-types": "^0.23.7",
"@ms-cloudpack/json-utilities": "^0.1.9",
"@ms-cloudpack/common-types": "^0.24.0",
"@ms-cloudpack/json-utilities": "^0.1.10",
"@ms-cloudpack/path-string-parsing": "^1.2.6",
"@ms-cloudpack/path-utilities": "^2.8.0",
"@ms-cloudpack/path-utilities": "^2.8.1",
"@ms-cloudpack/task-reporter": "^0.14.8",

@@ -23,0 +23,0 @@ "acorn": "^8.11.2",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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