-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nodegit should be an optional peer dependency #105
Comments
Should we consider migrating to wasm-git instead? |
@Adjective-Object @smikula if switching to |
@smikula: do you know if there's any progress on this? We would love to use good-fences, but the node-git issues are causing issues installing on our Github CI and keeping us from using good-fences. |
@Adjective-Object, is this something that would be easy to take care of? I know we're not really using this version of @tianhuil, if you aren't aware, we've reimplemented good-fences in rust for a much faster experience. You might find that moving to that solves your problem and gets better performance. |
Thank you @smikula! Should you put a warning on the |
@smikula I second that, I was not aware there's a reimplementation also distributed via npm, so looks like an easy replacement . Are you going to add support in the new version for blacklisting, ie. listing dependencies that module is not allowed to use? That would be very useful for cases where we want to prevent people from importing certain code we do not want them to rely on. |
## Description Make good-fences a dev dep in examples/external-data since its only use by package scripts. Replace nodegit with an empty package since we only depend on it via good-fences, and we do not require that part of its feature set. This works around good-fences not making it an optional dep ( smikula/good-fences#105 ). https://github.com/Adjective-Object/good-fences-rs-core was also tried, but our use cases are impacted by Adjective-Object/good-fences-rs-core#46 so it does not work for us. This results in many deps becoming dev only, and many being removed. `nodegit` is particularly nice to remove since its a native module has issues rebuilding when nodejs is updated.
The
See microsoft/FluidFramework#15572 . Credit due to @CraigMacomber |
Any updates on this? |
When nodegit fails to install (e.g. on node 16+ on a system without the dependencies for libgit2), requiring good-fences at all fails with this require stack:
This is because we import nodegit even when it is not being used.
We can work around this by making it an optional dependency and importing the module only when partial diff functionality is actually used (e.g. runtime
require()
)The text was updated successfully, but these errors were encountered: