
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
async-janitor
Advanced tools
Easily cancel callbacks for promises, timers, and observables ✨
Have you ever seen the following in your React app's logs?
Warning: Can't call setState (or forceUpdate) on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
Yeah it's pretty annoying. Here's a tool to help you mop up the mess.
$ npm install async-janitor
import Janitor from 'async-janitor';
class MyComponent extends React.Component {
janitor = new Janitor();
componentDidMount() {
// delay a task
this.janitor.setTimeout(this.timeoutCallback, 100);
// fetch some stuff
this.janitor.addPromise(fetchStuff())
.then(this.doStuff);
// add a subscription to a cool Rx.JS observable stream
this.janitor.addStream(coolStream)
.subscribe(this.doCoolThings);
// add a handler for the 'scroll' event on the document
this.janitor.addEventListener(document, 'scroll', this.handleScroll);
}
componentWillUnmount() {
// Clears timeouts, cancels promises, disposes subscriptions, unbinds event handlers
// that were created in componentDidMount()
this.janitor.cleanup();
}
}
$ npm install --only=dev
npm run clean
- Remove lib/
directorynpm test
- Run tests with linting and coverage results.npm test:only
- Run tests without linting or coverage.npm test:watch
- You can even re-run tests on file changes!npm test:prod
- Run tests with minified code.npm run test:examples
- Test written examples on pure JS for better understanding module usage.npm run lint
- Run ESlint with airbnb-confignpm run cover
- Get coverage report for your code.npm run build
- Babel will transpile ES6 => ES5 and minify the code.npm run prepublish
- Hook for npm. Do all the checks before publishing your module.MIT © StyleSeat
FAQs
Easy cleanup for asynchronous code
We found that async-janitor 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
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.