Update vega related modules (main)
This PR contains the following updates:
| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| vega | dependencies | minor | ^5.24.0 -> ^5.30.0 |
|
| vega-lite (source) | dependencies | minor | ^5.5.0 -> ^5.20.1 |
5.21.0 |
| vega-tooltip | dependencies | minor | ^0.28.0 -> ^0.34.0 |
Release Notes
vega/vega (vega)
v5.30.0
Changes since v5.29.0
vega-functions
- make default vega format null as "null" (via #3926). (Thanks @kanitw & @domoritz )!
docs
- Add 4 new examples (via #3851). (Thanks @avatorl & @domoritz!)
monorepo
- Deploy editor preview (via #3925, #3931). (Thanks @hydrosquall!)
- Bump all
vega-*deps in topological order to eliminate version mismatches within the monorepo (via #3932). (Thanks @lsh!)
v5.29.0
docs
- remove Google Analytics. (via #3894) (Thanks @domoritz!)
monorepo
- switch to ESLint flat config file. (via #3920) (Thanks @lsh!)
- update node versions in ci. (via #3915) (Thanks @domoritz!)
vega-encode
vega-scale
- Add observable10 palette. (via #3843) (Thanks @mcnuttandrew!)
- Respect tickMinStep for binned scale. (via #3904) (Thanks @alexxu-db!)
vega-scenegraph
- Revert TooltipHideEvent to MouseOutEvent to fix events on mobile. (via #3909) (Thanks @kadamwhite!)
vega-typings
- Add observable10 palette. (via #3843) (Thanks @mcnuttandrew!)
vega-view
- turn off all handlers in View.finalize() to fix memory leak. (via #3896) (Thanks @cmerrick!)
v5.28.0
changes from v5.27.0
docs
- addition of the serpentine timeline example (via #3858). (Thanks @Giammaria!)
- update to the zoomable circle packing example (via #3857). (Thanks @Giammaria and @domoritz!)
- update vega datasets (via #3863). (Thanks @domoritz!)
vega-parser
vega-scenegraph
vega-typings
- add missing
aggregate_paramsto window transform type (#3874). (Thanks @julieg18!) - bump typings to 1.2 (Thanks @domoritz!)
v5.27.0
changes from v5.26.1:
docs
- Addition of an example: Zoomable Circle Packing (via #3841 and #3842). (Thanks @Giammaria!)
monorepo
- add
codeownersfile. (Thanks @domoritz!) - replace indexOf with equivalent includes and startsWith (via #3845). (Thanks @domoritz!)
vega-scenegraph
vega-transforms
- fix
sum([invalid]) -> undefined(via #3849). (Thanks @nicolaskruchten!) - fix: correct aggregate params types (via #3846). (Thanks @domoritz!)
vega-typings
- Add experimental 'hybrid' renderer to vega-typings (via #3847). (Thanks @jonmmease!)
vega-view
v5.26.1
Changes from v5.26.1:
vega-scenegraph
- Fix CanvasHandler to emit mouse over/move/out events. (#3825)
vega-typings
- Expose aggregate parameters in typings. (thanks @Xitian9)
v5.26.0
Changes from v5.25.0:
vega-functions
- Add geoScale expression function. (thanks @binste)
vega-scale
- Fix tickMinStep calculation. (thanks @kanitw)
vega-scenegraph
- Add experimental hybrid canvas/SVG renderer (thanks @jonmmease)
- Fall back to textMetrics.width for user defined width function (thanks @jonmmease)
vega-selections
- Fix null handling in vlSelectionTest (thanks @arvind, @jonmmease)
vega-transforms
- Add aggregate parameters to vega-transform, and exponential moving average. (thanks @Xitian9)
vega-typings
- Bump typings to a 1.0 release. (thanks @domoritz)
vega-voronoi
- Fix reference for voronoi path point. (thanks @suchanlee)
v5.25.0
Changes from v5.24.0:
monorepo
- Fix browser lists for IE support. (thanks @domoritz!)
- Update dependencies.
vega-cli
- Add
ppiresolution parameter for PNG output. (thanks @davidanthoff!) - Return error code on failure. (thanks @davidanthoff!)
vega-expression
- Add
hypotfunction. (thanks @domoritz!)
vega-functions
- Update to use
hypot.
vega-regression
- Allow zero-valued order for polynomial regression.
vega-statistics
- Add constant regression method.
vega-transforms
- Use robust (null proto) object for aggregate cell map. (#3695)
vega-util
- Fix consecutive escapes in
splitAccessPath#3724 (thanks @suchanlee!)
vega/vega-lite (vega-lite)
v5.20.1
Bug Fixes
v5.20.0
Bug Fixes
- for issue when there are multiple aggregates with the same data field and aggregation operation (#9320) (da84469), closes #6184
- make tick size responsive to plot height (#9395) (3f5dce6)
Features
- Expose
reactoption for params (#9374) (93d92ef), closes /github.com/vega/altair/pull/3394#issuecomment-2140320905
v5.19.0
Bug Fixes
- #3488: don't use zero as min for size scale by default so no points will be ever hidden (#9347) (7db657a), closes #3488 #3488
- #9343: binned stacked area now correctly filter null values (#9344) (7cd3829), closes #9343
- fix typo in time unit 'utcweekdayhours' (b32c73c)
- use array for single item valueRefs in conditional if test exists (#9361) (64201d6), closes /github.com/vega/vega-lite/pull/9342/files#diff-f26cb911cd80159bbd659afb430b97fa7227afb4cc15e43565f2ca74c3361d22R64
Features
- more options and examples for how marks and scales represent invalid data (e.g., nulls, NaNs) (#9342) (502db1d), closes #8254
5.18.1 (2024-05-07)
Bug Fixes
- Allow non-linear scale for stacked bars (#9315) (716fe73)
- correctly place unfiltered null values for line (#9326) (#9334) (b617c84)
- extent name collision in transforms (#9312) (8b3b30b)
v5.18.1
Bug Fixes
- Allow non-linear scale for stacked bars (#9315) (716fe73)
- correctly place unfiltered null values for line (#9326) (#9334) (b617c84)
- extent name collision in transforms (#9312) (8b3b30b)
v5.18.0
Bug Fixes
- #8338,#8126: make boxplot work with single value per group (#8339) (4e55836), closes #8338 #8126 #8338 #8126
- describe how to set a custom scheme by setting the range, reverts #9262 (#9266) (e6af641), closes #9022
- generate unescaped boxplot calculated field aliases (#9284) (44fbceb)
Features
- add explicit option to control how densities are resolved, change how densities are resolved by default (#9172) (bf0b8d3)
v5.17.0
Bug Fixes
- add markDef.tooltip for interactive check (#9237) (3891832), closes #9190 /github.com/vega/vega-lite/blob/ffec017f638103c37d0dbe72cac7d44f4f44b9d6/src/compile/mark/mark.ts#L377-L381
- duplicate sorting in stack (#9213) (3e35dc2), closes #8033
- fix typo in time unit 'weekdayhours' (#9206) (12788a5)
- mark sequential scales as deprecated (#9212) (93a44db), closes #9017
- remove default opacity if fillOpacity is set (#9238) (98ba02d), closes #9137 #9163
- revert #9253 (#9267) (9da3ecb)
- support arrays in color schemes (#9262) (d86c90e), closes #9022
- update deps and resolve issue with images in docs (#9210) (fc94297)
- use child signal for radius if faceted (#9232) (e11af45), closes #8754 /github.com/vega/vega-lite/blob/c33f46bad7f80f779e463a8a36481f888f18e222/src/compile/scale/range.ts#L311-L314
Features
- 'move' cursor added over brush mark (#9164) (ffec017)
- add support for signals in mark clip (#9282) (bf14024)
- update Vega and other deps (#9182) (e3a6232)
5.16.3 (2023-11-10)
Bug Fixes
5.16.2 (2023-11-08)
Bug Fixes
5.16.1 (2023-10-12)
Bug Fixes
v5.16.3
Bug Fixes
v5.16.2
Bug Fixes
v5.16.1
Bug Fixes
v5.16.0
Bug Fixes
Features
- make bar & rect marks support bandPosition (allow center-alignment with ticks) (#9126) (bd014eb)
- swap 'mouse' events to 'pointer' events for mobile compatibility; update site and docs (#9089) (fa97659)
5.15.1 (2023-10-02)
Bug Fixes
- correct the formula for interpolating between bin start and end (interpolatedSignalRef) (#9111) (d4b27bb)
- use resolve "shared" instead of steps to fix artifacts in grouped density transform (#9106) (06e63e6)
v5.15.1
Bug Fixes
- correct the formula for interpolating between bin start and end (interpolatedSignalRef) (#9111) (d4b27bb)
- use resolve "shared" instead of steps to fix artifacts in grouped density transform (#9106) (06e63e6)
v5.15.0
Bug Fixes
- unescape paths in binned
timeUnitsto allow for fields with periods in name (#9088) (53ede0e) - update ts and fix typing issues (#9066) (b421a44)
Features
5.14.1 (2023-07-20)
Bug Fixes
v5.14.1
Bug Fixes
v5.14.0
Bug Fixes
Features
v5.13.0
Features
- support domainRaw so one may bind domainRaw to a parameter to build custom interaction (#8989) (21c823d)
v5.12.0
Features
5.11.1 (2023-06-26)
Bug Fixes
v5.11.1
Bug Fixes
v5.11.0
Bug Fixes
Features
v5.10.0
Bug Fixes
Features
5.9.3 (2023-05-18)
Bug Fixes
5.9.2 (2023-05-17)
Bug Fixes
- make durationExpr work for week (#8907) (bf99571)
- respect bandWithNestedOffsetPaddingInner for grouped bar within discretized temporal axis (#8906) (9050e6b)
5.9.1 (2023-05-15)
Bug Fixes
- handle falsy legend values in selections (take 2) (#8895) (fe599a2)
- Make bars with one axis thicker (#8894) (309af9a)
v5.9.3
Bug Fixes
v5.9.2
Bug Fixes
- make durationExpr work for week (#8907) (bf99571)
- respect bandWithNestedOffsetPaddingInner for grouped bar within discretized temporal axis (#8906) (9050e6b)
v5.9.1
Bug Fixes
- handle falsy legend values in selections (take 2) (#8895) (fe599a2)
- Make bars with one axis thicker (#8894) (309af9a)
v5.9.0
Features
- allow custom tooltip formatting (#8883) (e7b45b8)
- support grouped bars inside time axis with time bins (#8874) (b29fa64)
v5.8.0
Bug Fixes
- avoid repetitive labels by using tickMinStep (#8872) (0b1c385)
- remove incorrect stack transform from charts with one linear Q-axis one non-linear Q-axis. (#8871) (f4d928a)
Features
- enable ppi setting on png cli export (#8854) (d3a30bf)
- return error exit code for cli tools (#8858) (c3f1b8f)
- simplify rollup script and update to more modern js (#8852) (b396595)
- update vega and other dependencies (#8857) (6a6da3b)
5.7.1 (2023-04-17)
v5.7.1
v5.7.0
Bug Fixes
- add repeat prefix to name in normalization (#8733) (2ea3265)
- allow setting width/height in repeated layers (#8723) (9e26410)
- correctly apply stacked to bar with quantitative x and quantitative y axes (#8838) (4b9d22c)
- correctly handle merging of domains with more than one sort object (#8567) (1eedb8f)
- move name from layer chart to one of the inside layers (#8662) (d99f614)
- orient logic for when bar with x=T + simplify logic (#8739) (ea4aa64)
- prevent duplicate spec names in top-level selection view paths (#8486) (ba46bd2)
Features
5.6.1 (2023-02-13)
- chore: require clean working dir and main for releases (b9f15eb)
- chore: switch to release-it (4a02b5a)
- chore: update lockfile (bddc5d5)
- chore: upgrade deps including rollup (e757bfd)
- chore(deps-dev): bump @auto-it/conventional-commits from 10.38.5 to 10.42.0 (#8704) (4797d48), closes #8704
- chore(deps-dev): bump @auto-it/first-time-contributor from 10.38.5 to 10.42.0 (#8710) (4912870), closes #8710
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.50.0 to 5.51.0 (#8705) (0cbfb2b), closes #8705
- chore(deps-dev): bump @typescript-eslint/parser from 5.50.0 to 5.51.0 (#8706) (3b8e8d8), closes #8706
- chore(deps-dev): bump auto from 10.38.5 to 10.42.0 (#8711) (ebe2fbf), closes #8711
- chore(deps-dev): bump eslint from 8.33.0 to 8.34.0 (#8709) (0ab6c0e), closes #8709
- chore(deps-dev): bump prettier from 2.8.3 to 2.8.4 (#8703) (534cec1), closes #8703
- chore(deps-dev): bump vega-datasets from 2.5.3 to 2.5.4 (#8707) (c64cf94), closes #8707
- chore(deps-dev): bump vega-embed from 6.21.0 to 6.21.2 (#8712) (59c0650), closes #8712
5.6.0 (2022-10-14)
5.5.0 (2022-08-15)
v5.6.1
- chore: require clean working dir and main for releases (b9f15eb)
- chore: switch to release-it (4a02b5a)
- chore: update lockfile (bddc5d5)
- chore: upgrade deps including rollup (e757bfd)
- chore(deps-dev): bump @auto-it/conventional-commits from 10.38.5 to 10.42.0 (#8704) (4797d48), closes #8704
- chore(deps-dev): bump @auto-it/first-time-contributor from 10.38.5 to 10.42.0 (#8710) (4912870), closes #8710
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.50.0 to 5.51.0 (#8705) (0cbfb2b), closes #8705
- chore(deps-dev): bump @typescript-eslint/parser from 5.50.0 to 5.51.0 (#8706) (3b8e8d8), closes #8706
- chore(deps-dev): bump auto from 10.38.5 to 10.42.0 (#8711) (ebe2fbf), closes #8711
- chore(deps-dev): bump eslint from 8.33.0 to 8.34.0 (#8709) (0ab6c0e), closes #8709
- chore(deps-dev): bump prettier from 2.8.3 to 2.8.4 (#8703) (534cec1), closes #8703
- chore(deps-dev): bump vega-datasets from 2.5.3 to 2.5.4 (#8707) (c64cf94), closes #8707
- chore(deps-dev): bump vega-embed from 6.21.0 to 6.21.2 (#8712) (59c0650), closes #8712
v5.6.0
:tada: This release contains work from new contributors! :tada:
Thanks for all your work!
:heart: Lam Thien Toan (@danielmalaton)
:heart: Brandon Hamilton (@mistidoi)
:heart: null@sl-solution
:heart: Zachary Bys (@ZacharyBys)
🚀 Enhancement
- feat: remove flatmap polyfill #8434 (@domoritz)
- feat: Allow config to set default scale.zero per marktype #8354 (@yhoonkim [email protected])
🐛 Bug Fix
- fix: Init the better orient for the ranged bar #8475 (@yhoonkim)
- fix: Remove x2/y2 channels for overlaying line and point #8472 (@yhoonkim)
- chore(deps-dev): bump @rollup/plugin-babel from 5.3.1 to 6.0.0 #8455 (@dependabot[bot])
- fix: update contributing.md #8470 (@kanitw)
- fix: try to see if
fix:without scope triggers shipit for #8451 #8468 (@kanitw) - chore(deps-dev): bump @rollup/plugin-commonjs from 22.0.2 to 23.0.0 #8456 (@dependabot[bot])
- chore(deps-dev): bump @rollup/plugin-alias from 3.1.9 to 4.0.0 #8462 (@dependabot[bot])
- chore(deps-dev): bump @typescript-eslint/parser from 5.38.1 to 5.39.0 #8463 (@dependabot[bot])
- chore(deps-dev): bump ts-jest from 29.0.2 to 29.0.3 #8445 (@dependabot[bot])
- chore(deps-dev): bump terser from 5.15.0 to 5.15.1 #8464 (@dependabot[bot])
- chore(deps-dev): bump eslint-plugin-jest from 27.0.4 to 27.1.1 #8457 (@dependabot[bot])
- chore(deps-dev): bump vega-datasets from 2.5.1 to 2.5.3 #8458 (@dependabot[bot])
- chore(deps-dev): bump eslint from 8.24.0 to 8.25.0 #8459 (@dependabot[bot])
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.38.1 to 5.39.0 #8460 (@dependabot[bot])
- chore(deps-dev): bump @babel/core from 7.19.1 to 7.19.3 #8437 (@dependabot[bot])
- chore(deps): bump yargs from 17.5.1 to 17.6.0 #8439 (@dependabot[bot])
- chore(deps-dev): bump typescript from 4.8.3 to 4.8.4 #8436 (@dependabot[bot])
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.38.0 to 5.38.1 #8438 (@dependabot[bot])
- chore(deps-dev): bump @typescript-eslint/parser from 5.38.0 to 5.38.1 #8440 (@dependabot[bot])
- chore(deps-dev): bump ts-json-schema-generator from 1.1.1 to 1.1.2 #8442 (@dependabot[bot])
- chore(deps-dev): bump @babel/preset-env from 7.19.1 to 7.19.3 #8443 (@dependabot[bot])
- chore(deps-dev): bump vega-datasets from 2.4.0 to 2.5.1 #8444 (@dependabot[bot])
- docs: typo error #8391 (@danielmalaton)
- chore(deps-dev): bump ts-jest from 29.0.1 to 29.0.2 #8428 (@dependabot[bot])
- chore(deps-dev): bump eslint from 8.23.1 to 8.24.0 #8429 (@dependabot[bot])
- chore(deps): bump codecov/codecov-action from 3.1.0 to 3.1.1 #8430 (@dependabot[bot])
- docs: fix typo in "Dot Plot with Jittering" example #8426 (@sl-solution)
- chore: upgrade deps #8424 (@domoritz)
- chore(deps): bump commonmarker from 0.23.5 to 0.23.6 in /site #8422 (@dependabot[bot])
- chore(deps-dev): bump @auto-it/first-time-contributor from 10.37.4 to 10.37.6 #8415 (@dependabot[bot])
- chore(deps-dev): bump @babel/preset-env from 7.19.0 to 7.19.1 #8416 (@dependabot[bot])
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.36.2 to 5.37.0 #8418 (@dependabot[bot])
- chore(deps-dev): bump @rollup/plugin-node-resolve from 14.0.1 to 14.1.0 #8413 (@dependabot[bot])
- chore(deps-dev): bump @auto-it/conventional-commits from 10.37.4 to 10.37.6 #8414 (@dependabot[bot])
- chore(deps-dev): bump @babel/core from 7.19.0 to 7.19.1 #8417 (@dependabot[bot])
- chore(deps-dev): bump @typescript-eslint/parser from 5.36.2 to 5.37.0 #8419 (@dependabot[bot])
- chore(deps-dev): bump auto from 10.37.4 to 10.37.6 #8420 (@dependabot[bot])
- docs: fix typo in 1:1 mapping caveat in scale documentation #8410 (@mistidoi)
- chore(deps-dev): bump @rollup/plugin-node-resolve from 13.3.0 to 14.0.1 #8407 (@dependabot[bot])
- chore(deps-dev): bump @typescript-eslint/parser from 5.36.1 to 5.36.2 #8402 (@dependabot[bot])
- chore(deps-dev): bump @babel/preset-env from 7.18.10 to 7.19.0 #8403 (@dependabot[bot])
- chore(deps-dev): bump eslint-plugin-jest from 27.0.1 to 27.0.4 #8400 (@dependabot[bot])
- chore(deps-dev): bump eslint from 8.23.0 to 8.23.1 #8401 (@dependabot[bot])
- chore(deps-dev): bump typescript from 4.8.2 to 4.8.3 #8404 (@dependabot[bot])
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.36.1 to 5.36.2 #8405 (@dependabot[bot])
- chore(deps-dev): bump @babel/core from 7.18.13 to 7.19.0 #8406 (@dependabot[bot])
- chore(deps-dev): bump @typescript-eslint/parser from 5.35.1 to 5.36.1 #8396 (@dependabot[bot])
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.35.1 to 5.36.1 #8398 (@dependabot[bot])
- chore(deps-dev): bump rollup from 2.78.1 to 2.79.0 #8399 (@dependabot[bot])
- docs: remove redundant word #8392 (@danielmalaton)
- fix: Set package.json version to 5.5.0 (re-sync with stable) #8388 (@hydrosquall)
- chore(deps-dev): bump eslint-plugin-jest from 26.8.7 to 27.0.1 #8387 (@dependabot[bot])
- chore(deps-dev): bump @typescript-eslint/parser from 5.33.1 to 5.35.1 #8383 (@dependabot[bot])
- chore(deps-dev): bump eslint from 8.22.0 to 8.23.0 #8381 (@dependabot[bot])
- chore(deps-dev): bump @babel/core from 7.18.10 to 7.18.13 #8382 (@dependabot[bot])
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.33.1 to 5.35.1 #8384 (@dependabot[bot])
- chore(deps-dev): bump typescript from 4.7.4 to 4.8.2 #8385 (@dependabot[bot])
- chore(deps-dev): bump terser from 5.14.2 to 5.15.0 #8386 (@dependabot[bot])
- chore(release): bump package.json version to v5.6.0 #8378 (@hydrosquall)
- chore(deps-dev): bump @typescript-eslint/parser from 5.33.0 to 5.33.1 #8375 (@dependabot[bot])
- chore(deps-dev): bump rollup from 2.78.0 to 2.78.1 #8372 (@dependabot[bot])
- chore(deps-dev): bump eslint-plugin-jest from 26.8.2 to 26.8.7 #8373 (@dependabot[bot])
- chore(deps-dev): bump @typescript-eslint/eslint-plugin from 5.33.0 to 5.33.1 #8376 (@dependabot[bot])
- fix: first i
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- [ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Renovate Bot.
Pinging @elastic/kibana-visualizations (Team:Visualizations)
I'm still having transpiling problems here due to vega-lite and vega-tooltip when testing it...
ERROR in ./node_modules/vega-lite/build/vega-lite.js 330:26
│ Module parse failed: Unexpected token (330:26)
│ You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
│ | }
│ | for (const s of src) {
│ > deepMerge_(dest, s ?? {});
│ | }
│ | return dest;
│ @ ./public/data_model/vega_parser.ts 18:0-64 191:25-32 217:16-23 457:38-53
│ @ ./public/vega_request_handler.ts
│ @ ./public/async_services.ts
│ @ ./public/vega_fn.ts
│ @ ./public/plugin.ts
│ @ ./public/index.ts
ERROR in ./node_modules/vega-tooltip/build/vega-tooltip.js 389:61
│ Module parse failed: Unexpected token (389:61)
│ You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
│ | this.el.setAttribute('id', this.options.id);
│ | this.el.classList.add('vg-tooltip');
│ > const tooltipContainer = document.fullscreenElement ?? document.body;
│ | tooltipContainer.appendChild(this.el);
│ | }
│ @ ./public/vega_view/vega_tooltip.js 10:0-67 66:19-39
│ @ ./public/vega_view/vega_base_view.js
│ @ ./public/vega_view/vega_view.js
│ @ ./public/vega_visualization.ts
│ @ ./public/components/vega_vis_component.tsx
│ @ ./public/async_services.ts
│ @ ./public/vega_fn.ts
│ @ ./public/plugin.ts
│ @ ./public/index.ts
@elastic/kibana-core can we provide some additional flags for these 2 packages to solve this?
Unfortunately, vega-lite and vega-tooltip no-longer provide an es5-compatible build, and we have been attempting to avoid parsing/transpiling 3rd parties (with some exceptions).
Applying this patch would use our babel transpiler stack on the problematic 2 modules, and also add a new plugin for transpiling some more new syntax ( ??= ). Don't forget to run a yarn kbn bootstrap before pushing it, because the yarn-lock might change.
diff --git a/package.json b/package.json
index ea48b0b4cf7..6db0d0c0838 100644
--- a/package.json
+++ b/package.json
@@ -1279,6 +1279,7 @@
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
"@babel/plugin-proposal-private-methods": "^7.18.6",
"@babel/plugin-transform-class-properties": "^7.24.7",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.24.7",
"@babel/plugin-transform-numeric-separator": "^7.24.7",
"@babel/plugin-transform-runtime": "^7.24.7",
"@babel/preset-env": "^7.24.7",
diff --git a/packages/kbn-babel-preset/common_preset.js b/packages/kbn-babel-preset/common_preset.js
index b1fbacc9b05..276c13460b0 100644
--- a/packages/kbn-babel-preset/common_preset.js
+++ b/packages/kbn-babel-preset/common_preset.js
@@ -39,6 +39,9 @@ module.exports = () => ({
// Need this since we are using TypeScript 3.9+
require.resolve('@babel/plugin-proposal-private-methods'),
+ // Needed for ??= usage in our vega-* dependencies
+ require.resolve('@babel/plugin-transform-logical-assignment-operators'),
+
// It enables the @babel/runtime so we can decrease the bundle sizes of the produced outputs
[
require.resolve('@babel/plugin-transform-runtime'),
diff --git a/packages/kbn-optimizer/src/worker/webpack.config.ts b/packages/kbn-optimizer/src/worker/webpack.config.ts
index f81d0e89fb9..97487c07a70 100644
--- a/packages/kbn-optimizer/src/worker/webpack.config.ts
+++ b/packages/kbn-optimizer/src/worker/webpack.config.ts
@@ -258,6 +258,18 @@ export function getWebpackConfig(
},
},
},
+ {
+ test: /node_modules\/vega.*\/.*\.(js|tsx?)$/,
+ exclude: /node_modules\/vega.*\/.*build-es5.*\.(js|tsx?)$/,
+ use: {
+ loader: 'babel-loader',
+ options: {
+ babelrc: false,
+ envName: worker.dist ? 'production' : 'development',
+ presets: [BABEL_PRESET],
+ },
+ },
+ },
{
test: /\.(html|md|txt|tmpl)$/,
use: {
@elastic/kibana-operations - is it okay to set up a 3rd party module transpilation exception like this? I'd assume this wouldn't be the first or last module that would need transpilation - do we have a more maintainable way of listing these?
@delanni I implemented your changes and the build runs and starts fine but when loading a vega visualization it throws a runtime error because the vega module that is required from node_modules/vega-lite/build/vega-lite.js is undefined. Is there something missing to correctly require modules in these 3rd party files?
@elastic/kibana-operations Are you okay with adding these changes? Otherwise we will be blocked from updating vega dependencies for a while.
Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠️ Warning: custom changes will be lost.
@delanni I implemented your changes and the build runs and starts fine but when loading a vega visualization it throws a runtime error because the
vegamodule that isrequiredfromnode_modules/vega-lite/build/vega-lite.jsisundefined. Is there something missing to correctly require modules in these 3rd party files?@elastic/kibana-operations Are you okay with adding these changes? Otherwise we will be blocked from updating
vegadependencies for a while.
Works for me, mind if we get a CI run in and then I'll do a full review?
:broken_heart: Build Failed
- Buildkite Build
- Commit: 5b12f0235448ef95cde546a0a7b35f3a3d7c658d
- Interpreting CI Failures
Failed CI Steps
- x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group2.ts
- x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group2.ts
- x-pack/test_serverless/functional/test_suites/search/common_configs/config.group2.ts
- x-pack/test_serverless/functional/test_suites/search/common_configs/config.group2.ts
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group2.ts
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group2.ts
- FTR Configs #18
- FTR Configs #18
- FTR Configs #34
- FTR Configs #34
- FTR Configs #35
- FTR Configs #35
- FTR Configs #45
- FTR Configs #45
- FTR Configs #56
- FTR Configs #56
- FTR Configs #72
- FTR Configs #72
- FTR Configs #73
- FTR Configs #73
- FTR Configs #87
- FTR Configs #87
- FTR Configs #96
- FTR Configs #96
Test Failures
- [job] [logs] FTR Configs #56 / dashboard sample data dashboard toggle from Discover to Dashboard attempt 2
- [job] [logs] FTR Configs #56 / dashboard sample data dashboard toggle from Discover to Dashboard attempt 2
- [job] [logs] FTR Configs #72 / Dashboard save a search sessions with relative time Saves and restores a session with relative time ranges
- [job] [logs] FTR Configs #72 / Dashboard save a search sessions with relative time Saves and restores a session with relative time ranges
- [job] [logs] FTR Configs #35 / discover/context_awareness extension getAdditionalCellActions data view mode should not render incompatible cell action for message column
- [job] [logs] FTR Configs #96 / home app sample data accessing sample dashboards should render visualizations
- [job] [logs] FTR Configs #96 / home app sample data accessing sample dashboards should render visualizations
- [job] [logs] FTR Configs #73 / Journey[web_logs_dashboard_dataview] Go to Web Logs Dashboard
- [job] [logs] FTR Configs #73 / Journey[web_logs_dashboard_dataview] Go to Web Logs Dashboard
- [job] [logs] FTR Configs #34 / Journey[web_logs_dashboard_esql] Go to Web Logs Dashboard
- [job] [logs] FTR Configs #34 / Journey[web_logs_dashboard_esql] Go to Web Logs Dashboard
- [job] [logs] FTR Configs #35 / Journey[web_logs_dashboard] Go to Web Logs Dashboard
- [job] [logs] FTR Configs #35 / Journey[web_logs_dashboard] Go to Web Logs Dashboard
- [job] [logs] x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group2.ts / lens serverless - group 1 vega chart in visualize app vega chart initial render should have view and control containers
- [job] [logs] x-pack/test_serverless/functional/test_suites/search/common_configs/config.group2.ts / lens serverless - group 1 vega chart in visualize app vega chart initial render should have view and control containers
- [job] [logs] x-pack/test_serverless/functional/test_suites/security/common_configs/config.group2.ts / lens serverless - group 1 vega chart in visualize app vega chart initial render should have view and control containers
- [job] [logs] x-pack/test_serverless/functional/test_suites/security/common_configs/config.group2.ts / lens serverless - group 1 vega chart in visualize app vega chart initial render should have view and control containers
- [job] [logs] x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group2.ts / lens serverless - group 1 vega chart in visualize app vega chart initial render should have view and control containers
- [job] [logs] x-pack/test_serverless/functional/test_suites/search/common_configs/config.group2.ts / lens serverless - group 1 vega chart in visualize app vega chart initial render should have view and control containers
- [job] [logs] FTR Configs #87 / machine learning - data frame analytics outlier detection creation iowa house prices navigates through the wizard and sets all needed fields
- [job] [logs] FTR Configs #87 / machine learning - data frame analytics outlier detection creation iowa house prices navigates through the wizard and sets all needed fields
- [job] [logs] FTR Configs #18 / visualize app vega chart in visualize app vega chart initial render should have view and control containers
- [job] [logs] FTR Configs #18 / visualize app vega chart in visualize app vega chart initial render should have view and control containers
- [job] [logs] FTR Configs #45 / Visualize smoke telemetry tests should trigger render event for vega visualization
- [job] [logs] FTR Configs #45 / Visualize smoke telemetry tests should trigger render event for vega visualization
Metrics [docs]
Module Count
Fewer modules leads to a faster build time
| id | before | after | diff |
|---|---|---|---|
visTypeVega |
272 | 273 | +1 |
Async chunks
Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app
| id | before | after | diff |
|---|---|---|---|
ml |
4.6MB | 4.6MB | +45.5KB |
visTypeVega |
1.8MB | 1.9MB | +45.6KB |
| total | +91.1KB |
Page load bundle
Size of the bundles that are downloaded on every page load. Target size is below 100kb
| id | before | after | diff |
|---|---|---|---|
kbnUiSharedDeps-npmDll |
6.2MB | 6.2MB | +173.0B |
History
- :broken_heart: Build #238892 failed c593180a5d86eacfd7669fe3da402e6a6fddce0f
- :broken_heart: Build #238826 failed ba12ae5a669f462f2d1c915f6e6bc6fbf21bc694
To update your PR or re-run it, just comment with:
@elasticmachine merge upstream
Had another look at this and couldn't make it work.
While the solution above seems to resolve the nullish coalesce syntax problem, the webpack configuration doesn't seem to correctly resolve the vega dependency in the vega-lite module, leading to this error when loading a Vega visualization:
In Firefox the problem is actually clearer:
The main issue arise from the UMD wrapper within vega-lite which asks for require('vega') who resolves into undefined and passed to the vega-lite code:
@delanni any idea on how that is happening?
Unfortunately clueless. My suggested changes are supposed to communicate to the transpiler: please treat /vega.*/ with babel-loader. I don't know why the import suddenly starts to point to an empty module.
If you have time, could you try checking, if the applied loader-change would cause the same error on the present (in main) version of vega*? If the issue is present, we can assume it's related to the loader change. If it doesn't fail on main, then the error comes from the import setup in the new versions, and we have to investigate further in there.
:robot: Jobs for this PR can be triggered through checkboxes. :construction:
:information_source: To trigger the CI, please tick the checkbox below :point_down:
- [ ] Click to trigger kibana-pull-request for this PR!
- [ ] Click to trigger kibana-deploy-project-from-pr for this PR!
Maybe we could give it another try now that webpack 5 merged?
Worth a try, but I guess the real difference will come when we can require ES Modules, with Node 22 (https://github.com/elastic/kibana/pull/205983)
Managed to upgrade the packages with webpack 5 with no issue: https://github.com/elastic/kibana/pull/220909