Adjective-Object / good-fences-rs-core

9 stars 0 forks source link

Massive un-reviewable project restructuring #76

Closed Adjective-Object closed 1 month ago

Adjective-Object commented 1 month ago

This change decomposes the project from a single crate into a number of crates. The decomposition is not complete, but it's enough to extract unused_finder as a separate library from good_fences.

The motivation for this change is to allow debugging unused_finder with LLDB without linking against node. before this change, any code that referenced napi would require linking against node, which is difficult to implement in vscode's development tooling. Instead, this change restructures the code so that subsets of it can be compiled and executed without linking against node, for the sake of debugging that functionality.

In this case, unused_bin is introduced as a CLI entrypoint to unused_finder, used only for debugging it against a project. The launch configuration in .vscode/launch.json is set up to run unused_bin with against some on-disk --config-path argument, which is expected to be manually confiured by the user, or generated by project-specific build tooling.