Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
eslint-plugin-no-constructor-bind
Advanced tools
Prefer class arrow methods to binding in the constructor
Prefer class properties to equivalent setup steps taken in a class' constructor method.
// Bad:
class User {
constructor() {
this.greet = this.greet.bind(this)
}
greet() { return 'Hello' }
}
// Good:
class User {
greet = () => 'hello'
}
Use no-constructor-bind
to eliminate bound functions in your constructor.
Use no-constructor-state
to eliminate initial state setting in your constructor.
Doing this, most likely you'll be able to use ESLint's builtin no-useless-constructor
to remove many constructors in your app.
You'll first need to install ESLint:
$ npm i eslint --save-dev
Next, install eslint-plugin-no-constructor-bind
:
$ npm install eslint-plugin-no-constructor-bind --save-dev
Note: If you installed ESLint globally (using the -g
flag) then you must also install eslint-plugin-no-constructor-bind
globally.
Add no-constructor-bind
to the plugins section of your .eslintrc
configuration file. You can omit the eslint-plugin-
prefix:
{
"plugins": ["no-constructor-bind"]
}
Then configure the rules you want to use under the rules section.
{
"rules": {
"no-constructor-bind/no-constructor-bind": "error",
"no-constructor-bind/no-constructor-state": "error"
}
}
FAQs
Prefer class arrow methods to binding in the constructor
The npm package eslint-plugin-no-constructor-bind receives a total of 10,043 weekly downloads. As such, eslint-plugin-no-constructor-bind popularity was classified as popular.
We found that eslint-plugin-no-constructor-bind 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.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.