Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
exit_on_eof
Advanced tools
exit_on_eof
Helper script for Elixir/Phoenix projects using npm scripts
as a watcher instead of Brunch
npm install -g exit_on_eof
Elixir/Phoenix projects use Brunch by default for front-end workflows, but this can be modified to use
a simpler approach like npm scripts
as described here. A problem arises though
when killing/exiting the server. Phoenix sends an EOF signal through stdin
to the watch process
to indicate it should terminate. npm scripts
, like many commands, does not respond to EOF like SIGINT
so the node processes remain running.
This script helps deal with this issue by wrapping a user-given command in a parent process that is sensitive to both SIGINT and EOF.
To read more about this sensitivity to EOF as per Chris McCord, view this
(Both Webpack and Brunch were actively PR'd to allow for this behavior. This is a stop-gap until a more elegant solution presents.)
###Usage
In Phoenix project update config/dev.exs
:
config :{YOUR_PROJECT_NAME_ATOM}, {YOUR_PROJECT_NAME}.Endpoint
...
watchers: [exit_on_eof: ["npm run watch"]]
In your package.json
:
{
...
"scripts": {
...
"watch": some set of commands
...
},
...
}
When you start the server your command should run and when you stop the server the node processes that were spun up to manage the front-end build will also be killed.
FAQs
Run a command as a child process and exit process upon EOF (^D)
The npm package exit_on_eof receives a total of 123 weekly downloads. As such, exit_on_eof popularity was classified as not popular.
We found that exit_on_eof 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
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.