![Malicious npm Package Typosquats react-login-page to Deploy Keylogger](https://cdn.sanity.io/images/cgdhsj6q/production/007b21d9cf9e03ae0bb3f577d1bd59b9d715645a-1024x1024.webp?w=400&fit=max&auto=format)
Research
Security News
Malicious npm Package Typosquats react-login-page to Deploy Keylogger
Socket researchers unpack a typosquatting package with malicious code that logs keystrokes and exfiltrates sensitive data to a remote server.
@babel/helper-wrap-function
Advanced tools
Package description
The @babel/helper-wrap-function package is a utility within the Babel ecosystem designed to assist in wrapping functions. This package is particularly useful when transforming code during the build process, allowing developers to modify function behavior or inject additional functionality seamlessly.
Function Wrapping
This feature allows developers to wrap any given function with additional behavior. In the provided code sample, the original function is wrapped to include a console log statement that outputs the arguments with which the function is called.
import wrapFunction from '@babel/helper-wrap-function';
const myFunction = function (a, b) {
return a + b;
};
const wrappedFunction = wrapFunction(myFunction, function (fn, args, context) {
console.log('Function is called with arguments:', args);
return fn.apply(context, args);
});
wrappedFunction(1, 2);
Lodash provides a utility method 'wrap' which serves a similar purpose to @babel/helper-wrap-function. It allows you to wrap a function with a custom wrapper, enabling you to modify arguments, outputs, or behavior. Compared to @babel/helper-wrap-function, lodash.wrap is part of a larger utility library and may be preferred for projects that already use Lodash for other utilities.
The core-decorators package offers a variety of decorators for class properties and methods. While not a direct analog to function wrapping, decorators can be used to achieve similar outcomes in terms of modifying or enhancing function behavior. This package is more suited for use with ES6 classes and may offer a more declarative approach compared to @babel/helper-wrap-function.
Readme
This helper wraps a function within a call expression. It works with any function: statements, expressions and methods; both named and anonymous.
In
(function () {
}());
Out
_wrapper(function () {
})();
import wrapFunction from "@babel/helper-wrap-function";
wrapFunction(nodePathOfTheFunction, nodeWhichReferencesToTheWrapper);
FAQs
Unknown package
We found that @babel/helper-wrap-function demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 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.
Research
Security News
Socket researchers unpack a typosquatting package with malicious code that logs keystrokes and exfiltrates sensitive data to a remote server.
Security News
The JavaScript community has launched the e18e initiative to improve ecosystem performance by cleaning up dependency trees, speeding up critical parts of the ecosystem, and documenting lighter alternatives to established tools.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.