microsoft / microsoft/beachball
Weird behavior with `lerna link convert`
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 815
- Forks
- 93
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 12
Description
We tried using the lerna link convert command, which apparently puts links in the root (workspace) package.json:
{
"name": "root",
"private": true,
"devDependencies": {
...
},
"workspaces": [
"src/*"
],
"dependencies": {
"@scope/pkg-a": "file:src/pkg-a",
"@scope/pkg-b": "file:src/pkg-b"
}
}
When beachball publish runs, it adds a changelog entry for the root package:
{
"name": "root",
"entries": [
{
"date": "Fri, 25 Jun 2021 14:04:42 GMT",
"tag": "root_vundefined",
"comments": {
"none": [
{
"comment": "Bump root to vundefined",
"author": "...",
"commit": "...",
"package": "root"
}
]
}
}
]
}
Just FYI if others may encounter the same issue. We removed the root deps on the monorepo packages (the file: links). I don't know much about lerna link convert, but ideally beachball would detect this configuration and ignore the root package?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how beachball publish discovers packages and creates changelog entries when the workspace root has file: links to monorepo packages. Reproduce the configuration from the issue, then verify that publishing no longer creates a root entry with an undefined version while normal package changelogs still work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- release, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100