npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

npm-start-container

v1.6.0

Published

'npm start' written in bash that propagates kill to subprocesses

Downloads

6

Readme

npm-start-container

npm start written in bash that propagates kill to subprocesses

npm install npm-start-container -g

Usage

Usage is exactly the same as npm start

$ cd some-folder-with-a-package-json
$ npm-start-container

The difference is that when it receives SIGTERM it will kill all subprocesses as well (which npm start doesn't do) and wait for them to exit

$ kill pid-of-npm-start-container # this will actually kill the node process

Also memory usage for long running processes might be a bit lower since you do not need to spawn an additional node process to start npm

Details

npm start doesn't currently send signals to it's subprocesses. An issue was created but the decision was to not change the behavior.

This script intends to maintain similar functionality with bash. In addition to propagating KILL signals to subprocesses and passing Docker's memory limits to node, facilitating correct node garbage collection and memory constraints.

max_old_space_size is a memory management flag in V8 The amount for V8 and buffer memory is reserved separately as buffers exist outside of the v8 heap.

The assigned memory value is determined from Docker's control group (/sys/fs/cgroup/memory/memory.limit_in_bytes) and the flags are defined by a percentage of the memory available. See the below table for example values:

Assigned  File/Buffer  Max
Memory    Memory       old_space
100%      12.5%        87.5%
128       16           112
256       32           224
384       48           336
512       64           448
640       80           560
768       96           672
896       112          784
1024      128          896
1152      144          1008
1280      160          1120
1408      176          1232
1536      192          1344
1664      208          1456
1792      224          1568
1920      240          1680
2048      256          1792

License

MIT