#413 Bundling exception request for nodejs-shelljs
Closed: Fixed None Opened 5 years ago by jamielinux.

Review Request:
https://bugzilla.redhat.com/show_bug.cgi?id=1082341

There are two files within the shelljs software (cp.js and rm.js) that "adapts" some code from wrench.js.

Upstream shelljs project:
https://github.com/arturadib/shelljs

The original wrench.js:
http://jamielinux.fedorapeople.org/shelljs/wrench.js

== cp.js ==

This is cp.js from shelljs (in which the function "cpdirSyncRecursive" is adapted from wrench.js):
http://jamielinux.fedorapeople.org/shelljs/cp.js

And here is just the "copyDirSyncRecursive" function taken from wrench.js:
http://jamielinux.fedorapeople.org/shelljs/wrench-cp.js

Key differences include:
Logging
Parsing a "force" option
Removes options for preserving timestamp
Removes options for ignoring hidden files
Checks if destination file exists before copying
Although general flow/structure of the function is similar, the code has been refactored significantly enough to make a diff quite useless at comparing the two

== rm.js ==

This is rm.js from shelljs (in which the function "rmdirSyncRecursive" is adapted from wrench.js):
http://jamielinux.fedorapeople.org/shelljs/rm.js

And here is just the "rmdirSyncRecursive" function taken from wrench.js:
http://jamielinux.fedorapeople.org/shelljs/wrench-rm.js

Key differences include:
Logging
Parsing "force" and "recursive" options
Checks if the user has write permissions before deleting
Removes some difference in logic for running on Windows
* Although general flow/structure of the function is similar, the code has been refactored significantly enough to make a diff quite useless at comparing the two

== Comments ==

wrench.js is a much bigger project than just the two functions that shelljs adapts from it. The changes are significant enough that likely neither project are interested in the direction that the other is going, nor is it really feasible to "push" changes upstream as their goals and scope for these functions are different.


info Bundling request for files from wrench.js in shell.js granted on the basis that they're forks (+1:6, 0:0, -1:1)

Since these are forks you are free to use them without virtual provides.

Login to comment on this ticket.

Metadata