🐛 fix: more work on scripts

Signed-off-by: Pauline <git@ethanlibs.co>
This commit is contained in:
Pauline 2024-08-05 08:25:12 +02:00
parent 8bf9a1bc2e
commit aeefb368b6
No known key found for this signature in database
GPG key ID: 722BB181973296AE
20 changed files with 631 additions and 347 deletions

View file

@ -1,5 +0,0 @@
[target.'cfg(windows)']
rustflags = [
"-C",
"link-args=/STACK:16777220"
]

View file

@ -0,0 +1,38 @@
{{#isMacOS}}
[target.x86_64-apple-darwin]
rustflags = ["-Csplit-debuginfo=unpacked"]
[target.aarch64-apple-darwin]
rustflags = ["-Csplit-debuginfo=unpacked"]
{{/isMacOS}}
{{#isWin}}
[target.'cfg(windows)']
rustflags = [
"-C",
"link-args=/STACK:16777220"
]
[target.x86_64-pc-windows-msvc]
{{#hasLLD}}
linker = "lld-link.exe"
{{/hasLLD}}
{{/isWin}}
{{#isLinux}}
[target.x86_64-unknown-linux-gnu]
{{#hasLLD}}
linker = "clang"
rustflags = ["-C", "link-args=-fuse-ld={{{linker}}}"]
{{/hasLLD}}
[[target.aarch64-unknown-linux-gnu]]
{{#hasLLD}}
linker = "clang"
rustflags = ["-C", "link-args=-fus-ld={{{linker}}}"]
{{/hasLLD}}
{{/isLinux}}
{{#hasAlias}}
prisma = "run -p prisma-cli --bin prisma --"
{{/hasAlias}}

View file

@ -144,7 +144,7 @@ jobs:
- name: Prepare Target
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36
continue-on-error: true
id: filter
id: preparation
with:
filters: |
changes:
@ -160,13 +160,13 @@ jobs:
- '.github/workflows/build.yml'
- name: Setup System
if: steps.filter.outcome != 'success' || steps.filter.outputs.changes == 'true'
if: steps.preparation.outcome != 'success' || steps.preparation.outputs.changes == 'true'
uses: ./.github/actions/setup-system
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Run Clippy
if: steps.filter.outcome != 'success' || steps.filter.outputs.changes == 'true'
if: steps.preparation.outcome != 'success' || steps.preparation.outputs.changes == 'true'
uses: ./.github/actions/clippy
with:
reporter: github-pr-review

1
.gitignore vendored
View file

@ -17,6 +17,7 @@ dev.db-journal
# .env*
vendor/
vender/
.cargo/config.toml
# Created by https://www.toptal.com/developers/gitignore/api/git,node,rust,yarn,linux,macos,windows,rust-analyzer,visualstudiocode,intellij+all
# Edit at https://www.toptal.com/developers/gitignore?templates=git,node,rust,yarn,linux,macos,windows,rust-analyzer,visualstudiocode,intellij+all

View file

@ -1,12 +1,12 @@
{
"recommendations": [
"tauri-apps.tauri-vscode",
"rust-lang.rust-analyzer",
"vadimcn.vscode-lldb",
"oscarbeaumont.rspc-vscode",
"antfu.unocss",
"EditorConfig.EditorConfig",
"prisma.prisma",
"dbaeumer.vscode-eslint"
"tauri-apps.tauri-vscode", // Provides Tauri framework support.
"rust-lang.rust-analyzer", // Provides Rust language support.
"vadimcn.vscode-lldb", // Provides Rust debugging support.
"oscarbeaumont.rspc-vscode", // RSPC is a framework for Routers.
"antfu.unocss", // Provides UnoCSS intellisense.
"EditorConfig.EditorConfig", // Maintains consistent coding styles.
"prisma.prisma", // Prisma is an open-source ORM database toolkit.
"dbaeumer.vscode-eslint" // Code formatting using ESLint.
]
}

39
.vscode/launch.json vendored
View file

@ -9,18 +9,49 @@
"request": "launch",
"name": "Tauri Development",
"cargo": {
"args": ["build", "--package onelauncher_gui"]
"args": [
"build",
"--profile=dev-debug",
"--manifest-path=./apps/desktop/Cargo.toml",
"--no-default-features"
],
"problemMatcher": "$rustc"
},
"preLaunchTask": "desktop:frontend:dev"
"env": {
"RUST_BACKTRACE": "short"
// "RUST_LOG": "onelauncher=trace"
},
"sourceLanguages": ["rust"],
"preLaunchTask": "frontend:dev"
},
{
"type": "lldb",
"request": "launch",
"name": "Tauri Production",
"cargo": {
"args": ["build", "--package onelauncher_gui", "--release"]
"args": [
"build",
"--release",
"--manifest-path=./apps/desktop/Cargo.toml"
],
"problemMatcher": "$rustc"
},
"preLaunchTask": "desktop:frontend:build"
"sourceLanguages": ["rust"],
"preLaunchTask": "frontend:build"
},
{
"type": "lldb",
"request": "launch",
"name": "Debug Core",
"cargo": {
"args": ["test", "--no-run", "--lib", "--package=onelauncher"],
"filter": {
"name": "onelauncher",
"kind": "lib"
}
},
"args": [],
"cwd": "${workspaceFolder}"
}
]
}

View file

@ -39,6 +39,11 @@
".crates"
],
"rust-analyzer.procMacro.enable": true,
"rust-analyzer.diagnostics.experimental.enable": false,
"rust-analyzer.linkedProjects": [],
"rust-analyzer.cargo.extraEnv": {},
"rust-analyzer.check.targets": null,
"rust-analyzer.showUnlinkedFileNotification": false,
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,

80
.vscode/tasks.json vendored
View file

@ -4,20 +4,80 @@
"version": "2.0.0",
"tasks": [
{
"label": "desktop:frontend:dev",
"type": "shell",
"isBackground": true,
"command": "pnpm",
"args": ["frontend", "dev"],
// todo: problemMatcher
"group": "build"
"type": "cargo",
"command": "clippy",
"problemMatcher": ["$rustc"],
"group": {
"kind": "build",
"isDefault": true
},
"label": "rust:clippy",
"args": ["--all-targets", "--all-features", "--all"]
},
{
"type": "npm",
"script": "prepare",
"label": "pnpm:prep",
"group": "none",
"problemMatcher": ["$rustc"]
},
{
"label": "desktop:frontend:build",
"type": "shell",
"label": "start",
"command": "sh",
"args": ["-c", "'pnpm i && pnpm prepare'"],
"problemMatcher": ["$tsc-watch", "$rustc"]
},
{
"type": "shell",
"label": "frontend:dev",
"problemMatcher": {
"base": "$tsc-watch",
"background": {
"activeOnStart": true,
"beginsPattern": "VITE v",
"endsPattern": "http://localhost:8001/"
}
},
"isBackground": true,
"command": "pnpm",
"args": ["frontend", "build"],
"group": "build"
"args": ["frontend", "dev", "--mode=development"],
"runOptions": {
"instanceLimit": 1
}
},
{
"type": "shell",
"label": "frontend:build",
"problemMatcher": "$tsc",
"command": "pnpm",
"args": ["frontend", "build"]
},
{
"type": "cargo",
"command": "run",
"args": ["--manifest-path=./apps/desktop/Cargo.toml", "--no-default-features"],
"env": {
"RUST_BACKTRACE": "short"
// "RUST_LOG": "onelauncher=trace"
},
"problemMatcher": ["$rustc"],
"group": "build",
"label": "rust:run",
"dependsOn": ["frontend:dev"]
},
{
"type": "cargo",
"command": "run",
"args": ["--manifest-path=./apps/desktop/Cargo.toml", "--release"],
"env": {
"RUST_BACKTRACE": "short"
// "RUST_LOG": "onelauncher=trace"
},
"problemMatcher": ["$rustc"],
"group": "build",
"label": "rust:run release",
"dependsOn": ["frontend:build"]
}
]
}

View file

@ -45,6 +45,7 @@ To make changes locally, follow these steps:
3. For Windows users, run in PowerShell: `.\packages\scripts\setup.ps1`
> The [Unix script] will install pnpm, LLVM, C++ build tools, NASM, Rust + Cargo, Rust tools, Edge Webview 2, [Tauri essentials] and any other required dependencies for OneLauncher to build.
4. Install dependencies: `pnpm i`
5. Prepare your cargo installation: `pnpm prep`
To quickly run only the desktop app after `prep`, you can use:

14
Cargo.lock generated
View file

@ -4086,9 +4086,9 @@ dependencies = [
[[package]]
name = "quinn"
version = "0.11.2"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad"
checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156"
dependencies = [
"bytes",
"pin-project-lite",
@ -4096,6 +4096,7 @@ dependencies = [
"quinn-udp",
"rustc-hash",
"rustls",
"socket2",
"thiserror",
"tokio",
"tracing",
@ -4103,9 +4104,9 @@ dependencies = [
[[package]]
name = "quinn-proto"
version = "0.11.3"
version = "0.11.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe"
checksum = "ba92fb39ec7ad06ca2582c0ca834dfeadcaf06ddfc8e635c80aa7e1c05315fdd"
dependencies = [
"bytes",
"rand 0.8.5",
@ -4127,6 +4128,7 @@ dependencies = [
"libc",
"once_cell",
"socket2",
"tracing",
"windows-sys 0.52.0",
]
@ -4454,9 +4456,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
[[package]]
name = "rustc-hash"
version = "1.1.0"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152"
[[package]]
name = "rustc_version"

View file

@ -1,3 +1,4 @@
// @ts-check
import { defineConfig } from '@flowr/eslint-config';
export default defineConfig({

View file

@ -22,6 +22,7 @@
"node": ">=18"
},
"scripts": {
"prep": "pnpm --filter=@onelauncher/scripts -- int:prepare",
"build": "pnpm --filter=./* run build",
"dev": "pnpm --filter=./* run dev",
"start": "pnpm --filter=./* run start",
@ -34,6 +35,7 @@
"core": "cd packages/core && cargo",
"testing": "cd apps/testing && cargo",
"tauri": "cd apps/desktop && cargo",
"test:vi": "pnpm vitest run",
"test:update": "pnpm vitest -u",
"test:ui": "pnpm vitest --ui",
@ -50,14 +52,13 @@
]
},
"devDependencies": {
"@flowr/eslint-config": "^3.10.4",
"@flowr/eslint-config": "^3.10.5",
"@types/node": "^22.1.0",
"@vitest/ui": "^2.0.5",
"bumpp": "^9.4.2",
"changelogen": "^0.5.5",
"eslint": "npm:eslint-ts-patch@9.8.0-1",
"eslint": "^9.8.0",
"eslint-plugin-solid": "^0.14.1",
"eslint-ts-patch": "9.8.0-1",
"ts-node": "^10.9.2",
"tsx": "~4.16.5",
"typescript": "^5.5.4",

116
packages/scripts/fix-deb.sh Executable file
View file

@ -0,0 +1,116 @@
#!/usr/bin/env bash
set -eEuo pipefail
if [ "${CI:-}" = "true" ]; then
set -x
fi
if [ "$(id -u)" -ne 0 ]; then
echo "this script requires root privileges:" >&2
exec sudo -E env _UID="$(id -u)" _GID="$(id -g)" "$0" "$@"
fi
echo "fixing .deb onelauncher bundle..." >&2
umask 0
err() {
for _line in "$@"; do
echo "$_line" >&2
done
exit 1
}
has() {
for prog in "$@"; do
if ! command -v "$prog" 1>/dev/null 2>&1; then
return 1
fi
done
}
if ! has tar curl gzip strip; then
err 'dependencies missing!' \
"this script requires 'tar', 'curl', 'gzip' and 'strip' to be installed and available on \$PATH."
fi
CDPATH='' cd -- "$(dirname "$0")"
_root="$(pwd -P)"
if [ -n "${TARGET:-}" ]; then
cd "../target/${TARGET}/release/bundle/deb" || err 'failed to find deb bundle'
else
cd ../target/release/bundle/deb || err 'failed to find deb bundle'
fi
_deb="$(find . -type f -name '*.deb' | sort -t '_' -k '2,2' -V | tail -n 1)"
rm -rf "$(basename "$_deb" .deb)"
cp "$_deb" "$_deb.bak"
_tmp="$(mktemp -d)"
cleanup() {
_err=$?
rm -rf "$_tmp"
if [ $_err -ne 0 ]; then
mv "${_deb:?}.bak" "$_deb"
fi
chown "${_UID:-0}:${_GID:-0}" "$_deb" 2>/dev/null || true
rm -f "${_deb:?}.bak"
exit "$_err"
}
trap 'cleanup' EXIT
ar x "$_deb" --output="$_tmp"
mkdir -p "${_tmp}/data"
tar -xzf "${_tmp}/data.tar.gz" -C "${_tmp}/data"
mkdir -p "${_tmp}/control"
tar -xzf "${_tmp}/control.tar.gz" -C "${_tmp}/control"
chown -R root:root "$_tmp"
find "${_tmp}" -name 'onelauncher_gui' -o \( -type f -name 'onelauncher_gui.*' \) | while IFS= read -r file
do
filename="$(basename "$file")"
if [ "$filename" = "onelauncher_gui" ]; then
mv "$file" "$(dirname "$file")/onelauncher"
else
mv "$file" "$(dirname "$file")/onelauncher.${filename#*.}"
fi
done
mkdir -p "$_tmp"/data/usr/share/{doc/onelauncher,man/man1}
curl -LSs 'https://raw.githubusercontent.com/Polyfrost/OneLauncher/main/CHANGELOG.md' \
| gzip -9 >"${_tmp}/data/usr/share/doc/onelauncher/changelog.gz"
cp "${_root}/../../LICENSE" "${_tmp}/data/usr/share/doc/onelauncher/copyright"
# TODO
# curl -LSs 'https://raw.githubusercontent.com/Polyfrost/OneLauncher/main/packages/distribution/onelauncher.1' \
# | gzip -9 >"${_tmp}/data/usr/share/man/man1/onelauncher.1.gz"
sed -i 's/^Categories=.*/Categories=Games;/' "${_tmp}/data/usr/share/applications/onelauncher.desktop"
sed -i 's/=onelauncher_gui/=onelauncher/' "${_tmp}/data/usr/share/applications/onelauncher.desktop"
find "${_tmp}/data" -type d -exec chmod 755 {} +
find "${_tmp}/data" -type f -exec chmod 644 {} +
chmod 755 "${_tmp}/data/usr/bin/onelauncher"
find "${_tmp}/data/usr/lib" -type f -name '*.so.*' -exec sh -euc \
'for _lib in "$@"; do _link="$_lib" && while { _link="${_link%.*}" && [ "$_link" != "${_lib%.so*}" ]; }; do if [ -f "$_link" ]; then ln -sf "$(basename "$_lib")" "$_link"; fi; done; done' \
sh {} +
find "${_tmp}/data/usr/bin" "${_tmp}/data/usr/lib" -type f -exec strip --strip-unneeded {} \;
if ! grep -q '^Section:' "${_tmp}/control/control"; then
echo 'Section: contrib/games' >>"${_tmp}/control/control"
fi
(cd "${_tmp}/data" && find . -type f -exec md5sum {} + >"${_tmp}/control/md5sums")
find "${_tmp}/control" -type f -exec chmod 644 {} +
tar -czf "${_tmp}/data.tar.gz" -C "${_tmp}/data" .
tar -czf "${_tmp}/control.tar.gz" -C "${_tmp}/control" .
ar rcs "$_deb" "${_tmp}/debian-binary" "${_tmp}/control.tar.gz" "${_tmp}/data.tar.gz"

View file

@ -15,17 +15,20 @@
"main": "./src/index.ts",
"types": "./src/index.ts",
"scripts": {
"tauri": "pnpm tsx tauri.ts"
"tauri": "pnpm tsx tauri.ts",
"int:prepare": "pnpm tsx prepare.ts"
},
"dependencies": {
"@flowr/utils": "^3.10.4",
"@flowr/utils": "^3.10.5",
"execa": "^9.3.0",
"mustache": "^4.2.0",
"pathe": "^1.1.2",
"semver": "^7.6.3",
"undici": "^6.19.5"
},
"devDependencies": {
"@types/iarna__toml": "^2.0.5",
"@types/mustache": "^4.2.5",
"@types/semver": "^7.5.8"
}
}

View file

@ -1,9 +1,10 @@
#!/usr/bin/env node
import { readFile, writeFile } from 'node:fs/promises';
import { join } from 'pathe';
import mustache from 'mustache';
import { checkEnvironment, which } from './utils';
import { getTriple } from './utils/triple';
checkEnvironment(import.meta);
const { __debug, __exit, __root } = checkEnvironment(import.meta);
const triple = getTriple();
if ((await Promise.all([which`cargo`, which`rustc`, which`pnpm`])).some(f => !f))
@ -18,3 +19,40 @@ if ((await Promise.all([which`cargo`, which`rustc`, which`pnpm`])).some(f => !f)
packages/scripts/${triple[0] === 'Windows_NT' ? 'setup.ps1' : 'setup.sh'}
`,
);
console.log('generating cargo configuration file.');
interface ConfigStore { hasAlias: boolean; isWin: boolean; isMacOS: boolean; isLinux: boolean; hasLLD: boolean | { linker: string } }
const configStore: ConfigStore = { hasAlias: false, isWin: false, isMacOS: false, isLinux: false, hasLLD: false };
try {
switch (triple[0]) {
case 'Linux':
configStore.isLinux = true;
if (await which`clang`)
if (await which`mold`)
configStore.hasLLD = { linker: 'mold' };
else if (await which`lld`)
configStore.hasLLD = { linker: 'lld' };
break;
case 'Darwin':
configStore.isMacOS = true;
break;
case 'Windows_NT':
configStore.isWin = true;
configStore.hasLLD = await which`lld-link`;
break;
}
const template = await readFile(join(__root, '.cargo', 'config.toml.mustache'), { encoding: 'utf8' });
const rendered = mustache.render(template, configStore).replace(/\n{2,}/g, '\n');
await writeFile(join(__root, '.cargo', 'config.toml'), rendered, { mode: 0o751, flag: 'w+' });
}
catch (error) {
console.error(`
failed to generate .config/cargo.toml.
this is probably a bug, please open an issue with system info at
https://github.com/polyfrost/onelauncher/issues/new/choose
`);
if (__debug)
console.error(error);
__exit(1);
}

View file

@ -3,175 +3,172 @@
set -euo pipefail
if [ "${CI:-}" = "true" ]; then
set -x
set -x
fi
# displays an error message and exits the script
err() {
for _line in "$@"; do
echo "$_line" >&2
done
exit 1
for _line in "$@"; do
echo "$_line" >&2
done
exit 1
}
# checks if a command/program exists
has() {
for prog in "$@"; do
if ! command -v "$prog" 1>/dev/null 2>&1; then
return 1
fi
done
for prog in "$@"; do
if ! command -v "$prog" 1>/dev/null 2>&1; then
return 1
fi
done
}
# runs a specified command with sudo
sudo() {
if [ "$(id -u)" -eq 0 ]; then
"$@"
else
env sudo "$@"
fi
if [ "$(id -u)" -eq 0 ]; then
"$@"
else
env sudo "$@"
fi
}
# fails the script at a specific line with an unknown error
script_failure() {
if [ -n "${1:-}" ]; then
_line="on line $1"
else
_line="(unknown)"
fi
err "An error occurred $_line." "Setup failed."
if [ -n "${1:-}" ]; then
_line="on line $1"
else
_line="(unknown)"
fi
err "an error occurred at $_line." "setup failed!"
}
trap 'script_failure ${LINENO:-}' ERR
# checks if we are running in a windows environment
case "${OSTYPE:-}" in
'msys' | 'mingw' | 'cygwin')
err 'Bash for Windows is not supported, please use Powershell or CMD and run setup.ps1'
;;
'msys' | 'mingw' | 'cygwin')
err 'bash for windows is not supported, please use powershell or cmd and run setup.ps1'
;;
esac
if [ "${CI:-}" != "true" ]; then
echo 'OneLauncher Development Environment Setup'
echo 'To set up your machine for OneLauncher development, this script will install some required dependencies with your system package manager'
echo
echo 'Press Enter to continue'
read -r
echo 'onelauncher development environment setup:'
echo 'to set up your machine for onelauncher development, this script will install some required dependencies with your system package manager'
echo
echo 'press enter to continue'
read -r
# checks if pnpm is installed
if ! has pnpm; then
err 'pnpm was not found.' \
"Ensure the 'pnpm' command is in your \$PATH." \
'You must use pnpm for this project; yarn and npm are not allowed.' \
'https://pnpm.io/installation'
fi
# checks if pnpm is installed
if ! has pnpm; then
err 'pnpm was not found.' \
"ensure the 'pnpm' command is in your \$PATH." \
'you must use pnpm for this project; yarn and npm are not allowed.' \
'https://pnpm.io/installation'
fi
# checks if rustc and cargo are installed
if ! has rustc cargo; then
err 'Rust was not found.' \
"Ensure the 'rustc' and 'cargo' binaries are in your \$PATH." \
'https://rustup.rs'
fi
# checks if rustc and cargo are installed
if ! has rustc cargo; then
err 'rust was not found!' \
"ensure the 'rustc' and 'cargo' binaries are in your \$PATH." \
'https://rustup.rs'
fi
echo
echo
fi
# installs system deps
case "$(uname)" in
"Darwin")
if [ "$(uname -m)" = 'x86_64' ] && ! [ "${CI:-}" = "true" ]; then
brew install nasm
fi
"Darwin")
if [ "$(uname -m)" = 'x86_64' ] && ! [ "${CI:-}" = "true" ]; then
brew install nasm
fi
echo
;;
"Linux")
# https://v2.tauri.app/start/prerequisites/
if has apt-get; then
echo "Detected apt!"
echo "Installing dependencies with apt..."
echo
;;
"Linux")
# https://v2.tauri.app/start/prerequisites/
if has apt-get; then
echo "detected apt!"
echo "installing dependencies with apt..."
# Tauri dependencies
set -- build-essential curl wget file libssl-dev libgtk-3-dev librsvg2-dev \
libwebkit2gtk-4.1-dev libayatana-appindicator3-dev libxdo-dev libdbus-1-dev libvips42 \
llvm-dev libclang-dev clang nasm perl
# Tauri dependencies
set -- build-essential curl wget file libssl-dev libgtk-3-dev librsvg2-dev \
libwebkit2gtk-4.1-dev libayatana-appindicator3-dev libxdo-dev libdbus-1-dev libvips42 \
llvm-dev libclang-dev clang nasm perl
sudo apt-get -y update
sudo apt-get -y install "$@"
elif has pacman; then
echo "Detected pacman!"
echo "Installing dependencies with pacman..."
sudo apt-get -y update
sudo apt-get -y install "$@"
elif has pacman; then
echo "detected pacman!"
echo "installing dependencies with pacman..."
# Tauri dependencies
set -- appmenu-gtk-module libappindicator-gtk3 base-devel curl wget file openssl gtk3 librsvg webkit2gtk-4.1 libayatana-appindicator dbus xdotool libvips clang nasm perl
# Tauri dependencies
set -- appmenu-gtk-module libappindicator-gtk3 base-devel curl wget file openssl gtk3 librsvg webkit2gtk-4.1 libayatana-appindicator dbus xdotool libvips clang nasm perl
sudo pacman -Sy --needed "$@"
elif has dnf; then
echo "Detected dnf!"
echo "Installing dependencies with dnf..."
sudo pacman -Sy --needed "$@"
elif has dnf; then
echo "detected dnf!"
echo "installing dependencies with dnf..."
# For Enterprise Linux, you also need "Development Tools" instead of "C Development Tools and Libraries"
if ! { sudo dnf group install "C Development Tools and Libraries" || sudo dnf group install "Development Tools"; }; then
err 'We were unable to install the "C Development Tools and Libraries"/"Development Tools" package.' \
'Please open an issue if you feel that this is incorrect.'
fi
# For Enterprise Linux, you also need "Development Tools" instead of "C Development Tools and Libraries"
if ! { sudo dnf group install "C Development Tools and Libraries" || sudo dnf group install "Development Tools"; }; then
err 'We were unable to install the "C Development Tools and Libraries"/"Development Tools" package.' \
'Please open an issue if you feel that this is incorrect.'
fi
# Tauri dependencies
set -- openssl webkit2gtk4.1-devel openssl-devel curl wget file libappindicator-gtk3-devel librsvg2-devel libxdo-devel dbus vips clang clang-devel nasm perl-core
# Tauri dependencies
set -- openssl webkit2gtk4.1-devel openssl-devel curl wget file libappindicator-gtk3-devel librsvg2-devel libxdo-devel dbus vips clang clang-devel nasm perl-core
sudo dnf install "$@"
elif has apk; then
echo "Detected apk!"
echo "Installing dependencies with apk..."
echo "Alpine suport is experimental" >&2
sudo dnf install "$@"
elif has apk; then
echo "detected apk!"
echo "installing dependencies with apk..."
echo "note: alpine suport is experimental" >&2
# Tauri dependencies
set -- build-base curl wget file openssl-dev gtk+3.0-dev librsvg-dev \
webkit2gtk-4.1-dev libayatana-indicator-dev xdotool-dev dbus-dev vips \
llvm16-dev clang16 nasm perl
# Tauri dependencies
set -- build-base curl wget file openssl-dev gtk+3.0-dev librsvg-dev \
webkit2gtk-4.1-dev libayatana-indicator-dev xdotool-dev dbus-dev vips \
llvm16-dev clang16 nasm perl
sudo apk add "$@"
elif has emerge; then
echo "Detected emerge!"
echo "Installing dependencies with emerge..."
echo "Gentoo support is experiemntal" >&2
sudo apk add "$@"
elif has emerge; then
echo "detected emerge!"
echo "installing dependencies with emerge..."
echo "note: gentoo support is experiemntal" >&2
# Tauri Dependencies
set -- net-libs/webkit-gtk:4.1 dev-libs/libappindicator net-misc/curl net-misc/wget sys-apps/file
# Tauri Dependencies
set -- net-libs/webkit-gtk:4.1 dev-libs/libappindicator net-misc/curl net-misc/wget sys-apps/file
sudo emerge --ask "$@"
elif has zypper; then
echo "Detected zypper!"
echo "Installing dependencies with zypper..."
echo "openSUSE support is experimental" >&2
sudo emerge --ask "$@"
elif has zypper; then
echo "detected zypper!"
echo "installing dependencies with zypper..."
echo "note: openSUSE support is experimental" >&2
set -- libopenssl-devel webkit2gtk3-devel curl wget file libappindicator3-1 librsvg-devel
set -- libopenssl-devel webkit2gtk3-devel curl wget file libappindicator3-1 librsvg-devel
sudo zypper in "$@"
sudo zypper in -t pattern devel_basis
else
if has lsb_release; then
_distro="'$(lsb_release -s -d)' "
fi
err "Your Linux distro ${_distro:-}is not supported by this script." \
'We would welcome a PR or some help adding your OS to this script:' \
'https://github.com/polyfrost/onelauncher/issues'
fi
;;
*)
err "Your OS ($(uname)) is not supported by this script." \
'We would welcome a PR or some help adding your OS to this script.' \
'https://github.com/polyfrost/onelauncher/issues'
;;
sudo zypper in "$@"
sudo zypper in -t pattern devel_basis
else
if has lsb_release; then
_distro="'$(lsb_release -s -d)' "
fi
err "your linux distro ${_distro:-}is not supported by this script!" \
'We would welcome a pr or some help adding your os to this script:' \
'https://github.com/polyfrost/onelauncher/issues'
fi
;;
*)
err "your os ($(uname)) is not supported by this script!" \
'we would welcome a pr or some help adding your os to this script:' \
'https://github.com/polyfrost/onelauncher/issues'
;;
esac
# installs cargo-watch for development purposes
if [ "${CI:-}" != "true" ]; then
echo "Installing Rust tools..."
_tools="cargo-watch"
echo "$_tools" | xargs cargo install
echo "installing rust tools..."
_tools="cargo-watch"
echo "$_tools" | xargs cargo install
fi
echo 'Your machine has been setup for OneLauncher development!'
echo 'your machine has been setup for onelauncher development!'

View file

@ -1,7 +1,5 @@
#!/usr/bin/env node
import process from 'node:process';
import * as fs from 'node:fs/promises';
import fs from 'node:fs/promises';
import { setTimeout } from 'node:timers/promises';
import pathe from 'pathe';
import { execa } from 'execa';

View file

@ -20,7 +20,7 @@ export function checkEnvironment(meta: ImportMeta) {
const __debug = process.env.NODE_ENV === 'debug';
const __root = resolve(join(__dirname, '..', '..'));
return { __filename, __dirname, __debug, __root };
return { __filename, __dirname, __debug, __root, __exit: process.exit };
}
async function where(cmd: string): Promise<boolean> {

View file

@ -1,5 +1,5 @@
import { env } from 'node:process';
import * as os from 'node:os';
import { machine, type } from 'node:os';
import { execaCommand } from 'execa';
const state: { __debug: boolean; libc: 'musl' | 'glibc' } = {
@ -7,7 +7,7 @@ const state: { __debug: boolean; libc: 'musl' | 'glibc' } = {
libc: 'glibc',
};
if (os.type() === 'Linux')
if (type() === 'Linux')
try {
const lldResult = await execaCommand('ldd /bin/ls');
if (lldResult.stdout.includes('msl'))
@ -47,8 +47,8 @@ export function getTriple(): TripleID {
tripleState._libc = target[3]?.includes('musl') ? 'musl' : 'glibc';
}
else {
tripleState._os = os.type();
tripleState._arch = os.machine();
tripleState._os = type();
tripleState._arch = machine();
if (tripleState._arch === 'arm64')
tripleState._arch = 'aarch64';
}

345
pnpm-lock.yaml generated
View file

@ -9,8 +9,8 @@ importers:
.:
devDependencies:
'@flowr/eslint-config':
specifier: ^3.10.4
version: 3.10.4(@unocss/eslint-plugin@0.61.9(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-plugin-solid@0.14.1(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-plugin-vue@9.27.0(eslint-ts-patch@9.8.0-1))(eslint-processor-vue-blocks@0.1.2(eslint-ts-patch@9.8.0-1))(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)(vitest@2.0.5(@types/node@22.1.0)(@vitest/ui@2.0.5)(jsdom@24.1.1)(sass@1.77.8))(vue-eslint-parser@9.4.3(eslint-ts-patch@9.8.0-1))
specifier: ^3.10.5
version: 3.10.5(@unocss/eslint-plugin@0.61.9(eslint@9.8.0)(typescript@5.5.4))(eslint-plugin-solid@0.14.1(eslint@9.8.0)(typescript@5.5.4))(eslint-plugin-vue@9.27.0(eslint@9.8.0))(eslint-processor-vue-blocks@0.1.2(eslint@9.8.0))(eslint@9.8.0)(typescript@5.5.4)(vitest@2.0.5(@types/node@22.1.0)(@vitest/ui@2.0.5)(jsdom@24.1.1)(sass@1.77.8))(vue-eslint-parser@9.4.3(eslint@9.8.0))
'@types/node':
specifier: ^22.1.0
version: 22.1.0
@ -24,14 +24,11 @@ importers:
specifier: ^0.5.5
version: 0.5.5
eslint:
specifier: npm:eslint-ts-patch@9.8.0-1
version: eslint-ts-patch@9.8.0-1
specifier: ^9.8.0
version: 9.8.0
eslint-plugin-solid:
specifier: ^0.14.1
version: 0.14.1(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
eslint-ts-patch:
specifier: 9.8.0-1
version: 9.8.0-1
version: 0.14.1(eslint@9.8.0)(typescript@5.5.4)
ts-node:
specifier: ^10.9.2
version: 10.9.2(@types/node@22.1.0)(typescript@5.5.4)
@ -261,11 +258,14 @@ importers:
packages/scripts:
dependencies:
'@flowr/utils':
specifier: ^3.10.4
version: 3.10.4
specifier: ^3.10.5
version: 3.10.5
execa:
specifier: ^9.3.0
version: 9.3.0
mustache:
specifier: ^4.2.0
version: 4.2.0
pathe:
specifier: ^1.1.2
version: 1.1.2
@ -279,6 +279,9 @@ importers:
'@types/iarna__toml':
specifier: ^2.0.5
version: 2.0.5
'@types/mustache':
specifier: ^4.2.5
version: 4.2.5
'@types/semver':
specifier: ^7.5.8
version: 7.5.8
@ -915,8 +918,8 @@ packages:
resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
engines: {node: '>=14'}
'@flowr/eslint-config@3.10.4':
resolution: {integrity: sha512-vhb8omxzi+EXO+kKWO0zT9TWZD/iUuLg4EJKAAcmzZclff4HgJ22DCpje9LXFkSvbEW/ckL2VXCoq0HHOtLQOw==}
'@flowr/eslint-config@3.10.5':
resolution: {integrity: sha512-KdHhgPBe7R5WmKTRlBBOvQgnszhSaa5w6snqS7QmYZ52xOh7ZIhJWhWeNEnCehjUQoUdjwLJXIWrh3McQRoN3g==}
engines: {node: '>=20'}
peerDependencies:
'@eslint-react/eslint-plugin': ^1.5.8
@ -976,8 +979,8 @@ packages:
vue-eslint-parser:
optional: true
'@flowr/utils@3.10.4':
resolution: {integrity: sha512-qREEXtiso4kBqjx0lN6H3t+ty46zMXqnEeazbbtniCasGadtAcz77hl1qZlbWa2HtsbJgON7UtuFFVr6ptkDRw==}
'@flowr/utils@3.10.5':
resolution: {integrity: sha512-PvBEt/brZO1RRPCHihcXj6WmFRle5uJhtrrG3/Bnsv1SQe9d35sYUxUPuyp38kgtsKcQeKIKyMyYd7YPzHvBrg==}
engines: {node: '>=20'}
'@fontsource/poppins@5.0.14':
@ -1560,6 +1563,9 @@ packages:
'@types/mdast@3.0.15':
resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
'@types/mustache@4.2.5':
resolution: {integrity: sha512-PLwiVvTBg59tGFL/8VpcGvqOu3L4OuveNvPi0EYbWchRdEVP++yRUXJPFl+CApKEq13017/4Nf7aQ5lTtHUNsA==}
'@types/node@20.14.10':
resolution: {integrity: sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==}
@ -2029,8 +2035,8 @@ packages:
caniuse-lite@1.0.30001641:
resolution: {integrity: sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==}
caniuse-lite@1.0.30001647:
resolution: {integrity: sha512-n83xdNiyeNcHpzWY+1aFbqCK7LuLfBricc4+alSQL2Xb6OR3XpnQAmlDG+pQcdTfiHRuLcQ96VOfrPSGiNJYSg==}
caniuse-lite@1.0.30001649:
resolution: {integrity: sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ==}
chai@5.1.1:
resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==}
@ -2139,8 +2145,8 @@ packages:
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
core-js-compat@3.37.1:
resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==}
core-js-compat@3.38.0:
resolution: {integrity: sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==}
core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
@ -2413,14 +2419,14 @@ packages:
peerDependencies:
eslint: '>=8'
eslint-plugin-n@17.10.1:
resolution: {integrity: sha512-hm/q37W6efDptJXdwirsm6A257iY6ZNtpoSG0wEzFzjJ3AhL7OhEIhdSR2e4OdYfHO5EDeqlCfFrjf9q208IPw==}
eslint-plugin-n@17.10.2:
resolution: {integrity: sha512-e+s4eAf5NtJaxPhTNu3qMO0Iz40WANS93w9LQgYcvuljgvDmWi/a3rh+OrNyMHeng6aOWGJO0rCg5lH4zi8yTw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: '>=8.23.0'
eslint-plugin-perfectionist@3.1.0:
resolution: {integrity: sha512-QNL1L0CMo8FoKM3VkNdR8HUq8Nrl0nGZFF9jzjU8PYvDtds2bvNOm9RwpQC4Gf3M27F6CBp5JsA3jBYT4TBiHA==}
eslint-plugin-perfectionist@3.1.1:
resolution: {integrity: sha512-joaAPd2gVNV+Gm+xU6tqOxy9WlBcb/6TSCUaHLNSdhot/KcsyiKSzeTVToasrCPIxgqgGwcOy+AJaGaBhBwblw==}
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
astro-eslint-parser: ^1.0.2
@ -2438,8 +2444,8 @@ packages:
vue-eslint-parser:
optional: true
eslint-plugin-petal@3.10.4:
resolution: {integrity: sha512-6RwsV5RDwHPJ+uPeRwtWxlzka0FTptU/jR/F47jgNChZ0QXJAACfoYF3NueHlwzE2g7uR9qbVpbRd+shuSJHTQ==}
eslint-plugin-petal@3.10.5:
resolution: {integrity: sha512-Yqnf3WVLiov6rszMTL2Up+x0mzfEhoPIaaXA93m3i0IoLY0q4jjC8ycZhxnFmzE0xRK8/X7l1cOHuZd3tcW6+Q==}
engines: {node: '>=20'}
peerDependencies:
eslint: '>=8.40.0'
@ -2521,10 +2527,6 @@ packages:
resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint-ts-patch@9.8.0-1:
resolution: {integrity: sha512-bn+PRzcFdUX/V53Z2V8MVE6gq0CZG7q76Fr7g7lGyCSlQlVH2KJs0adN33xnvizizstQjYycDvwByXhIZJb88A==}
hasBin: true
eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@ -3205,6 +3207,10 @@ packages:
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
mustache@4.2.0:
resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
hasBin: true
nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@ -4885,17 +4891,12 @@ snapshots:
'@esbuild/win32-x64@0.23.0':
optional: true
'@eslint-community/eslint-plugin-eslint-comments@4.3.0(eslint-ts-patch@9.8.0-1)':
'@eslint-community/eslint-plugin-eslint-comments@4.3.0(eslint@9.8.0)':
dependencies:
escape-string-regexp: 4.0.0
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
ignore: 5.3.1
'@eslint-community/eslint-utils@4.4.0(eslint-ts-patch@9.8.0-1)':
dependencies:
eslint: eslint-ts-patch@9.8.0-1
eslint-visitor-keys: 3.4.3
'@eslint-community/eslint-utils@4.4.0(eslint@9.8.0)':
dependencies:
eslint: 9.8.0
@ -4931,31 +4932,31 @@ snapshots:
'@fastify/busboy@2.1.1': {}
'@flowr/eslint-config@3.10.4(@unocss/eslint-plugin@0.61.9(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-plugin-solid@0.14.1(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-plugin-vue@9.27.0(eslint-ts-patch@9.8.0-1))(eslint-processor-vue-blocks@0.1.2(eslint-ts-patch@9.8.0-1))(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)(vitest@2.0.5(@types/node@22.1.0)(@vitest/ui@2.0.5)(jsdom@24.1.1)(sass@1.77.8))(vue-eslint-parser@9.4.3(eslint-ts-patch@9.8.0-1))':
'@flowr/eslint-config@3.10.5(@unocss/eslint-plugin@0.61.9(eslint@9.8.0)(typescript@5.5.4))(eslint-plugin-solid@0.14.1(eslint@9.8.0)(typescript@5.5.4))(eslint-plugin-vue@9.27.0(eslint@9.8.0))(eslint-processor-vue-blocks@0.1.2(eslint@9.8.0))(eslint@9.8.0)(typescript@5.5.4)(vitest@2.0.5(@types/node@22.1.0)(@vitest/ui@2.0.5)(jsdom@24.1.1)(sass@1.77.8))(vue-eslint-parser@9.4.3(eslint@9.8.0))':
dependencies:
'@antfu/install-pkg': 0.3.3
'@clack/prompts': 0.7.0
'@eslint-community/eslint-plugin-eslint-comments': 4.3.0(eslint-ts-patch@9.8.0-1)
'@stylistic/eslint-plugin': 2.6.1(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
'@typescript-eslint/eslint-plugin': 8.0.0(@typescript-eslint/parser@8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
'@typescript-eslint/parser': 8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
eslint: eslint-ts-patch@9.8.0-1
'@eslint-community/eslint-plugin-eslint-comments': 4.3.0(eslint@9.8.0)
'@stylistic/eslint-plugin': 2.6.1(eslint@9.8.0)(typescript@5.5.4)
'@typescript-eslint/eslint-plugin': 8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)
'@typescript-eslint/parser': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
eslint: 9.8.0
eslint-flat-config-utils: 0.3.0
eslint-merge-processors: 0.1.0(eslint-ts-patch@9.8.0-1)
eslint-plugin-command: 0.2.3(eslint-ts-patch@9.8.0-1)
eslint-plugin-import-x: 3.1.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
eslint-plugin-jsdoc: 48.11.0(eslint-ts-patch@9.8.0-1)
eslint-plugin-jsonc: 2.16.0(eslint-ts-patch@9.8.0-1)
eslint-plugin-markdown: 5.1.0(eslint-ts-patch@9.8.0-1)
eslint-plugin-n: 17.10.1(eslint-ts-patch@9.8.0-1)
eslint-plugin-perfectionist: 3.1.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint-ts-patch@9.8.0-1))
eslint-plugin-petal: 3.10.4(eslint-ts-patch@9.8.0-1)
eslint-plugin-regexp: 2.6.0(eslint-ts-patch@9.8.0-1)
eslint-plugin-toml: 0.11.1(eslint-ts-patch@9.8.0-1)
eslint-plugin-unicorn: 55.0.0(eslint-ts-patch@9.8.0-1)
eslint-plugin-unused-imports: 4.0.1(@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-ts-patch@9.8.0-1)
eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)(vitest@2.0.5(@types/node@22.1.0)(@vitest/ui@2.0.5)(jsdom@24.1.1)(sass@1.77.8))
eslint-plugin-yml: 1.14.0(eslint-ts-patch@9.8.0-1)
eslint-merge-processors: 0.1.0(eslint@9.8.0)
eslint-plugin-command: 0.2.3(eslint@9.8.0)
eslint-plugin-import-x: 3.1.0(eslint@9.8.0)(typescript@5.5.4)
eslint-plugin-jsdoc: 48.11.0(eslint@9.8.0)
eslint-plugin-jsonc: 2.16.0(eslint@9.8.0)
eslint-plugin-markdown: 5.1.0(eslint@9.8.0)
eslint-plugin-n: 17.10.2(eslint@9.8.0)
eslint-plugin-perfectionist: 3.1.1(eslint@9.8.0)(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint@9.8.0))
eslint-plugin-petal: 3.10.5(eslint@9.8.0)
eslint-plugin-regexp: 2.6.0(eslint@9.8.0)
eslint-plugin-toml: 0.11.1(eslint@9.8.0)
eslint-plugin-unicorn: 55.0.0(eslint@9.8.0)
eslint-plugin-unused-imports: 4.0.1(@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)
eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)(vitest@2.0.5(@types/node@22.1.0)(@vitest/ui@2.0.5)(jsdom@24.1.1)(sass@1.77.8))
eslint-plugin-yml: 1.14.0(eslint@9.8.0)
find-up: 7.0.0
globals: 15.9.0
jsonc-eslint-parser: 2.4.0
@ -4964,18 +4965,18 @@ snapshots:
toml-eslint-parser: 0.10.0
yaml-eslint-parser: 1.2.3
optionalDependencies:
'@unocss/eslint-plugin': 0.61.9(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
eslint-plugin-solid: 0.14.1(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
eslint-plugin-vue: 9.27.0(eslint-ts-patch@9.8.0-1)
eslint-processor-vue-blocks: 0.1.2(eslint-ts-patch@9.8.0-1)
vue-eslint-parser: 9.4.3(eslint-ts-patch@9.8.0-1)
'@unocss/eslint-plugin': 0.61.9(eslint@9.8.0)(typescript@5.5.4)
eslint-plugin-solid: 0.14.1(eslint@9.8.0)(typescript@5.5.4)
eslint-plugin-vue: 9.27.0(eslint@9.8.0)
eslint-processor-vue-blocks: 0.1.2(eslint@9.8.0)
vue-eslint-parser: 9.4.3(eslint@9.8.0)
transitivePeerDependencies:
- supports-color
- svelte
- typescript
- vitest
'@flowr/utils@3.10.4': {}
'@flowr/utils@3.10.5': {}
'@fontsource/poppins@5.0.14': {}
@ -5336,49 +5337,49 @@ snapshots:
optionalDependencies:
'@solidjs/router': 0.14.1(solid-js@1.8.19)
'@stylistic/eslint-plugin-js@2.6.1(eslint-ts-patch@9.8.0-1)':
'@stylistic/eslint-plugin-js@2.6.1(eslint@9.8.0)':
dependencies:
'@types/eslint': 9.6.0
acorn: 8.12.1
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
eslint-visitor-keys: 4.0.0
espree: 10.1.0
'@stylistic/eslint-plugin-jsx@2.6.1(eslint-ts-patch@9.8.0-1)':
'@stylistic/eslint-plugin-jsx@2.6.1(eslint@9.8.0)':
dependencies:
'@stylistic/eslint-plugin-js': 2.6.1(eslint-ts-patch@9.8.0-1)
'@stylistic/eslint-plugin-js': 2.6.1(eslint@9.8.0)
'@types/eslint': 9.6.0
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
estraverse: 5.3.0
picomatch: 4.0.2
'@stylistic/eslint-plugin-plus@2.6.1(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)':
'@stylistic/eslint-plugin-plus@2.6.1(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@types/eslint': 9.6.0
'@typescript-eslint/utils': 8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
eslint: eslint-ts-patch@9.8.0-1
'@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
eslint: 9.8.0
transitivePeerDependencies:
- supports-color
- typescript
'@stylistic/eslint-plugin-ts@2.6.1(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)':
'@stylistic/eslint-plugin-ts@2.6.1(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@stylistic/eslint-plugin-js': 2.6.1(eslint-ts-patch@9.8.0-1)
'@stylistic/eslint-plugin-js': 2.6.1(eslint@9.8.0)
'@types/eslint': 9.6.0
'@typescript-eslint/utils': 8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
eslint: eslint-ts-patch@9.8.0-1
'@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
eslint: 9.8.0
transitivePeerDependencies:
- supports-color
- typescript
'@stylistic/eslint-plugin@2.6.1(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)':
'@stylistic/eslint-plugin@2.6.1(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@stylistic/eslint-plugin-js': 2.6.1(eslint-ts-patch@9.8.0-1)
'@stylistic/eslint-plugin-jsx': 2.6.1(eslint-ts-patch@9.8.0-1)
'@stylistic/eslint-plugin-plus': 2.6.1(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
'@stylistic/eslint-plugin-ts': 2.6.1(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
'@stylistic/eslint-plugin-js': 2.6.1(eslint@9.8.0)
'@stylistic/eslint-plugin-jsx': 2.6.1(eslint@9.8.0)
'@stylistic/eslint-plugin-plus': 2.6.1(eslint@9.8.0)(typescript@5.5.4)
'@stylistic/eslint-plugin-ts': 2.6.1(eslint@9.8.0)(typescript@5.5.4)
'@types/eslint': 9.6.0
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
transitivePeerDependencies:
- supports-color
- typescript
@ -5534,6 +5535,8 @@ snapshots:
dependencies:
'@types/unist': 2.0.10
'@types/mustache@4.2.5': {}
'@types/node@20.14.10':
dependencies:
undici-types: 5.26.5
@ -5550,15 +5553,15 @@ snapshots:
'@types/uuid@10.0.0': {}
'@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)':
'@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@eslint-community/regexpp': 4.11.0
'@typescript-eslint/parser': 8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
'@typescript-eslint/parser': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
'@typescript-eslint/scope-manager': 8.0.0
'@typescript-eslint/type-utils': 8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
'@typescript-eslint/utils': 8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
'@typescript-eslint/type-utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
'@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
'@typescript-eslint/visitor-keys': 8.0.0
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
graphemer: 1.4.0
ignore: 5.3.1
natural-compare: 1.4.0
@ -5568,14 +5571,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)':
'@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@typescript-eslint/scope-manager': 8.0.0
'@typescript-eslint/types': 8.0.0
'@typescript-eslint/typescript-estree': 8.0.0(typescript@5.5.4)
'@typescript-eslint/visitor-keys': 8.0.0
debug: 4.3.6
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
optionalDependencies:
typescript: 5.5.4
transitivePeerDependencies:
@ -5596,10 +5599,10 @@ snapshots:
'@typescript-eslint/types': 8.0.0
'@typescript-eslint/visitor-keys': 8.0.0
'@typescript-eslint/type-utils@8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)':
'@typescript-eslint/type-utils@8.0.0(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@typescript-eslint/typescript-estree': 8.0.0(typescript@5.5.4)
'@typescript-eslint/utils': 8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
'@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
debug: 4.3.6
ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
@ -5659,35 +5662,35 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@7.16.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)':
'@typescript-eslint/utils@7.16.0(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.8.0-1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0)
'@typescript-eslint/scope-manager': 7.16.0
'@typescript-eslint/types': 7.16.0
'@typescript-eslint/typescript-estree': 7.16.0(typescript@5.5.4)
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
transitivePeerDependencies:
- supports-color
- typescript
'@typescript-eslint/utils@7.18.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)':
'@typescript-eslint/utils@7.18.0(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.8.0-1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0)
'@typescript-eslint/scope-manager': 7.18.0
'@typescript-eslint/types': 7.18.0
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4)
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
transitivePeerDependencies:
- supports-color
- typescript
'@typescript-eslint/utils@8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)':
'@typescript-eslint/utils@8.0.0(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.8.0-1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0)
'@typescript-eslint/scope-manager': 8.0.0
'@typescript-eslint/types': 8.0.0
'@typescript-eslint/typescript-estree': 8.0.0(typescript@5.5.4)
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
transitivePeerDependencies:
- supports-color
- typescript
@ -5746,9 +5749,9 @@ snapshots:
'@unocss/core@0.61.9': {}
'@unocss/eslint-plugin@0.61.9(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)':
'@unocss/eslint-plugin@0.61.9(eslint@9.8.0)(typescript@5.5.4)':
dependencies:
'@typescript-eslint/utils': 7.18.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
'@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.4)
'@unocss/config': 0.61.9
'@unocss/core': 0.61.9
magic-string: 0.30.11
@ -6084,7 +6087,7 @@ snapshots:
browserslist@4.23.3:
dependencies:
caniuse-lite: 1.0.30001647
caniuse-lite: 1.0.30001649
electron-to-chromium: 1.5.4
node-releases: 2.0.18
update-browserslist-db: 1.1.0(browserslist@4.23.3)
@ -6150,7 +6153,7 @@ snapshots:
caniuse-lite@1.0.30001641: {}
caniuse-lite@1.0.30001647: {}
caniuse-lite@1.0.30001649: {}
chai@5.1.1:
dependencies:
@ -6274,7 +6277,7 @@ snapshots:
convert-source-map@2.0.0: {}
core-js-compat@3.37.1:
core-js-compat@3.38.0:
dependencies:
browserslist: 4.23.3
@ -6502,9 +6505,9 @@ snapshots:
escape-string-regexp@4.0.0: {}
eslint-compat-utils@0.5.1(eslint-ts-patch@9.8.0-1):
eslint-compat-utils@0.5.1(eslint@9.8.0):
dependencies:
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
semver: 7.6.3
eslint-flat-config-utils@0.3.0:
@ -6520,28 +6523,28 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-merge-processors@0.1.0(eslint-ts-patch@9.8.0-1):
eslint-merge-processors@0.1.0(eslint@9.8.0):
dependencies:
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
eslint-plugin-command@0.2.3(eslint-ts-patch@9.8.0-1):
eslint-plugin-command@0.2.3(eslint@9.8.0):
dependencies:
'@es-joy/jsdoccomment': 0.43.1
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
eslint-plugin-es-x@7.8.0(eslint-ts-patch@9.8.0-1):
eslint-plugin-es-x@7.8.0(eslint@9.8.0):
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.8.0-1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0)
'@eslint-community/regexpp': 4.11.0
eslint: eslint-ts-patch@9.8.0-1
eslint-compat-utils: 0.5.1(eslint-ts-patch@9.8.0-1)
eslint: 9.8.0
eslint-compat-utils: 0.5.1(eslint@9.8.0)
eslint-plugin-import-x@3.1.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4):
eslint-plugin-import-x@3.1.0(eslint@9.8.0)(typescript@5.5.4):
dependencies:
'@typescript-eslint/utils': 7.18.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
'@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.4)
debug: 4.3.6
doctrine: 3.0.0
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
eslint-import-resolver-node: 0.3.9
get-tsconfig: 4.7.6
is-glob: 4.0.3
@ -6553,14 +6556,14 @@ snapshots:
- supports-color
- typescript
eslint-plugin-jsdoc@48.11.0(eslint-ts-patch@9.8.0-1):
eslint-plugin-jsdoc@48.11.0(eslint@9.8.0):
dependencies:
'@es-joy/jsdoccomment': 0.46.0
are-docs-informative: 0.0.2
comment-parser: 1.4.1
debug: 4.3.6
escape-string-regexp: 4.0.0
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
espree: 10.1.0
esquery: 1.6.0
parse-imports: 2.1.1
@ -6570,69 +6573,69 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-plugin-jsonc@2.16.0(eslint-ts-patch@9.8.0-1):
eslint-plugin-jsonc@2.16.0(eslint@9.8.0):
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.8.0-1)
eslint: eslint-ts-patch@9.8.0-1
eslint-compat-utils: 0.5.1(eslint-ts-patch@9.8.0-1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0)
eslint: 9.8.0
eslint-compat-utils: 0.5.1(eslint@9.8.0)
espree: 9.6.1
graphemer: 1.4.0
jsonc-eslint-parser: 2.4.0
natural-compare: 1.4.0
synckit: 0.6.2
eslint-plugin-markdown@5.1.0(eslint-ts-patch@9.8.0-1):
eslint-plugin-markdown@5.1.0(eslint@9.8.0):
dependencies:
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
mdast-util-from-markdown: 0.8.5
transitivePeerDependencies:
- supports-color
eslint-plugin-n@17.10.1(eslint-ts-patch@9.8.0-1):
eslint-plugin-n@17.10.2(eslint@9.8.0):
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.8.0-1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0)
enhanced-resolve: 5.17.1
eslint: eslint-ts-patch@9.8.0-1
eslint-plugin-es-x: 7.8.0(eslint-ts-patch@9.8.0-1)
eslint: 9.8.0
eslint-plugin-es-x: 7.8.0(eslint@9.8.0)
get-tsconfig: 4.7.6
globals: 15.9.0
ignore: 5.3.1
minimatch: 9.0.5
semver: 7.6.3
eslint-plugin-perfectionist@3.1.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint-ts-patch@9.8.0-1)):
eslint-plugin-perfectionist@3.1.1(eslint@9.8.0)(typescript@5.5.4)(vue-eslint-parser@9.4.3(eslint@9.8.0)):
dependencies:
'@typescript-eslint/types': 8.0.0
'@typescript-eslint/utils': 8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
eslint: eslint-ts-patch@9.8.0-1
'@typescript-eslint/utils': 8.0.0(eslint@9.8.0)(typescript@5.5.4)
eslint: 9.8.0
minimatch: 10.0.1
natural-compare-lite: 1.4.0
optionalDependencies:
vue-eslint-parser: 9.4.3(eslint-ts-patch@9.8.0-1)
vue-eslint-parser: 9.4.3(eslint@9.8.0)
transitivePeerDependencies:
- supports-color
- typescript
eslint-plugin-petal@3.10.4(eslint-ts-patch@9.8.0-1):
eslint-plugin-petal@3.10.5(eslint@9.8.0):
dependencies:
'@flowr/utils': 3.10.4
eslint: eslint-ts-patch@9.8.0-1
'@flowr/utils': 3.10.5
eslint: 9.8.0
eslint-plugin-regexp@2.6.0(eslint-ts-patch@9.8.0-1):
eslint-plugin-regexp@2.6.0(eslint@9.8.0):
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.8.0-1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0)
'@eslint-community/regexpp': 4.11.0
comment-parser: 1.4.1
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
jsdoc-type-pratt-parser: 4.0.0
refa: 0.12.1
regexp-ast-analysis: 0.7.1
scslre: 0.3.0
eslint-plugin-solid@0.14.1(eslint-ts-patch@9.8.0-1)(typescript@5.5.4):
eslint-plugin-solid@0.14.1(eslint@9.8.0)(typescript@5.5.4):
dependencies:
'@typescript-eslint/utils': 7.16.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
eslint: eslint-ts-patch@9.8.0-1
'@typescript-eslint/utils': 7.16.0(eslint@9.8.0)(typescript@5.5.4)
eslint: 9.8.0
estraverse: 5.3.0
is-html: 2.0.0
kebab-case: 1.0.2
@ -6642,24 +6645,24 @@ snapshots:
- supports-color
- typescript
eslint-plugin-toml@0.11.1(eslint-ts-patch@9.8.0-1):
eslint-plugin-toml@0.11.1(eslint@9.8.0):
dependencies:
debug: 4.3.6
eslint: eslint-ts-patch@9.8.0-1
eslint-compat-utils: 0.5.1(eslint-ts-patch@9.8.0-1)
eslint: 9.8.0
eslint-compat-utils: 0.5.1(eslint@9.8.0)
lodash: 4.17.21
toml-eslint-parser: 0.10.0
transitivePeerDependencies:
- supports-color
eslint-plugin-unicorn@55.0.0(eslint-ts-patch@9.8.0-1):
eslint-plugin-unicorn@55.0.0(eslint@9.8.0):
dependencies:
'@babel/helper-validator-identifier': 7.24.7
'@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.8.0-1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0)
ci-info: 4.0.0
clean-regexp: 1.0.0
core-js-compat: 3.37.1
eslint: eslint-ts-patch@9.8.0-1
core-js-compat: 3.38.0
eslint: 9.8.0
esquery: 1.6.0
globals: 15.9.0
indent-string: 4.0.0
@ -6672,53 +6675,53 @@ snapshots:
semver: 7.6.3
strip-indent: 3.0.0
eslint-plugin-unused-imports@4.0.1(@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-ts-patch@9.8.0-1):
eslint-plugin-unused-imports@4.0.1(@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0):
dependencies:
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
eslint-rule-composer: 0.3.0
optionalDependencies:
'@typescript-eslint/eslint-plugin': 8.0.0(@typescript-eslint/parser@8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
'@typescript-eslint/eslint-plugin': 8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)
eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)(vitest@2.0.5(@types/node@22.1.0)(@vitest/ui@2.0.5)(jsdom@24.1.1)(sass@1.77.8)):
eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)(vitest@2.0.5(@types/node@22.1.0)(@vitest/ui@2.0.5)(jsdom@24.1.1)(sass@1.77.8)):
dependencies:
'@typescript-eslint/utils': 7.18.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
eslint: eslint-ts-patch@9.8.0-1
'@typescript-eslint/utils': 7.18.0(eslint@9.8.0)(typescript@5.5.4)
eslint: 9.8.0
optionalDependencies:
'@typescript-eslint/eslint-plugin': 8.0.0(@typescript-eslint/parser@8.0.0(eslint-ts-patch@9.8.0-1)(typescript@5.5.4))(eslint-ts-patch@9.8.0-1)(typescript@5.5.4)
'@typescript-eslint/eslint-plugin': 8.0.0(@typescript-eslint/parser@8.0.0(eslint@9.8.0)(typescript@5.5.4))(eslint@9.8.0)(typescript@5.5.4)
vitest: 2.0.5(@types/node@22.1.0)(@vitest/ui@2.0.5)(jsdom@24.1.1)(sass@1.77.8)
transitivePeerDependencies:
- supports-color
- typescript
eslint-plugin-vue@9.27.0(eslint-ts-patch@9.8.0-1):
eslint-plugin-vue@9.27.0(eslint@9.8.0):
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.8.0-1)
eslint: eslint-ts-patch@9.8.0-1
'@eslint-community/eslint-utils': 4.4.0(eslint@9.8.0)
eslint: 9.8.0
globals: 13.24.0
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.1.1
semver: 7.6.3
vue-eslint-parser: 9.4.3(eslint-ts-patch@9.8.0-1)
vue-eslint-parser: 9.4.3(eslint@9.8.0)
xml-name-validator: 4.0.0
transitivePeerDependencies:
- supports-color
optional: true
eslint-plugin-yml@1.14.0(eslint-ts-patch@9.8.0-1):
eslint-plugin-yml@1.14.0(eslint@9.8.0):
dependencies:
debug: 4.3.6
eslint: eslint-ts-patch@9.8.0-1
eslint-compat-utils: 0.5.1(eslint-ts-patch@9.8.0-1)
eslint: 9.8.0
eslint-compat-utils: 0.5.1(eslint@9.8.0)
lodash: 4.17.21
natural-compare: 1.4.0
yaml-eslint-parser: 1.2.3
transitivePeerDependencies:
- supports-color
eslint-processor-vue-blocks@0.1.2(eslint-ts-patch@9.8.0-1):
eslint-processor-vue-blocks@0.1.2(eslint@9.8.0):
dependencies:
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
optional: true
eslint-rule-composer@0.3.0: {}
@ -6734,14 +6737,6 @@ snapshots:
esrecurse: 4.3.0
estraverse: 5.3.0
eslint-ts-patch@9.8.0-1:
dependencies:
debug: 4.3.6
eslint: 9.8.0
importx: 0.4.3
transitivePeerDependencies:
- supports-color
eslint-visitor-keys@3.4.3: {}
eslint-visitor-keys@4.0.0: {}
@ -7436,6 +7431,8 @@ snapshots:
ms@2.1.3: {}
mustache@4.2.0: {}
nanoid@3.3.7: {}
natural-compare-lite@1.4.0: {}
@ -8351,10 +8348,10 @@ snapshots:
- supports-color
- terser
vue-eslint-parser@9.4.3(eslint-ts-patch@9.8.0-1):
vue-eslint-parser@9.4.3(eslint@9.8.0):
dependencies:
debug: 4.3.6
eslint: eslint-ts-patch@9.8.0-1
eslint: 9.8.0
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1