feat(Build): modernize build and test tooling with Vite/Vitest & oxlint/oxfmt#3435
Conversation
65d7ab0 to
825c998
Compare
|
Good progress. I've drafted some additions to this PR: daker#1 I don't think this PR breaks anything, but I think we should make this a major version release due to its risk. We should squash these commit down before merging. |
|
@PaulHax left a comment on the PR |
|
@PaulHax FF test are failing due to no webgl context, i still believe that trace: "retain-on-failure" is needed, maybe it will make Firefox tests passes when Playwright is "watching" either by recording videos or traces. |
|
@PaulHax try : trace: 'retain-on-failure', |
|
@PaulHax FF tests failed again 😭 i am not sure if FF WebGL in headless mode is working https://bugzilla.mozilla.org/show_bug.cgi?id=1375585 |
|
I think we got the FireFox CI issue by getting the config plumming right so it gets a headed browser in 39f2b94 |
|
What is the question for me? |
9fe3b1f to
bec121f
Compare
|
The built bundle works in https://github.com/Kitware/VolView and https://github.com/kitware/itk-vtk-viewer. I think this is good to merge once we squash to 1 commit with |
|
@PaulHax i am AFK, feel free to do it i can approve on my phone. |
|
@PaulHax can you list the breaking changes? I could not guess what they were. Thx |
From 35.x to 36
|
bec121f to
dbddb1c
Compare
Replace the webpack + rollup build, Karma test harness, and ESLint + Prettier with Vite, Vitest browser mode, oxlint, and oxfmt. BREAKING CHANGE: build, test, and lint tooling overhauled. See BREAKING_CHANGES.md for migration notes. Co-authored-by: Paul Elliott <paul@vizworkshop.com>
BREAKING CHANGE: getStateArrayMapFunc has been removed from macros. It was a map callback that called getState() on vtkObject items and passed primitives through unchanged. Inline the equivalent where needed, e.g. arr.map((item) => (item && item.isA ? item.getState() : item)).
dbddb1c to
3a6f3f7
Compare
PaulHax
left a comment
There was a problem hiding this comment.
Good to merge!
I squashed the tool migration to 1 commit. I also put another small breaking change commit on top of this.
The vtk.js UMD bundle size is slightly smaller: 2.80 MB -> 2.53 MB; 701 KB -> 659 KB gzipped
|
🎉 This PR is included in version 36.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
|
@PaulHax thanks for landing this! |
|
@daker thanks for your work on it! |
Context
This PR completes a tooling migration from the legacy webpack/rollup + Karma/Tape setup to a unified Vite + Vitest stack. It updates local development, build output, test execution, and CI integration to run on the new toolchain.
Results
Changes
PR and Code Checklist
npm run reformatto have correctly formatted codeTesting