✨ feature: update to tauri@rc.0
This commit is contained in:
parent
ee70456c48
commit
d56720a003
29 changed files with 423 additions and 143 deletions
|
|
@ -4,4 +4,4 @@ rustflags = [
|
|||
"link-args=/STACK:16777220"
|
||||
]
|
||||
|
||||
[alias]
|
||||
[env]
|
||||
|
|
|
|||
|
|
@ -21,3 +21,7 @@ trim_trailing_whitespace = true
|
|||
[*.{yaml,yml}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.toml]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
|
|
|||
6
.vscode/extensions.json
vendored
6
.vscode/extensions.json
vendored
|
|
@ -2,11 +2,11 @@
|
|||
"recommendations": [
|
||||
"tauri-apps.tauri-vscode",
|
||||
"rust-lang.rust-analyzer",
|
||||
"bradlc.vscode-tailwindcss",
|
||||
// "oscarbeaumont.rspc-vscode",
|
||||
"vadimcn.vscode-lldb",
|
||||
"oscarbeaumont.rspc-vscode",
|
||||
"antfu.unocss",
|
||||
"EditorConfig.EditorConfig",
|
||||
"prisma.prisma",
|
||||
"dbaeumer.vscode-eslint"
|
||||
// "astro-build.astro-vscode"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
26
.vscode/launch.json
vendored
Normal file
26
.vscode/launch.json
vendored
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Tauri Development",
|
||||
"cargo": {
|
||||
"args": ["build", "--package onelauncher_gui"]
|
||||
},
|
||||
"preLaunchTask": "desktop:frontend:dev"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Tauri Production",
|
||||
"cargo": {
|
||||
"args": ["build", "--package onelauncher_gui", "--release"]
|
||||
},
|
||||
"preLaunchTask": "desktop:frontend:build"
|
||||
}
|
||||
]
|
||||
}
|
||||
30
.vscode/settings.json
vendored
30
.vscode/settings.json
vendored
|
|
@ -17,11 +17,6 @@
|
|||
"**/.cargo": true,
|
||||
"**/.crates": true
|
||||
},
|
||||
"rust-analyzer.diagnostics.disabled": [
|
||||
"E0004",
|
||||
"inactive-code",
|
||||
"inactive_code"
|
||||
],
|
||||
"rust-analyzer.files.excludeDirs": [
|
||||
"_build",
|
||||
".flatpak-builder",
|
||||
|
|
@ -44,23 +39,38 @@
|
|||
".crates"
|
||||
],
|
||||
"rust-analyzer.procMacro.enable": true,
|
||||
"rust-analyzer.diagnostics.experimental.enable": false,
|
||||
"search.exclude": {
|
||||
"**/node_modules": true,
|
||||
"**/bower_components": true,
|
||||
"**/*.code-search": true,
|
||||
"**/pnpm-lock.yaml": true,
|
||||
"**/.gitignore": true,
|
||||
"/packages/ctjs/types/*": true,
|
||||
"**/dist": true
|
||||
},
|
||||
"eslint.experimental.useFlatConfig": true,
|
||||
|
||||
// Disable the default formatter
|
||||
"prettier.enable": false,
|
||||
"editor.formatOnSave": false,
|
||||
// Auto fix
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": "explicit",
|
||||
"source.organizeImports": "never"
|
||||
},
|
||||
"eslint.runtime": "node",
|
||||
"eslint.useFlatConfig": true,
|
||||
// Silent the stylistic rules in you IDE, but still auto fix them
|
||||
"eslint.rules.customizations": [
|
||||
{ "rule": "style/*", "severity": "off", "fixable": true },
|
||||
{ "rule": "*-indent", "severity": "off", "fixable": true },
|
||||
{ "rule": "*-spacing", "severity": "off", "fixable": true },
|
||||
{ "rule": "*-spaces", "severity": "off", "fixable": true },
|
||||
{ "rule": "*-order", "severity": "off", "fixable": true },
|
||||
{ "rule": "*-dangle", "severity": "off", "fixable": true },
|
||||
{ "rule": "*-newline", "severity": "off", "fixable": true },
|
||||
{ "rule": "*quotes", "severity": "off", "fixable": true },
|
||||
{ "rule": "*semi", "severity": "off", "fixable": true }
|
||||
],
|
||||
|
||||
"eslint.validate": [
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
|
|
@ -72,9 +82,9 @@
|
|||
"json",
|
||||
"jsonc",
|
||||
"yaml",
|
||||
"xml",
|
||||
"astro",
|
||||
"toml",
|
||||
"solid"
|
||||
"toml"
|
||||
],
|
||||
"eslint.lintTask.enable": true,
|
||||
"eslint.workingDirectories": [],
|
||||
|
|
|
|||
23
.vscode/tasks.json
vendored
Normal file
23
.vscode/tasks.json
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
// See https://go.microsoft.com/fwlink/?LinkId=733558
|
||||
// for the documentation about the tasks.json format
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "desktop:frontend:dev",
|
||||
"type": "shell",
|
||||
"isBackground": true,
|
||||
"command": "pnpm",
|
||||
"args": ["frontend", "dev"],
|
||||
// todo: problemMatcher
|
||||
"group": "build"
|
||||
},
|
||||
{
|
||||
"label": "desktop:frontend:build",
|
||||
"type": "shell",
|
||||
"command": "pnpm",
|
||||
"args": ["frontend", "build"],
|
||||
"group": "build"
|
||||
}
|
||||
]
|
||||
}
|
||||
27
Cargo.toml
27
Cargo.toml
|
|
@ -30,8 +30,7 @@ onelauncher_test = { path = "./apps/testing" }
|
|||
|
||||
# tauri uses latest crates.io beta channel
|
||||
# (temporarily can use v2 and main branches if necessary)
|
||||
# TODO: release candidate update is blocked by tauri-specta.
|
||||
tauri = { version = "=2.0.0-beta.25", features = [
|
||||
tauri = { version = "=2.0.0-rc.0", features = [
|
||||
"rustls-tls",
|
||||
"tracing",
|
||||
"specta",
|
||||
|
|
@ -39,26 +38,20 @@ tauri = { version = "=2.0.0-beta.25", features = [
|
|||
"protocol-asset"
|
||||
] }
|
||||
|
||||
# TODO: remove locked tauri-* deps once we update to the release candidate.
|
||||
tauri-utils = { version = "=2.0.0-beta.19" }
|
||||
tauri-build = { version = "=2.0.0-beta.19" }
|
||||
tauri-codegen = { version = "=2.0.0-beta.19" }
|
||||
tauri-macros = { version = "=2.0.0-beta.19" }
|
||||
tauri-plugin = { version = "=2.0.0-beta.19" }
|
||||
tauri-runtime = { version = "=2.0.0-beta.21" }
|
||||
tauri-build = { version = "=2.0.0-rc.0" }
|
||||
|
||||
# tauri-plugin-shell adds a bridge for opening urls and paths in the frontend.
|
||||
tauri-plugin-shell = { version = "=2.0.0-beta.10" }
|
||||
tauri-plugin-shell = { version = "=2.0.0-rc.0" }
|
||||
# tauri-plugin-window-state saves the window position and size to be restored.
|
||||
tauri-plugin-window-state = { version = "=2.0.0-beta.12" }
|
||||
tauri-plugin-window-state = { version = "=2.0.0-rc.0" }
|
||||
# tauri-plugin-single-instance ensures that only one instance of the app is running.
|
||||
tauri-plugin-single-instance = { version = "=2.0.0-beta.12" }
|
||||
tauri-plugin-single-instance = { version = "=2.0.0-rc.0" }
|
||||
# tauri-plugin-clipboard-manager adds a bridge for reading/writing to the clipboard.
|
||||
tauri-plugin-clipboard-manager = { version = "=2.1.0-beta.7" }
|
||||
tauri-plugin-clipboard-manager = { version = "=2.0.0-rc.0" }
|
||||
# tauri-plugin-updater allows for us to use it's functionality for in-app updates.
|
||||
tauri-plugin-updater = { version = "=2.0.0-beta.12" }
|
||||
tauri-plugin-updater = { version = "=2.0.0-rc.0" }
|
||||
# tauri-plugin-dialog adds a bridge for opening file manager and message dialogs.
|
||||
tauri-plugin-dialog = { version = "=2.0.0-beta.12" }
|
||||
tauri-plugin-dialog = { version = "=2.0.0-rc.0" }
|
||||
|
||||
# rspc is used as a faster and more intuitive replacement for tauri-specta
|
||||
# commands/apis that don't depend on tauri. rather than using the tauri
|
||||
|
|
@ -91,7 +84,7 @@ specta = { version = "=2.0.0-rc.19", features = [
|
|||
] }
|
||||
|
||||
# tauri-specta
|
||||
tauri-specta = { version = "=2.0.0-rc.13", features = [
|
||||
tauri-specta = { version = "=2.0.0-rc.14", features = [
|
||||
"javascript",
|
||||
"typescript",
|
||||
"derive"
|
||||
|
|
@ -135,6 +128,8 @@ async-tungstenite = { version = "0.26", features = [
|
|||
"tokio-runtime",
|
||||
"tokio-rustls-native-certs"
|
||||
] }
|
||||
strum = { version = "0.23", features = [ "derive" ] }
|
||||
once_cell = { version = "1.19" }
|
||||
tokio-stream = { version = "0.1.15", features = [ "fs" ] }
|
||||
serde = { version = "1.0", features = [ "derive" ] }
|
||||
chrono = { version = "0.4", features = [ "serde" ] }
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[package]
|
||||
name = "onelauncher_gui"
|
||||
default-run = "onelauncher_gui"
|
||||
description = "Next-generation open source Minecraft launcher"
|
||||
version = "1.0.0-alpha.1" # todo: make it so tauri works with the ws
|
||||
license = { workspace = true }
|
||||
|
|
@ -15,7 +16,7 @@ name = "onelauncher_gui"
|
|||
crate-type = [
|
||||
"staticlib",
|
||||
"cdylib",
|
||||
"rlib"
|
||||
"lib"
|
||||
]
|
||||
|
||||
[build-dependencies]
|
||||
|
|
@ -24,13 +25,6 @@ tauri-build = { workspace = true, features = [ "isolation" ] }
|
|||
[dependencies]
|
||||
onelauncher = { workspace = true, features = [ "tauri" ] }
|
||||
|
||||
tauri-utils = { workspace = true }
|
||||
tauri-build = { workspace = true }
|
||||
tauri-codegen = { workspace = true }
|
||||
tauri-macros = { workspace = true }
|
||||
tauri-plugin = { workspace = true }
|
||||
tauri-runtime = { workspace = true }
|
||||
|
||||
tauri-plugin-shell = { workspace = true }
|
||||
tauri-plugin-window-state = { workspace = true }
|
||||
tauri-plugin-single-instance = { workspace = true }
|
||||
|
|
@ -44,6 +38,8 @@ specta-typescript = { workspace = true }
|
|||
|
||||
interpulse.workspace = true
|
||||
|
||||
strum = { workspace = true }
|
||||
once_cell = { workspace = true }
|
||||
tokio = { workspace = true }
|
||||
serde = { workspace = true }
|
||||
serde_json = { workspace = true }
|
||||
|
|
@ -62,7 +58,8 @@ features = [
|
|||
"macos-private-api",
|
||||
"image-ico",
|
||||
"image-png",
|
||||
"protocol-asset"
|
||||
"protocol-asset",
|
||||
"specta"
|
||||
]
|
||||
|
||||
[dev-dependencies.tauri]
|
||||
|
|
@ -73,6 +70,10 @@ features = [ "test" ]
|
|||
cocoa.workspace = true
|
||||
objc.workspace = true
|
||||
|
||||
[target.'cfg(target_os = "linux")'.dependencies]
|
||||
# https://github.com/tauri-apps/tauri/blob/tauri-v2.0.0-rc.0/core/tauri/Cargo.toml#L86
|
||||
webkit2gtk = { version = "=2.0.1", features = [ "v2_38" ] }
|
||||
|
||||
[features]
|
||||
default = [ "custom-protocol" ]
|
||||
devtools = [ "tauri/devtools" ]
|
||||
|
|
|
|||
|
|
@ -4,29 +4,30 @@
|
|||
"description": "capabilities for the main window",
|
||||
"windows": ["*"],
|
||||
"permissions": [
|
||||
"app:default",
|
||||
"webview:default",
|
||||
"image:default",
|
||||
"menu:default",
|
||||
"path:default",
|
||||
"resources:default",
|
||||
"tray:default",
|
||||
"window:default",
|
||||
"core:app:default",
|
||||
"core:webview:default",
|
||||
"core:image:default",
|
||||
"core:menu:default",
|
||||
"core:path:default",
|
||||
"core:resources:default",
|
||||
"core:tray:default",
|
||||
"core:window:default",
|
||||
|
||||
"window:allow-close",
|
||||
"window:allow-create",
|
||||
"window:allow-destroy",
|
||||
"window:allow-start-dragging",
|
||||
"window:allow-minimize",
|
||||
"window:allow-maximize",
|
||||
"window:allow-toggle-maximize",
|
||||
"window:allow-internal-toggle-maximize",
|
||||
"event:default",
|
||||
"core:window:allow-close",
|
||||
"core:window:allow-create",
|
||||
"core:window:allow-destroy",
|
||||
"core:window:allow-start-dragging",
|
||||
"core:window:allow-minimize",
|
||||
"core:window:allow-maximize",
|
||||
"core:window:allow-toggle-maximize",
|
||||
"core:window:allow-internal-toggle-maximize",
|
||||
"core:webview:allow-internal-toggle-devtools",
|
||||
|
||||
"core:event:default",
|
||||
"shell:allow-open",
|
||||
"clipboard-manager:allow-write-text",
|
||||
"dialog:allow-open",
|
||||
"dialog:allow-save",
|
||||
"dialog:allow-confirm",
|
||||
"webview:allow-internal-toggle-devtools"
|
||||
"dialog:allow-confirm"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@
|
|||
"url": "git@github.com:polyfrost/onelauncher",
|
||||
"directory": "apps/desktop"
|
||||
},
|
||||
"bugs": "https://github.com/polyfrost/onelauncher/issues",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "tauri build",
|
||||
"dev": "tauri dev",
|
||||
|
|
@ -21,6 +23,6 @@
|
|||
"@onelauncher/frontend": "workspace:*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tauri-apps/cli": "2.0.0-beta.23"
|
||||
"@tauri-apps/cli": "2.0.0-rc.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,14 +55,14 @@ pub async fn check_for_update(app: tauri::AppHandle) -> Result<Option<Update>, S
|
|||
}
|
||||
};
|
||||
|
||||
let update = update.map(|update| Update::new(&update));
|
||||
let update = update.map(|u| Update::new(&u));
|
||||
|
||||
app.emit(
|
||||
"updater",
|
||||
update
|
||||
.clone()
|
||||
.map_or(UpdateEvent::NoUpdateAvailable, |update| {
|
||||
UpdateEvent::UpdateAvailable { update }
|
||||
.map_or(UpdateEvent::NoUpdateAvailable, |u| {
|
||||
UpdateEvent::UpdateAvailable { update: u }
|
||||
}),
|
||||
)
|
||||
.ok();
|
||||
|
|
|
|||
|
|
@ -104,17 +104,19 @@
|
|||
"../../packages/distribution/icons/icon.ico"
|
||||
],
|
||||
"copyright": "Polyfrost",
|
||||
"longDescription": "",
|
||||
"publisher": "Polyfrost",
|
||||
"license": "GPL-3.0-only",
|
||||
"homepage": "https://polyfrost.org/",
|
||||
"longDescription": "Next-generation open source Minecraft launcher",
|
||||
"resources": [],
|
||||
"externalBin": [],
|
||||
"publisher": "Polyfrost",
|
||||
"linux": {
|
||||
"deb": {
|
||||
"depends": [],
|
||||
"desktopTemplate": "../../packages/distribution/linux/org.polyfrost.launcher.desktop.template"
|
||||
}
|
||||
},
|
||||
"shortDescription": "Next-generation open source Minecraft launcher",
|
||||
"shortDescription": "OneLauncher",
|
||||
"macOS": {
|
||||
"entitlements": "App.entitlements",
|
||||
"exceptionDomain": null,
|
||||
|
|
@ -138,7 +140,10 @@
|
|||
"active": true,
|
||||
"dialog": false,
|
||||
"pubkey": "",
|
||||
"endpoints": ["https://polyfrost.org/releases/update/{{version}}/{{target}}/{{arch}}"]
|
||||
"endpoints": ["https://polyfrost.org/releases/tauri/{{version}}/{{target}}/{{arch}}"]
|
||||
},
|
||||
"deep-link": {
|
||||
"desktop": ["onelauncher"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@
|
|||
"url": "git@github.com:polyfrost/onelauncher",
|
||||
"directory": "apps/frontend"
|
||||
},
|
||||
"bugs": "https://github.com/polyfrost/onelauncher/issues",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build"
|
||||
|
|
@ -25,7 +27,7 @@
|
|||
"@solid-primitives/refs": "^1.0.8",
|
||||
"@solidjs/router": "^0.14.1",
|
||||
"@tanstack/solid-query": "^5.51.21",
|
||||
"@tauri-apps/api": "2.0.0-beta.16",
|
||||
"@tauri-apps/api": "2.0.0-rc.0",
|
||||
"@tauri-apps/plugin-clipboard-manager": "github:tauri-apps/tauri-plugin-clipboard-manager#v2",
|
||||
"@tauri-apps/plugin-dialog": "github:tauri-apps/tauri-plugin-dialog#v2",
|
||||
"@tauri-apps/plugin-shell": "github:tauri-apps/tauri-plugin-shell#v2",
|
||||
|
|
@ -42,7 +44,7 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@solidjs/testing-library": "^0.8.9",
|
||||
"@tauri-apps/cli": "2.0.0-beta.23",
|
||||
"@tauri-apps/cli": "2.0.0-rc.0",
|
||||
"@testing-library/jest-dom": "^6.4.8",
|
||||
"@types/uuid": "^10.0.0",
|
||||
"jsdom": "^24.1.1",
|
||||
|
|
|
|||
|
|
@ -9,5 +9,7 @@
|
|||
"url": "git@github.com:polyfrost/onelauncher",
|
||||
"directory": "apps/testing"
|
||||
},
|
||||
"bugs": "https://github.com/polyfrost/onelauncher/issues",
|
||||
"sideEffects": false,
|
||||
"scripts": {}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,13 +3,14 @@
|
|||
"type": "module",
|
||||
"version": "1.0.0-alpha.1",
|
||||
"private": true,
|
||||
"description": "RSPC Client for OneLauncher",
|
||||
"description": "RSPC Client and Utilities for OneLauncher",
|
||||
"license": "GPL-3.0-only",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:polyfrost/onelauncher",
|
||||
"directory": "packages/client"
|
||||
},
|
||||
"bugs": "https://github.com/polyfrost/onelauncher/issues",
|
||||
"sideEffects": false,
|
||||
"main": "./src/index.ts",
|
||||
"types": "./src/index.ts",
|
||||
|
|
|
|||
|
|
@ -8,5 +8,7 @@
|
|||
"url": "git@github.com:polyfrost/onelauncher",
|
||||
"directory": "packages/core"
|
||||
},
|
||||
"bugs": "https://github.com/polyfrost/onelauncher/issues",
|
||||
"sideEffects": false,
|
||||
"scripts": {}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ impl Settings {
|
|||
} else {
|
||||
let settings = Self {
|
||||
theme: Theme::Dark,
|
||||
hide_close_prompt: false,
|
||||
hide_close_prompt: true,
|
||||
disable_animations: false,
|
||||
force_fullscreen: false,
|
||||
resolution: Resolution::default(),
|
||||
|
|
|
|||
|
|
@ -2,13 +2,14 @@
|
|||
"name": "@onelauncher/distribution",
|
||||
"version": "1.0.0-alpha.1",
|
||||
"private": true,
|
||||
"description": "distribution files for OneLauncher",
|
||||
"description": "Distribution files for OneLauncher",
|
||||
"license": "GPL-3.0-only",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:polyfrost/onelauncher",
|
||||
"directory": "packages/distribution"
|
||||
},
|
||||
"bugs": "https://github.com/polyfrost/onelauncher/issues",
|
||||
"sideEffects": false,
|
||||
"scripts": {},
|
||||
"dependencies": {},
|
||||
|
|
|
|||
14
packages/macros/package.json
Normal file
14
packages/macros/package.json
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"name": "@onelauncher/macros",
|
||||
"version": "1.0.0-alpha.1",
|
||||
"description": "Next-generation open source Minecraft launcher macros",
|
||||
"license": "GPL-3.0-only",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:polyfrost/onelauncher",
|
||||
"directory": "packages/macros"
|
||||
},
|
||||
"bugs": "https://github.com/polyfrost/onelauncher/issues",
|
||||
"sideEffects": false,
|
||||
"scripts": {}
|
||||
}
|
||||
|
|
@ -10,6 +10,7 @@
|
|||
"url": "git@github.com:polyfrost/onelauncher",
|
||||
"directory": "packages/scripts"
|
||||
},
|
||||
"bugs": "https://github.com/polyfrost/onelauncher/issues",
|
||||
"sideEffects": false,
|
||||
"main": "./src/index.ts",
|
||||
"types": "./src/index.ts",
|
||||
|
|
@ -18,8 +19,8 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@flowr/utils": "^3.10.2",
|
||||
"@iarna/toml": "^2.2.5",
|
||||
"execa": "^9.3.0",
|
||||
"pathe": "^1.1.2",
|
||||
"semver": "^7.6.3",
|
||||
"undici": "^6.19.5"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
import { checkEnvironment, which } from './utils';
|
||||
import { getTriple } from './utils/triple';
|
||||
|
||||
checkEnvironment(import.meta);
|
||||
const triple = getTriple();
|
||||
|
||||
if ((await Promise.all([which`cargo`, which`rustc`, which`pnpm`])).some(f => !f))
|
||||
console.error(
|
||||
`
|
||||
Basic OneLauncher dependencies missing!
|
||||
Ensure you have rust and pnpm installed:
|
||||
https://rustup.rs
|
||||
https://pnpm.io
|
||||
|
||||
And that you have run the setup script:
|
||||
packages/scripts/${triple[0] === 'Windows_NT' ? 'setup.ps1' : 'setup.sh'}
|
||||
`,
|
||||
);
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
import process from 'node:process';
|
||||
import * as fs from 'node:fs/promises';
|
||||
import { setTimeout } from 'node:timers/promises';
|
||||
import pathe from 'pathe';
|
||||
import { execa } from 'execa';
|
||||
import { awaitLock, checkEnvironment } from './utils';
|
||||
|
||||
const { __dirname, __root } = checkEnvironment(import.meta);
|
||||
const [_, __, ...args] = process.argv;
|
||||
const __distribution = pathe.join(__root, 'packages', 'distribution');
|
||||
const __desktop = pathe.join(__root, 'apps', 'desktop');
|
||||
const __cleanup: string[] = [];
|
||||
|
||||
const cleanup = () => Promise.all(__cleanup.map(f => fs.unlink(f).catch((_) => {})));
|
||||
const exists = (path: string) => fs.access(path, fs.constants.R_OK).then(_ => true).catch(_ => false);
|
||||
|
||||
process.on('SIGINT', cleanup);
|
||||
if (args.length === 0)
|
||||
args.push('build');
|
||||
|
||||
function targetFilter(filter: 'b' | 't') {
|
||||
const filters = filter === 'b' ? ['-b', '--bundles'] : ['-t', '--target'];
|
||||
return (_: string, idx: number, args: string[]) => {
|
||||
if (idx === 0)
|
||||
return false;
|
||||
const prev = args[idx - 1] ?? '';
|
||||
return filters.includes(prev);
|
||||
};
|
||||
}
|
||||
|
||||
const targets = args.filter(targetFilter('t')).flatMap(t => t.split(','));
|
||||
const bundles = args.filter(targetFilter('b')).flatMap(t => t.split(','));
|
||||
|
||||
const store = { code: 0 };
|
||||
|
||||
try {
|
||||
switch (args[0]) {
|
||||
case 'dev': {
|
||||
__cleanup.push(...([]));
|
||||
switch (process.platform) {
|
||||
case 'linux':
|
||||
case 'darwin':
|
||||
void awaitLock(pathe.join(__root, 'target', 'debug', '.cargo-lock'))
|
||||
.then(_ => setTimeout(1000).then(cleanup), (_) => {});
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 'build': {
|
||||
if (!process.env.NODE_OPTIONS || !process.env.NODE_OPTIONS.includes('--max_old_space_size'))
|
||||
process.env.NODE_OPTIONS = `--max_old_space_size=4096 ${process.env.NODE_OPTIONS ?? ''}`;
|
||||
|
||||
process.env.GENERATE_SOURCEMAP = 'false';
|
||||
__cleanup.push(...([]));
|
||||
|
||||
if (process.platform === 'darwin') {
|
||||
process.env.BACKGROUND_FILE = pathe.resolve(__distribution, 'macos', 'dmg.png');
|
||||
process.env.BACKGROUND_FILE_NAME = pathe.basename(process.env.BACKGROUND_FILE);
|
||||
process.env.BACKGROUND_CLAUSE = `set background picture of opts to file ".background:${process.env.BACKGROUND_FILE_NAME}"`;
|
||||
|
||||
if (!(await exists(process.env.BACKGROUND_FILE)))
|
||||
console.warn(`dmg background file not found at ${process.env.BACKGROUND_FILE}`);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
await execa('pnpm', ['desktop', 'tauri', ...args], { cwd: __desktop });
|
||||
|
||||
if (args[0] === 'build' && bundles.some(b => b === 'deb' || b === 'all')) {
|
||||
const linuxTargets = targets.filter(t => t.includes('-linux-'));
|
||||
if (linuxTargets.length > 0)
|
||||
linuxTargets.forEach(async (t) => {
|
||||
process.env.TARGET = t;
|
||||
await execa(pathe.join(__dirname, 'fix-deb.sh'), [], { cwd: __dirname });
|
||||
});
|
||||
else if (process.platform === 'linux')
|
||||
await execa(pathe.join(__dirname, 'fix-deb.sh'), [], { cwd: __dirname });
|
||||
}
|
||||
}
|
||||
catch (error: any) {
|
||||
console.error(`tauri ${args[0]} failed with exit code ${typeof error === 'number' ? error : 1}`);
|
||||
console.warn(`to fix some errors, run ${process.platform === 'win32' ? './packages/scripts/setup.ps1' : './packages/scripts/setup.sh'}`);
|
||||
|
||||
if (typeof error === 'number') {
|
||||
store.code = error;
|
||||
}
|
||||
else {
|
||||
if (error instanceof Error)
|
||||
console.error(error);
|
||||
store.code = 1;
|
||||
}
|
||||
}
|
||||
finally {
|
||||
cleanup();
|
||||
process.exit(store.code);
|
||||
}
|
||||
74
packages/scripts/utils/index.ts
Normal file
74
packages/scripts/utils/index.ts
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
import process from 'node:process';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
import { setTimeout } from 'node:timers/promises';
|
||||
|
||||
import { type } from 'node:os';
|
||||
import fs from 'node:fs/promises';
|
||||
import { dirname, join, resolve } from 'pathe';
|
||||
import { execa } from 'execa';
|
||||
|
||||
export function checkEnvironment(meta: ImportMeta) {
|
||||
if (/^(?:msys|mingw|cygwin)$/i.test(process.env.OSTYPE ?? '')) {
|
||||
console.error('bash for windows is not supported. please use powershell or cmd');
|
||||
process.exit(255);
|
||||
}
|
||||
|
||||
process.umask(0o026);
|
||||
|
||||
const __filename = fileURLToPath(meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
const __debug = process.env.NODE_ENV === 'debug';
|
||||
const __root = resolve(join(__dirname, '..', '..'));
|
||||
|
||||
return { __filename, __dirname, __debug, __root };
|
||||
}
|
||||
|
||||
async function where(cmd: string): Promise<boolean> {
|
||||
if (/\\/.test(cmd))
|
||||
return false;
|
||||
|
||||
try {
|
||||
await execa(cmd);
|
||||
}
|
||||
catch {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
export async function which(cmd: TemplateStringsArray): Promise<boolean> {
|
||||
return type() === 'Windows_NT'
|
||||
? where(cmd[0]!)
|
||||
: Promise.any(
|
||||
Array.from(new Set(process.env.PATH?.split(':')))
|
||||
.map(p => fs.access(join(p, cmd[0]!), fs.constants.X_OK)),
|
||||
).then(_ => true, _ => false);
|
||||
}
|
||||
|
||||
export async function awaitLock(file: string): Promise<void> {
|
||||
if (!(await which`flock`))
|
||||
throw new Error('flock is not installed!');
|
||||
|
||||
const store = { locked: false };
|
||||
while (!store.locked)
|
||||
try {
|
||||
await execa`flock -ns "${file}" -c true`;
|
||||
await setTimeout(100);
|
||||
}
|
||||
catch {
|
||||
store.locked = true;
|
||||
}
|
||||
|
||||
while (store.locked) {
|
||||
try {
|
||||
await execa`flock -ns "${file}" -c true`;
|
||||
}
|
||||
catch {
|
||||
await setTimeout(100);
|
||||
continue;
|
||||
}
|
||||
|
||||
store.locked = false;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
// import process from 'node:process';
|
||||
// import pathe from 'pathe';
|
||||
|
||||
// export async function tauriUpdateKey(): Promise<string | undefined> {
|
||||
// if (process.env.TAURI_SIGNING_PRIVATE_KEY)
|
||||
// return;
|
||||
|
||||
// const privateKeyPath = pathe.join();
|
||||
// }
|
||||
128
pnpm-lock.yaml
generated
128
pnpm-lock.yaml
generated
|
|
@ -55,8 +55,8 @@ importers:
|
|||
version: link:../frontend
|
||||
devDependencies:
|
||||
'@tauri-apps/cli':
|
||||
specifier: 2.0.0-beta.23
|
||||
version: 2.0.0-beta.23
|
||||
specifier: 2.0.0-rc.0
|
||||
version: 2.0.0-rc.0
|
||||
|
||||
apps/frontend:
|
||||
dependencies:
|
||||
|
|
@ -80,7 +80,7 @@ importers:
|
|||
version: 0.2.3(@tanstack/solid-query@5.51.21(solid-js@1.8.19))(solid-js@1.8.19)
|
||||
'@rspc/tauri':
|
||||
specifier: ^0.2.0
|
||||
version: 0.2.0(@tauri-apps/api@2.0.0-beta.16)
|
||||
version: 0.2.0(@tauri-apps/api@2.0.0-rc.0)
|
||||
'@solid-primitives/refs':
|
||||
specifier: ^1.0.8
|
||||
version: 1.0.8(solid-js@1.8.19)
|
||||
|
|
@ -91,8 +91,8 @@ importers:
|
|||
specifier: ^5.51.21
|
||||
version: 5.51.21(solid-js@1.8.19)
|
||||
'@tauri-apps/api':
|
||||
specifier: 2.0.0-beta.16
|
||||
version: 2.0.0-beta.16
|
||||
specifier: 2.0.0-rc.0
|
||||
version: 2.0.0-rc.0
|
||||
'@tauri-apps/plugin-clipboard-manager':
|
||||
specifier: github:tauri-apps/tauri-plugin-clipboard-manager#v2
|
||||
version: https://codeload.github.com/tauri-apps/tauri-plugin-clipboard-manager/tar.gz/20e84cfbdebcd86bb1854846feb0aaff4481fbd0
|
||||
|
|
@ -137,8 +137,8 @@ importers:
|
|||
specifier: ^0.8.9
|
||||
version: 0.8.9(@solidjs/router@0.14.1(solid-js@1.8.19))(solid-js@1.8.19)
|
||||
'@tauri-apps/cli':
|
||||
specifier: 2.0.0-beta.23
|
||||
version: 2.0.0-beta.23
|
||||
specifier: 2.0.0-rc.0
|
||||
version: 2.0.0-rc.0
|
||||
'@testing-library/jest-dom':
|
||||
specifier: ^6.4.8
|
||||
version: 6.4.8
|
||||
|
|
@ -200,17 +200,19 @@ importers:
|
|||
|
||||
packages/distribution: {}
|
||||
|
||||
packages/macros: {}
|
||||
|
||||
packages/scripts:
|
||||
dependencies:
|
||||
'@flowr/utils':
|
||||
specifier: ^3.10.2
|
||||
version: 3.10.2
|
||||
'@iarna/toml':
|
||||
specifier: ^2.2.5
|
||||
version: 2.2.5
|
||||
execa:
|
||||
specifier: ^9.3.0
|
||||
version: 9.3.0
|
||||
pathe:
|
||||
specifier: ^1.1.2
|
||||
version: 1.1.2
|
||||
semver:
|
||||
specifier: ^7.6.3
|
||||
version: 7.6.3
|
||||
|
|
@ -853,9 +855,6 @@ packages:
|
|||
resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==}
|
||||
engines: {node: '>=18.18'}
|
||||
|
||||
'@iarna/toml@2.2.5':
|
||||
resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==}
|
||||
|
||||
'@iconify-json/logos@1.1.43':
|
||||
resolution: {integrity: sha512-UtvL1yDHUr9dl1Tqihh6K9m5dmbYKOYyLf3i9aKhymSW76QjOCGjpgQc0PQ4GJCAdU1cAMu+WO61TgPxdonrlg==}
|
||||
|
||||
|
|
@ -1198,76 +1197,72 @@ packages:
|
|||
peerDependencies:
|
||||
solid-js: ^1.6.0
|
||||
|
||||
'@tauri-apps/api@2.0.0-beta.16':
|
||||
resolution: {integrity: sha512-YGjkR9HxS/YyIoqoXDkk8o9Yy5NW6u9YxzeqEodwwOUoeS0nac6mzLTW3VYIuSelHmyUQCgbyENVY6e5CJXA4Q==}
|
||||
engines: {node: '>= 18.18', npm: '>= 6.6.0', yarn: '>= 1.19.1'}
|
||||
|
||||
'@tauri-apps/api@2.0.0-rc.0':
|
||||
resolution: {integrity: sha512-v454Qs3REHc3Za59U+/eSmBsdmF+3NE5+76+lFDaitVqN4ZglDHENDaMARYKGJVZuxiSkzyqG0SeG7lLQjVkPA==}
|
||||
engines: {node: '>= 18.18', npm: '>= 6.6.0', yarn: '>= 1.19.1'}
|
||||
|
||||
'@tauri-apps/cli-darwin-arm64@2.0.0-beta.23':
|
||||
resolution: {integrity: sha512-Ppt76xF2SeXdkzgYdIo/UZwkvj76G33MCX9ouqqIlTVqj1FUWYLnHqUh9iCbav98NI3WzhMpNtxzRJq++7/qmw==}
|
||||
'@tauri-apps/cli-darwin-arm64@2.0.0-rc.0':
|
||||
resolution: {integrity: sha512-jpQc++6ESFUuBpoXvJNPTRtrmToMIByOynZ4K5SAwI9RkKUikSaDmlRZV0GisOVPT7TT08khk7MPtAQeFyjqwA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@tauri-apps/cli-darwin-x64@2.0.0-beta.23':
|
||||
resolution: {integrity: sha512-mfj0NVN90JtluiGcupGy450Hn0YAHOjH1blA+4C3UniM0otmhdGMrbl5szhVFdWj6xmpaB8B2HmgUOgSuvVbzQ==}
|
||||
'@tauri-apps/cli-darwin-x64@2.0.0-rc.0':
|
||||
resolution: {integrity: sha512-EnqsgcNUwH29YjQ4JdBID5kILQQdIJgZ36VQgtju/BBvnd1lr+6Bswdk1/4y41hhAVz9WyHeMCnTH33CSKvNxw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-beta.23':
|
||||
resolution: {integrity: sha512-K8yZen+M4X8hPDiXlXi5tYHMeJ6A4tmmVDAA84iNJndMpTbI2Mrveprnjekzeu3l7qTMZd6W44TtMXUODH+4Tw==}
|
||||
'@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-rc.0':
|
||||
resolution: {integrity: sha512-YKg/qThAmQYRToiV8lx/DvMf0VaUJAutIfv8ALq9Or4zdg7mZlAlKvF+7lZQQRmKhQ62+0gnoJS2HyN8feaagw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@tauri-apps/cli-linux-arm64-gnu@2.0.0-beta.23':
|
||||
resolution: {integrity: sha512-1+P1KVMNszPC2y6LXXAnm8i11rye/XjJYqNUoEIAp5jRiaQmm5xmaA61QeWSVWtbEmKM44kK9j1eOkZQWs6HzQ==}
|
||||
'@tauri-apps/cli-linux-arm64-gnu@2.0.0-rc.0':
|
||||
resolution: {integrity: sha512-UnflWuNhH/u41GSmG1jm6qhWUM4o1AB463QCaf2fAjLo5GWiI78U6rJOOXZvOOmWIQuzsmAUZjNDORWW13+osA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@tauri-apps/cli-linux-arm64-musl@2.0.0-beta.23':
|
||||
resolution: {integrity: sha512-x9aH0t1liyL+fv2I22gd1XKR8v5St9x8t3d2Jcjw6IK3EUIiHY5KEdif/5UTHsmlkjLu/d40ssLgcaXH5rk+iQ==}
|
||||
'@tauri-apps/cli-linux-arm64-musl@2.0.0-rc.0':
|
||||
resolution: {integrity: sha512-sWRaDyb332gtHWHr0KvoLzkzvXqRpZ0vpQYxKF2/mIZtaUuMtU56GmRwFVX4VjQYgWb3yWmzTr+tEKjCjXbjng==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@tauri-apps/cli-linux-x64-gnu@2.0.0-beta.23':
|
||||
resolution: {integrity: sha512-NMiU5Ep6aXSkaO2B023/XzoA0FTwuMqOpxUE+T4pvLld1zE+7brvHzSoQ0pXlppALyWMfH0CWX/2xnhVpQwJxA==}
|
||||
'@tauri-apps/cli-linux-x64-gnu@2.0.0-rc.0':
|
||||
resolution: {integrity: sha512-1dokW+9ZfhwzwYz42jYR5A0/VnGoEGVW7HyN1N6KvHeL1FpSbh0LoTsDODjVjZSjXd62+Aac/stbJqBZChQWbA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@tauri-apps/cli-linux-x64-musl@2.0.0-beta.23':
|
||||
resolution: {integrity: sha512-iPLalS0zv2NwG8c0focKs1m90p2xpvI21vwYTp564G5K1RDJ7eOVCKQpKiHdanSruieRjA/o21dJ2DUAzQkQpA==}
|
||||
'@tauri-apps/cli-linux-x64-musl@2.0.0-rc.0':
|
||||
resolution: {integrity: sha512-7tb34p3vLEGS4pGRpmxcz7eq37yD7DVe4XFfgj8ZO0KsaRBVivzNK2snNDLnd0dVZcx/lJjZc8Cf0B5W1/x/Jw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@tauri-apps/cli-win32-arm64-msvc@2.0.0-beta.23':
|
||||
resolution: {integrity: sha512-RUwrwhb/cVelqkq5/Isq9SeXk5PJ15TNNr+A3EMcWN+eNOtHQimNM9xqSzXMwwNPExuvSOIDpnHWBQPd7FQ+nw==}
|
||||
'@tauri-apps/cli-win32-arm64-msvc@2.0.0-rc.0':
|
||||
resolution: {integrity: sha512-Ilw3Gro8ZBew9yfBXcaET9lLj0g4jehWDMH6j2Wdje1rnvBbQShMaSn3WNMfJypyet5nqM88nGA3YipzmVcIBA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@tauri-apps/cli-win32-ia32-msvc@2.0.0-beta.23':
|
||||
resolution: {integrity: sha512-hmICsj/E8tKSVqzjqLm6PuEeU9UjnhsagxK7Zun3lWsnVYNz2DS+AGO+vBn0TEFpVgJxl6kWCHcwerIPRpqdfQ==}
|
||||
'@tauri-apps/cli-win32-ia32-msvc@2.0.0-rc.0':
|
||||
resolution: {integrity: sha512-AWzgDlvv0BssWH3aNsDXLRkKbGynWdm5X6DenSQKtZm5dmDBZsNlZRMgkyPb8WSHK/7ARznKs2OdnkuHWuh9ww==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@tauri-apps/cli-win32-x64-msvc@2.0.0-beta.23':
|
||||
resolution: {integrity: sha512-FKZyIPS8s+vSFxgzMoMUJP5portz3X/bwfh7bthAxr14qKCkM7Z7H59y7hF88gmRkeLvwxNDyDz4+bVi42XMhQ==}
|
||||
'@tauri-apps/cli-win32-x64-msvc@2.0.0-rc.0':
|
||||
resolution: {integrity: sha512-zmXDUkBmzZ6lk6jT6AoOAE2w+kmkLX5uf/vaJHHzE6WsrZ6UymH0HTLwbRXhaplvpnzXGVyLuSlv3/BK6Q69aQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@tauri-apps/cli@2.0.0-beta.23':
|
||||
resolution: {integrity: sha512-6p15budG+2oZIlq/ZqgX08/v/afHTWug1cdf+r5FXCKnyK8HrLhqoRVDFTP8UmuG6INjl8V/6BhcKN01R8hXiw==}
|
||||
'@tauri-apps/cli@2.0.0-rc.0':
|
||||
resolution: {integrity: sha512-X9N/R7e3zeTpU0HgQi2kaNYncMFoSTzXstnUyGOcKrJcCkR4ebbA2nYqhGvIPfglLKHNFRTZwfPNhixx2Ftxxg==}
|
||||
engines: {node: '>= 10'}
|
||||
hasBin: true
|
||||
|
||||
|
|
@ -4218,8 +4213,6 @@ snapshots:
|
|||
|
||||
'@humanwhocodes/retry@0.3.0': {}
|
||||
|
||||
'@iarna/toml@2.2.5': {}
|
||||
|
||||
'@iconify-json/logos@1.1.43':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
|
|
@ -4407,11 +4400,6 @@ snapshots:
|
|||
'@tanstack/solid-query': 5.51.21(solid-js@1.8.19)
|
||||
solid-js: 1.8.19
|
||||
|
||||
'@rspc/tauri@0.2.0(@tauri-apps/api@2.0.0-beta.16)':
|
||||
dependencies:
|
||||
'@rspc/client': 0.2.0
|
||||
'@tauri-apps/api': 2.0.0-beta.16
|
||||
|
||||
'@rspc/tauri@0.2.0(@tauri-apps/api@2.0.0-rc.0)':
|
||||
dependencies:
|
||||
'@rspc/client': 0.2.0
|
||||
|
|
@ -4516,56 +4504,54 @@ snapshots:
|
|||
'@tanstack/query-core': 5.51.21
|
||||
solid-js: 1.8.19
|
||||
|
||||
'@tauri-apps/api@2.0.0-beta.16': {}
|
||||
|
||||
'@tauri-apps/api@2.0.0-rc.0': {}
|
||||
|
||||
'@tauri-apps/cli-darwin-arm64@2.0.0-beta.23':
|
||||
'@tauri-apps/cli-darwin-arm64@2.0.0-rc.0':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-darwin-x64@2.0.0-beta.23':
|
||||
'@tauri-apps/cli-darwin-x64@2.0.0-rc.0':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-beta.23':
|
||||
'@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-rc.0':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-linux-arm64-gnu@2.0.0-beta.23':
|
||||
'@tauri-apps/cli-linux-arm64-gnu@2.0.0-rc.0':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-linux-arm64-musl@2.0.0-beta.23':
|
||||
'@tauri-apps/cli-linux-arm64-musl@2.0.0-rc.0':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-linux-x64-gnu@2.0.0-beta.23':
|
||||
'@tauri-apps/cli-linux-x64-gnu@2.0.0-rc.0':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-linux-x64-musl@2.0.0-beta.23':
|
||||
'@tauri-apps/cli-linux-x64-musl@2.0.0-rc.0':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-win32-arm64-msvc@2.0.0-beta.23':
|
||||
'@tauri-apps/cli-win32-arm64-msvc@2.0.0-rc.0':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-win32-ia32-msvc@2.0.0-beta.23':
|
||||
'@tauri-apps/cli-win32-ia32-msvc@2.0.0-rc.0':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli-win32-x64-msvc@2.0.0-beta.23':
|
||||
'@tauri-apps/cli-win32-x64-msvc@2.0.0-rc.0':
|
||||
optional: true
|
||||
|
||||
'@tauri-apps/cli@2.0.0-beta.23':
|
||||
'@tauri-apps/cli@2.0.0-rc.0':
|
||||
optionalDependencies:
|
||||
'@tauri-apps/cli-darwin-arm64': 2.0.0-beta.23
|
||||
'@tauri-apps/cli-darwin-x64': 2.0.0-beta.23
|
||||
'@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-beta.23
|
||||
'@tauri-apps/cli-linux-arm64-gnu': 2.0.0-beta.23
|
||||
'@tauri-apps/cli-linux-arm64-musl': 2.0.0-beta.23
|
||||
'@tauri-apps/cli-linux-x64-gnu': 2.0.0-beta.23
|
||||
'@tauri-apps/cli-linux-x64-musl': 2.0.0-beta.23
|
||||
'@tauri-apps/cli-win32-arm64-msvc': 2.0.0-beta.23
|
||||
'@tauri-apps/cli-win32-ia32-msvc': 2.0.0-beta.23
|
||||
'@tauri-apps/cli-win32-x64-msvc': 2.0.0-beta.23
|
||||
'@tauri-apps/cli-darwin-arm64': 2.0.0-rc.0
|
||||
'@tauri-apps/cli-darwin-x64': 2.0.0-rc.0
|
||||
'@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-rc.0
|
||||
'@tauri-apps/cli-linux-arm64-gnu': 2.0.0-rc.0
|
||||
'@tauri-apps/cli-linux-arm64-musl': 2.0.0-rc.0
|
||||
'@tauri-apps/cli-linux-x64-gnu': 2.0.0-rc.0
|
||||
'@tauri-apps/cli-linux-x64-musl': 2.0.0-rc.0
|
||||
'@tauri-apps/cli-win32-arm64-msvc': 2.0.0-rc.0
|
||||
'@tauri-apps/cli-win32-ia32-msvc': 2.0.0-rc.0
|
||||
'@tauri-apps/cli-win32-x64-msvc': 2.0.0-rc.0
|
||||
|
||||
'@tauri-apps/plugin-clipboard-manager@https://codeload.github.com/tauri-apps/tauri-plugin-clipboard-manager/tar.gz/20e84cfbdebcd86bb1854846feb0aaff4481fbd0':
|
||||
dependencies:
|
||||
'@tauri-apps/api': 2.0.0-beta.16
|
||||
'@tauri-apps/api': 2.0.0-rc.0
|
||||
|
||||
'@tauri-apps/plugin-dialog@https://codeload.github.com/tauri-apps/tauri-plugin-dialog/tar.gz/f83833c5445948c1b2f022e3c530ca48be9f8768':
|
||||
dependencies:
|
||||
|
|
@ -4573,7 +4559,7 @@ snapshots:
|
|||
|
||||
'@tauri-apps/plugin-shell@https://codeload.github.com/tauri-apps/tauri-plugin-shell/tar.gz/5cc36dadeaad0520111c6f5e32ecdbbae7cb1311':
|
||||
dependencies:
|
||||
'@tauri-apps/api': 2.0.0-beta.16
|
||||
'@tauri-apps/api': 2.0.0-rc.0
|
||||
|
||||
'@testing-library/dom@10.4.0':
|
||||
dependencies:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue