feat(ci): update build tooling
Updates the rollup version we use and introduces a separate build step in the CI so we test on the files that will also be published to npm. This also allows us to more easily update eslint in a future PR. It's a feat because there might be (very) minor changes to the build itself.
This incorporates part of the changes of #2401
Checklist
- [X] PR contains only changes related; no stray files, etc.
- [ ] README updated (where applicable)
- [ ] Tests written (where applicable)
- [ ] References provided in PR (where applicable)
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 100.00%. Comparing base (f2b5c17) to head (a661988).
:warning: Report is 1 commits behind head on master.
Additional details and impacted files
@@ Coverage Diff @@
## master #2629 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 114 114
Lines 2566 2566
Branches 651 651
=========================================
Hits 2566 2566
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
Because I want to validate that the regression of https://github.com/validatorjs/validator.js/issues/2630 does not happen here, I will put this in draft
I specified the target for compilation in a661988 (#2629) and manually validated that it does not introduce the same regression as #2630
@profnandaa if possible I want to include this in the next release as well, together with #2633
Thanks for your message!
I also have a few suggestions and topics I’d like to raise. Do you think I should open a dedicated discussion issue for tooling, or is there already an ongoing conversation somewhere that I could join?
There might be one, but that's probably quite old already so it would be good to open a new dedicated one.
- Import attributes and in particular
with { type: "json" }, aren’t supported in Node.js versions< 20.10.0. Since the Babel transpilation hook was removed from thebuild:browsercommand, this may break support for older Node.js versions.
I will double check, but I thought that wasn't the case because Babel is still used in the build-browser script, just as a require argument.
- Node.js 24 is now the current LTS, so we probably want to add it to the CI test matrix.
Agreed. I didn't want to add it here before but there's no reason not to. Will update it with Node 24