WIP: build: migrate to wasm-based build and add smoke tests #41
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WHAT
WHY DROP THE NODE-GYP BUILD?
EDIT: Actually I may have done goofed here - it seems like there IS an ongoing effort: tree-sitter/node-tree-sitter#258
I also linked to the wrong issues below. I'll fix this + watch the situation with the tree-sitter-node situation and revert to the dual gyp/wasm builds if the above PR gets accepted.
The
tree-sitterpackage doesn't support grammars built with tree-sitter >= 0.25 and is no longer being updated to support recent ABI changes.The upstream maintainers have effectively deprecated native bindings in favor of WebAssembly builds (web-tree-sitter), which are portable, easier to distribute, and doesn’t require native compilation or prebuild infrastructure.
As of Tree-sitter 0.25, grammars generated by the official CLI are ABI-incompatible with the older Node C API used by node-tree-sitter a k a
tree-sittertree-sitter/tree-sitter #2395 – Node bindings not compatible with 0.25 grammars
tree-sitter/tree-sitter #2511 – Node bindings maintenance and future plans
I initially fiddled with separate builds and packages,
tree-sitter-cmake-wasmandtree-sitter-cmake-gypbut abandoned this as there is notree-sitterrelease capable of loading the native grammar, rendering a gyp build effectively useless.WHAT'S NOT INCLUDED?