chore(ci): always bootstrap packages #26349
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull request checklist
Please check if your PR fulfills the following requirements:
ionic-docs
repo, in a separate PR. See the contributing guide for details.npm run build
) was run locally and any changes were pushednpm run lint
) has passed locally and any fixes were made for failuresPull request type
Please check the type of change your PR introduces:
What is the current behavior?
Dependency Packages Not Symlinked
Using
--scope
causes other dependency packages to not be symlinked. For example, using--scope @ionic/angular
will cause@ionic/core
to not be symlinked in the angular package. As a result, framework packages do not necessarily build with the latest API information available to them.This does not impact the contents of releases, but it does impact the ability to release a package if it tries to get a newer API from an older version of Ionic Core. I discovered this while trying to release a dev build of Ionic 7 where Angular tried to use a new interface that was not available in older versions of Ionic: https://github.com/ionic-team/ionic-framework/actions/runs/3527294227
Dependency Package Versions Not Changed
lerna version
made sure that versions for dependencies were also bumped. So if@ionic/angular
was bumped to7.0.0-foo
then its dependency of@ionic/core
was also bumped to7.0.0-foo
.npm version
does not do that for us.Additionally, dependency packages use
^
which means that developers on older versions of Ionic could potentially get newer dependency versions.Example
@ionic/angular
:6.3.8
In
@ionic/angular
's package.json, it has a dependency of@ionic/core: ^6.3.8
When Ionic Angular and Ionic Core 6.3.9 come out, if developers still on
@ionic/[email protected]
do a fresh install of their node modules, they will receive@ionic/[email protected]
but with@ionic/[email protected]
.This means that installing dev builds for a framework did not also install the dev build for @ionic/core.
What is the new behavior?
--include-dependencies
tolerna bootstrap
core
build as they pull from @ionic/core.npm version
in favor oflerna version
so dependency versions are updated.^
Does this introduce a breaking change?
Other information