language-haskell
language-haskell copied to clipboard
package.json contains invalid entries
The file ./syntaxes/cabal.json
does not exist:
https://github.com/JustusAdam/language-haskell/blob/c71c5d06452ec63c525cd6de27a16689302af5c5/package.json#L139
The file syntaxes/literateHaskell.json
does not exist:
https://github.com/JustusAdam/language-haskell/blob/c71c5d06452ec63c525cd6de27a16689302af5c5/package.json#L154
Hmm, or are these generated as of:
https://github.com/JustusAdam/language-haskell/commit/1c5b9c453dca60a43403f76ebf914e431a9f8a98
I can understand why these files are generated, though on a personal note, it's a bit challenging because every other VS Code extension has these files vendored in, which makes them much easier to scrape from GitHub for things like https://github.com/bolinfest/monaco-tm.
Are you only scraping grammars from vscode? If so, wouldn't it make sense to scrape the marketplace directly instead of going through github? Presumably the marketplace files have a way more regular structure.
I could foresee issues with scraping the marketplace, as that has a more restrictive license which is why things like open-vsx exist, and projects like VSCodium use that instead now, since there is doubt about if even a fork can use the marketplace itself.
I.e. it has this in its Terms of Use:
You may not access, search, obtain or attempt to obtain any Offerings, materials, or information through any means other than Microsoft’s publicly supported interfaces (including, without limitation, through automated harvesting, ‘spidering’ or ‘scraping’ the Marketplace).
which may cause issues.
I bumped into this issue since I'm a member of an editor project that also consumes VSCode extensions and we haven't gotten the tasks API fully hooked up for the compile on install step, which causes issues here obviously. It seems somewhat odd to have every user compile the YML -> JSON, rather than have it as a one time step as part of the CI/Extension building then publishing, though I'm also very aware I could be missing a lot of context here! Obviously we also need to get the tasks API hooked up, but thought it was worth checking if there was a specific reason behind this.