#413 Bundling exception request for nodejs-shelljs
Closed: Fixed Opened 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.

Metadata