Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@transferwise/eslint-config
Advanced tools
This is an extensible ESLint config used at Wise :money_with_wings:
It uses Create React App's as a base, has Prettier baked in, and overrides some rules we've seen ourselves having to change often :heart:
We also use the Rush Stack ESLint patch so that consumers don't need to install this config's ESLint dependencies as peer dependencies - as used by eslint-config-next
and eslint-config-react-app
.
yarn add eslint @transferwise/eslint-config -D
You will also need jest
and typescript
installed, even if you aren't using them.
@transferwise
.eslintrc.js
module.exports = {
extends: '@transferwise',
};
Your own config can extend and override it however you want. If you find yourself changing a certain rule often, consider contributing.
For the best developer experience, all of the following are recommended.
package.json
scriptsExample:
"lint": "eslint '**/*.{ts,tsx,js,jsx}' --ignore-path .gitignore",
"lint:fix": "yarn lint --fix"
VS Code
settings.json
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
]
yarn add --dev lint-staged husky
npm set-script prepare "husky install"
npm run prepare
npx husky add .husky/pre-commit "yarn lint-staged"
package.json
"lint-staged": {
"*.{ts,tsx,js,jsx}": [
"yarn lint:fix"
]
},
The ESLint config already auto-formats JS files based on Prettier rules, so you only need this when your editor does not support ESLint auto-fixing or you want to use Prettier with file types other than JS.
To use the configuration, add the following line to your package.json
:
package.json
"prettier": "@transferwise/eslint-config/.prettierrc.js"
Read more about shared configs here, especially if you need to extend/override the default configuration.
If you think a rule should be added or changed, create a pull request. The change will be discussed, and if people agree, it can be merged. Every merge automatically releases to GitHub and npm.
Bear in mind that you'll need to bump the version in package.json
(major for breaking rules, minor for additions, patch for bugfixes) and add a CHANGELOG.md
entry.
FAQs
TransferWise ESLint & Prettier configuration
We found that @transferwise/eslint-config demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 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 uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.