Improvements
Shim#require will now operate as expected.
Previously, the module interception code made the faulty assumption that a module's filepath would be resolved before the module load call was invoked. This caused the wrap filepath to be attributed to the modules being instrumented. This meant that attempted relative require calls using Shim#require would resolved from the incorrect path. The logic has been changed to keep a stack of the resolved filepaths, resolving the issue.
Shim#wrapReturn now uses ES6 proxies to wrap its methods.
This will accurately propagate look up and assignment onto the underlying wrapped function, while maintaining all previous functionality.
Updated versioned test configurations to reflect current engine support.
Moved third party notices to
THIRD_PARTY_NOTICES.md
Updates error message for license check to indicate all places that need to be updated.