tauri/crates
Lucas Fernandes Nogueira bc4afe7dd4
feat(cli): check plugin versions for incompatibilities (#13993)
* feat(cli): check plugin versions for incompatibilities

check core plugin versions for incompatibilities between Cargo and NPM releases

a plugin NPM/cargo version is considered "incompatible" if their major or minor versions are not equal

on dev we show an warning
on build we error out (with a `--ignore-incompatible-plugins` flag to prevent that)

this is an idea from @oscartbeaumont
we've seen several plugin changes that require updates for both the cargo and the NPM releases of a plugin, and if they are not in sync, the functionality does not work
e.g. https://github.com/tauri-apps/plugins-workspace/pull/2573 where the change actually breaks the app updater if you miss the NPM update

* Use list to get multiple package versions at once

* Fix for older rust versions

* Clippy

* Support yarn classic

* Support yarn berry

* Use `.cmd` only for `npm`, `yarn`, `pnpm`

* Use yarn list without --pattern

* rename

* Extract function `check_incompatible_packages`

* Check `tauri` <-> `@tauri-apps/api`

* incompatible -> mismatched

* run build check in parallel

* rename struct

* Switch back to use sync check and add todo

* Extract to function `cargo_manifest_and_lock`

---------

Co-authored-by: Tony <legendmastertony@gmail.com>
2025-08-17 12:24:40 -03:00
..
tauri feat: add PluginHandle::run_mobile_plugin_async (#13895) 2025-08-17 12:14:16 -03:00
tauri-build chore(deps): update rust crate toml to 0.9 (#13784) 2025-07-31 17:14:09 +08:00
tauri-bundler feat(bundler/cli): Add feature flag to use system certificates (#13824) 2025-08-12 13:30:23 +02:00
tauri-cli feat(cli): check plugin versions for incompatibilities (#13993) 2025-08-17 12:24:40 -03:00
tauri-codegen apply version updates (#13751) 2025-07-21 00:09:52 +02:00
tauri-driver chore(deps): update rust crate which to v8 (#13711) 2025-08-05 14:59:02 +02:00
tauri-macos-sign feat: add option to not wait on notarization to finish (#13521) 2025-08-11 14:29:41 -03:00
tauri-macros apply version updates (#13751) 2025-07-21 00:09:52 +02:00
tauri-plugin chore(deps): update rust crate toml to 0.9 (#13784) 2025-07-31 17:14:09 +08:00
tauri-runtime feat(core): webview window focusable property, closes #11130 (#13564) 2025-08-17 11:50:17 -03:00
tauri-runtime-wry fix: a few regressions from previous PRs (#14020) 2025-08-17 12:03:31 -03:00
tauri-schema-generator feat(core): webview window focusable property, closes #11130 (#13564) 2025-08-17 11:50:17 -03:00
tauri-schema-worker chore(worker): Enable observability 2025-06-27 17:20:01 +02:00
tauri-utils feat(core): webview window focusable property, closes #11130 (#13564) 2025-08-17 11:50:17 -03:00
tests chore: update tests (#13998) 2025-08-13 13:34:01 -03:00