✨ feature: update to tauri@rc.0

This commit is contained in:
Pauline 2024-08-03 17:24:30 +02:00
parent ee70456c48
commit d56720a003
No known key found for this signature in database
GPG key ID: 722BB181973296AE
29 changed files with 423 additions and 143 deletions

View file

@ -4,4 +4,4 @@ rustflags = [
"link-args=/STACK:16777220"
]
[alias]
[env]

View file

@ -21,3 +21,7 @@ trim_trailing_whitespace = true
[*.{yaml,yml}]
indent_style = space
indent_size = 2
[*.toml]
indent_style = space
indent_size = 2

View file

@ -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
View 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
View file

@ -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
View 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"
}
]
}

View file

@ -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" ] }

View file

@ -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" ]

View file

@ -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"
]
}

View file

@ -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"
}
}

View file

@ -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();

View file

@ -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"]
}
}
}

View file

@ -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",

View file

@ -9,5 +9,7 @@
"url": "git@github.com:polyfrost/onelauncher",
"directory": "apps/testing"
},
"bugs": "https://github.com/polyfrost/onelauncher/issues",
"sideEffects": false,
"scripts": {}
}

View file

@ -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",

View file

@ -8,5 +8,7 @@
"url": "git@github.com:polyfrost/onelauncher",
"directory": "packages/core"
},
"bugs": "https://github.com/polyfrost/onelauncher/issues",
"sideEffects": false,
"scripts": {}
}

View file

@ -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(),

View file

@ -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": {},

View 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": {}
}

View file

@ -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"
},

View file

@ -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'}
`,
);

View file

@ -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);
}

View 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;
}
}

View file

@ -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
View file

@ -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: