validator.js icon indicating copy to clipboard operation
validator.js copied to clipboard

feat(ci): update build tooling

Open WikiRik opened this issue 5 months ago • 4 comments

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)

WikiRik avatar Nov 09 '25 10:11 WikiRik

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.

codecov[bot] avatar Nov 09 '25 10:11 codecov[bot]

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

WikiRik avatar Nov 09 '25 21:11 WikiRik

I specified the target for compilation in a661988 (#2629) and manually validated that it does not introduce the same regression as #2630

WikiRik avatar Nov 10 '25 22:11 WikiRik

@profnandaa if possible I want to include this in the next release as well, together with #2633

WikiRik avatar Nov 21 '25 20:11 WikiRik

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 the build:browser command, 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

WikiRik avatar Dec 17 '25 13:12 WikiRik