Compare commits

...

4 Commits

Author SHA1 Message Date
github-actions[bot] 51919fb26c publish new versions (#2209)
Co-authored-by: amrbashir <amrbashir@users.noreply.github.com>
2024-12-15 08:44:54 +01:00
universalappfactory ee0f65de5c fix(opener): use the correct packagename in OpenerPlugin.kt (#2207) 2024-12-14 18:58:48 +02:00
renovate[bot] 319ef556cd chore(deps): update eslint monorepo to v9.17.0 (#2205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-14 12:09:17 +08:00
Amr Bashir 802399a969 docs(opener): add examples for None::<&str> (#2202)
closes #2200
2024-12-13 04:22:35 +02:00
14 changed files with 144 additions and 64 deletions
Generated
+2 -2
View File
@@ -206,7 +206,7 @@ checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775"
[[package]]
name = "api"
version = "2.0.10"
version = "2.0.11"
dependencies = [
"log",
"serde",
@@ -6707,7 +6707,7 @@ dependencies = [
[[package]]
name = "tauri-plugin-opener"
version = "2.2.1"
version = "2.2.2"
dependencies = [
"dunce",
"glob",
+6
View File
@@ -1,5 +1,11 @@
# Changelog
## \[2.0.8]
### Dependencies
- Upgraded to `opener-js@2.2.2`
## \[2.0.7]
### Dependencies
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "api",
"private": true,
"version": "2.0.7",
"version": "2.0.8",
"type": "module",
"scripts": {
"dev": "vite --clearScreen false",
@@ -19,7 +19,7 @@
"@tauri-apps/plugin-fs": "2.2.0",
"@tauri-apps/plugin-geolocation": "2.2.0",
"@tauri-apps/plugin-global-shortcut": "2.2.0",
"@tauri-apps/plugin-opener": "2.2.1",
"@tauri-apps/plugin-opener": "2.2.2",
"@tauri-apps/plugin-haptics": "2.2.0",
"@tauri-apps/plugin-http": "2.2.0",
"@tauri-apps/plugin-nfc": "2.2.0",
+6
View File
@@ -1,5 +1,11 @@
# Changelog
## \[2.0.11]
### Dependencies
- Upgraded to `opener@2.2.2`
## \[2.0.10]
### Dependencies
+2 -2
View File
@@ -1,7 +1,7 @@
[package]
name = "api"
publish = false
version = "2.0.10"
version = "2.0.11"
description = "An example Tauri Application showcasing the api"
edition = "2021"
rust-version = { workspace = true }
@@ -33,7 +33,7 @@ tauri-plugin-notification = { path = "../../../plugins/notification", version =
] }
tauri-plugin-os = { path = "../../../plugins/os", version = "2.2.0" }
tauri-plugin-process = { path = "../../../plugins/process", version = "2.2.0" }
tauri-plugin-opener = { path = "../../../plugins/opener", version = "2.2.1" }
tauri-plugin-opener = { path = "../../../plugins/opener", version = "2.2.2" }
tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.2.0" }
tauri-plugin-store = { path = "../../../plugins/store", version = "2.2.0" }
+2 -2
View File
@@ -11,13 +11,13 @@
"example:api:dev": "pnpm run --filter \"api\" tauri dev"
},
"devDependencies": {
"@eslint/js": "9.16.0",
"@eslint/js": "9.17.0",
"@rollup/plugin-node-resolve": "15.3.0",
"@rollup/plugin-terser": "0.4.4",
"@rollup/plugin-typescript": "11.1.6",
"@types/eslint__js": "8.42.3",
"covector": "^0.12.3",
"eslint": "9.16.0",
"eslint": "9.17.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-security": "3.0.1",
"prettier": "3.4.2",
+4
View File
@@ -1,5 +1,9 @@
# Changelog
## \[2.2.2]
- [`ee0f65de`](https://github.com/tauri-apps/plugins-workspace/commit/ee0f65de5c645c244c5f0b638e0e0aab687cb9bf) ([#2207](https://github.com/tauri-apps/plugins-workspace/pull/2207) by [@universalappfactory](https://github.com/tauri-apps/plugins-workspace/../../universalappfactory)) Fixed OpenerPlugin packagename for android
## \[2.2.1]
- [`18dffc9d`](https://github.com/tauri-apps/plugins-workspace/commit/18dffc9dfecaf0c900e233e041d9ca36c92834b5) ([#2189](https://github.com/tauri-apps/plugins-workspace/pull/2189) by [@lucasfernog](https://github.com/tauri-apps/plugins-workspace/../../lucasfernog)) Fix usage on iOS.
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin-opener"
version = "2.2.1"
version = "2.2.2"
description = "Open files and URLs using their default application."
edition = { workspace = true }
authors = { workspace = true }
+10
View File
@@ -98,8 +98,18 @@ fn main() {
.plugin(tauri_plugin_opener::init())
.setup(|app| {
let opener = app.opener();
// Opens the URL in the default browser
opener.open_url("https://example.com", None::<&str>)?;
// Or with a specific browser/app
opener.open_url("https://example.com", Some("firefox"))?;
// Opens the path with the system's default app
opener.open_path("/path/to/file", None::<&str>)?;
// Or with a specific app
opener.open_path("/path/to/file", Some("firefox"))?;
// Reveal a path with the system's default explorer
opener.reveal_item_in_dir("/path/to/file")?;
Ok(())
})
@@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
package app.tauri.shell
package app.tauri.opener
import android.app.Activity
import android.content.Intent
@@ -27,4 +27,4 @@ class OpenerPlugin(private val activity: Activity) : Plugin(activity) {
invoke.reject(ex.message)
}
}
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@tauri-apps/plugin-opener",
"version": "2.2.1",
"version": "2.2.2",
"description": "Open files and URLs using their default application.",
"license": "MIT OR Apache-2.0",
"authors": [
+53 -1
View File
@@ -38,6 +38,19 @@ pub struct Opener<R: Runtime> {
impl<R: Runtime> Opener<R> {
/// Open a url with a default or specific program.
///
/// # Examples
///
/// ```rust,no_run
/// use tauri_plugin_opener::OpenerExt;
///
/// tauri::Builder::default()
/// .setup(|app| {
/// // open the given URL on the system default browser
/// app.opener().open_url("https://github.com/tauri-apps/tauri", None::<&str>)?;
/// Ok(())
/// });
/// ```
///
/// ## Platform-specific:
///
/// - **Android / iOS**: Always opens using default program.
@@ -48,6 +61,19 @@ impl<R: Runtime> Opener<R> {
/// Open a url with a default or specific program.
///
/// # Examples
///
/// ```rust,no_run
/// use tauri_plugin_opener::OpenerExt;
///
/// tauri::Builder::default()
/// .setup(|app| {
/// // open the given URL on the system default browser
/// app.opener().open_url("https://github.com/tauri-apps/tauri", None::<&str>)?;
/// Ok(())
/// });
/// ```
///
/// ## Platform-specific:
///
/// - **Android / iOS**: Always opens using default program.
@@ -60,6 +86,19 @@ impl<R: Runtime> Opener<R> {
/// Open a path with a default or specific program.
///
/// # Examples
///
/// ```rust,no_run
/// use tauri_plugin_opener::OpenerExt;
///
/// tauri::Builder::default()
/// .setup(|app| {
/// // open the given path on the system default explorer
/// app.opener().open_path("/path/to/file", None::<&str>)?;
/// Ok(())
/// });
/// ```
///
/// ## Platform-specific:
///
/// - **Android / iOS**: Always opens using default program.
@@ -74,6 +113,19 @@ impl<R: Runtime> Opener<R> {
/// Open a path with a default or specific program.
///
/// # Examples
///
/// ```rust,no_run
/// use tauri_plugin_opener::OpenerExt;
///
/// tauri::Builder::default()
/// .setup(|app| {
/// // open the given path on the system default explorer
/// app.opener().open_path("/path/to/file", None::<&str>)?;
/// Ok(())
/// });
/// ```
///
/// ## Platform-specific:
///
/// - **Android / iOS**: Always opens using default program.
@@ -98,7 +150,7 @@ pub trait OpenerExt<R: Runtime> {
fn opener(&self) -> &Opener<R>;
}
impl<R: Runtime, T: Manager<R>> crate::OpenerExt<R> for T {
impl<R: Runtime, T: Manager<R>> OpenerExt<R> for T {
fn opener(&self) -> &Opener<R> {
self.state::<Opener<R>>().inner()
}
+3 -3
View File
@@ -26,7 +26,7 @@ pub(crate) fn open<P: AsRef<OsStr>, S: AsRef<str>>(path: P, with: Option<S>) ->
/// tauri::Builder::default()
/// .setup(|app| {
/// // open the given URL on the system default browser
/// tauri_plugin_opener::open_url("https://github.com/tauri-apps/tauri", None)?;
/// tauri_plugin_opener::open_url("https://github.com/tauri-apps/tauri", None::<&str>)?;
/// Ok(())
/// });
/// ```
@@ -46,8 +46,8 @@ pub fn open_url<P: AsRef<str>, S: AsRef<str>>(url: P, with: Option<S>) -> crate:
/// ```rust,no_run
/// tauri::Builder::default()
/// .setup(|app| {
/// // open the given URL on the system default browser
/// tauri_plugin_opener::open_path("/path/to/file", None)?;
/// // open the given URL on the system default explorer
/// tauri_plugin_opener::open_path("/path/to/file", None::<&str>)?;
/// Ok(())
/// });
/// ```
+50 -48
View File
@@ -13,8 +13,8 @@ importers:
.:
devDependencies:
'@eslint/js':
specifier: 9.16.0
version: 9.16.0
specifier: 9.17.0
version: 9.17.0
'@rollup/plugin-node-resolve':
specifier: 15.3.0
version: 15.3.0(rollup@4.28.1)
@@ -31,11 +31,11 @@ importers:
specifier: ^0.12.3
version: 0.12.3(mocha@10.8.2)
eslint:
specifier: 9.16.0
version: 9.16.0(jiti@1.21.6)
specifier: 9.17.0
version: 9.17.0(jiti@1.21.6)
eslint-config-prettier:
specifier: 9.1.0
version: 9.1.0(eslint@9.16.0(jiti@1.21.6))
version: 9.1.0(eslint@9.17.0(jiti@1.21.6))
eslint-plugin-security:
specifier: 3.0.1
version: 3.0.1
@@ -53,7 +53,7 @@ importers:
version: 5.7.2
typescript-eslint:
specifier: 8.18.0
version: 8.18.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)
version: 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
examples/api:
dependencies:
@@ -97,7 +97,7 @@ importers:
specifier: 2.2.0
version: link:../../plugins/notification
'@tauri-apps/plugin-opener':
specifier: 2.2.1
specifier: 2.2.2
version: link:../../plugins/opener
'@tauri-apps/plugin-os':
specifier: 2.2.0
@@ -757,8 +757,8 @@ packages:
resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/js@9.16.0':
resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==}
'@eslint/js@9.17.0':
resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.4':
@@ -1503,8 +1503,8 @@ packages:
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint@9.16.0:
resolution: {integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==}
eslint@9.17.0:
resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -2437,9 +2437,9 @@ snapshots:
- encoding
- mocha
'@covector/assemble@0.12.0':
'@covector/assemble@0.12.0(mocha@10.8.2)':
dependencies:
'@covector/command': 0.8.0
'@covector/command': 0.8.0(mocha@10.8.2)
'@covector/files': 0.8.0
effection: 2.0.8(mocha@10.8.2)
js-yaml: 4.1.0
@@ -2450,9 +2450,10 @@ snapshots:
unified: 9.2.2
transitivePeerDependencies:
- encoding
- mocha
- supports-color
'@covector/changelog@0.12.0':
'@covector/changelog@0.12.0(mocha@10.8.2)':
dependencies:
'@covector/files': 0.8.0
effection: 2.0.8(mocha@10.8.2)
@@ -2462,14 +2463,16 @@ snapshots:
unified: 9.2.2
transitivePeerDependencies:
- encoding
- mocha
- supports-color
'@covector/command@0.8.0':
'@covector/command@0.8.0(mocha@10.8.2)':
dependencies:
'@effection/process': 2.1.4
'@effection/process': 2.1.4(mocha@10.8.2)
effection: 2.0.8(mocha@10.8.2)
transitivePeerDependencies:
- encoding
- mocha
'@covector/files@0.8.0':
dependencies:
@@ -2516,10 +2519,8 @@ snapshots:
dependencies:
effection: 2.0.8(mocha@10.8.2)
mocha: 10.8.2
transitivePeerDependencies:
- encoding
'@effection/process@2.1.4':
'@effection/process@2.1.4(mocha@10.8.2)':
dependencies:
cross-spawn: 7.0.6
ctrlc-windows: 2.1.0
@@ -2527,6 +2528,7 @@ snapshots:
shellwords: 0.1.1
transitivePeerDependencies:
- encoding
- mocha
'@effection/stream@2.0.6':
dependencies:
@@ -2681,9 +2683,9 @@ snapshots:
'@esbuild/win32-x64@0.24.0':
optional: true
'@eslint-community/eslint-utils@4.4.1(eslint@9.16.0(jiti@1.21.6))':
'@eslint-community/eslint-utils@4.4.1(eslint@9.17.0(jiti@1.21.6))':
dependencies:
eslint: 9.16.0(jiti@1.21.6)
eslint: 9.17.0(jiti@1.21.6)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {}
@@ -2712,7 +2714,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@eslint/js@9.16.0': {}
'@eslint/js@9.17.0': {}
'@eslint/object-schema@2.1.4': {}
@@ -2971,15 +2973,15 @@ snapshots:
'@types/unist@2.0.11': {}
'@typescript-eslint/eslint-plugin@8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)':
'@typescript-eslint/eslint-plugin@8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 8.18.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/parser': 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/scope-manager': 8.18.0
'@typescript-eslint/type-utils': 8.18.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/utils': 8.18.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/type-utils': 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/utils': 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/visitor-keys': 8.18.0
eslint: 9.16.0(jiti@1.21.6)
eslint: 9.17.0(jiti@1.21.6)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
@@ -2988,14 +2990,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.18.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)':
'@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
'@typescript-eslint/scope-manager': 8.18.0
'@typescript-eslint/types': 8.18.0
'@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2)
'@typescript-eslint/visitor-keys': 8.18.0
debug: 4.3.7(supports-color@8.1.1)
eslint: 9.16.0(jiti@1.21.6)
eslint: 9.17.0(jiti@1.21.6)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
@@ -3005,12 +3007,12 @@ snapshots:
'@typescript-eslint/types': 8.18.0
'@typescript-eslint/visitor-keys': 8.18.0
'@typescript-eslint/type-utils@8.18.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)':
'@typescript-eslint/type-utils@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
'@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2)
'@typescript-eslint/utils': 8.18.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/utils': 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
debug: 4.3.7(supports-color@8.1.1)
eslint: 9.16.0(jiti@1.21.6)
eslint: 9.17.0(jiti@1.21.6)
ts-api-utils: 1.4.3(typescript@5.7.2)
typescript: 5.7.2
transitivePeerDependencies:
@@ -3032,13 +3034,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@8.18.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)':
'@typescript-eslint/utils@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6))
'@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@1.21.6))
'@typescript-eslint/scope-manager': 8.18.0
'@typescript-eslint/types': 8.18.0
'@typescript-eslint/typescript-estree': 8.18.0(typescript@5.7.2)
eslint: 9.16.0(jiti@1.21.6)
eslint: 9.17.0(jiti@1.21.6)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color
@@ -3399,9 +3401,9 @@ snapshots:
dependencies:
'@clack/prompts': 0.7.0
'@covector/apply': 0.10.0(mocha@10.8.2)
'@covector/assemble': 0.12.0
'@covector/changelog': 0.12.0
'@covector/command': 0.8.0
'@covector/assemble': 0.12.0(mocha@10.8.2)
'@covector/changelog': 0.12.0(mocha@10.8.2)
'@covector/command': 0.8.0(mocha@10.8.2)
'@covector/files': 0.8.0
effection: 2.0.8(mocha@10.8.2)
globby: 11.1.0
@@ -3536,9 +3538,9 @@ snapshots:
escape-string-regexp@4.0.0: {}
eslint-config-prettier@9.1.0(eslint@9.16.0(jiti@1.21.6)):
eslint-config-prettier@9.1.0(eslint@9.17.0(jiti@1.21.6)):
dependencies:
eslint: 9.16.0(jiti@1.21.6)
eslint: 9.17.0(jiti@1.21.6)
eslint-plugin-security@3.0.1:
dependencies:
@@ -3553,14 +3555,14 @@ snapshots:
eslint-visitor-keys@4.2.0: {}
eslint@9.16.0(jiti@1.21.6):
eslint@9.17.0(jiti@1.21.6):
dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@1.21.6))
'@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0(jiti@1.21.6))
'@eslint-community/regexpp': 4.12.1
'@eslint/config-array': 0.19.0
'@eslint/core': 0.9.0
'@eslint/eslintrc': 3.2.0
'@eslint/js': 9.16.0
'@eslint/js': 9.17.0
'@eslint/plugin-kit': 0.2.3
'@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1
@@ -4299,12 +4301,12 @@ snapshots:
type-fest@0.7.1: {}
typescript-eslint@8.18.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2):
typescript-eslint@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2):
dependencies:
'@typescript-eslint/eslint-plugin': 8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/parser': 8.18.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/utils': 8.18.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.7.2)
eslint: 9.16.0(jiti@1.21.6)
'@typescript-eslint/eslint-plugin': 8.18.0(@typescript-eslint/parser@8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2))(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/parser': 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
'@typescript-eslint/utils': 8.18.0(eslint@9.17.0(jiti@1.21.6))(typescript@5.7.2)
eslint: 9.17.0(jiti@1.21.6)
typescript: 5.7.2
transitivePeerDependencies:
- supports-color