![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.
@firebase/util
Advanced tools
Package description
The @firebase/util package provides a collection of utility functions that are used across the Firebase JavaScript SDK. These utilities include tasks such as encoding and decoding, URL manipulation, and deep object merges. This package is mainly used internally by Firebase, but it can also be used directly to leverage some of its utility functions in your projects.
Encoding and Decoding Base64
This feature allows you to encode and decode strings to and from Base64. It's useful for encoding data that needs to be safely transmitted over a network.
"use strict";
const { base64Encode, base64Decode } = require('@firebase/util');
const encoded = base64Encode('Firebase');
console.log(encoded); // Output: RmlyZWJhc2U=
const decoded = base64Decode(encoded);
console.log(decoded); // Output: Firebase
Deep Merge Objects
This feature provides functions to deeply copy and merge JavaScript objects. It's particularly useful when you need to combine settings or configurations.
"use strict";
const { deepCopy, deepExtend } = require('@firebase/util');
const obj1 = { a: 1, b: { c: 2 } };
const obj2 = { b: { d: 3 }, e: 4 };
const merged = deepExtend(obj1, obj2);
console.log(merged); // Output: { a: 1, b: { c: 2, d: 3 }, e: 4 }
URL Manipulation
This feature allows you to easily construct query strings from objects, which is useful for creating URLs with parameters.
"use strict";
const { querystring } = require('@firebase/util');
const queryString = querystring({ a: 1, b: 'Firebase' });
console.log(queryString); // Output: ?a=1&b=Firebase
Lodash is a comprehensive utility library offering a wide range of functions for tasks such as manipulating objects, arrays, strings, etc. While @firebase/util focuses on utilities needed for Firebase development, lodash provides a broader set of utilities that can be used in a wide range of JavaScript applications.
The qs package is used for query string parsing and stringifying with nested objects support. It offers similar URL manipulation capabilities as @firebase/util but is more focused and comprehensive in handling query strings.
Readme
NOTE: This is specifically tailored for Firebase JS SDK usage, if you are not a member of the Firebase team, please avoid using this package
This is a wrapper of some Webchannel Features for the Firebase JS SDK.
ES Modules
import { Deferred } from '@firebase/util';
// Do stuff with Deferred or any of the other Utils you import
CommonJS Modules
const utils = require('@firebase/util');
// Do stuff with any of the re-exported `utils`
FAQs
Unknown package
The npm package @firebase/util receives a total of 3,091,736 weekly downloads. As such, @firebase/util popularity was classified as popular.
We found that @firebase/util 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.