;
+
+#[cfg_attr(mobile, tauri::mobile_entry_point)]
+pub fn run() {
+ #[allow(unused_mut)]
+ let mut builder = tauri::Builder::default()
+ .plugin(
+ tauri_plugin_log::Builder::default()
+ .level(log::LevelFilter::Info)
+ .build(),
+ )
+ .plugin(tauri_plugin_fs::init())
+ .plugin(tauri_plugin_clipboard::init())
+ .plugin(tauri_plugin_dialog::init())
+ .plugin(tauri_plugin_http::init())
+ .plugin(tauri_plugin_notification::init())
+ .plugin(tauri_plugin_shell::init())
+ .setup(move |app| {
+ #[cfg(desktop)]
+ {
+ tray::create_tray(app)?;
+ app.handle().plugin(tauri_plugin_cli::init())?;
+ app.handle()
+ .plugin(tauri_plugin_global_shortcut::Builder::new().build())?;
+ }
+
+ let mut window_builder = WindowBuilder::new(app, "main", WindowUrl::default());
+ #[cfg(desktop)]
+ {
+ window_builder = window_builder
+ .user_agent("Tauri API")
+ .title("Tauri API Validation")
+ .inner_size(1000., 800.)
+ .min_inner_size(600., 400.)
+ .content_protected(true);
+ }
+
+ #[cfg(target_os = "windows")]
+ {
+ window_builder = window_builder
+ .transparent(true)
+ .shadow(true)
+ .decorations(false);
+ }
+
+ let window = window_builder.build().unwrap();
+
+ #[cfg(debug_assertions)]
+ window.open_devtools();
+
+ #[cfg(desktop)]
+ std::thread::spawn(|| {
+ let server = match tiny_http::Server::http("localhost:3003") {
+ Ok(s) => s,
+ Err(e) => {
+ eprintln!("{}", e);
+ std::process::exit(1);
+ }
+ };
+ loop {
+ if let Ok(mut request) = server.recv() {
+ let mut body = Vec::new();
+ let _ = request.as_reader().read_to_end(&mut body);
+ let response = tiny_http::Response::new(
+ tiny_http::StatusCode(200),
+ request.headers().to_vec(),
+ std::io::Cursor::new(body),
+ request.body_length(),
+ None,
+ );
+ let _ = request.respond(response);
+ }
+ }
+ });
+
+ Ok(())
+ })
+ .on_page_load(|window, _| {
+ let window_ = window.clone();
+ window.listen("js-event", move |event| {
+ println!("got js-event with message '{:?}'", event.payload());
+ let reply = Reply {
+ data: "something else".to_string(),
+ };
+
+ window_
+ .emit("rust-event", Some(reply))
+ .expect("failed to emit");
+ });
+ });
+
+ #[cfg(target_os = "macos")]
+ {
+ builder = builder.menu(tauri::Menu::os_default("Tauri API Validation"));
+ }
+
+ #[allow(unused_mut)]
+ let mut app = builder
+ .invoke_handler(tauri::generate_handler![
+ cmd::log_operation,
+ cmd::perform_request,
+ ])
+ .build(tauri::tauri_build_context!())
+ .expect("error while building tauri application");
+
+ #[cfg(target_os = "macos")]
+ app.set_activation_policy(tauri::ActivationPolicy::Regular);
+
+ app.run(move |_app_handle, _event| {
+ #[cfg(desktop)]
+ if let RunEvent::ExitRequested { api, .. } = &_event {
+ // Keep the event loop running even if all windows are closed
+ // This allow us to catch system tray events when there is no window
+ api.prevent_exit();
+ }
+ })
+}
diff --git a/examples/api/src-tauri/src/main.rs b/examples/api/src-tauri/src/main.rs
new file mode 100644
index 000000000..2eb029af8
--- /dev/null
+++ b/examples/api/src-tauri/src/main.rs
@@ -0,0 +1,11 @@
+// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
+// SPDX-License-Identifier: Apache-2.0
+// SPDX-License-Identifier: MIT
+
+// Prevents additional console window on Windows in release, DO NOT REMOVE!!
+#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
+
+fn main() {
+ #[cfg(desktop)]
+ api::run();
+}
diff --git a/examples/api/src-tauri/src/tray.rs b/examples/api/src-tauri/src/tray.rs
new file mode 100644
index 000000000..fdd815d09
--- /dev/null
+++ b/examples/api/src-tauri/src/tray.rs
@@ -0,0 +1,143 @@
+// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
+// SPDX-License-Identifier: Apache-2.0
+// SPDX-License-Identifier: MIT
+
+use std::sync::atomic::{AtomicBool, Ordering};
+use tauri::{
+ CustomMenuItem, Manager, SystemTray, SystemTrayEvent, SystemTrayMenu, WindowBuilder, WindowUrl,
+};
+use tauri_plugin_dialog::DialogExt;
+use tauri_plugin_shell::ShellExt;
+
+pub fn create_tray(app: &tauri::App) -> tauri::Result<()> {
+ let mut tray_menu1 = SystemTrayMenu::new()
+ .add_item(CustomMenuItem::new("toggle", "Toggle"))
+ .add_item(CustomMenuItem::new("new", "New window"))
+ .add_item(CustomMenuItem::new("icon_1", "Tray Icon 1"))
+ .add_item(CustomMenuItem::new("icon_2", "Tray Icon 2"));
+
+ #[cfg(target_os = "macos")]
+ {
+ tray_menu1 = tray_menu1.add_item(CustomMenuItem::new("set_title", "Set Title"));
+ }
+
+ tray_menu1 = tray_menu1
+ .add_item(CustomMenuItem::new("switch_menu", "Switch Menu"))
+ .add_item(CustomMenuItem::new("about", "About"))
+ .add_item(CustomMenuItem::new("exit_app", "Quit"))
+ .add_item(CustomMenuItem::new("destroy", "Destroy"));
+
+ let tray_menu2 = SystemTrayMenu::new()
+ .add_item(CustomMenuItem::new("toggle", "Toggle"))
+ .add_item(CustomMenuItem::new("new", "New window"))
+ .add_item(CustomMenuItem::new("switch_menu", "Switch Menu"))
+ .add_item(CustomMenuItem::new("about", "About"))
+ .add_item(CustomMenuItem::new("exit_app", "Quit"))
+ .add_item(CustomMenuItem::new("destroy", "Destroy"));
+ let is_menu1 = AtomicBool::new(true);
+
+ let handle = app.handle();
+ let tray_id = "my-tray".to_string();
+ SystemTray::new()
+ .with_id(&tray_id)
+ .with_menu(tray_menu1.clone())
+ .with_tooltip("Tauri")
+ .on_event(move |event| {
+ let tray_handle = handle.tray_handle_by_id(&tray_id).unwrap();
+ match event {
+ SystemTrayEvent::LeftClick {
+ position: _,
+ size: _,
+ ..
+ } => {
+ let window = handle.get_window("main").unwrap();
+ window.show().unwrap();
+ window.set_focus().unwrap();
+ }
+ SystemTrayEvent::MenuItemClick { id, .. } => {
+ let item_handle = tray_handle.get_item(&id);
+ match id.as_str() {
+ "exit_app" => {
+ // exit the app
+ handle.exit(0);
+ }
+ "destroy" => {
+ tray_handle.destroy().unwrap();
+ }
+ "toggle" => {
+ let window = handle.get_window("main").unwrap();
+ let new_title = if window.is_visible().unwrap() {
+ window.hide().unwrap();
+ "Show"
+ } else {
+ window.show().unwrap();
+ "Hide"
+ };
+ item_handle.set_title(new_title).unwrap();
+ }
+ "new" => {
+ WindowBuilder::new(&handle, "new", WindowUrl::App("index.html".into()))
+ .title("Tauri")
+ .build()
+ .unwrap();
+ }
+ "set_title" => {
+ #[cfg(target_os = "macos")]
+ tray_handle.set_title("Tauri").unwrap();
+ }
+ "icon_1" => {
+ #[cfg(target_os = "macos")]
+ tray_handle.set_icon_as_template(true).unwrap();
+
+ tray_handle
+ .set_icon(tauri::Icon::Raw(
+ include_bytes!("../icons/tray_icon_with_transparency.png")
+ .to_vec(),
+ ))
+ .unwrap();
+ }
+ "icon_2" => {
+ #[cfg(target_os = "macos")]
+ tray_handle.set_icon_as_template(true).unwrap();
+
+ tray_handle
+ .set_icon(tauri::Icon::Raw(
+ include_bytes!("../icons/icon.ico").to_vec(),
+ ))
+ .unwrap();
+ }
+ "switch_menu" => {
+ let flag = is_menu1.load(Ordering::Relaxed);
+ let (menu, tooltip) = if flag {
+ (tray_menu2.clone(), "Menu 2")
+ } else {
+ (tray_menu1.clone(), "Tauri")
+ };
+ tray_handle.set_menu(menu).unwrap();
+ tray_handle.set_tooltip(tooltip).unwrap();
+ is_menu1.store(!flag, Ordering::Relaxed);
+ }
+ "about" => {
+ let window = handle.get_window("main").unwrap();
+ window
+ .dialog()
+ .message("Tauri demo app")
+ .title("About app")
+ .parent(&window)
+ .ok_button_label("Homepage")
+ .cancel_button_label("Cancel")
+ .show(move |ok| {
+ if ok {
+ window.shell().open("https://tauri.app/", None).unwrap();
+ }
+ });
+ }
+ _ => {}
+ }
+ }
+ _ => {}
+ }
+ })
+ .build(app)
+ .map(|_| ())
+}
diff --git a/examples/api/src-tauri/tauri.conf.json b/examples/api/src-tauri/tauri.conf.json
new file mode 100644
index 000000000..741a7e1fe
--- /dev/null
+++ b/examples/api/src-tauri/tauri.conf.json
@@ -0,0 +1,147 @@
+{
+ "$schema": "../node_modules/@tauri-apps/cli/schema.json",
+ "build": {
+ "distDir": "../dist",
+ "devPath": "http://localhost:5173",
+ "beforeDevCommand": "yarn dev",
+ "beforeBuildCommand": "yarn build",
+ "withGlobalTauri": true
+ },
+ "package": {
+ "productName": "Tauri API",
+ "version": "2.0.0"
+ },
+ "plugins": {
+ "cli": {
+ "description": "Tauri API example",
+ "args": [
+ {
+ "short": "c",
+ "name": "config",
+ "takesValue": true,
+ "description": "Config path"
+ },
+ {
+ "short": "t",
+ "name": "theme",
+ "takesValue": true,
+ "description": "App theme",
+ "possibleValues": ["light", "dark", "system"]
+ },
+ {
+ "short": "v",
+ "name": "verbose",
+ "description": "Verbosity level"
+ }
+ ],
+ "subcommands": {
+ "update": {
+ "description": "Updates the app",
+ "args": [
+ {
+ "short": "b",
+ "name": "background",
+ "description": "Update in background"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "tauri": {
+ "pattern": {
+ "use": "isolation",
+ "options": {
+ "dir": "../isolation-dist/"
+ }
+ },
+ "macOSPrivateApi": true,
+ "bundle": {
+ "active": true,
+ "identifier": "com.tauri.api",
+ "icon": [
+ "icons/32x32.png",
+ "icons/128x128.png",
+ "icons/128x128@2x.png",
+ "icons/icon.icns",
+ "icons/icon.ico"
+ ],
+ "windows": {
+ "wix": {
+ "language": {
+ "en-US": {},
+ "pt-BR": {
+ "localePath": "locales/pt-BR.wxl"
+ }
+ }
+ }
+ }
+ },
+ "updater": {
+ "active": true,
+ "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDE5QzMxNjYwNTM5OEUwNTgKUldSWTRKaFRZQmJER1h4d1ZMYVA3dnluSjdpN2RmMldJR09hUFFlZDY0SlFqckkvRUJhZDJVZXAK",
+ "endpoints": [
+ "https://tauri-update-server.vercel.app/update/{{target}}/{{current_version}}"
+ ]
+ },
+ "allowlist": {
+ "all": true,
+ "fs": {
+ "scope": {
+ "allow": ["$APPDATA/db/**", "$DOWNLOAD/**", "$RESOURCE/**"],
+ "deny": ["$APPDATA/db/*.stronghold"]
+ }
+ },
+ "shell": {
+ "open": true,
+ "scope": [
+ {
+ "name": "sh",
+ "cmd": "sh",
+ "args": [
+ "-c",
+ {
+ "validator": "\\S+"
+ }
+ ]
+ },
+ {
+ "name": "cmd",
+ "cmd": "cmd",
+ "args": [
+ "/C",
+ {
+ "validator": "\\S+"
+ }
+ ]
+ }
+ ]
+ },
+ "protocol": {
+ "asset": true,
+ "assetScope": {
+ "allow": ["$APPDATA/db/**", "$RESOURCE/**"],
+ "deny": ["$APPDATA/db/*.stronghold"]
+ }
+ },
+ "http": {
+ "scope": ["http://localhost:3003"]
+ }
+ },
+ "windows": [],
+ "security": {
+ "csp": {
+ "default-src": "'self' customprotocol: asset:",
+ "font-src": ["https://fonts.gstatic.com"],
+ "img-src": "'self' asset: https://asset.localhost blob: data:",
+ "style-src": "'unsafe-inline' 'self' https://fonts.googleapis.com"
+ },
+ "freezePrototype": true
+ },
+ "systemTray": {
+ "iconPath": "icons/tray_icon_with_transparency.png",
+ "iconAsTemplate": true,
+ "menuOnLeftClick": false
+ }
+ }
+}
diff --git a/examples/api/src/App.svelte b/examples/api/src/App.svelte
new file mode 100644
index 000000000..b955ee610
--- /dev/null
+++ b/examples/api/src/App.svelte
@@ -0,0 +1,485 @@
+
+
+
+{#if isWindows}
+
+
Tauri API Validation
+
+
+ {#if isDark}
+
+ {:else}
+
+ {/if}
+
+
+
+
+
+ {#if isWindowMaximized}
+
+ {:else}
+
+ {/if}
+
+
+
+
+
+
+{/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {#each $messages as r}
+ {@html r.html}
+ {/each}
+
+
+
+
diff --git a/examples/api/src/app.css b/examples/api/src/app.css
new file mode 100644
index 000000000..77704c364
--- /dev/null
+++ b/examples/api/src/app.css
@@ -0,0 +1,41 @@
+*:not(h1, h2, h3, h4, h5, h6) {
+ margin: 0;
+ padding: 0;
+}
+
+* {
+ box-sizing: border-box;
+ font-family: "Rubik", sans-serif;
+}
+
+::-webkit-scrollbar {
+ width: 0.25rem;
+ height: 3px;
+}
+
+::-webkit-scrollbar-track {
+ background: transparent;
+}
+
+::-webkit-scrollbar-thumb {
+ border-radius: 0.25rem;
+}
+
+code {
+ padding: 0.05rem 0.25rem;
+}
+
+code.code-block {
+ padding: 0.5rem;
+}
+
+#sidebar {
+ width: 18.75rem;
+}
+
+@media screen and (max-width: 640px) {
+ #sidebar {
+ --translate-x: -18.75rem;
+ transform: translateX(var(--translate-x));
+ }
+}
diff --git a/examples/api/src/main.js b/examples/api/src/main.js
new file mode 100644
index 000000000..f9785b74b
--- /dev/null
+++ b/examples/api/src/main.js
@@ -0,0 +1,13 @@
+// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
+// SPDX-License-Identifier: Apache-2.0
+// SPDX-License-Identifier: MIT
+
+import "uno.css";
+import "./app.css";
+import App from "./App.svelte";
+
+const app = new App({
+ target: document.querySelector("#app"),
+});
+
+export default app;
diff --git a/examples/api/src/views/App.svelte b/examples/api/src/views/App.svelte
new file mode 100644
index 000000000..760590f0c
--- /dev/null
+++ b/examples/api/src/views/App.svelte
@@ -0,0 +1,33 @@
+
+
+
+ Show
+ Hide
+
diff --git a/examples/api/src/views/Cli.svelte b/examples/api/src/views/Cli.svelte
new file mode 100644
index 000000000..828c054fd
--- /dev/null
+++ b/examples/api/src/views/Cli.svelte
@@ -0,0 +1,29 @@
+
+
+
+ This binary can be run from the terminal and takes the following arguments:
+
+
+ --config <PATH>
+ --theme <light|dark|system>
+ --verbose
+
+ Additionally, it has a update --background
subcommand.
+
+
+
+ Note that the arguments are only parsed, not implemented.
+
+
+
+
+ Get matches
+
diff --git a/examples/api/src/views/Clipboard.svelte b/examples/api/src/views/Clipboard.svelte
new file mode 100644
index 000000000..f796e8614
--- /dev/null
+++ b/examples/api/src/views/Clipboard.svelte
@@ -0,0 +1,32 @@
+
+
+
+
+ Write
+ Read
+
diff --git a/examples/api/src/views/Communication.svelte b/examples/api/src/views/Communication.svelte
new file mode 100644
index 000000000..e5b47f018
--- /dev/null
+++ b/examples/api/src/views/Communication.svelte
@@ -0,0 +1,50 @@
+
+
+
+ Call Log API
+
+ Call Request (async) API
+
+
+ Send event to Rust
+
+
diff --git a/examples/api/src/views/Dialog.svelte b/examples/api/src/views/Dialog.svelte
new file mode 100644
index 000000000..f6cabc22f
--- /dev/null
+++ b/examples/api/src/views/Dialog.svelte
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+ Multiple
+
+
+
+ Directory
+
+
+Open dialog
+Open save dialog
diff --git a/examples/api/src/views/FileSystem.svelte b/examples/api/src/views/FileSystem.svelte
new file mode 100644
index 000000000..ca0e277ea
--- /dev/null
+++ b/examples/api/src/views/FileSystem.svelte
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
diff --git a/examples/api/src/views/Http.svelte b/examples/api/src/views/Http.svelte
new file mode 100644
index 000000000..5b34126e2
--- /dev/null
+++ b/examples/api/src/views/Http.svelte
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+HTTP Form
+
+
+
+
+
+
+
+
+ Multipart
+
+
+
+ Post it
+
+
+
diff --git a/examples/api/src/views/Notifications.svelte b/examples/api/src/views/Notifications.svelte
new file mode 100644
index 000000000..624561dfa
--- /dev/null
+++ b/examples/api/src/views/Notifications.svelte
@@ -0,0 +1,34 @@
+
+
+
+ Send test notification
+
diff --git a/examples/api/src/views/Shell.svelte b/examples/api/src/views/Shell.svelte
new file mode 100644
index 000000000..e7afb9a75
--- /dev/null
+++ b/examples/api/src/views/Shell.svelte
@@ -0,0 +1,100 @@
+
+
+
diff --git a/examples/api/src/views/Shortcuts.svelte b/examples/api/src/views/Shortcuts.svelte
new file mode 100644
index 000000000..cdc2a065c
--- /dev/null
+++ b/examples/api/src/views/Shortcuts.svelte
@@ -0,0 +1,73 @@
+
+
+
+
+ Register
+
+
+
+ {#each $shortcuts as savedShortcut}
+
+ {savedShortcut}
+ unregister(savedShortcut)}>Unregister
+
+ {/each}
+ {#if $shortcuts.length > 1}
+
+
Unregister all
+ {/if}
+
diff --git a/examples/api/src/views/Updater.svelte b/examples/api/src/views/Updater.svelte
new file mode 100644
index 000000000..3b219cfe0
--- /dev/null
+++ b/examples/api/src/views/Updater.svelte
@@ -0,0 +1,76 @@
+
+
+
+ {#if !isChecking && !newUpdate}
+
Check update
+ {:else if !isInstalling && newUpdate}
+
Install update
+ {:else}
+
+ {/if}
+
+
+
diff --git a/examples/api/src/views/WebRTC.svelte b/examples/api/src/views/WebRTC.svelte
new file mode 100644
index 000000000..e0f9862a5
--- /dev/null
+++ b/examples/api/src/views/WebRTC.svelte
@@ -0,0 +1,56 @@
+
+
+
+
Not available for Linux
+
+
+
+
diff --git a/examples/api/src/views/Welcome.svelte b/examples/api/src/views/Welcome.svelte
new file mode 100644
index 000000000..7906d2982
--- /dev/null
+++ b/examples/api/src/views/Welcome.svelte
@@ -0,0 +1,47 @@
+
+
+
+ This is a demo of Tauri's API capabilities using the @tauri-apps/api
package. It's used as the main validation app, serving as the test bed of our
+ development process. In the future, this app will be used on Tauri's integration
+ tests.
+
+
+
+
+
+App name: {appName}
+App version: {version}
+Tauri version: {tauriVersion}
+
+
+
+ Close application
+ Relaunch application
+
diff --git a/examples/api/src/views/Window.svelte b/examples/api/src/views/Window.svelte
new file mode 100644
index 000000000..df77d9b05
--- /dev/null
+++ b/examples/api/src/views/Window.svelte
@@ -0,0 +1,459 @@
+
+
+
+
+
+ New window
+
+
+ {#if Object.keys(windowMap).length >= 1}
+
Selected window:
+
+ Choose a window...
+ {#each Object.keys(windowMap) as label}
+ {label}
+ {/each}
+
+ {/if}
+ {#if windowMap[selectedWindow]}
+
+
+ windowMap[selectedWindow].center()}
+ >
+ Center
+
+
+ Minimize
+
+
+ Hide
+
+ Change icon
+ Request attention
+
+
+
+
+ Maximized
+
+
+
+ Resizable
+
+
+
+ Has decorations
+
+
+
+ Always on top
+
+
+
+ Content protected
+
+
+
+ Fullscreen
+
+
+
+
+
+
+
+
+
+
+ Inner Size
+
+
Width: {innerSize.width}
+
Height: {innerSize.height}
+
+
+
+ Outer Size
+
+
Width: {outerSize.width}
+
Height: {outerSize.height}
+
+
+
+
+
+ Inner Logical Size
+
+
Width: {innerSize.toLogical(scaleFactor).width}
+
Height: {innerSize.toLogical(scaleFactor).height}
+
+
+
+ Outer Logical Size
+
+
Width: {outerSize.toLogical(scaleFactor).width}
+
Height: {outerSize.toLogical(scaleFactor).height}
+
+
+
+
+
+ Inner Position
+
+
x: {innerPosition.x}
+
y: {innerPosition.y}
+
+
+
+ Outer Position
+
+
x: {outerPosition.x}
+
y: {outerPosition.y}
+
+
+
+
+
+ Inner Logical Position
+
+
x: {innerPosition.toLogical(scaleFactor).x}
+
y: {innerPosition.toLogical(scaleFactor).y}
+
+
+
+ Outer Logical Position
+
+
x: {outerPosition.toLogical(scaleFactor).x}
+
y: {outerPosition.toLogical(scaleFactor).y}
+
+
+
+
+
Cursor
+
+
+
+ Grab
+
+
+
+ Visible
+
+
+
+ Ignore events
+
+
+
+
+ Icon
+
+ {#each cursorIconOptions as kind}
+ {kind}
+ {/each}
+
+
+
+ X position
+
+
+
+ Y position
+
+
+
+
+
+
+
+ Set title
+
+
+
+ Open URL
+
+
+ {/if}
+
diff --git a/examples/api/unocss.config.js b/examples/api/unocss.config.js
new file mode 100644
index 000000000..7c6dc105e
--- /dev/null
+++ b/examples/api/unocss.config.js
@@ -0,0 +1,105 @@
+// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
+// SPDX-License-Identifier: Apache-2.0
+// SPDX-License-Identifier: MIT
+
+import {
+ defineConfig,
+ presetIcons,
+ presetUno,
+ extractorSvelte,
+ presetWebFonts,
+} from "unocss";
+
+export default defineConfig({
+ theme: {
+ colors: {
+ primary: "#FFFFFF",
+ primaryLighter: "#e9ecef",
+ darkPrimary: "#1B1B1D",
+ darkPrimaryLighter: "#242526",
+ primaryText: "#1C1E21",
+ darkPrimaryText: "#E3E3E3",
+ secondaryText: "#858A91",
+ darkSecondaryText: "#C2C5CA",
+ accent: "#3578E5",
+ accentDark: "#306cce",
+ accentDarker: "#2d66c3",
+ accentDarkest: "#2554a0",
+ accentLight: "#538ce9",
+ accentLighter: "#72a1ed",
+ accentLightest: "#9abcf2",
+ accentText: "#FFFFFF",
+ darkAccent: "#67d6ed",
+ darkAccentDark: "#49cee9",
+ darkAccentDarker: "#39cae8",
+ darkAccentDarkest: "#19b5d5",
+ darkAccentLight: "#85def1",
+ darkAccentLighter: "#95e2f2",
+ darkAccentLightest: "#c2eff8",
+ darkAccentText: "#1C1E21",
+ code: "#d6d8da",
+ codeDark: "#282a2e",
+ hoverOverlay: "rgba(0,0,0,.05)",
+ hoverOverlayDarker: "rgba(0,0,0,.1)",
+ darkHoverOverlay: "hsla(0,0%,100%,.05)",
+ darkHoverOverlayDarker: "hsla(0,0%,100%,.1)",
+ },
+ },
+ preflights: [
+ {
+ getCSS: ({ theme }) => `
+ ::-webkit-scrollbar-thumb {
+ background-color: ${theme.colors.accent};
+ }
+
+ .dark ::-webkit-scrollbar-thumb {
+ background-color: ${theme.colors.darkAccent};
+ }
+
+ code {
+ font-size: ${theme.fontSize.xs[0]};
+ font-family: ${theme.fontFamily.mono};
+ border-radius: ${theme.borderRadius["DEFAULT"]};
+ background-color: ${theme.colors.code};
+ }
+
+ .code-block {
+ font-family: ${theme.fontFamily.mono};
+ font-size: ${theme.fontSize.sm[0]};
+ }
+
+ .dark code {
+ background-color: ${theme.colors.codeDark};
+ }
+ `,
+ },
+ ],
+ shortcuts: {
+ btn: `select-none outline-none shadow-md p-2 rd-1 text-primaryText border-none font-400 dark:font-600
+ bg-accent hover:bg-accentDarker active:bg-accentDarkest text-accentText
+ dark:bg-darkAccent dark:hover:bg-darkAccentDarker dark:active:bg-darkAccentDarkest dark:text-darkAccentText`,
+ nv: `decoration-none flex items-center relative p-2 rd-1 transition-all-125 ease
+ text-darkSecondaryText
+ hover:text-accent dark:hover:text-darkAccent
+ hover:bg-darkHoverOverlay hover:border-l-4`,
+ nv_selected: `nv bg-darkHoverOverlay text-accent dark:text-darkAccent border-l-4`,
+ note: `decoration-none flex-inline items-center relative p-2 rd-1
+ border-l-4 border-accent dark:border-darkAccent
+ bg-accent/10 dark:bg-darkAccent/10`,
+ "note-red":
+ "note bg-red-700/10 dark:bg-red-700/10 after:bg-red-700 dark:after:bg-red-700",
+ input:
+ "h-10 flex items-center outline-none border-none p-2 rd-1 shadow-md bg-primaryLighter dark:bg-darkPrimaryLighter text-primaryText dark:text-darkPrimaryText",
+ },
+ presets: [
+ presetUno(),
+ presetIcons(),
+ presetWebFonts({
+ fonts: {
+ sans: "Rubik",
+ mono: ["Fira Code", "Fira Mono:400,700"],
+ },
+ }),
+ ],
+ extractors: [extractorSvelte],
+});
diff --git a/examples/api/vite.config.js b/examples/api/vite.config.js
new file mode 100644
index 000000000..df8c64f2d
--- /dev/null
+++ b/examples/api/vite.config.js
@@ -0,0 +1,43 @@
+// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
+// SPDX-License-Identifier: Apache-2.0
+// SPDX-License-Identifier: MIT
+
+import { defineConfig } from "vite";
+import Unocss from "unocss/vite";
+import { svelte } from "@sveltejs/vite-plugin-svelte";
+import { internalIpV4 } from "internal-ip";
+import process from "process";
+
+// https://vitejs.dev/config/
+export default defineConfig(async () => {
+ const host =
+ process.env.TAURI_PLATFORM === "android" ||
+ process.env.TAURI_PLATFORM === "ios"
+ ? await internalIpV4()
+ : "localhost";
+ return {
+ plugins: [Unocss(), svelte()],
+ build: {
+ rollupOptions: {
+ output: {
+ entryFileNames: `assets/[name].js`,
+ chunkFileNames: `assets/[name].js`,
+ assetFileNames: `assets/[name].[ext]`,
+ },
+ },
+ },
+ server: {
+ host: "0.0.0.0",
+ port: 5173,
+ strictPort: true,
+ hmr: {
+ protocol: "ws",
+ host,
+ port: 5183,
+ },
+ fs: {
+ allow: [".", "../../tooling/api/dist"],
+ },
+ },
+ };
+});
diff --git a/examples/api/yarn-error.log b/examples/api/yarn-error.log
new file mode 100644
index 000000000..59baf8f84
--- /dev/null
+++ b/examples/api/yarn-error.log
@@ -0,0 +1,1094 @@
+Arguments:
+ /home/lucas/.nvm/versions/node/v16.14.0/bin/node /usr/bin/yarn
+
+PATH:
+ /home/lucas/.local/bin:/opt/ums:/home/lucas/NDK/x86/bin:/home/lucas/Android/Sdk/platform-tools:/home/lucas/.yarn/bin:/home/lucas/.cargo/bin:/home/lucas/.nvm/versions/node/v16.14.0/bin:/home/lucas/.config/composer/vendor/bin:/home/lucasfernog/perl5/bin:/usr/bin:/home/lucas/.local/bin:/opt/ums:/home/lucas/NDK/x86/bin:/home/lucas/Android/Sdk/platform-tools:/home/lucas/.yarn/bin:/home/lucas/.cargo/bin:/home/lucas/.nvm/versions/node/v16.14.0/bin:/home/lucas/.config/composer/vendor/bin:/home/lucasfernog/perl5/bin:/usr/condabin:/usr/local/sbin:/usr/local/bin:/usr/bin:/home/lucas/.dotnet/tools:/home/lucas/.local/share/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/lucas/.rvm/bin:/home/lucas/.rvm/bin
+
+Yarn version:
+ 1.22.19
+
+Node version:
+ 16.14.0
+
+Platform:
+ linux x64
+
+Trace:
+ Error: https://gitpkg.now.sh/tauri-apps/plugins-workspace/plugins/fs?feat/fs-plugin&scripts.build=build: Request failed "500 Internal Server Error"
+ at ResponseError.ExtendableBuiltin (/usr/lib/node_modules/yarn/lib/cli.js:696:66)
+ at new ResponseError (/usr/lib/node_modules/yarn/lib/cli.js:802:124)
+ at Request. (/usr/lib/node_modules/yarn/lib/cli.js:66215:16)
+ at Request.emit (node:events:520:28)
+ at Request.module.exports.Request.onRequestResponse (/usr/lib/node_modules/yarn/lib/cli.js:141767:10)
+ at ClientRequest.emit (node:events:520:28)
+ at HTTPParser.parserOnIncomingClient (node:_http_client:618:27)
+ at HTTPParser.parserOnHeadersComplete (node:_http_common:128:17)
+ at TLSSocket.socketOnData (node:_http_client:482:22)
+ at TLSSocket.emit (node:events:520:28)
+
+npm manifest:
+ {
+ "name": "svelte-app",
+ "version": "1.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite --clearScreen false",
+ "build": "vite build",
+ "serve": "vite preview",
+ "tauri": "node ../../tooling/cli/node/tauri.js"
+ },
+ "dependencies": {
+ "@tauri-apps/api": "../../tooling/api/dist",
+ "@zerodevx/svelte-json-view": "0.2.1",
+ "tauri-plugin-fs-api": "https://gitpkg.now.sh/tauri-apps/plugins-workspace/plugins/fs?feat/fs-plugin&scripts.build=build"
+ },
+ "devDependencies": {
+ "@iconify-json/codicon": "^1.1.10",
+ "@iconify-json/ph": "^1.1.1",
+ "@sveltejs/vite-plugin-svelte": "^1.0.1",
+ "internal-ip": "^7.0.0",
+ "svelte": "^3.49.0",
+ "unocss": "^0.39.3",
+ "vite": "^3.0.9"
+ }
+ }
+
+yarn manifest:
+ No manifest
+
+Lockfile:
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+ # yarn lockfile v1
+
+
+ "@antfu/install-pkg@^0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@antfu/install-pkg/-/install-pkg-0.1.0.tgz#8d8c61820cbc32e5c37d82d515485ad3ee9bd052"
+ integrity sha512-VaIJd3d1o7irZfK1U0nvBsHMyjkuyMP3HKYVV53z8DKyulkHKmjhhtccXO51WSPeeSHIeoJEoNOKavYpS7jkZw==
+ dependencies:
+ execa "^5.1.1"
+ find-up "^5.0.0"
+
+ "@antfu/utils@^0.5.0", "@antfu/utils@^0.5.1":
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.5.2.tgz#8c2d931ff927be0ebe740169874a3d4004ab414b"
+ integrity sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==
+
+ "@esbuild/linux-loong64@0.14.54":
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028"
+ integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==
+
+ "@iconify-json/codicon@^1.1.10":
+ version "1.1.10"
+ resolved "https://registry.yarnpkg.com/@iconify-json/codicon/-/codicon-1.1.10.tgz#22fee909be51afebfbcc6cd57209064b5363f202"
+ integrity sha512-xx3nX5k4UeDQnpX9D1T6L1RCEwyLtqu3Lqk9plYK+SoBSQ/kR73bPy9WbYyDVOw2MDw50JCSpZZYlBC718k7Sg==
+ dependencies:
+ "@iconify/types" "^1.1.0"
+
+ "@iconify-json/ph@^1.1.1":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@iconify-json/ph/-/ph-1.1.1.tgz#17b3dee91a47055bac93d65c32b9ee33c654d56f"
+ integrity sha512-sIHTY+c1F8x29BM49IqoccJ3T8mvVXPcrE4WOpJ3GsBaip2YqFJRYU60rw64UL6GEI13vWSD7NsZKq8ytTO87g==
+ dependencies:
+ "@iconify/types" "^1.0.12"
+
+ "@iconify/types@^1.0.12", "@iconify/types@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@iconify/types/-/types-1.1.0.tgz#dc15fc988b1b3fd558dd140a24ede7e0aac11280"
+ integrity sha512-Jh0llaK2LRXQoYsorIH8maClebsnzTcve+7U3rQUSnC11X4jtPnFuyatqFLvMxZ8MLG8dB4zfHsbPfuvxluONw==
+
+ "@iconify/utils@^1.0.33":
+ version "1.0.33"
+ resolved "https://registry.yarnpkg.com/@iconify/utils/-/utils-1.0.33.tgz#9952ecae79e3b1685b83c58159c1d48959f6105a"
+ integrity sha512-vGeAqo7aGPxOQmGdVoXFUOuyN+0V7Lcrx2EvaiRjxUD1x6Om0Tvq2bdm7E24l2Pz++4S0mWMCVFXe/17EtKImQ==
+ dependencies:
+ "@antfu/install-pkg" "^0.1.0"
+ "@antfu/utils" "^0.5.0"
+ "@iconify/types" "^1.1.0"
+ debug "^4.3.4"
+ kolorist "^1.5.1"
+ local-pkg "^0.4.1"
+
+ "@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.5"
+ run-parallel "^1.1.9"
+
+ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+ "@nodelib/fs.walk@^1.2.3":
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+ integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.5"
+ fastq "^1.6.0"
+
+ "@polka/url@^1.0.0-next.20":
+ version "1.0.0-next.21"
+ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1"
+ integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==
+
+ "@rollup/pluginutils@^4.2.1":
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d"
+ integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==
+ dependencies:
+ estree-walker "^2.0.1"
+ picomatch "^2.2.2"
+
+ "@sveltejs/vite-plugin-svelte@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.1.tgz#7f468f03c933fcdfc60d4773671c73f33b9ef4d6"
+ integrity sha512-PorCgUounn0VXcpeJu+hOweZODKmGuLHsLomwqSj+p26IwjjGffmYQfVHtiTWq+NqaUuuHWWG7vPge6UFw4Aeg==
+ dependencies:
+ "@rollup/pluginutils" "^4.2.1"
+ debug "^4.3.4"
+ deepmerge "^4.2.2"
+ kleur "^4.1.5"
+ magic-string "^0.26.2"
+ svelte-hmr "^0.14.12"
+
+ "@tauri-apps/api@../../tooling/api/dist":
+ version "2.0.0-alpha.3"
+
+ "@tauri-apps/api@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@tauri-apps/api/-/api-1.2.0.tgz#1f196b3e012971227f41b98214c846430a4eb477"
+ integrity sha512-lsI54KI6HGf7VImuf/T9pnoejfgkNoXveP14pVV7XarrQ46rOejIVJLFqHI9sRReJMGdh2YuCoI3cc/yCWCsrw==
+
+ "@unocss/cli@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/cli/-/cli-0.39.3.tgz#a7e956a4fffb9586579f09727069f83d34c5e358"
+ integrity sha512-h+qq76CJTkV7GYBSQ3vSJCn/jewFzBVh8owMYH3B1ROe5D1mCev2INYvHlsQsVVoyxnccBeuZ6st6OK56VyDjA==
+ dependencies:
+ "@unocss/config" "0.39.3"
+ "@unocss/core" "0.39.3"
+ "@unocss/preset-uno" "0.39.3"
+ cac "^6.7.12"
+ chokidar "^3.5.3"
+ colorette "^2.0.16"
+ consola "^2.15.3"
+ fast-glob "^3.2.11"
+ pathe "^0.3.0"
+ perfect-debounce "^0.1.3"
+
+ "@unocss/config@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/config/-/config-0.39.3.tgz#0404c29dc76b87833fef331a628652be7cb1f9ee"
+ integrity sha512-qyxjUUdi+D/vS4Snhoj0uW8ErKlfZCKdjJ+ntwnJK3c8dxAp/IuicE+6ukcLfHxT0kAw1xaRlNwamtL3MgcX/A==
+ dependencies:
+ "@unocss/core" "0.39.3"
+ unconfig "^0.3.4"
+
+ "@unocss/core@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/core/-/core-0.39.3.tgz#fec1e71b2f89e14629c47be72f6c894dd88933ac"
+ integrity sha512-8MnXKHNtp6xgsFIaFtWctnbsT60c8JSlxXA7XbGxEztOmSEhpZmLeLGe5AgmEGPH6MssqJtI0DCeTbzbbtOjfw==
+
+ "@unocss/inspector@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/inspector/-/inspector-0.39.3.tgz#0e22826e1c9c017be2d5e0db00728d48f2e39a1d"
+ integrity sha512-j7U04I07sqK63+3cA7oju/hoGOkdN+/hAwGYkCgWGNj+HwxiU7TTEVg0qZ1FAUU/GyyI9G/c4RIpwei9dLVz9w==
+ dependencies:
+ gzip-size "^6.0.0"
+ sirv "^2.0.2"
+
+ "@unocss/preset-attributify@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/preset-attributify/-/preset-attributify-0.39.3.tgz#b2bf4f645edd7f9890e85fcdfd770e19298d611d"
+ integrity sha512-SZWWUfTTKyHHqlF9x6aZ+BFMIiwOsUTP4NXS3/rIroqzfvVDZtGS6/a7RVBl+M74wjqSWB/DDeS9kQiH2L/CIg==
+ dependencies:
+ "@unocss/core" "0.39.3"
+
+ "@unocss/preset-icons@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/preset-icons/-/preset-icons-0.39.3.tgz#d6dcbd09bce41c11370a1d652967584f9eb7043f"
+ integrity sha512-zMTfP3pVaN2WREWY36adsY62gEm51R0CZd7v0gHOlltEG6kT1UCeyIQwOtn48wHRCesy92f70R6RIR3rwSVaCQ==
+ dependencies:
+ "@iconify/utils" "^1.0.33"
+ "@unocss/core" "0.39.3"
+ ohmyfetch "^0.4.18"
+
+ "@unocss/preset-mini@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/preset-mini/-/preset-mini-0.39.3.tgz#3996da482ddc9ba3de5e5656d1808939befd5812"
+ integrity sha512-XCxp3mwWsEpCo0cIJA3tLrWqdAL09gP3wv9iGh4H9o0fIPlYXjVTC1WtUHkv3C09LdZ+MH/9Ja/KqnVf3bNROA==
+ dependencies:
+ "@unocss/core" "0.39.3"
+
+ "@unocss/preset-tagify@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/preset-tagify/-/preset-tagify-0.39.3.tgz#a0268c8aae0e0c5825079a87312c93ac8b05a43c"
+ integrity sha512-OXE47cS/tiL92ZThgLOpbSFy7MPZ4upE4ZX1m9pnCaWzX7LBzp8Gw0DM+dF3IYdIfJpmU4R6b53ME8SchofuHA==
+ dependencies:
+ "@unocss/core" "0.39.3"
+
+ "@unocss/preset-typography@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/preset-typography/-/preset-typography-0.39.3.tgz#fd151885aa9d83a9ea9577aa26737f9f96dcf661"
+ integrity sha512-jTJOA87bEkU0RGMPSFZK3Zobr2fgkqKCYDczTjPbCiZ8UzlMJnWrpsNTN9f4UI0b6Ck8sXtMtW8sRrJsEll9jg==
+ dependencies:
+ "@unocss/core" "0.39.3"
+
+ "@unocss/preset-uno@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/preset-uno/-/preset-uno-0.39.3.tgz#bf8d05ee9e92006a788d56c95a52f8a6676af4e1"
+ integrity sha512-EADVFqx5x4te/teqwjHb025FIy/T0QXafcVDRwUijS6OOqm5rZ7fXd/hu41XYYn3B802r/g4bDC2wO+7foNVwA==
+ dependencies:
+ "@unocss/core" "0.39.3"
+ "@unocss/preset-mini" "0.39.3"
+ "@unocss/preset-wind" "0.39.3"
+
+ "@unocss/preset-web-fonts@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/preset-web-fonts/-/preset-web-fonts-0.39.3.tgz#a7af50bda616d9e980e45157a59079f90d463e01"
+ integrity sha512-b23nmEGHbfvC/PCv0m0BGqFt2zX8J9ekwjfmEL1Bk1C0KL2voYGSdbSm0I8iO6sKb1CLy6qy71N/CuGtIE3FJA==
+ dependencies:
+ "@unocss/core" "0.39.3"
+ ohmyfetch "^0.4.18"
+
+ "@unocss/preset-wind@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/preset-wind/-/preset-wind-0.39.3.tgz#014d5da2cae63489c363ff057a500f26d15455a4"
+ integrity sha512-kjMgPxt4xfmiliodKTbotJDSAqAOCy25f1jdIj9CjjFjwYsUAuiYi8UgPsEi550Bj5BlBEHFn/RhcMGvinzY8A==
+ dependencies:
+ "@unocss/core" "0.39.3"
+ "@unocss/preset-mini" "0.39.3"
+
+ "@unocss/reset@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/reset/-/reset-0.39.3.tgz#71fbbac03c96617e039b46f98e372271413a5d3d"
+ integrity sha512-hW3gZ3lsu6N58XEG7m1dprt15fN0xkYjAo7vSp8eT3/p7h5HE7wNgU2v9ttGBC3B2z4AWHGdspfmaH3sR8lCJw==
+
+ "@unocss/scope@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/scope/-/scope-0.39.3.tgz#8f1b5fd02f6d935bb1b83f4100c06b23dbb38c2f"
+ integrity sha512-ex2QDRgBQ5mTwBcXtCWdTDPl6/HrBv0asDWVXXv7ezjxcByJjMrHj64gMvUbAcGAoX2ic7hIEUT3Ju5i6knKFw==
+
+ "@unocss/transformer-compile-class@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/transformer-compile-class/-/transformer-compile-class-0.39.3.tgz#6e8b7ca6eee0a689588d19a8ba3b5953e03d086b"
+ integrity sha512-OmYP0uk+DGR5kc2T+teL6CLNj/sRxbY3SmlPx2kDbsRLc5gFccQryjj4bBk6QNOKxP5OGJpAqcw1y1JctvRgog==
+ dependencies:
+ "@unocss/core" "0.39.3"
+
+ "@unocss/transformer-directives@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/transformer-directives/-/transformer-directives-0.39.3.tgz#e490a479582a94503fc02f91ce167347e822cff5"
+ integrity sha512-E1wzZaR6rIBQNemgDi9LoljtkYcOSiKGMUTz6kRGoxVBzaYE6Ji/YKbb22lKd6vLOFnRyCxzPHdzY9qvvl5D6w==
+ dependencies:
+ "@unocss/core" "0.39.3"
+ css-tree "^2.1.0"
+
+ "@unocss/transformer-variant-group@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/transformer-variant-group/-/transformer-variant-group-0.39.3.tgz#31730bd414a06a676e753f69839652eaf6c0be9c"
+ integrity sha512-YoYz87qSSEvXXUkgHbO2kz/M03dbZuedjDvvWXsBAvj20MQFpkZpbNHYf2DJ+EkO/WXd+KEF2HBwlgoANcZlaw==
+ dependencies:
+ "@unocss/core" "0.39.3"
+
+ "@unocss/vite@0.39.3":
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/@unocss/vite/-/vite-0.39.3.tgz#a65cfa72732a6f3bc9c18640c74716d2f56c9f6b"
+ integrity sha512-JT21v6ZwLCHPGVfjoWsOdSkMhFNiW2robhQke33WLlRGyT5U4K1SWLxNk+XPDbFdP+WZdcVJi5W5yG8Mm27WBw==
+ dependencies:
+ "@rollup/pluginutils" "^4.2.1"
+ "@unocss/config" "0.39.3"
+ "@unocss/core" "0.39.3"
+ "@unocss/inspector" "0.39.3"
+ "@unocss/scope" "0.39.3"
+ "@unocss/transformer-directives" "0.39.3"
+ magic-string "^0.26.2"
+
+ "@zerodevx/svelte-json-view@0.2.1":
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/@zerodevx/svelte-json-view/-/svelte-json-view-0.2.1.tgz#12d1497f49d120bfb74e098dbe46ce5f16240d1c"
+ integrity sha512-yaLojLYTi08vccUKRg/XSRCCPoyzCZqrG+W8mVhJEGiOfFKAmWqNH6b+/il1gG3V1UaEe7amj2mzmo1mo4q1iA==
+
+ anymatch@~3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
+ integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+ binary-extensions@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+ integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
+ braces@^3.0.2, braces@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
+ busboy@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893"
+ integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==
+ dependencies:
+ streamsearch "^1.1.0"
+
+ cac@^6.7.12:
+ version "6.7.12"
+ resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.12.tgz#6fb5ea2ff50bd01490dbda497f4ae75a99415193"
+ integrity sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==
+
+ chokidar@^3.5.3:
+ version "3.5.3"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
+ integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
+ dependencies:
+ anymatch "~3.1.2"
+ braces "~3.0.2"
+ glob-parent "~5.1.2"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.6.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+ colorette@^2.0.16:
+ version "2.0.19"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798"
+ integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==
+
+ consola@^2.15.3:
+ version "2.15.3"
+ resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550"
+ integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==
+
+ cross-spawn@^7.0.3:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
+ css-tree@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.1.0.tgz#170e27ccf94e7c5facb183765c25898be843d1d2"
+ integrity sha512-PcysZRzToBbrpoUrZ9qfblRIRf8zbEAkU0AIpQFtgkFK0vSbzOmBCvdSAx2Zg7Xx5wiYJKUKk0NMP7kxevie/A==
+ dependencies:
+ mdn-data "2.0.27"
+ source-map-js "^1.0.1"
+
+ debug@^4.3.4:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+ integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+ dependencies:
+ ms "2.1.2"
+
+ deepmerge@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
+ integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
+
+ default-gateway@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71"
+ integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==
+ dependencies:
+ execa "^5.0.0"
+
+ defu@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/defu/-/defu-6.0.0.tgz#b397a6709a2f3202747a3d9daf9446e41ad0c5fc"
+ integrity sha512-t2MZGLf1V2rV4VBZbWIaXKdX/mUcYW0n2znQZoADBkGGxYL8EWqCuCZBmJPJ/Yy9fofJkyuuSuo5GSwo0XdEgw==
+
+ destr@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/destr/-/destr-1.1.1.tgz#910457d10a2f2f247add4ca4fdb4a03adcc49079"
+ integrity sha512-QqkneF8LrYmwATMdnuD2MLI3GHQIcBnG6qFC2q9bSH430VTCDAVjcspPmUaKhPGtAtPAftIUFqY1obQYQuwmbg==
+
+ duplexer@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
+ integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+
+ esbuild-android-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be"
+ integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==
+
+ esbuild-android-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771"
+ integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==
+
+ esbuild-darwin-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25"
+ integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==
+
+ esbuild-darwin-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73"
+ integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==
+
+ esbuild-freebsd-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d"
+ integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==
+
+ esbuild-freebsd-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48"
+ integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==
+
+ esbuild-linux-32@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5"
+ integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==
+
+ esbuild-linux-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652"
+ integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==
+
+ esbuild-linux-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b"
+ integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==
+
+ esbuild-linux-arm@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59"
+ integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==
+
+ esbuild-linux-mips64le@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34"
+ integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==
+
+ esbuild-linux-ppc64le@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e"
+ integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==
+
+ esbuild-linux-riscv64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8"
+ integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==
+
+ esbuild-linux-s390x@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6"
+ integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==
+
+ esbuild-netbsd-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81"
+ integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==
+
+ esbuild-openbsd-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b"
+ integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==
+
+ esbuild-sunos-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da"
+ integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==
+
+ esbuild-windows-32@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31"
+ integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==
+
+ esbuild-windows-64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4"
+ integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==
+
+ esbuild-windows-arm64@0.14.54:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982"
+ integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==
+
+ esbuild@^0.14.47:
+ version "0.14.54"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2"
+ integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==
+ optionalDependencies:
+ "@esbuild/linux-loong64" "0.14.54"
+ esbuild-android-64 "0.14.54"
+ esbuild-android-arm64 "0.14.54"
+ esbuild-darwin-64 "0.14.54"
+ esbuild-darwin-arm64 "0.14.54"
+ esbuild-freebsd-64 "0.14.54"
+ esbuild-freebsd-arm64 "0.14.54"
+ esbuild-linux-32 "0.14.54"
+ esbuild-linux-64 "0.14.54"
+ esbuild-linux-arm "0.14.54"
+ esbuild-linux-arm64 "0.14.54"
+ esbuild-linux-mips64le "0.14.54"
+ esbuild-linux-ppc64le "0.14.54"
+ esbuild-linux-riscv64 "0.14.54"
+ esbuild-linux-s390x "0.14.54"
+ esbuild-netbsd-64 "0.14.54"
+ esbuild-openbsd-64 "0.14.54"
+ esbuild-sunos-64 "0.14.54"
+ esbuild-windows-32 "0.14.54"
+ esbuild-windows-64 "0.14.54"
+ esbuild-windows-arm64 "0.14.54"
+
+ estree-walker@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+ integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
+ execa@^5.0.0, execa@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
+ integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+ dependencies:
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.0"
+ human-signals "^2.1.0"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.1"
+ onetime "^5.1.2"
+ signal-exit "^3.0.3"
+ strip-final-newline "^2.0.0"
+
+ fast-glob@^3.2.11:
+ version "3.2.11"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
+ integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.2"
+ merge2 "^1.3.0"
+ micromatch "^4.0.4"
+
+ fastq@^1.6.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
+ integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
+ dependencies:
+ reusify "^1.0.4"
+
+ fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+ find-up@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+ integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+ dependencies:
+ locate-path "^6.0.0"
+ path-exists "^4.0.0"
+
+ fsevents@~2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+ integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+
+ function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+ get-stream@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
+ integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
+
+ glob-parent@^5.1.2, glob-parent@~5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
+ gzip-size@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462"
+ integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==
+ dependencies:
+ duplexer "^0.1.2"
+
+ has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
+ human-signals@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
+ integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
+ internal-ip@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-7.0.0.tgz#5b1c6a9d7e188aa73a1b69717daf50c8d8ed774f"
+ integrity sha512-qE4TeD4brqC45Vq/+VASeMiS1KRyfBkR6HT2sh9pZVVCzSjPkaCEfKFU+dL0PRv7NHJtvoKN2r82G6wTfzorkw==
+ dependencies:
+ default-gateway "^6.0.3"
+ ipaddr.js "^2.0.1"
+ is-ip "^3.1.0"
+ p-event "^4.2.0"
+
+ ip-regex@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5"
+ integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==
+
+ ipaddr.js@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0"
+ integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==
+
+ is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
+ is-core-module@^2.9.0:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
+ integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
+ dependencies:
+ has "^1.0.3"
+
+ is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+ is-glob@^4.0.1, is-glob@~4.0.1:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+ is-ip@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8"
+ integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==
+ dependencies:
+ ip-regex "^4.0.0"
+
+ is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+ is-stream@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
+ integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+
+ isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+
+ jiti@^1.13.0:
+ version "1.14.0"
+ resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.14.0.tgz#5350fff532a4d891ca4bcd700c47c1f40e6ee326"
+ integrity sha512-4IwstlaKQc9vCTC+qUXLM1hajy2ImiL9KnLvVYiaHOtS/v3wRjhLlGl121AmgDgx/O43uKmxownJghS5XMya2A==
+
+ kleur@^4.1.5:
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780"
+ integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==
+
+ kolorist@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.5.1.tgz#c3d66dc4fabde4f6b7faa6efda84c00491f9e52b"
+ integrity sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==
+
+ local-pkg@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.1.tgz#e7b0d7aa0b9c498a1110a5ac5b00ba66ef38cfff"
+ integrity sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==
+
+ locate-path@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+ integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+ dependencies:
+ p-locate "^5.0.0"
+
+ magic-string@^0.26.2:
+ version "0.26.2"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432"
+ integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==
+ dependencies:
+ sourcemap-codec "^1.4.8"
+
+ mdn-data@2.0.27:
+ version "2.0.27"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.27.tgz#1710baa7b0db8176d3b3d565ccb7915fc69525ab"
+ integrity sha512-kwqO0I0jtWr25KcfLm9pia8vLZ8qoAKhWZuZMbneJq3jjBD3gl5nZs8l8Tu3ZBlBAHVQtDur9rdDGyvtfVraHQ==
+
+ merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
+ merge2@^1.3.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+ micromatch@^4.0.4:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
+ integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
+ dependencies:
+ braces "^3.0.2"
+ picomatch "^2.3.1"
+
+ mimic-fn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+ mrmime@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27"
+ integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==
+
+ ms@2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+ nanoid@^3.3.4:
+ version "3.3.4"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
+ integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
+
+ node-fetch-native@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-0.1.4.tgz#09b06754f9e298bac23848050da2352125634f89"
+ integrity sha512-10EKpOCQPXwZVFh3U1ptOMWBgKTbsN7Vvo6WVKt5pw4hp8zbv6ZVBZPlXw+5M6Tyi1oc1iD4/sNPd71KYA16tQ==
+
+ normalize-path@^3.0.0, normalize-path@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+ npm-run-path@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
+ integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+ dependencies:
+ path-key "^3.0.0"
+
+ ohmyfetch@^0.4.18:
+ version "0.4.18"
+ resolved "https://registry.yarnpkg.com/ohmyfetch/-/ohmyfetch-0.4.18.tgz#2952e04bd52662d0618d3d2f344db0250c3eeac2"
+ integrity sha512-MslzNrQzBLtZHmiZBI8QMOcMpdNFlK61OJ34nFNFynZ4v+4BonfCQ7VIN4EGXvGGq5zhDzgdJoY3o9S1l2T7KQ==
+ dependencies:
+ destr "^1.1.1"
+ node-fetch-native "^0.1.3"
+ ufo "^0.8.4"
+ undici "^5.2.0"
+
+ onetime@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
+ integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
+ dependencies:
+ mimic-fn "^2.1.0"
+
+ p-event@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5"
+ integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==
+ dependencies:
+ p-timeout "^3.1.0"
+
+ p-finally@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
+
+ p-limit@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+ dependencies:
+ yocto-queue "^0.1.0"
+
+ p-locate@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+ integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+ dependencies:
+ p-limit "^3.0.2"
+
+ p-timeout@^3.1.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe"
+ integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==
+ dependencies:
+ p-finally "^1.0.0"
+
+ path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+ path-key@^3.0.0, path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+ path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+ pathe@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/pathe/-/pathe-0.3.0.tgz#fd95bc16208263fa6dc1c78c07b3907a528de6eb"
+ integrity sha512-3vUjp552BJzCw9vqKsO5sttHkbYqqsZtH0x1PNtItgqx8BXEXzoY1SYRKcL6BTyVh4lGJGLj0tM42elUDMvcYA==
+
+ perfect-debounce@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-0.1.3.tgz#ff6798ea543a3ba1f0efeeaf97c0340f5c8871ce"
+ integrity sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ==
+
+ picocolors@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+ integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+
+ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+ picomatch@^2.2.2:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
+ integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+
+ postcss@^8.4.16:
+ version "8.4.16"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c"
+ integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==
+ dependencies:
+ nanoid "^3.3.4"
+ picocolors "^1.0.0"
+ source-map-js "^1.0.2"
+
+ queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+ readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+ dependencies:
+ picomatch "^2.2.1"
+
+ resolve@^1.22.1:
+ version "1.22.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
+ integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
+ dependencies:
+ is-core-module "^2.9.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
+ reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
+ "rollup@>=2.75.6 <2.77.0 || ~2.77.0":
+ version "2.77.3"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.3.tgz#8f00418d3a2740036e15deb653bed1a90ee0cc12"
+ integrity sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+ run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
+ shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
+ shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+ signal-exit@^3.0.3:
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
+ integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+
+ sirv@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.2.tgz#128b9a628d77568139cff85703ad5497c46a4760"
+ integrity sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==
+ dependencies:
+ "@polka/url" "^1.0.0-next.20"
+ mrmime "^1.0.0"
+ totalist "^3.0.0"
+
+ source-map-js@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf"
+ integrity sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==
+
+ source-map-js@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+ integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+
+ sourcemap-codec@^1.4.8:
+ version "1.4.8"
+ resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
+ integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
+
+ streamsearch@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
+ integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
+
+ strip-final-newline@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
+ supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
+ svelte-hmr@^0.14.12:
+ version "0.14.12"
+ resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.14.12.tgz#a127aec02f1896500b10148b2d4d21ddde39973f"
+ integrity sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==
+
+ svelte@^3.49.0:
+ version "3.49.0"
+ resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.49.0.tgz#5baee3c672306de1070c3b7888fc2204e36a4029"
+ integrity sha512-+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA==
+
+ "tauri-plugin-fs-api@https://gitpkg.now.sh/tauri-apps/plugins-workspace/plugins/fs?feat/fs-plugin":
+ version "0.0.0"
+ resolved "https://gitpkg.now.sh/tauri-apps/plugins-workspace/plugins/fs?feat/fs-plugin#a4b37d92c5fd3e638ad21d4ccf0132e07acc0136"
+ dependencies:
+ "@tauri-apps/api" "^1.2.0"
+
+ to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
+ totalist@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.0.tgz#4ef9c58c5f095255cdc3ff2a0a55091c57a3a1bd"
+ integrity sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==
+
+ ufo@^0.8.4:
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/ufo/-/ufo-0.8.4.tgz#23e9ed82398d2116dcb378e8fba5ced8eca2ee40"
+ integrity sha512-/+BmBDe8GvlB2nIflWasLLAInjYG0bC9HRnfEpNi4sw77J2AJNnEVnTDReVrehoh825+Q/evF3THXTAweyam2g==
+
+ unconfig@^0.3.4:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/unconfig/-/unconfig-0.3.4.tgz#f0c85584a088a434dde2215d8a3b272427d6056c"
+ integrity sha512-cf39F1brwQuLSuMLTYXOdWJH0O1CJee6a4QW1nYtO7SoBUfVvQCvEel6ssTNXtPfi17kop1ADmVtmC49NlFkIQ==
+ dependencies:
+ "@antfu/utils" "^0.5.1"
+ defu "^6.0.0"
+ jiti "^1.13.0"
+
+ undici@^5.2.0:
+ version "5.19.1"
+ resolved "https://registry.yarnpkg.com/undici/-/undici-5.19.1.tgz#92b1fd3ab2c089b5a6bd3e579dcda8f1934ebf6d"
+ integrity sha512-YiZ61LPIgY73E7syxCDxxa3LV2yl3sN8spnIuTct60boiiRaE1J8mNWHO8Im2Zi/sFrPusjLlmRPrsyraSqX6A==
+ dependencies:
+ busboy "^1.6.0"
+
+ unocss@^0.39.3:
+ version "0.39.3"
+ resolved "https://registry.yarnpkg.com/unocss/-/unocss-0.39.3.tgz#3b92d689a86c97a5cb2e57ebfab04219a0de1c01"
+ integrity sha512-+BZazovI1A+jlW0+GuSSABHQjBLpu2sQkLXriBTdZiPYZAqJJdiWHuQ6VPzF4Al5WM4VPpOgX5mUYWusJ813qw==
+ dependencies:
+ "@unocss/cli" "0.39.3"
+ "@unocss/core" "0.39.3"
+ "@unocss/preset-attributify" "0.39.3"
+ "@unocss/preset-icons" "0.39.3"
+ "@unocss/preset-mini" "0.39.3"
+ "@unocss/preset-tagify" "0.39.3"
+ "@unocss/preset-typography" "0.39.3"
+ "@unocss/preset-uno" "0.39.3"
+ "@unocss/preset-web-fonts" "0.39.3"
+ "@unocss/preset-wind" "0.39.3"
+ "@unocss/reset" "0.39.3"
+ "@unocss/transformer-compile-class" "0.39.3"
+ "@unocss/transformer-directives" "0.39.3"
+ "@unocss/transformer-variant-group" "0.39.3"
+ "@unocss/vite" "0.39.3"
+
+ vite@^3.0.9:
+ version "3.0.9"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-3.0.9.tgz#45fac22c2a5290a970f23d66c1aef56a04be8a30"
+ integrity sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==
+ dependencies:
+ esbuild "^0.14.47"
+ postcss "^8.4.16"
+ resolve "^1.22.1"
+ rollup ">=2.75.6 <2.77.0 || ~2.77.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+ which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
+ yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
diff --git a/plugins/notification/guest-js/index.ts b/plugins/notification/guest-js/index.ts
index 0efa168d5..789193564 100644
--- a/plugins/notification/guest-js/index.ts
+++ b/plugins/notification/guest-js/index.ts
@@ -24,7 +24,7 @@
* @module
*/
-import { invoke, transformCallback } from '@tauri-apps/api/tauri'
+import { invoke, transformCallback } from "@tauri-apps/api/tauri";
/**
* Options to send a notification.
@@ -35,116 +35,116 @@ interface Options {
/**
* The notification identifier to reference this object later. Must be a 32-bit integer.
*/
- id?: number
+ id?: number;
/**
* Identifier of the {@link Channel} that deliveres this notification.
- *
+ *
* If the channel does not exist, the notification won't fire.
* Make sure the channel exists with {@link listChannels} and {@link createChannel}.
*/
- channelId?: string
+ channelId?: string;
/**
* Notification title.
*/
- title: string
+ title: string;
/**
* Optional notification body.
* */
- body?: string
+ body?: string;
/**
* Schedule this notification to fire on a later time or a fixed interval.
*/
- schedule?: Schedule
+ schedule?: Schedule;
/**
* Multiline text.
* Changes the notification style to big text.
* Cannot be used with `inboxLines`.
*/
- largeBody?: string
+ largeBody?: string;
/**
* Detail text for the notification with `largeBody`, `inboxLines` or `groupSummary`.
*/
- summary?: string
+ summary?: string;
/**
* Defines an action type for this notification.
*/
- actionTypeId?: string
+ actionTypeId?: string;
/**
* Identifier used to group multiple notifications.
- *
+ *
* https://developer.apple.com/documentation/usernotifications/unmutablenotificationcontent/1649872-threadidentifier
*/
- group?: string
+ group?: string;
/**
* Instructs the system that this notification is the summary of a group on Android.
*/
- groupSummary?: boolean
+ groupSummary?: boolean;
/**
* The sound resource name. Only available on mobile.
*/
- sound?: string
+ sound?: string;
/**
* List of lines to add to the notification.
* Changes the notification style to inbox.
* Cannot be used with `largeBody`.
- *
+ *
* Only supports up to 5 lines.
*/
- inboxLines?: string[]
+ inboxLines?: string[];
/**
* Notification icon.
- *
+ *
* On Android the icon must be placed in the app's `res/drawable` folder.
*/
- icon?: string
+ icon?: string;
/**
* Notification large icon (Android).
- *
+ *
* The icon must be placed in the app's `res/drawable` folder.
*/
- largeIcon?: string
+ largeIcon?: string;
/**
* Icon color on Android.
*/
- iconColor?: string
+ iconColor?: string;
/**
* Notification attachments.
*/
- attachments?: Attachment[]
+ attachments?: Attachment[];
/**
* Extra payload to store in the notification.
*/
- extra?: { [key: string]: unknown }
+ extra?: { [key: string]: unknown };
/**
* If true, the notification cannot be dismissed by the user on Android.
- *
+ *
* An application service must manage the dismissal of the notification.
* It is typically used to indicate a background task that is pending (e.g. a file download)
* or the user is engaged with (e.g. playing music).
*/
- ongoing?: boolean
+ ongoing?: boolean;
/**
* Automatically cancel the notification when the user clicks on it.
*/
- autoCancel?: boolean
+ autoCancel?: boolean;
/**
* Changes the notification presentation to be silent on iOS (no badge, no sound, not listed).
*/
- silent?: boolean
+ silent?: boolean;
/**
* Notification visibility.
*/
- visibility?: Visibility
+ visibility?: Visibility;
/**
* Sets the number of items this notification represents on Android.
*/
- number?: number
+ number?: number;
}
type ScheduleInterval = {
- year?: number
- month?: number
- day?: number
+ year?: number;
+ month?: number;
+ day?: number;
/**
* 1 - Sunday
* 2 - Monday
@@ -154,61 +154,64 @@ type ScheduleInterval = {
* 6 - Friday
* 7 - Saturday
*/
- weekday?: number
- hour?: number
- minute?: number
- second?: number
-}
+ weekday?: number;
+ hour?: number;
+ minute?: number;
+ second?: number;
+};
enum ScheduleEvery {
- Year = 'Year',
- Month = 'Month',
- TwoWeeks = 'TwoWeeks',
- Week = 'Week',
- Day = 'Day',
- Hour = 'Hour',
- Minute = 'Minute',
+ Year = "Year",
+ Month = "Month",
+ TwoWeeks = "TwoWeeks",
+ Week = "Week",
+ Day = "Day",
+ Hour = "Hour",
+ Minute = "Minute",
/**
* Not supported on iOS.
*/
- Second = 'Second'
+ Second = "Second",
}
-type ScheduleData = {
- kind: 'At',
- data: {
- date: Date
- repeating: boolean
- }
-} | {
- kind: 'Interval',
- data: ScheduleInterval
-} | {
- kind: 'Every',
- data: {
- interval: ScheduleEvery
- }
-}
+type ScheduleData =
+ | {
+ kind: "At";
+ data: {
+ date: Date;
+ repeating: boolean;
+ };
+ }
+ | {
+ kind: "Interval";
+ data: ScheduleInterval;
+ }
+ | {
+ kind: "Every";
+ data: {
+ interval: ScheduleEvery;
+ };
+ };
class Schedule {
- kind: string
- data: unknown
+ kind: string;
+ data: unknown;
private constructor(schedule: ScheduleData) {
- this.kind = schedule.kind
- this.data = schedule.data
+ this.kind = schedule.kind;
+ this.data = schedule.data;
}
static at(date: Date, repeating = false) {
- return new Schedule({ kind: 'At', data: { date, repeating } })
+ return new Schedule({ kind: "At", data: { date, repeating } });
}
static interval(interval: ScheduleInterval) {
- return new Schedule({ kind: 'Interval', data: interval })
+ return new Schedule({ kind: "Interval", data: interval });
}
static every(kind: ScheduleEvery) {
- return new Schedule({ kind: 'Every', data: { interval: kind } })
+ return new Schedule({ kind: "Every", data: { interval: kind } });
}
}
@@ -217,58 +220,58 @@ class Schedule {
*/
interface Attachment {
/** Attachment identifier. */
- id: string
+ id: string;
/** Attachment URL. Accepts the `asset` and `file` protocols. */
- url: string
+ url: string;
}
interface Action {
- id: string
- title: string
- requiresAuthentication?: boolean
- foreground?: boolean
- destructive?: boolean
- input?: boolean
- inputButtonTitle?: string
- inputPlaceholder?: string
+ id: string;
+ title: string;
+ requiresAuthentication?: boolean;
+ foreground?: boolean;
+ destructive?: boolean;
+ input?: boolean;
+ inputButtonTitle?: string;
+ inputPlaceholder?: string;
}
interface ActionType {
/**
* The identifier of this action type
*/
- id: string
+ id: string;
/**
* The list of associated actions
*/
- actions: Action[]
- hiddenPreviewsBodyPlaceholder?: string,
- customDismissAction?: boolean,
- allowInCarPlay?: boolean,
- hiddenPreviewsShowTitle?: boolean,
- hiddenPreviewsShowSubtitle?: boolean,
+ actions: Action[];
+ hiddenPreviewsBodyPlaceholder?: string;
+ customDismissAction?: boolean;
+ allowInCarPlay?: boolean;
+ hiddenPreviewsShowTitle?: boolean;
+ hiddenPreviewsShowSubtitle?: boolean;
}
interface PendingNotification {
- id: number
- title?: string
- body?: string
- schedule: Schedule
+ id: number;
+ title?: string;
+ body?: string;
+ schedule: Schedule;
}
interface ActiveNotification {
- id: number
- tag?: string
- title?: string
- body?: string
- group?: string
- groupSummary: boolean
- data: Record
- extra: Record
- attachments: Attachment[]
- actionTypeId?: string
- schedule?: Schedule
- sound?: string
+ id: number;
+ tag?: string;
+ title?: string;
+ body?: string;
+ group?: string;
+ groupSummary: boolean;
+ data: Record;
+ extra: Record;
+ attachments: Attachment[];
+ actionTypeId?: string;
+ schedule?: Schedule;
+ sound?: string;
}
enum Importance {
@@ -276,25 +279,25 @@ enum Importance {
Min,
Low,
Default,
- High
+ High,
}
enum Visibility {
Secret = -1,
Private,
- Public
+ Public,
}
interface Channel {
- id: string
- name: string
- description?: string
- sound?: string
- lights?: boolean
- lightColor?: string
- vibration?: boolean
- importance?: Importance
- visibility?: Visibility
+ id: string;
+ name: string;
+ description?: string;
+ sound?: string;
+ lights?: boolean;
+ lightColor?: string;
+ vibration?: boolean;
+ importance?: Importance;
+ visibility?: Visibility;
}
/** Possible permission values. */
@@ -367,7 +370,7 @@ function sendNotification(options: Options | string): void {
/**
* Register actions that are performed when the user clicks on the notification.
- *
+ *
* @example
* ```typescript
* import { registerActionTypes } from '@tauri-apps/api/notification';
@@ -385,12 +388,12 @@ function sendNotification(options: Options | string): void {
* @since 2.0.0
*/
async function registerActionTypes(types: ActionType[]): Promise {
- return invoke('plugin:notification|register_action_types', { types })
+ return invoke("plugin:notification|register_action_types", { types });
}
/**
* Retrieves the list of pending notifications.
- *
+ *
* @example
* ```typescript
* import { pending } from '@tauri-apps/api/notification';
@@ -402,12 +405,12 @@ async function registerActionTypes(types: ActionType[]): Promise {
* @since 2.0.0
*/
async function pending(): Promise {
- return invoke('plugin:notification|get_pending')
+ return invoke("plugin:notification|get_pending");
}
/**
* Cancels the pending notifications with the given list of identifiers.
- *
+ *
* @example
* ```typescript
* import { cancel } from '@tauri-apps/api/notification';
@@ -419,12 +422,12 @@ async function pending(): Promise {
* @since 2.0.0
*/
async function cancel(notifications: number[]): Promise {
- return invoke('plugin:notification|cancel', { notifications })
+ return invoke("plugin:notification|cancel", { notifications });
}
/**
* Cancels all pending notifications.
- *
+ *
* @example
* ```typescript
* import { cancelAll } from '@tauri-apps/api/notification';
@@ -436,12 +439,12 @@ async function cancel(notifications: number[]): Promise {
* @since 2.0.0
*/
async function cancelAll(): Promise {
- return invoke('plugin:notification|cancel')
+ return invoke("plugin:notification|cancel");
}
/**
* Retrieves the list of active notifications.
- *
+ *
* @example
* ```typescript
* import { active } from '@tauri-apps/api/notification';
@@ -453,12 +456,12 @@ async function cancelAll(): Promise {
* @since 2.0.0
*/
async function active(): Promise {
- return invoke('plugin:notification|get_active')
+ return invoke("plugin:notification|get_active");
}
/**
* Removes the active notifications with the given list of identifiers.
- *
+ *
* @example
* ```typescript
* import { cancel } from '@tauri-apps/api/notification';
@@ -470,12 +473,12 @@ async function active(): Promise {
* @since 2.0.0
*/
async function removeActive(notifications: number[]): Promise {
- return invoke('plugin:notification|remove_active', { notifications })
+ return invoke("plugin:notification|remove_active", { notifications });
}
/**
* Removes all active notifications.
- *
+ *
* @example
* ```typescript
* import { removeAllActive } from '@tauri-apps/api/notification';
@@ -487,12 +490,12 @@ async function removeActive(notifications: number[]): Promise {
* @since 2.0.0
*/
async function removeAllActive(): Promise {
- return invoke('plugin:notification|remove_active')
+ return invoke("plugin:notification|remove_active");
}
/**
* Removes all active notifications.
- *
+ *
* @example
* ```typescript
* import { createChannel, Importance, Visibility } from '@tauri-apps/api/notification';
@@ -511,12 +514,12 @@ async function removeAllActive(): Promise {
* @since 2.0.0
*/
async function createChannel(channel: Channel): Promise {
- return invoke('plugin:notification|create_channel', { ...channel })
+ return invoke("plugin:notification|create_channel", { ...channel });
}
/**
* Removes the channel with the given identifier.
- *
+ *
* @example
* ```typescript
* import { removeChannel } from '@tauri-apps/api/notification';
@@ -528,12 +531,12 @@ async function createChannel(channel: Channel): Promise {
* @since 2.0.0
*/
async function removeChannel(id: string): Promise {
- return invoke('plugin:notification|delete_channel', { id })
+ return invoke("plugin:notification|delete_channel", { id });
}
/**
* Retrieves the list of notification channels.
- *
+ *
* @example
* ```typescript
* import { channels } from '@tauri-apps/api/notification';
@@ -545,43 +548,74 @@ async function removeChannel(id: string): Promise {
* @since 2.0.0
*/
async function channels(): Promise {
- return invoke('plugin:notification|getActive')
+ return invoke("plugin:notification|getActive");
}
class EventChannel {
- id: number
- unregisterFn: (channel: EventChannel) => Promise
-
- constructor(id: number, unregisterFn: (channel: EventChannel) => Promise) {
- this.id = id
- this.unregisterFn = unregisterFn
+ id: number;
+ unregisterFn: (channel: EventChannel) => Promise;
+
+ constructor(
+ id: number,
+ unregisterFn: (channel: EventChannel) => Promise
+ ) {
+ this.id = id;
+ this.unregisterFn = unregisterFn;
}
toJSON(): string {
- return `__CHANNEL__:${this.id}`
+ return `__CHANNEL__:${this.id}`;
}
async unregister(): Promise {
- return this.unregisterFn(this)
+ return this.unregisterFn(this);
}
}
// TODO: use addPluginListener API on @tauri-apps/api/tauri 2.0.0-alpha.4
-async function onNotificationReceived(cb: (notification: Options) => void): Promise {
- const channelId = transformCallback(cb)
- const handler = new EventChannel(channelId, (channel) => invoke('plugin:notification|remove_listener', { event: 'notification', channelId: channel.id }))
- return invoke('plugin:notification|register_listener', { event: 'notification', handler }).then(() => handler)
+async function onNotificationReceived(
+ cb: (notification: Options) => void
+): Promise {
+ const channelId = transformCallback(cb);
+ const handler = new EventChannel(channelId, (channel) =>
+ invoke("plugin:notification|remove_listener", {
+ event: "notification",
+ channelId: channel.id,
+ })
+ );
+ return invoke("plugin:notification|register_listener", {
+ event: "notification",
+ handler,
+ }).then(() => handler);
}
// TODO: use addPluginListener API on @tauri-apps/api/tauri 2.0.0-alpha.4
-async function onAction(cb: (notification: Options) => void): Promise {
- const channelId = transformCallback(cb)
- const handler = new EventChannel(channelId, (channel) => invoke('plugin:notification|remove_listener', { event: 'actionPerformed', channelId: channel.id }))
- return invoke('plugin:notification|register_listener', { event: 'actionPerformed', handler }).then(() => handler)
+async function onAction(
+ cb: (notification: Options) => void
+): Promise {
+ const channelId = transformCallback(cb);
+ const handler = new EventChannel(channelId, (channel) =>
+ invoke("plugin:notification|remove_listener", {
+ event: "actionPerformed",
+ channelId: channel.id,
+ })
+ );
+ return invoke("plugin:notification|register_listener", {
+ event: "actionPerformed",
+ handler,
+ }).then(() => handler);
}
-
-export type { Attachment, Options, Permission, Action, ActionType, PendingNotification, ActiveNotification, Channel }
+export type {
+ Attachment,
+ Options,
+ Permission,
+ Action,
+ ActionType,
+ PendingNotification,
+ ActiveNotification,
+ Channel,
+};
export {
Importance,
@@ -599,7 +633,6 @@ export {
createChannel,
removeChannel,
channels,
-
onNotificationReceived,
- onAction
-}
+ onAction,
+};
diff --git a/plugins/shell/src/lib.rs b/plugins/shell/src/lib.rs
index 26e6d9328..70c98dd9a 100644
--- a/plugins/shell/src/lib.rs
+++ b/plugins/shell/src/lib.rs
@@ -46,8 +46,8 @@ impl Shell {
/// Open a (url) path with a default or specific browser opening program.
///
/// See [`crate::api::shell::open`] for how it handles security-related measures.
- pub fn open(&self, path: String, with: Option) -> Result<()> {
- open::open(&self.scope, path, with).map_err(Into::into)
+ pub fn open(&self, path: impl Into, with: Option) -> Result<()> {
+ open::open(&self.scope, path.into(), with).map_err(Into::into)
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0b57cd670..d5e79874f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -50,6 +50,64 @@ importers:
specifier: ^5.0.4
version: 5.0.4
+ examples/api:
+ dependencies:
+ '@tauri-apps/api':
+ specifier: 2.0.0-alpha.3
+ version: 2.0.0-alpha.3
+ '@tauri-apps/cli':
+ specifier: 2.0.0-alpha.8
+ version: 2.0.0-alpha.8
+ '@zerodevx/svelte-json-view':
+ specifier: 0.2.1
+ version: 0.2.1
+ tauri-plugin-cli-api:
+ specifier: 0.0.0
+ version: link:../../plugins/cli
+ tauri-plugin-clipboard-api:
+ specifier: 0.0.0
+ version: link:../../plugins/clipboard
+ tauri-plugin-dialog-api:
+ specifier: 0.0.0
+ version: link:../../plugins/dialog
+ tauri-plugin-fs-api:
+ specifier: 0.0.0
+ version: link:../../plugins/fs
+ tauri-plugin-global-shortcut-api:
+ specifier: 0.0.0
+ version: link:../../plugins/global-shortcut
+ tauri-plugin-http-api:
+ specifier: 0.0.0
+ version: link:../../plugins/http
+ tauri-plugin-notification-api:
+ specifier: 0.0.0
+ version: link:../../plugins/notification
+ tauri-plugin-shell-api:
+ specifier: 0.0.0
+ version: link:../../plugins/shell
+ devDependencies:
+ '@iconify-json/codicon':
+ specifier: ^1.1.10
+ version: 1.1.10
+ '@iconify-json/ph':
+ specifier: ^1.1.1
+ version: 1.1.1
+ '@sveltejs/vite-plugin-svelte':
+ specifier: ^1.0.1
+ version: 1.0.1(svelte@3.55.1)(vite@3.0.9)
+ internal-ip:
+ specifier: ^7.0.0
+ version: 7.0.0
+ svelte:
+ specifier: ^3.49.0
+ version: 3.55.1
+ unocss:
+ specifier: ^0.39.3
+ version: 0.39.3(vite@3.0.9)
+ vite:
+ specifier: ^3.0.9
+ version: 3.0.9
+
plugins/authenticator:
dependencies:
'@tauri-apps/api':
@@ -301,6 +359,17 @@ importers:
packages:
+ /@antfu/install-pkg@0.1.1:
+ resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==}
+ dependencies:
+ execa: 5.1.1
+ find-up: 5.0.0
+ dev: true
+
+ /@antfu/utils@0.5.2:
+ resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==}
+ dev: true
+
/@esbuild/android-arm64@0.17.18:
resolution: {integrity: sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==}
engines: {node: '>=12'}
@@ -565,6 +634,35 @@ packages:
resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
dev: true
+ /@iconify-json/codicon@1.1.10:
+ resolution: {integrity: sha512-xx3nX5k4UeDQnpX9D1T6L1RCEwyLtqu3Lqk9plYK+SoBSQ/kR73bPy9WbYyDVOw2MDw50JCSpZZYlBC718k7Sg==}
+ dependencies:
+ '@iconify/types': 1.1.0
+ dev: true
+
+ /@iconify-json/ph@1.1.1:
+ resolution: {integrity: sha512-sIHTY+c1F8x29BM49IqoccJ3T8mvVXPcrE4WOpJ3GsBaip2YqFJRYU60rw64UL6GEI13vWSD7NsZKq8ytTO87g==}
+ dependencies:
+ '@iconify/types': 1.1.0
+ dev: true
+
+ /@iconify/types@1.1.0:
+ resolution: {integrity: sha512-Jh0llaK2LRXQoYsorIH8maClebsnzTcve+7U3rQUSnC11X4jtPnFuyatqFLvMxZ8MLG8dB4zfHsbPfuvxluONw==}
+ dev: true
+
+ /@iconify/utils@1.0.33:
+ resolution: {integrity: sha512-vGeAqo7aGPxOQmGdVoXFUOuyN+0V7Lcrx2EvaiRjxUD1x6Om0Tvq2bdm7E24l2Pz++4S0mWMCVFXe/17EtKImQ==}
+ dependencies:
+ '@antfu/install-pkg': 0.1.1
+ '@antfu/utils': 0.5.2
+ '@iconify/types': 1.1.0
+ debug: 4.3.4
+ kolorist: 1.7.0
+ local-pkg: 0.4.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@jridgewell/gen-mapping@0.3.2:
resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
engines: {node: '>=6.0.0'}
@@ -752,7 +850,7 @@ packages:
dependencies:
'@rollup/pluginutils': 4.2.1
debug: 4.3.4
- deepmerge: 4.2.2
+ deepmerge: 4.3.1
kleur: 4.1.5
magic-string: 0.26.7
svelte: 3.55.1
@@ -762,6 +860,29 @@ packages:
- supports-color
dev: true
+ /@sveltejs/vite-plugin-svelte@1.0.1(svelte@3.55.1)(vite@3.0.9):
+ resolution: {integrity: sha512-PorCgUounn0VXcpeJu+hOweZODKmGuLHsLomwqSj+p26IwjjGffmYQfVHtiTWq+NqaUuuHWWG7vPge6UFw4Aeg==}
+ engines: {node: ^14.18.0 || >= 16}
+ peerDependencies:
+ diff-match-patch: ^1.0.5
+ svelte: ^3.44.0
+ vite: ^3.0.0
+ peerDependenciesMeta:
+ diff-match-patch:
+ optional: true
+ dependencies:
+ '@rollup/pluginutils': 4.2.1
+ debug: 4.3.4
+ deepmerge: 4.3.1
+ kleur: 4.1.5
+ magic-string: 0.26.7
+ svelte: 3.55.1
+ svelte-hmr: 0.14.12(svelte@3.55.1)
+ vite: 3.0.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@sveltejs/vite-plugin-svelte@2.1.1(svelte@3.58.0)(vite@4.3.3):
resolution: {integrity: sha512-7YeBDt4us0FiIMNsVXxyaP4Hwyn2/v9x3oqStkHU3ZdIc5O22pGwUwH33wUqYo+7Itdmo8zxJ45Qvfm3H7UUjQ==}
engines: {node: ^14.18.0 || >= 16}
@@ -786,6 +907,11 @@ packages:
engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'}
dev: false
+ /@tauri-apps/api@2.0.0-alpha.3:
+ resolution: {integrity: sha512-F6seMDlcaxeCPy4gS0zJdp6Tet+0rd1qJi/fbKrOrhLM6Y5UtkiG1aSDnMPi+1udThSfadjhUwrLHINvfMCjzQ==}
+ engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'}
+ dev: false
+
/@tauri-apps/cli-darwin-arm64@2.0.0-alpha.8:
resolution: {integrity: sha512-ZF9nkkYCDiAEKZFwjEbuqTcFVp+DBgem3edKjsZDYPQpWg0VcZOSYr0o3/RPC81T1/FAy1lq478mkcMe0efvEw==}
engines: {node: '>= 10'}
@@ -1031,6 +1157,144 @@ packages:
eslint-visitor-keys: 3.4.0
dev: true
+ /@unocss/cli@0.39.3:
+ resolution: {integrity: sha512-h+qq76CJTkV7GYBSQ3vSJCn/jewFzBVh8owMYH3B1ROe5D1mCev2INYvHlsQsVVoyxnccBeuZ6st6OK56VyDjA==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dependencies:
+ '@unocss/config': 0.39.3
+ '@unocss/core': 0.39.3
+ '@unocss/preset-uno': 0.39.3
+ cac: 6.7.14
+ chokidar: 3.5.3
+ colorette: 2.0.19
+ consola: 2.15.3
+ fast-glob: 3.2.12
+ pathe: 0.3.9
+ perfect-debounce: 0.1.3
+ dev: true
+
+ /@unocss/config@0.39.3:
+ resolution: {integrity: sha512-qyxjUUdi+D/vS4Snhoj0uW8ErKlfZCKdjJ+ntwnJK3c8dxAp/IuicE+6ukcLfHxT0kAw1xaRlNwamtL3MgcX/A==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@unocss/core': 0.39.3
+ unconfig: 0.3.7
+ dev: true
+
+ /@unocss/core@0.39.3:
+ resolution: {integrity: sha512-8MnXKHNtp6xgsFIaFtWctnbsT60c8JSlxXA7XbGxEztOmSEhpZmLeLGe5AgmEGPH6MssqJtI0DCeTbzbbtOjfw==}
+ dev: true
+
+ /@unocss/inspector@0.39.3:
+ resolution: {integrity: sha512-j7U04I07sqK63+3cA7oju/hoGOkdN+/hAwGYkCgWGNj+HwxiU7TTEVg0qZ1FAUU/GyyI9G/c4RIpwei9dLVz9w==}
+ dependencies:
+ gzip-size: 6.0.0
+ sirv: 2.0.2
+ dev: true
+
+ /@unocss/preset-attributify@0.39.3:
+ resolution: {integrity: sha512-SZWWUfTTKyHHqlF9x6aZ+BFMIiwOsUTP4NXS3/rIroqzfvVDZtGS6/a7RVBl+M74wjqSWB/DDeS9kQiH2L/CIg==}
+ dependencies:
+ '@unocss/core': 0.39.3
+ dev: true
+
+ /@unocss/preset-icons@0.39.3:
+ resolution: {integrity: sha512-zMTfP3pVaN2WREWY36adsY62gEm51R0CZd7v0gHOlltEG6kT1UCeyIQwOtn48wHRCesy92f70R6RIR3rwSVaCQ==}
+ dependencies:
+ '@iconify/utils': 1.0.33
+ '@unocss/core': 0.39.3
+ ohmyfetch: 0.4.21
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@unocss/preset-mini@0.39.3:
+ resolution: {integrity: sha512-XCxp3mwWsEpCo0cIJA3tLrWqdAL09gP3wv9iGh4H9o0fIPlYXjVTC1WtUHkv3C09LdZ+MH/9Ja/KqnVf3bNROA==}
+ dependencies:
+ '@unocss/core': 0.39.3
+ dev: true
+
+ /@unocss/preset-tagify@0.39.3:
+ resolution: {integrity: sha512-OXE47cS/tiL92ZThgLOpbSFy7MPZ4upE4ZX1m9pnCaWzX7LBzp8Gw0DM+dF3IYdIfJpmU4R6b53ME8SchofuHA==}
+ dependencies:
+ '@unocss/core': 0.39.3
+ dev: true
+
+ /@unocss/preset-typography@0.39.3:
+ resolution: {integrity: sha512-jTJOA87bEkU0RGMPSFZK3Zobr2fgkqKCYDczTjPbCiZ8UzlMJnWrpsNTN9f4UI0b6Ck8sXtMtW8sRrJsEll9jg==}
+ dependencies:
+ '@unocss/core': 0.39.3
+ dev: true
+
+ /@unocss/preset-uno@0.39.3:
+ resolution: {integrity: sha512-EADVFqx5x4te/teqwjHb025FIy/T0QXafcVDRwUijS6OOqm5rZ7fXd/hu41XYYn3B802r/g4bDC2wO+7foNVwA==}
+ dependencies:
+ '@unocss/core': 0.39.3
+ '@unocss/preset-mini': 0.39.3
+ '@unocss/preset-wind': 0.39.3
+ dev: true
+
+ /@unocss/preset-web-fonts@0.39.3:
+ resolution: {integrity: sha512-b23nmEGHbfvC/PCv0m0BGqFt2zX8J9ekwjfmEL1Bk1C0KL2voYGSdbSm0I8iO6sKb1CLy6qy71N/CuGtIE3FJA==}
+ dependencies:
+ '@unocss/core': 0.39.3
+ ohmyfetch: 0.4.21
+ dev: true
+
+ /@unocss/preset-wind@0.39.3:
+ resolution: {integrity: sha512-kjMgPxt4xfmiliodKTbotJDSAqAOCy25f1jdIj9CjjFjwYsUAuiYi8UgPsEi550Bj5BlBEHFn/RhcMGvinzY8A==}
+ dependencies:
+ '@unocss/core': 0.39.3
+ '@unocss/preset-mini': 0.39.3
+ dev: true
+
+ /@unocss/reset@0.39.3:
+ resolution: {integrity: sha512-hW3gZ3lsu6N58XEG7m1dprt15fN0xkYjAo7vSp8eT3/p7h5HE7wNgU2v9ttGBC3B2z4AWHGdspfmaH3sR8lCJw==}
+ dev: true
+
+ /@unocss/scope@0.39.3:
+ resolution: {integrity: sha512-ex2QDRgBQ5mTwBcXtCWdTDPl6/HrBv0asDWVXXv7ezjxcByJjMrHj64gMvUbAcGAoX2ic7hIEUT3Ju5i6knKFw==}
+ dev: true
+
+ /@unocss/transformer-compile-class@0.39.3:
+ resolution: {integrity: sha512-OmYP0uk+DGR5kc2T+teL6CLNj/sRxbY3SmlPx2kDbsRLc5gFccQryjj4bBk6QNOKxP5OGJpAqcw1y1JctvRgog==}
+ dependencies:
+ '@unocss/core': 0.39.3
+ dev: true
+
+ /@unocss/transformer-directives@0.39.3:
+ resolution: {integrity: sha512-E1wzZaR6rIBQNemgDi9LoljtkYcOSiKGMUTz6kRGoxVBzaYE6Ji/YKbb22lKd6vLOFnRyCxzPHdzY9qvvl5D6w==}
+ dependencies:
+ '@unocss/core': 0.39.3
+ css-tree: 2.3.1
+ dev: true
+
+ /@unocss/transformer-variant-group@0.39.3:
+ resolution: {integrity: sha512-YoYz87qSSEvXXUkgHbO2kz/M03dbZuedjDvvWXsBAvj20MQFpkZpbNHYf2DJ+EkO/WXd+KEF2HBwlgoANcZlaw==}
+ dependencies:
+ '@unocss/core': 0.39.3
+ dev: true
+
+ /@unocss/vite@0.39.3(vite@3.0.9):
+ resolution: {integrity: sha512-JT21v6ZwLCHPGVfjoWsOdSkMhFNiW2robhQke33WLlRGyT5U4K1SWLxNk+XPDbFdP+WZdcVJi5W5yG8Mm27WBw==}
+ peerDependencies:
+ vite: ^2.9.0
+ dependencies:
+ '@rollup/pluginutils': 4.2.1
+ '@unocss/config': 0.39.3
+ '@unocss/core': 0.39.3
+ '@unocss/inspector': 0.39.3
+ '@unocss/scope': 0.39.3
+ '@unocss/transformer-directives': 0.39.3
+ magic-string: 0.26.7
+ vite: 3.0.9
+ dev: true
+
+ /@zerodevx/svelte-json-view@0.2.1:
+ resolution: {integrity: sha512-yaLojLYTi08vccUKRg/XSRCCPoyzCZqrG+W8mVhJEGiOfFKAmWqNH6b+/il1gG3V1UaEe7amj2mzmo1mo4q1iA==}
+ dev: false
+
/acorn-jsx@5.3.2(acorn@8.8.1):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
@@ -1163,6 +1427,11 @@ packages:
streamsearch: 1.1.0
dev: true
+ /cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+ dev: true
+
/call-bind@1.0.2:
resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
dependencies:
@@ -1209,6 +1478,10 @@ packages:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
dev: true
+ /colorette@2.0.19:
+ resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==}
+ dev: true
+
/commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
dev: true
@@ -1217,6 +1490,10 @@ packages:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true
+ /consola@2.15.3:
+ resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==}
+ dev: true
+
/cookie@0.5.0:
resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
engines: {node: '>= 0.6'}
@@ -1231,6 +1508,14 @@ packages:
which: 2.0.2
dev: true
+ /css-tree@2.3.1:
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ dependencies:
+ mdn-data: 2.0.30
+ source-map-js: 1.0.2
+ dev: true
+
/debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
@@ -1283,6 +1568,14 @@ packages:
object-keys: 1.1.1
dev: true
+ /defu@6.1.2:
+ resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==}
+ dev: true
+
+ /destr@1.2.2:
+ resolution: {integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==}
+ dev: true
+
/detect-indent@6.1.0:
resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
engines: {node: '>=8'}
@@ -1313,6 +1606,10 @@ packages:
esutils: 2.0.3
dev: true
+ /duplexer@0.1.2:
+ resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+ dev: true
+
/es-abstract@1.20.5:
resolution: {integrity: sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==}
engines: {node: '>= 0.4'}
@@ -2105,6 +2402,13 @@ packages:
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
dev: true
+ /gzip-size@6.0.0:
+ resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ duplexer: 0.1.2
+ dev: true
+
/has-bigints@1.0.2:
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
dev: true
@@ -2340,6 +2644,11 @@ packages:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
dev: true
+ /jiti@1.18.2:
+ resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==}
+ hasBin: true
+ dev: true
+
/js-sdsl@4.2.0:
resolution: {integrity: sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==}
dev: true
@@ -2371,6 +2680,10 @@ packages:
engines: {node: '>=6'}
dev: true
+ /kolorist@1.7.0:
+ resolution: {integrity: sha512-ymToLHqL02udwVdbkowNpzjFd6UzozMtshPQKVi5k1EjKRqKqBrOnE9QbLEb0/pV76SAiIT13hdL8R6suc+f3g==}
+ dev: true
+
/levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
@@ -2379,6 +2692,11 @@ packages:
type-check: 0.4.0
dev: true
+ /local-pkg@0.4.3:
+ resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
+ engines: {node: '>=14'}
+ dev: true
+
/locate-path@6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
@@ -2418,6 +2736,10 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.14
dev: true
+ /mdn-data@2.0.30:
+ resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+ dev: true
+
/merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
dev: true
@@ -2506,6 +2828,10 @@ packages:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: true
+ /node-fetch-native@0.1.8:
+ resolution: {integrity: sha512-ZNaury9r0NxaT2oL65GvdGDy+5PlSaHTovT6JV5tOW07k1TQmgC0olZETa4C9KZg0+6zBr99ctTYa3Utqj9P/Q==}
+ dev: true
+
/normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
@@ -2546,6 +2872,15 @@ packages:
es-abstract: 1.20.5
dev: true
+ /ohmyfetch@0.4.21:
+ resolution: {integrity: sha512-VG7f/JRvqvBOYvL0tHyEIEG7XHWm7OqIfAs6/HqwWwDfjiJ1g0huIpe5sFEmyb+7hpFa1EGNH2aERWR72tlClw==}
+ dependencies:
+ destr: 1.2.2
+ node-fetch-native: 0.1.8
+ ufo: 0.8.6
+ undici: 5.22.0
+ dev: true
+
/once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
@@ -2635,6 +2970,14 @@ packages:
engines: {node: '>=8'}
dev: true
+ /pathe@0.3.9:
+ resolution: {integrity: sha512-6Y6s0vT112P3jD8dGfuS6r+lpa0qqNrLyHPOwvXMnyNTQaYiwgau2DP3aNDsR13xqtGj7rrPo+jFUATpU6/s+g==}
+ dev: true
+
+ /perfect-debounce@0.1.3:
+ resolution: {integrity: sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ==}
+ dev: true
+
/picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
dev: true
@@ -2747,6 +3090,14 @@ packages:
glob: 7.2.3
dev: true
+ /rollup@2.77.3:
+ resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
/rollup@2.79.1:
resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
engines: {node: '>=10.0.0'}
@@ -3147,6 +3498,10 @@ packages:
hasBin: true
dev: true
+ /ufo@0.8.6:
+ resolution: {integrity: sha512-fk6CmUgwKCfX79EzcDQQpSCMxrHstvbLswFChHS0Vump+kFkw7nJBfTZoC1j0bOGoY9I7R3n2DGek5ajbcYnOw==}
+ dev: true
+
/unbox-primitive@1.0.2:
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
dependencies:
@@ -3156,6 +3511,14 @@ packages:
which-boxed-primitive: 1.0.2
dev: true
+ /unconfig@0.3.7:
+ resolution: {integrity: sha512-1589b7oGa8ILBYpta7TndM5mLHLzHUqBfhszeZxuUBrjO/RoQ52VGVWsS3w0C0GLNxO9RPmqkf6BmIvBApaRdA==}
+ dependencies:
+ '@antfu/utils': 0.5.2
+ defu: 6.1.2
+ jiti: 1.18.2
+ dev: true
+
/undici@5.22.0:
resolution: {integrity: sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==}
engines: {node: '>=14.0'}
@@ -3163,6 +3526,35 @@ packages:
busboy: 1.6.0
dev: true
+ /unocss@0.39.3(vite@3.0.9):
+ resolution: {integrity: sha512-+BZazovI1A+jlW0+GuSSABHQjBLpu2sQkLXriBTdZiPYZAqJJdiWHuQ6VPzF4Al5WM4VPpOgX5mUYWusJ813qw==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@unocss/webpack': 0.39.3
+ peerDependenciesMeta:
+ '@unocss/webpack':
+ optional: true
+ dependencies:
+ '@unocss/cli': 0.39.3
+ '@unocss/core': 0.39.3
+ '@unocss/preset-attributify': 0.39.3
+ '@unocss/preset-icons': 0.39.3
+ '@unocss/preset-mini': 0.39.3
+ '@unocss/preset-tagify': 0.39.3
+ '@unocss/preset-typography': 0.39.3
+ '@unocss/preset-uno': 0.39.3
+ '@unocss/preset-web-fonts': 0.39.3
+ '@unocss/preset-wind': 0.39.3
+ '@unocss/reset': 0.39.3
+ '@unocss/transformer-compile-class': 0.39.3
+ '@unocss/transformer-directives': 0.39.3
+ '@unocss/transformer-variant-group': 0.39.3
+ '@unocss/vite': 0.39.3(vite@3.0.9)
+ transitivePeerDependencies:
+ - supports-color
+ - vite
+ dev: true
+
/uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies:
@@ -3196,6 +3588,33 @@ packages:
fsevents: 2.3.2
dev: true
+ /vite@3.0.9:
+ resolution: {integrity: sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ hasBin: true
+ peerDependencies:
+ less: '*'
+ sass: '*'
+ stylus: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ less:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ esbuild: 0.14.54
+ postcss: 8.4.23
+ resolve: 1.22.1
+ rollup: 2.77.3
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
/vite@4.3.3:
resolution: {integrity: sha512-MwFlLBO4udZXd+VBcezo3u8mC77YQk+ik+fbc0GZWGgzfbPP+8Kf0fldhARqvSYmtIWoAJ5BXPClUbMTlqFxrA==}
engines: {node: ^14.18.0 || >=16.0.0}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index e4cb9a8b6..43839b9eb 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -1,3 +1,4 @@
packages:
- plugins/*
- plugins/*/examples/*
+ - examples/*