node-spawn-async
rimraf
node-spawn-async | rimraf | |
---|---|---|
1 | 16 | |
20 | 5,513 | |
- | - | |
10.0 | 6.5 | |
over 2 years ago | 12 days ago | |
JavaScript | TypeScript | |
MIT License | ISC License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
node-spawn-async
-
The Bun Shell
One thing that surprised me about Node was how slow the default way to shelling out (child_process) could be (probably https://github.com/nodejs/node/issues/14917).
Although according to the linked issue, it has been "fixed", I still ran into a problem during a batch script that was calling imagemagick through a shell for each file in a massive directory; profiling was telling me that starting (not completing) (yes, I was using the async version) the child process increasingly slows, from sub-millisecond for the first few spawns, to eventually hundreds of milliseconds or seconds... Eventually I had to resort to doing only single spawn a bash script that in turn did all the shelling out.
It seems that the linked execa still relies on child_process and therefore has the same issue. It saddens me to see the only package for node that appears to actually fix this and provide a workaround seems to be https://github.com/TritonDataCenter/node-spawn-async and unmaintained.
rimraf
-
The Bun Shell
And npmjs.com will block your IP if you do too many downloads in on day.
Actually is says 86m a week here: https://www.npmjs.com/package/rimraf
-
PURISTA: Build with rimraf, esbuild, Turbo & git-cliff
Huge thanks to Isaacs! Rimraf comes to the rescue, providing a reliable solution for deep, recursive removal of folders and files. At PURISTA, we rely on rimraf to maintain pristine build output directories.
-
Understanding package.json II: Scripts
Avoid platform-specific commands: Avoid using platform-specific commands in your scripts. Use cross-platform tools like Node.js or Bash to ensure that your scripts work on different platforms. For instance, if you want your npm script to remove a certain directory using the rm -rf command, this would work perfectly on a Linux or Mac machine but would error out on Windows. To avoid this, you can use a cross-platform package such as [rimraf](https://www.npmjs.com/package/rimraf).
-
Extended "run all specs" feature for Cypress 10
rimraf
-
The minimal setup to package and reuse your React components
Babel will overwrite but not delete any existing files or directories in the output directory. To be sure the lib folder doesn’t contain old files you can delete it before transpiling. To do this automatically you can install rimraf and add it to the transpile script like this:
-
4 reasons to avoid using `npm link`
Many packages on npm are designed to make changes to the file-system, such as rimraf or a code linter. In an accident, the consequences of running file-system altering code can be detrimental.
-
Help Deleting STONKING File Path (over 3000 char +) WS2016 File Server
Also, rimraf seems to be popular.
-
I Prefer Makefiles over Package.json Scripts
No, that's why there's a bunch of packages such as rimraf[0] that implements that sort of functionality in a cross-platform way that most people use in their scripts
[0]: https://www.npmjs.com/package/rimraf
-
TIFU by accidentally creating over 15 million files on my computer
Something that might work: rimraf. A small node script can churn through file deletion surprisingly fast on Windows. Used to use it to clear out npm packages directories at a greater than glacial pace.
-
Said it before, I'll say it again: Software Engineers are poets.
Um actually I use rimraf
What are some alternatives?
murex - A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)
del - Delete files and directories
zx - A tool for writing better scripts
fs-extra - Node.js: extra methods for the fs object like copy(), remove(), mkdirs()
mkdirp - Recursively mkdir, like `mkdir -p`, but in node.js
proper-lockfile - An inter-process and inter-machine lockfile utility that works on a local or network file system.
cross-env
chokidar - Minimal and efficient cross-platform file watching library
move-file - Move a file - Even works across devices
sander - Promise-based power tool for common filesystem tasks
globby - User-friendly glob matching
pkg-dir - Find the root directory of a Node.js project or npm package