-
-
Notifications
You must be signed in to change notification settings - Fork 37
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
Switch to exact versions for tree-sitter parsers #22
Comments
All sounds good! Well captured. One thought as well is that we may want to add a step in CI that runs cursorless test suite Alternately, we could fold parse tree into cursorless for purposes of CI testing, but then publish both extensions from CI deploy |
@wenkokke do we need to pin to sha's within |
If there’s no tags, then it’s probably for the best to have the option for consistency when updating lockfiles? |
@wenkokke sorry I'm not sure I understand. Could you possibly elaborate? |
The web versions of tree-sitter parsers are unfortunately quite brittle:
Flag for tree-sitter parse and test which use the generated wasm tree-sitter/tree-sitter#1565
Native and WASM parsers behave differently tree-sitter/tree-sitter-haskell#69
Compile to wasm with patch to web-tree-sitter (UPDATE) tree-sitter/tree-sitter-haskell#56 (comment)
As a consequence of these two factors, we cannot rely on semantic versioning for web-tree-sitter parsers, and we have to be quite conservative in what versions we allow.
For the short term, I propose that we limit each of the parsers to the exact version which is currently used by the
yarn.lock
file, be that in exact version number or a commit hash.For the longer term, I propose that we build a test suite which repeatedly loads up files from several major projects using these supported programming languages and check the generated parse trees to see if (1) they are free from errors, and (2) they correspond to our golden standard files (once we have those). We can then use this test suite to guide in version bumps.
The text was updated successfully, but these errors were encountered: