Skip to content

chore(deps): Enable legacy-peer-deps, update @blockly/ plugins - #8366

Merged
cpcallen merged 3 commits into
RaspberryPiFoundation:developfrom
cpcallen:chore/deps-update
Jul 17, 2024
Merged

chore(deps): Enable legacy-peer-deps, update @blockly/ plugins#8366
cpcallen merged 3 commits into
RaspberryPiFoundation:developfrom
cpcallen:chore/deps-update

Conversation

@cpcallen

Copy link
Copy Markdown
Collaborator

The basics

The details

Resolves

Fixes CI failures in (and obsoletes) #8248.

Proposed Changes

  • Set legacy-peer-deps=true in .npmrc.
  • Add one peer dependency that had not been explicitly (dev)depended upon.
  • Upgrade @blockly/ plugin dev deps to @latest.

Reason for Changes

Enabling legacy-peer-deps:

  • Doesn't install a second, probably out-of-date copy of Blockly in node_modules/blockly/.
  • Prevents version conflicts when trying to update @blockly/* dev dependencies, beacuse npm doesn't seem to be clever enough to resolve peer dependency version conflicts for the blockly package when updating plugins (which have blockly as a peer), even if all plugins are updated at the same time.
  • Brings the configuration of the blockly repo in line with blockly-samples, for whatever that is worth. (Might avoid problems during monorepo migration.)

Upgrading @blockly/ plugin dev dependencies:

  • Stops dependabot from sending us PRs to update them one-at-a-time, which PRs fail CI due to npm ci failures due to version conflicts for the blockly peer dependency of those plugins.

Test Coverage

Passes npm test.

Add legacy-peer-deps=true to .npmrc:
- Doesn't install a second, probably out-of-date copy of Blockly
in node_modules/blockly/.
- Prevents version conflicts when trying to update @blockly/*
dev dependencies, beause npm doesn't seem to be clever enough
to resovle peer dependency version conflicts for the blockly
package when updating plugins (which have blockly as a peer),
even if all plugins are updated at the same time.
- Brings the configuration of the blockly repo in line with
blockly-samples, for whatever that is worth. (Might avoid
problems during monorepo migration.)
Achieved by running:
npm install --save-dev @blockly/theme-modern@latest @blockly/block-test@latest @blockly/dev-tools@latest
Our .eslintrc.js references th @typescript-eslint/parser plugin,
but this plugin was not actually included in the devDependencies
section in package.json.
@cpcallencpcallen added PR: dependencies Pull requests that update a dependency file PR: chore General chores (dependencies, typos, etc) labels Jul 15, 2024
@cpcallen
cpcallen requested a review from a team as a code ownerJuly 15, 2024 17:59
@cpcallen
cpcallen requested a review from tasheeJuly 15, 2024 17:59
@github-actionsgithub-actionsBot added PR: chore General chores (dependencies, typos, etc) and removed PR: chore General chores (dependencies, typos, etc) labels Jul 15, 2024
@cpcallen
cpcallen removed the request for review from tasheeJuly 15, 2024 18:05
@cpcallen
cpcallen merged commit 71f094b into RaspberryPiFoundation:developJul 17, 2024
@cpcallen
cpcallen deleted the chore/deps-update branch July 17, 2024 15:24
gonfunko pushed a commit to gonfunko/blockly that referenced this pull request Jul 18, 2024
…aspberryPiFoundation#8366)
* chore(deps): Enable npm legacy-peer-deps option
Add legacy-peer-deps=true to .npmrc:
- Doesn't install a second, probably out-of-date copy of Blockly
in node_modules/blockly/.
- Prevents version conflicts when trying to update @blockly/*
dev dependencies, beause npm doesn't seem to be clever enough
to resovle peer dependency version conflicts for the blockly
package when updating plugins (which have blockly as a peer),
even if all plugins are updated at the same time.
- Brings the configuration of the blockly repo in line with
blockly-samples, for whatever that is worth. (Might avoid
problems during monorepo migration.)
* chore(deps): Update @blockly plugins following v11 release
Achieved by running:
npm install --save-dev @blockly/theme-modern@latest @blockly/block-test@latest @blockly/dev-tools@latest
* chore(deps): Install missing @typescript-eslint/parser dev dependency
Our .eslintrc.js references th @typescript-eslint/parser plugin,
but this plugin was not actually included in the devDependencies
section in package.json.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: choreGeneral chores (dependencies, typos, etc)PR: dependenciesPull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@cpcallen@rachel-fenichel@tashee