aspect-build / aspect-build/rules_js
[Bug]: pnpm lockfile occasional has improperly escaped urls
- Dominant language
- Starlark
- Stars
- 378
- Forks
- 183
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 32
Description
### What happened?
Some pnpm-lockfiles have been known to have invalid yaml causing `yq` to fail, for example:
```
resolution: {tarball: https://gitpkg.vercel.app/blockprotocol/blockprotocol/packages/%40blockprotocol/type-system-web?6526c0e}
```
Possible related or caused by https://github.com/pnpm/pnpm/issues/5414.
Previously [use_starlark_yaml_parser](https://github.com/aspect-build/rules_js/commit/b2bb3a21e5a6c805a61d791386a65c09a2167eb8#diff-7795ad316ff0fab08babd53a9c0e09495197000c3065064a93b03b606ca54e5dR497-R521) was provided to workaround such issues. This is removed in rules_js v2.
### Version
rules_js v2+
Contributor guide
Research direction
Reproduce the failure using the example pnpm lockfile URL and yq, then review rules_js v2 handling around the removed use_starlark_yaml_parser workaround and the referenced pnpm issue. Done means affected pnpm lockfiles parse as valid YAML with yq under rules_js v2 without that workaround.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, yaml
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100