Open wenkokke opened 2 years ago
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 package.json
? It would be simpler to use main
/ master
in package.json
, and then rely on yarn.lock
/ package-lock.json
to capture exact sha's. Would make bumping much easier; eg could even let Renovate bot lockfile maintenance handle it once we migrate this repo into Cursorless monorepo so that we get CI
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:
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.