aspect-build / aspect-build/rules_js

[Bug]: pnpm lockfile occasional has improperly escaped urls

Open
#1,664 2 comments 0 reactions 0 assignees View on GitHub
blocked bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.