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

chore(deps): June 2024 bump #2342

Merged
merged 9 commits into from
Jul 24, 2024
Merged

chore(deps): June 2024 bump #2342

merged 9 commits into from
Jul 24, 2024

Conversation

Desplandis
Copy link
Contributor

@Desplandis Desplandis commented Jun 21, 2024

Description

Update all dependencies (when possible). A lot of dependencies now mandates node >= 18.0.0, shall we mark this as breaking changes?

Previous major bump in #2234

Peer dependencies

  • three (0.159.0 to 0.165.0): Removed WebGL1 (no issue for us).
  • proj4 (2.9.2 to 2.11.0): No breaking changes

Dependencies

Those are the packages with a new version available:

  • earcut: Distributes as ESM now.
  • @mapbox/mapbox-gl-style-spec (13.28.0): Still the same problems as chore(deps): December 2023 bump #2234. Will not update due to the fact this is the latest version with a FOSS license (ISC). This is a huge red-flag, shall we consider moving to @maplibre/maplibre-gl-style-spec @iTowns/reviewers?
  • @mapbox/vector-tile: Distributes as ESM now.
  • pbf: Distributes as ESM now.
  • shpjs (4.0.4 to 5.0.1): Distributes as ESM now. No issue since we already migrated to ESM.
  • @tweenjs/tween.js (18.6.4 to 23.1.2): Distributes as ESM now. A few breaking changes which does not impact us.

Developer dependencies

Those packages upgrades introduce no breaking change:

  • @babel/cli, @babel/core and the following plug-ins: @babel/plugin-transform-runtime and @babel/preset-env.
  • c8.
  • chart.js.
  • conventional-changelog-cli: Pure ESM package, issues with our CJS script.
  • core-js.
  • eslint and the following plug-in: eslint-plugin-import: cannot update to ESLint 9 since the plugin requires ESLint8.
  • https-proxy-agent.
  • jsdoc.
  • marked: unused, remove (added in fix(core): marked dependency is insecure version #612)
  • mocha: update cause deprecation notice of glob dependency.
  • node-fetch: Can update to 3.x.x since we are now a ESM only package. TypeError with fetcher.js test. Note that node 18 support natively the fetch API.
  • puppeteer.
  • replace-in-file.
  • sinon.
  • typescript.
  • webpack and the following plugin: webpack-dev-server and eslint-webpack-plugin.

@mgermerie
Copy link
Contributor

Thanks for the updates. Here are a few answers to the points you mention :

  • If we change the minimal node version supported, I think we should mark it as a breaking change.
  • I also agree we should look at what @maplibre/maplibre-gl-style-spec does and aim to use it instead of @mapbox.
  • Do you intend to fix issues with package you didn't update in this PR or should we do it in another PR and merge this one as is ?

@Desplandis
Copy link
Contributor Author

Desplandis commented Jun 24, 2024

Thanks @mgermerie for your review!

If we change the minimal node version supported, I think we should mark it as a breaking change.

Noted, I'll do it. Note that this does not impact downstream users (only developer of the itowns repo).

I also agree we should look at what @maplibre/maplibre-gl-style-spec does and aim to use it instead of @mapbox.

Shall I open an issue or shall we discuss this on our next dev meeting?

Do you intend to fix issues with package you didn't update in this PR or should we do it in another PR and merge this one as is ?

As you wish, I could fix them in this PR and not report the fixes in 2/3 years x)

Copy link
Contributor

@jailln jailln left a comment

Choose a reason for hiding this comment

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

Thanks!

  • Minimal node version: let's go so we can remove node-fetch. Also check that our CI is in node 18+
  • @maplibre/maplibre-gl-style-spec: I think we should open an issue for that

@Desplandis
Copy link
Contributor Author

  • Issue on mapbox-style-spec opened
  • Our CI is already at node > 18

Bump the following dependencies:
- babel (cli, core, plugin-transform-runtime, preset-env)
- c8
- chart.js
- core-js
- https-proxy-agent
- jsdoc
- puppeteer
- replace-in-file
- sinon
- typescript
- webpack (eslint-webpack-plugin, webpack-dev-server)
This release is now with ESM modules
@tweenjs/tween.js is now distributed as an ESM-only package
@mapbox/vector-tile is now distributed as an ESM only package
eartcut is now distributed as an ESM-only module
pbf is now distributed as an ESM-only module
@Desplandis Desplandis merged commit 544b4a7 into iTowns:master Jul 24, 2024
9 checks passed
@jailln jailln mentioned this pull request Sep 19, 2024
22 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants