Skip to content

build(deps): update package.json to lerna@8#11503

Merged
michaelfig merged 8 commits intomasterfrom
mfig-npm-publish
Jul 23, 2025
Merged

build(deps): update package.json to lerna@8#11503
michaelfig merged 8 commits intomasterfrom
mfig-npm-publish

Conversation

@michaelfig
Copy link
Member

@michaelfig michaelfig commented Jun 17, 2025

closes: #11598

Description

Update our version of Lerna.

Security Considerations

Same considerations as any package version upgrade.

Scaling Considerations

Only used during CI and NPM release process.

Documentation Considerations

n/a

Testing Considerations

n/a

Upgrade Considerations

Maintainer use only.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jun 17, 2025

Deploying agoric-sdk with  Cloudflare Pages  Cloudflare Pages

Latest commit: e5dbd25
Status: ✅  Deploy successful!
Preview URL: https://f969aaf7.agoric-sdk.pages.dev
Branch Preview URL: https://mfig-npm-publish.agoric-sdk.pages.dev

View logs

This version of Lerna is necessary to replace `"workspace:*"`
version specifiers with the actual version numbers of the
dependencies when `lerna publish` is used.

Without this change, the published NPM packages are unusable.
@michaelfig michaelfig added tooling repo-wide infrastructure hygiene Tidying up around the house force:integration Force integration tests to run on PR labels Jul 22, 2025
@michaelfig michaelfig marked this pull request as ready for review July 23, 2025 02:26
@michaelfig michaelfig requested a review from a team as a code owner July 23, 2025 02:26
@michaelfig michaelfig requested a review from AgoricTriage July 23, 2025 02:26
Comment on lines +56 to +59
"moddable/modules/data/**",
"moddable/xs/includes/**",
"moddable/xs/makefiles/**",
"moddable/xs/sources/**",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting. This is apropos of Lerna? Npm pack was forgiving.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, when testing the viability of the packages, I noticed the missing files from these subtrees. I think this was fixed a few times by other PRs that never merged.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we had some tool / script somewhere allowing us to check if there were any differences in files included in an npm package. I'm really curious why this would now have changed.

const { stdout: npmout } = await $`npm pack --json`;
const [{ filename }] = JSON.parse(npmout);
const filename = join(tmp, 'package.tgz');
await $`yarn pack --out ${filename}`;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, because yarn will account for the workspace protocol and npm will not. Thanks. Also nice that we can specify and don’t have to parse out the filename.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@michaelfig michaelfig added the automerge:no-update (expert!) Automatically merge without updates label Jul 23, 2025
mergify bot added a commit that referenced this pull request Jul 23, 2025
@mergify
Copy link
Contributor

mergify bot commented Jul 23, 2025

This pull request has been removed from the queue for the following reason: checks failed.

The merge conditions cannot be satisfied due to failing checks:

You can check the last failing draft PR here: #11648.

You may have to fix your CI before adding the pull request to the queue again.
If you update this pull request, to fix the CI, it will automatically be requeued once the queue conditions match again.
If you think this was a flaky issue instead, you can requeue the pull request, without updating it, by posting a @mergifyio requeue comment.

@michaelfig michaelfig removed the force:integration Force integration tests to run on PR label Jul 23, 2025
Looks like `lint-primary` is suffering from timeouts, probably
due to excessive work being done by `tsc`.
mergify bot added a commit that referenced this pull request Jul 23, 2025
@mergify
Copy link
Contributor

mergify bot commented Jul 23, 2025

This pull request has been removed from the queue for the following reason: checks failed.

The merge conditions cannot be satisfied due to failing checks:

You can check the last failing draft PR here: #11650.

You may have to fix your CI before adding the pull request to the queue again.
If you update this pull request, to fix the CI, it will automatically be requeued once the queue conditions match again.
If you think this was a flaky issue instead, you can requeue the pull request, without updating it, by posting a @mergifyio requeue comment.

@kriskowal
Copy link
Member

@Mergifyio requeue

@mergify
Copy link
Contributor

mergify bot commented Jul 23, 2025

requeue

✅ The queue state of this pull request has been cleaned. It can be re-embarked automatically

mergify bot added a commit that referenced this pull request Jul 23, 2025
@mergify
Copy link
Contributor

mergify bot commented Jul 23, 2025

This pull request has been removed from the queue for the following reason: checks failed.

The merge conditions cannot be satisfied due to failing checks:

You can check the last failing draft PR here: #11652.

You may have to fix your CI before adding the pull request to the queue again.
If you update this pull request, to fix the CI, it will automatically be requeued once the queue conditions match again.
If you think this was a flaky issue instead, you can requeue the pull request, without updating it, by posting a @mergifyio requeue comment.

@michaelfig michaelfig merged commit 25728ab into master Jul 23, 2025
121 of 136 checks passed
@michaelfig michaelfig deleted the mfig-npm-publish branch July 23, 2025 22:44
@turadg turadg mentioned this pull request Jul 24, 2025
Copy link
Member

@mhofman mhofman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have verified that the newly published dev versions correctly rewrite the workspace: dependencies.

Comment on lines +56 to +59
"moddable/modules/data/**",
"moddable/xs/includes/**",
"moddable/xs/makefiles/**",
"moddable/xs/sources/**",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we had some tool / script somewhere allowing us to check if there were any differences in files included in an npm package. I'm really curious why this would now have changed.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the behavior of the new lerna regarding pre-releases? We are using pre-releases tags currently both for dev packages and for our "release" versions.

Copy link
Member

@kriskowal kriskowal Jul 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do have a test that verifies that npm pack works. That test switched to using yarn pack in this change, which probably accounts for the difference in requirements. Presumably, lerna drives yarn pack.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think what pack command we uses changes anything to my question, which was specifically how lerna generated the new version depending on whether it was a pre-release or not. Seeing #11655, in lerna 8, the semantics of bumping version for 0.x were dependent on whether it was a pre-release or not, which seems misguided.

michaelfig added a commit that referenced this pull request Jul 25, 2025
refs: #11503, #11664

## Description

Solve abysmal [perf issues on macOS
(#11664)](#11664) found in
`lerna-8` by using `@lerna-lite` instead. Also, apply the patch as
described in
[comments](https://github.com/Agoric/agoric-sdk/pull/11503/files#r2227087619)
after the [lerna-8 upgrade PR
#11503](#11503) landed.

### Security Considerations
CI and release management only.

### Scaling Considerations
n/a

### Documentation Considerations
n/a

### Testing Considerations
CI

### Upgrade Considerations
Relying on a more maintained package.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automerge:no-update (expert!) Automatically merge without updates hygiene Tidying up around the house tooling repo-wide infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

NPM packages broken since adopting workspace protocol

4 participants