
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
scim-patch-with-remove
Advanced tools
This is pre patch version exists only before changes will be merged into the main package
RFC7644 SCIM(System for Cross-domain Identity Management) 2.0 implementation of the "Modifying with PATCH" section 3.5.2.
Important things to know, this library can :
Want to have an example on how it works, check this example.
This library is implementing the 3.5.2. Modifying with PATCH chapter of the SCIM RFC https://tools.ietf.org/html/rfc7644#section-3.5.2.
It will allow you to create a SCIM resources and to patch them using the SCIM Query language.
import { patchBodyValidation } from 'scim-patch';
const scimBody: ScimPatchOperation = {
schemas: ['urn:ietf:params:scim:api:messages:2.0:PatchOp'],
Operations: [
{ op: 'replace', path: 'name.familyName', value: 'newFamilyName' },
],
};
try {
patchBodyValidation(scimBody);
} catch (error) {
// Here if there are an error in you SCIM request.
}
This implements the PATCH of a SCIM object from a SCIM Query. You should create a valid SCIM resource by extending the ScimResource interface.
export interface ScimUser extends ScimResource {
schemas: ['urn:ietf:params:scim:schemas:core:2.0:User'];
userName: string;
name: {
familyName: string;
givenName: string;
};
active: boolean;
emails: Array<{
value: string;
primary: boolean;
}>;
roles?: Array<{
value: string;
type?: string;
}>;
meta: ScimMeta & { resourceType: 'User' };
}
After you have created your object you can patch it by calling the scimPatch operation.
const scimUser: ScimUser = {
schemas: ['urn:ietf:params:scim:schemas:core:2.0:User'],
userName: 'user1@test.com',
name: { familyName: 'user1', givenName: 'user2' },
active: true,
emails: [{ value: 'user1@test.com', primary: true }],
meta: { resourceType: 'User', created: new Date(), lastModified: new Date() },
};
const patch: ScimPatchOperation = { op: 'replace', value: { active: false } };
const patchedUser = scimPatch(scimUser, patch);
This particular operation will return :
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "user1@test.com",
"name": { "familyName": "user1", "givenName": "user2" },
"active": false,
"emails": [{ "value": "user1@test.com", "primary": true }],
"meta": {
"resourceType": "User",
"created": "2019-12-19T14:36:08.838Z",
"lastModified": "2019-12-19T14:36:08.838Z"
}
}
See the contributor's guide for some helpful tips.
FAQs
SCIM Patch operation (rfc7644).
The npm package scim-patch-with-remove receives a total of 1 weekly downloads. As such, scim-patch-with-remove popularity was classified as not popular.
We found that scim-patch-with-remove demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.