Skip to content

Remove the unminified Vue UMD bundle - #140

Merged
sgiehl merged 1 commit into
prepare6xfrom
remove-unminified-vue-umd
Aug 6, 2026
Merged

Remove the unminified Vue UMD bundle#140
sgiehl merged 1 commit into
prepare6xfrom
remove-unminified-vue-umd

Conversation

@sgiehl

@sgiehl sgiehl commented Aug 6, 2026

Copy link
Copy Markdown
Member

Description

Removes the unminified <Plugin>.umd.js Vue bundle, which is no longer built, and adds a .gitignore entry so it does not come back.

Matomo's Vue build used to run two full Vite passes per plugin, emitting an unminified <Plugin>.umd.js next to <Plugin>.umd.min.js. Only the minified bundle is ever served:

  • PluginUmdAssetFetcher::getUmdFileToUseForPlugin() and getAllPluginUmds() look exclusively for .umd.min.js.
  • Development mode uses .development.umd.js, produced by vue:build --watch and already gitignored.

The unminified pass was a leftover from Vue CLI, whose --target lib build emitted .common.js, .umd.js and .umd.min.js in one go. .common.js was gitignored away long ago; .umd.js survived only because it came for free.

Core change: matomo-org/matomo#25027. Once that lands, this file is no longer regenerated by vue:build.

Notes for review

  • Independent of core merge order — nothing reads .umd.js, and .umd.min.js is untouched, so this is safe to merge before or after the core PR.
  • No CI impact: this repository's workflows do not rebuild or diff Vue bundles.
  • The .gitignore pattern *.umd.js does not match *.umd.min.js.

Checklist

  • [✔] I have understood, reviewed, and tested all AI outputs before use
  • [✔] All AI instructions respect security, IP, and privacy rules

Matomo's Vue build no longer emits <Plugin>.umd.js. Only the minified
CustomVariables.umd.min.js is ever served: PluginUmdAssetFetcher looks exclusively for
.umd.min.js, and development mode uses the .development.umd.js produced by
vue:build --watch.

The unminified bundle was a leftover from Vue CLI, whose lib build emitted it
alongside the minified one for free. See matomo-org/matomo#25027.
@sgiehl
sgiehl merged commit a52e36b into prepare6x Aug 6, 2026
12 checks passed
sgiehl added a commit that referenced this pull request Aug 10, 2026
* Prepare for Matomo 6

Bump plugin version to 6.0.0 and require Matomo >=6.0.0-b1,<7.0.0-b1.

* Run tests on same PHP versions as core (8.1, 8.5)

* Rebuild Vue dist files with the Vite build for Matomo 6 & fix ESLint violations (#134)

* Adapt Vue sources to the Vite build and rebuild dist for Matomo 6

Replaces a value re-export/import of a type-only entity so the esbuild-based Vite build can bundle it, and rebuilds the Vue dist files with the new toolchain.

* Rebuild Vue dist files for Vue 3.5

* Fix CustomVariables Vue declaration type errors

Export the usage-row interface, cast the readonly usage to the sort helper, and
coerce numeric translate args.

* Fix segmentMatchNONE system test for MySQL 8.0 (#135)

* Fix segmentMatchNONE test for MySQL 8.0

Comparing date/time segments against the placeholder string 'campaign'
(e.g. visitEndServerDate != 'campaign') is rejected by MySQL 8.0 as an
invalid DATE value; MySQL 5.7 tolerated it. Give each date/time segment a
valid, type-appropriate value instead - a date for DATE() segments and an
integer for the HOUR()/MINUTE()/YEAR()/... extractions - so they stay
covered and the query runs on MySQL 8.0. The matched result is unchanged
(the segment still matches no visits via the impossible deviceType condition).

* Run plugin tests against MySQL 8.0 and MariaDB 10.6

The workflow inherited the shared action's MySQL 5.7 default, which is below
Matomo's new minimum. Pin the database-backed jobs to the supported floor:
PluginTests now runs a MySQL 8.0 + MariaDB 10.6 matrix, and the UI job runs
on MySQL 8.0.

* Only upload plugin test artifacts for the MySQL matrix leg

PluginTests runs a MySQL + MariaDB matrix; the upload-artifacts condition
matched both legs and uploaded twice. Restrict the upload to the MySQL leg.

* Update expected UI screenshots for the new headless Chrome (Node 24 / Puppeteer 24) (#136)

* Update expected UI screenshots for the new headless Chrome (Node 24 / Puppeteer 24)

* Run the plugin UI tests on Node 24

Match the Node 24 / Puppeteer 24 screenshot-testing stack; the UI job was still pinned to Node 16.

* Drop array custom-variable name from tracking fixture for matomo-php-tracker 4.0 (#137)

* Drop the array custom-variable name from the tracking fixture

matomo-php-tracker 3.4.0 types setCustomVariable()'s $name as string, so
the deliberately-invalid array name now raises a TypeError. The id (6) is
already out of the valid range and not tracked, so the string variant on
the line above keeps the same coverage and the expected output is unchanged.

* Recover the malformed-custom-variable coverage via direct cvar injection

The invalid (array) custom-variable name can no longer be passed through the
type-safe setCustomVariable(); inject it directly into the public
visitorCustomVar payload so the fixture still verifies a malformed cvar is
not tracked. Cannot use a raw _cvar param (custom param / debug append)
because it would duplicate and override the valid cvars in the request.

* Remove the unminified Vue UMD bundle (#140)

Matomo's Vue build no longer emits <Plugin>.umd.js. Only the minified
CustomVariables.umd.min.js is ever served: PluginUmdAssetFetcher looks exclusively for
.umd.min.js, and development mode uses the .development.umd.js produced by
vue:build --watch.

The unminified bundle was a leftover from Vue CLI, whose lib build emitted it
alongside the minified one for free. See matomo-org/matomo#25027.

* Add the 6.0.0 changelog entry [ignore_release]

The Matomo 6 preparation bumped plugin.json to 6.0.0 but never recorded the
version in the changelog, leaving the released 5.0.6 as the newest entry.

* Use the matomo6_* PHP version aliases in the test workflow [ignore_release]

The matrix pinned the literals 8.1 / 8.5. github-action-tests resolves
matomo6_min_php / matomo6_max_php to the same versions today and keeps
following core's supported range, so the workflow no longer drifts when
core moves its PHP floor or ceiling.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant