Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds yarn package resolution to build #6938

Merged
merged 2 commits into from Aug 2, 2019

Conversation

jasongrout
Copy link
Contributor

References

Supersedes #6937

Code changes

One issue we see with alpha releases is that if we install an extension which does not explicitly target the alpha release, we end up with duplicate core packages. For example, installing ipywidgets for the last stable release (with dependency on say services ^4) into an alpha release (which has services 4.1-alpha0), we'll end up with two services versions, since the semver semantics says that 4.1-alpha0 does not satisfy ^4. This means that, even if ipywidgets requires no changes to work in jlab 1.1 (services 4.1), I still have to explicitly change the dependency to be able to install and test into an alpha release.

This actually is an issue with actual releases too - cleaning and building a new JLab can bump the minor version of a js package without the user being aware (if for example an addon requires an updated minor version).

Instead, this forces the yarn resolution to be the versions of the js packages shipped with the release (up to patch releases - we're making the concession here that automatic js patch release upgrades are fine).

We can decide to change these resolutions before the final 1.1 release. But at least for alpha releases, this allows an extension developer to install the current extension to test.

Backwards-incompatible changes

@jupyterlab-dev-mode
Copy link

Thanks for making a pull request to JupyterLab!

To try out this branch on binder, follow this link: Binder

@jasongrout jasongrout requested review from blink1073 and afshin and removed request for afshin August 2, 2019 20:43
@jasongrout jasongrout added this to the 1.1 milestone Aug 2, 2019
Copy link
Member

@blink1073 blink1073 left a comment

Choose a reason for hiding this comment

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

👍🏼

@blink1073 blink1073 merged commit 73fef64 into jupyterlab:master Aug 2, 2019
@blink1073
Copy link
Member

@meeseeksdev backport to 1.0.x

@lumberbot-app
Copy link

lumberbot-app bot commented Aug 16, 2019

Owee, I'm MrMeeseeks, Look at me.

There seem to be a conflict, please backport manually. Here are approximate instructions:

  1. Checkout backport branch and update it.
$ git checkout 1.0.x
$ git pull
  1. Cherry pick the first parent branch of the this PR on top of the older branch:
$ git cherry-pick -m1 73fef64544380aa2c8661819d12b2fe8b69b4b91
  1. You will likely have some merge/cherry-pick conflict here, fix them and commit:
$ git commit -am 'Backport PR #6938: Adds yarn package resolution to build'
  1. Push to a named branch :
git push YOURFORK 1.0.x:auto-backport-of-pr-6938-on-1.0.x
  1. Create a PR against branch 1.0.x, I would have named this PR:

"Backport PR #6938 on branch 1.0.x"

And apply the correct labels and milestones.

Congratulation you did some good work ! Hopefully your backport PR will be tested by the continuous integration and merged soon!

If these instruction are inaccurate, feel free to suggest an improvement.

@lock lock bot added the status:resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion. label Sep 15, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Sep 15, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status:resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion. tag:Build System
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants