+4
-8
.github/workflows/browser.yml
+4
-8
.github/workflows/browser.yml
···
10
10
name: Browser extension builds
11
11
runs-on: ubuntu-latest
12
12
steps:
13
-
- uses: actions/checkout@v3
14
-
15
-
- uses: pnpm/action-setup@v2
16
-
with:
17
-
version: 9
18
-
run_install: false
19
-
- uses: actions/setup-node@v3
13
+
- uses: actions/checkout@v4
14
+
- uses: pnpm/action-setup@v4
15
+
- uses: actions/setup-node@v4
20
16
with:
21
-
node-version: 18
17
+
node-version: 22
22
18
cache: pnpm
23
19
24
20
- name: Install dependencies
+4
-8
.github/workflows/lint.yml
+4
-8
.github/workflows/lint.yml
···
9
9
name: Lint commits
10
10
runs-on: ubuntu-latest
11
11
steps:
12
-
- uses: actions/checkout@v3
13
-
14
-
- uses: pnpm/action-setup@v2
15
-
with:
16
-
version: 9
17
-
run_install: false
18
-
- uses: actions/setup-node@v3
12
+
- uses: actions/checkout@v4
13
+
- uses: pnpm/action-setup@v4
14
+
- uses: actions/setup-node@v4
19
15
with:
20
-
node-version: 18
16
+
node-version: 22
21
17
cache: pnpm
22
18
23
19
- name: Install dependencies
+4
-8
.github/workflows/nightly.yml
+4
-8
.github/workflows/nightly.yml
···
15
15
name: Nightly builds on GitHub Pages
16
16
runs-on: ubuntu-latest
17
17
steps:
18
-
- uses: actions/checkout@v3
19
-
20
-
- uses: pnpm/action-setup@v2
21
-
with:
22
-
version: 9
23
-
run_install: false
24
-
- uses: actions/setup-node@v3
18
+
- uses: actions/checkout@v4
19
+
- uses: pnpm/action-setup@v4
20
+
- uses: actions/setup-node@v4
25
21
with:
26
-
node-version: 18
22
+
node-version: 22
27
23
cache: pnpm
28
24
29
25
- name: Install dependencies
+16
.github/workflows/nix.yml
+16
.github/workflows/nix.yml
···
1
+
name: Check Nix flake
2
+
on: [push, pull_request]
3
+
4
+
permissions:
5
+
checks: write
6
+
7
+
jobs:
8
+
nix:
9
+
name: Check Nix flake
10
+
runs-on: ubuntu-latest
11
+
steps:
12
+
- uses: actions/checkout@v4
13
+
- uses: DeterminateSystems/nix-installer-action@main
14
+
15
+
- name: Build default flake output
16
+
run: nix build
+4
-8
.github/workflows/release.yml
+4
-8
.github/workflows/release.yml
···
13
13
name: Release builds to GitHub Releases
14
14
runs-on: ubuntu-latest
15
15
steps:
16
-
- uses: actions/checkout@v3
17
-
18
-
- uses: pnpm/action-setup@v2
19
-
with:
20
-
version: 9
21
-
run_install: false
22
-
- uses: actions/setup-node@v3
16
+
- uses: actions/checkout@v4
17
+
- uses: pnpm/action-setup@v4
18
+
- uses: actions/setup-node@v4
23
19
with:
24
-
node-version: 18
20
+
node-version: 22
25
21
cache: pnpm
26
22
27
23
- name: Install dependencies
+5
-11
.github/workflows/types.yml
+5
-11
.github/workflows/types.yml
···
11
11
name: Publish types on npm
12
12
runs-on: ubuntu-latest
13
13
steps:
14
-
- uses: actions/checkout@v3
15
-
16
-
- uses: pnpm/action-setup@v2
17
-
with:
18
-
version: 9
19
-
run_install: false
20
-
- uses: actions/setup-node@v3
14
+
- uses: actions/checkout@v4
15
+
- uses: pnpm/action-setup@v4
16
+
- uses: actions/setup-node@v4
21
17
with:
22
-
node-version: 18
18
+
node-version: 22
23
19
cache: pnpm
24
20
registry-url: https://registry.npmjs.org
25
21
···
31
27
run: pnpm run build
32
28
33
29
- name: Publish types
34
-
run: |
35
-
cd packages/types
36
-
pnpm publish --access public --no-git-checks
30
+
run: pnpm publish --filter=./packages/types --access public --no-git-checks
37
31
env:
38
32
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
+1
-1
.gitignore
+1
-1
.gitignore
+4
-4
.prettierrc
+4
-4
.prettierrc
+1
-9
CHANGELOG.md
+1
-9
CHANGELOG.md
···
1
1
## Core
2
2
3
3
- Updated mappings
4
-
- Fixed an issue with extensions not being able to bypass CORS in some scenarios
5
-
- Added the ability for extensions to bypass CSP (thanks @uwx!)
6
-
- Updated ZenFS for browser support
7
-
8
-
## Libraries
9
-
10
-
- Improved typing of the Commands library
11
-
- Added more logging to Spacepack
12
-
- Deprecated Rocketship, as Discord has fixed screenshare on Linux
4
+
- Fixed using remapped paths as patch finds not working
+4
-73
flake.lock
+4
-73
flake.lock
···
18
18
"type": "github"
19
19
}
20
20
},
21
-
"flake-utils_2": {
22
-
"inputs": {
23
-
"systems": "systems_2"
24
-
},
25
-
"locked": {
26
-
"lastModified": 1701680307,
27
-
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
28
-
"owner": "numtide",
29
-
"repo": "flake-utils",
30
-
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
31
-
"type": "github"
32
-
},
33
-
"original": {
34
-
"owner": "numtide",
35
-
"repo": "flake-utils",
36
-
"type": "github"
37
-
}
38
-
},
39
21
"nixpkgs": {
40
22
"locked": {
41
-
"lastModified": 1728067476,
42
-
"narHash": "sha256-/uJcVXuBt+VFCPQIX+4YnYrHaubJSx4HoNsJVNRgANM=",
23
+
"lastModified": 1744232761,
24
+
"narHash": "sha256-gbl9hE39nQRpZaLjhWKmEu5ejtQsgI5TWYrIVVJn30U=",
43
25
"owner": "NixOS",
44
26
"repo": "nixpkgs",
45
-
"rev": "6e6b3dd395c3b1eb9be9f2d096383a8d05add030",
27
+
"rev": "f675531bc7e6657c10a18b565cfebd8aa9e24c14",
46
28
"type": "github"
47
29
},
48
30
"original": {
49
31
"owner": "NixOS",
50
-
"ref": "nixos-24.05",
51
-
"repo": "nixpkgs",
52
-
"type": "github"
53
-
}
54
-
},
55
-
"nixpkgs_2": {
56
-
"locked": {
57
-
"lastModified": 1736344531,
58
-
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
59
-
"owner": "nixos",
60
-
"repo": "nixpkgs",
61
-
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
62
-
"type": "github"
63
-
},
64
-
"original": {
65
-
"owner": "nixos",
66
32
"ref": "nixos-unstable",
67
33
"repo": "nixpkgs",
68
34
"type": "github"
69
35
}
70
36
},
71
-
"pnpm2nix": {
72
-
"inputs": {
73
-
"flake-utils": "flake-utils_2",
74
-
"nixpkgs": "nixpkgs_2"
75
-
},
76
-
"locked": {
77
-
"lastModified": 1736457458,
78
-
"narHash": "sha256-eiw+hAsxavEgBfhwrktNI2hwvgeVDzBDYClx/yqka78=",
79
-
"owner": "NotNite",
80
-
"repo": "pnpm2nix-nzbr",
81
-
"rev": "4ac61c6a50623da937dca005e3dbcb8862aafb83",
82
-
"type": "github"
83
-
},
84
-
"original": {
85
-
"owner": "NotNite",
86
-
"repo": "pnpm2nix-nzbr",
87
-
"type": "github"
88
-
}
89
-
},
90
37
"root": {
91
38
"inputs": {
92
39
"flake-utils": "flake-utils",
93
-
"nixpkgs": "nixpkgs",
94
-
"pnpm2nix": "pnpm2nix"
40
+
"nixpkgs": "nixpkgs"
95
41
}
96
42
},
97
43
"systems": {
98
-
"locked": {
99
-
"lastModified": 1681028828,
100
-
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
101
-
"owner": "nix-systems",
102
-
"repo": "default",
103
-
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
104
-
"type": "github"
105
-
},
106
-
"original": {
107
-
"owner": "nix-systems",
108
-
"repo": "default",
109
-
"type": "github"
110
-
}
111
-
},
112
-
"systems_2": {
113
44
"locked": {
114
45
"lastModified": 1681028828,
115
46
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+3
-4
flake.nix
+3
-4
flake.nix
···
2
2
description = "Yet another Discord mod";
3
3
4
4
inputs = {
5
-
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
5
+
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
6
6
flake-utils.url = "github:numtide/flake-utils";
7
-
pnpm2nix.url = "github:NotNite/pnpm2nix-nzbr";
8
7
};
9
8
10
-
outputs = { self, nixpkgs, flake-utils, pnpm2nix }:
11
-
let overlay = import ./nix/overlay.nix { inherit pnpm2nix; };
9
+
outputs = { self, nixpkgs, flake-utils }:
10
+
let overlay = import ./nix/overlay.nix { };
12
11
in flake-utils.lib.eachDefaultSystem (system:
13
12
let
14
13
pkgs = import nixpkgs {
+40
-17
nix/default.nix
+40
-17
nix/default.nix
···
1
-
{ pkgs, mkPnpmPackage }:
1
+
{
2
+
lib,
3
+
stdenv,
4
+
nodejs_22,
5
+
pnpm_10,
6
+
}:
7
+
8
+
stdenv.mkDerivation (finalAttrs: {
9
+
pname = "moonlight";
10
+
version = (builtins.fromJSON (builtins.readFile ./../package.json)).version;
2
11
3
-
mkPnpmPackage rec {
4
-
workspace = ./..;
5
12
src = ./..;
6
13
7
-
# Work around a bug with how it expects dist
8
-
components = [
9
-
"packages/core"
10
-
"packages/core-extensions"
11
-
"packages/injector"
12
-
"packages/node-preload"
13
-
"packages/types"
14
-
"packages/web-preload"
14
+
nativeBuildInputs = [
15
+
nodejs_22
16
+
pnpm_10.configHook
15
17
];
16
-
distDirs = [ "dist" ];
18
+
19
+
pnpmDeps = pnpm_10.fetchDeps {
20
+
inherit (finalAttrs) pname version src;
21
+
hash = "sha256-I+zRCUqJabpGJRFBGW0NrM9xzyzeCjioF54zlCpynBU=";
22
+
};
17
23
18
-
copyNodeModules = true;
19
-
buildPhase = "pnpm run build";
20
-
installPhase = "cp -r dist $out";
24
+
env = {
25
+
NODE_ENV = "production";
26
+
MOONLIGHT_VERSION = "v${finalAttrs.version}";
27
+
};
28
+
29
+
buildPhase = ''
30
+
runHook preBuild
21
31
22
-
meta = with pkgs.lib; {
32
+
pnpm run build
33
+
34
+
runHook postBuild
35
+
'';
36
+
37
+
installPhase = ''
38
+
runHook preInstall
39
+
40
+
cp -r dist $out
41
+
42
+
runHook postInstall
43
+
'';
44
+
45
+
meta = with lib; {
23
46
description = "Yet another Discord mod";
24
47
homepage = "https://moonlight-mod.github.io/";
25
48
license = licenses.lgpl3;
26
49
maintainers = with maintainers; [ notnite ];
27
50
};
28
-
}
51
+
})
+3
-6
nix/overlay.nix
+3
-6
nix/overlay.nix
···
1
-
{ pnpm2nix }:
1
+
{ ... }:
2
2
3
3
let
4
4
nameTable = {
···
29
29
'';
30
30
31
31
packageJson = ''
32
-
{"name":"discord","main":"./injector.js","private":true}
32
+
{"name":"${name}","main":"./injector.js","private":true}
33
33
'';
34
34
35
35
in old.installPhase + "\n" + ''
···
49
49
'';
50
50
});
51
51
in final: prev: rec {
52
-
moonlight-mod = final.callPackage ./default.nix {
53
-
pkgs = final;
54
-
mkPnpmPackage = pnpm2nix.packages.${final.system}.mkPnpmPackage;
55
-
};
52
+
moonlight-mod = final.callPackage ./default.nix { };
56
53
discord = mkOverride prev moonlight-mod "discord";
57
54
discord-ptb = mkOverride prev moonlight-mod "discord-ptb";
58
55
discord-canary = mkOverride prev moonlight-mod "discord-canary";
+23
-12
package.json
+23
-12
package.json
···
1
1
{
2
2
"name": "moonlight",
3
-
"version": "1.3.6",
3
+
"version": "1.3.14",
4
+
"packageManager": "pnpm@10.7.1",
4
5
"description": "Yet another Discord mod",
5
-
"homepage": "https://moonlight-mod.github.io/",
6
6
"license": "LGPL-3.0-or-later",
7
+
"homepage": "https://moonlight-mod.github.io/",
7
8
"repository": {
8
9
"type": "git",
9
10
"url": "git+https://github.com/moonlight-mod/moonlight.git"
···
11
12
"bugs": {
12
13
"url": "https://github.com/moonlight-mod/moonlight/issues"
13
14
},
15
+
"engineStrict": true,
16
+
"engines": {
17
+
"node": ">=22",
18
+
"pnpm": ">=10",
19
+
"npm": "pnpm",
20
+
"yarn": "pnpm"
21
+
},
14
22
"scripts": {
15
23
"build": "node build.mjs",
16
24
"dev": "node build.mjs --watch",
···
18
26
"browser": "node build.mjs --browser",
19
27
"browser-mv2": "node build.mjs --browser --mv2",
20
28
"lint": "eslint packages",
21
-
"lint:fix": "eslint packages --fix",
22
-
"lint:report": "eslint --output-file eslint_report.json --format json packages",
29
+
"lint:fix": "pnpm lint --fix",
30
+
"lint:report": "pnpm lint --output-file eslint_report.json --format json",
23
31
"typecheck": "tsc --noEmit",
24
32
"check": "pnpm run lint && pnpm run typecheck",
25
-
"prepare": "husky install"
33
+
"prepare": "husky install",
34
+
"updates": "pnpm taze -r"
26
35
},
27
36
"devDependencies": {
28
-
"esbuild": "^0.19.3",
29
-
"esbuild-copy-static-files": "^0.1.0",
30
-
"eslint": "^9.12.0",
31
-
"@moonlight-mod/eslint-config": "github:moonlight-mod/eslint-config",
32
-
"husky": "^8.0.3",
33
-
"prettier": "^3.1.0",
34
-
"typescript": "^5.3.2"
37
+
"@moonlight-mod/eslint-config": "catalog:dev",
38
+
"@types/node": "catalog:dev",
39
+
"esbuild": "catalog:dev",
40
+
"esbuild-copy-static-files": "catalog:dev",
41
+
"eslint": "catalog:dev",
42
+
"husky": "catalog:dev",
43
+
"prettier": "catalog:dev",
44
+
"taze": "catalog:dev",
45
+
"typescript": "catalog:dev"
35
46
}
36
47
}
+2
-1
packages/browser/blockLoading.json
+2
-1
packages/browser/blockLoading.json
+10
-4
packages/browser/manifest.json
+10
-4
packages/browser/manifest.json
···
1
1
{
2
+
"$schema": "https://json.schemastore.org/chrome-manifest",
2
3
"manifest_version": 3,
3
4
"name": "moonlight",
4
5
"description": "Yet another Discord mod",
5
-
"version": "1.3.6",
6
+
"version": "1.3.14",
6
7
"permissions": ["declarativeNetRequestWithHostAccess", "webRequest", "scripting", "webNavigation"],
7
-
"host_permissions": ["https://moonlight-mod.github.io/*", "https://api.github.com/*", "https://*.discord.com/*"],
8
+
"host_permissions": [
9
+
"https://moonlight-mod.github.io/*",
10
+
"https://api.github.com/*",
11
+
"https://*.discord.com/*",
12
+
"https://*.discordapp.com/*"
13
+
],
8
14
"content_scripts": [
9
15
{
10
16
"js": ["index.js"],
11
-
"matches": ["https://*.discord.com/*"],
17
+
"matches": ["https://*.discord.com/*", "https://*.discordapp.com/*"],
12
18
"run_at": "document_start",
13
19
"world": "MAIN"
14
20
}
···
34
40
"web_accessible_resources": [
35
41
{
36
42
"resources": ["index.js"],
37
-
"matches": ["https://*.discord.com/*"]
43
+
"matches": ["https://*.discord.com/*", "https://*.discordapp.com/*"]
38
44
}
39
45
]
40
46
}
+6
-5
packages/browser/manifestv2.json
+6
-5
packages/browser/manifestv2.json
···
1
1
{
2
+
"$schema": "https://json.schemastore.org/chrome-manifest",
2
3
"manifest_version": 2,
3
4
"name": "moonlight",
4
5
"description": "Yet another Discord mod",
5
-
"version": "1.3.6",
6
+
"version": "1.3.14",
6
7
"permissions": [
7
8
"webRequest",
8
9
"webRequestBlocking",
9
10
"scripting",
10
11
"webNavigation",
11
-
"https://*.discord.com/assets/*.js",
12
+
"https://*.discord.com/*",
13
+
"https://*.discordapp.com/*",
12
14
"https://moonlight-mod.github.io/*",
13
-
"https://api.github.com/*",
14
-
"https://*.discord.com/*"
15
+
"https://api.github.com/*"
15
16
],
16
17
"background": {
17
18
"scripts": ["background.js"]
···
19
20
"content_scripts": [
20
21
{
21
22
"js": ["index.js"],
22
-
"matches": ["https://*.discord.com/*"],
23
+
"matches": ["https://*.discord.com/*", "https://*.discordapp.com/*"],
23
24
"run_at": "document_start",
24
25
"world": "MAIN"
25
26
}
+12
-2
packages/browser/package.json
+12
-2
packages/browser/package.json
···
1
1
{
2
2
"name": "@moonlight-mod/browser",
3
3
"private": true,
4
+
"engines": {
5
+
"node": ">=22",
6
+
"pnpm": ">=10",
7
+
"npm": "pnpm",
8
+
"yarn": "pnpm"
9
+
},
4
10
"dependencies": {
5
11
"@moonlight-mod/core": "workspace:*",
6
12
"@moonlight-mod/types": "workspace:*",
7
13
"@moonlight-mod/web-preload": "workspace:*",
8
-
"@zenfs/core": "^1.8.8",
9
-
"@zenfs/dom": "^1.1.3"
14
+
"@zenfs/core": "catalog:prod",
15
+
"@zenfs/dom": "catalog:prod"
16
+
},
17
+
"engineStrict": true,
18
+
"devDependencies": {
19
+
"@types/chrome": "catalog:dev"
10
20
}
11
21
}
+55
-70
packages/browser/src/background-mv2.js
+55
-70
packages/browser/src/background-mv2.js
···
1
1
/* eslint-disable no-console */
2
2
/* eslint-disable no-undef */
3
3
4
-
const starterUrls = ["web.", "sentry."];
5
-
let blockLoading = true;
6
-
let doing = false;
7
-
let collectedUrls = new Set();
4
+
const scriptUrls = ["web.", "sentry."];
5
+
let blockedScripts = new Set();
8
6
9
-
chrome.webNavigation.onBeforeNavigate.addListener(async (details) => {
10
-
const url = new URL(details.url);
11
-
if (!blockLoading && url.hostname.endsWith("discord.com")) {
12
-
console.log("Blocking", details.url);
13
-
blockLoading = true;
14
-
collectedUrls.clear();
15
-
}
16
-
});
7
+
chrome.webRequest.onBeforeRequest.addListener(
8
+
async (details) => {
9
+
if (details.tabId === -1) return;
17
10
18
-
async function doTheThing(urls, tabId) {
19
-
console.log("Doing", urls, tabId);
11
+
const url = new URL(details.url);
12
+
const hasUrl = scriptUrls.some((scriptUrl) => {
13
+
return (
14
+
details.url.includes(scriptUrl) &&
15
+
!url.searchParams.has("inj") &&
16
+
(url.host.endsWith("discord.com") || url.host.endsWith("discordapp.com"))
17
+
);
18
+
});
19
+
if (hasUrl) blockedScripts.add(details.url);
20
20
21
-
blockLoading = false;
21
+
if (blockedScripts.size === scriptUrls.length) {
22
+
const blockedScriptsCopy = Array.from(blockedScripts);
23
+
blockedScripts.clear();
22
24
23
-
try {
24
-
await chrome.scripting.executeScript({
25
-
target: { tabId },
26
-
world: "MAIN",
27
-
args: [urls],
28
-
func: async (urls) => {
29
-
try {
30
-
await window._moonlightBrowserInit();
31
-
} catch (e) {
32
-
console.log(e);
33
-
}
25
+
setTimeout(async () => {
26
+
console.log("Starting moonlight");
27
+
await chrome.scripting.executeScript({
28
+
target: { tabId: details.tabId },
29
+
world: "MAIN",
30
+
args: [blockedScriptsCopy],
31
+
func: async (blockedScripts) => {
32
+
console.log("Initializing moonlight");
33
+
try {
34
+
await window._moonlightBrowserInit();
35
+
} catch (e) {
36
+
console.error(e);
37
+
}
34
38
35
-
const scripts = [...document.querySelectorAll("script")].filter(
36
-
(script) => script.src && urls.some((url) => url.includes(script.src))
37
-
);
39
+
console.log("Readding scripts");
40
+
try {
41
+
const scripts = [...document.querySelectorAll("script")].filter(
42
+
(script) => script.src && blockedScripts.some((url) => url.includes(script.src))
43
+
);
38
44
39
-
// backwards
40
-
urls.reverse();
41
-
for (const url of urls) {
42
-
const script = scripts.find((script) => url.includes(script.src));
43
-
console.log("adding new script", script);
45
+
blockedScripts.reverse();
46
+
for (const url of blockedScripts) {
47
+
if (url.includes("/sentry.")) continue;
44
48
45
-
const newScript = document.createElement("script");
46
-
for (const { name, value } of script.attributes) {
47
-
newScript.setAttribute(name, value);
49
+
const script = scripts.find((script) => url.includes(script.src));
50
+
const newScript = document.createElement("script");
51
+
for (const attr of script.attributes) {
52
+
if (attr.name === "src") attr.value += "?inj";
53
+
newScript.setAttribute(attr.name, attr.value);
54
+
}
55
+
script.remove();
56
+
document.documentElement.appendChild(newScript);
57
+
}
58
+
} catch (e) {
59
+
console.error(e);
60
+
}
48
61
}
49
-
50
-
script.remove();
51
-
document.documentElement.appendChild(newScript);
52
-
}
53
-
}
54
-
});
55
-
} catch (e) {
56
-
console.log(e);
57
-
}
58
-
59
-
doing = false;
60
-
collectedUrls.clear();
61
-
}
62
-
63
-
chrome.webRequest.onBeforeRequest.addListener(
64
-
async (details) => {
65
-
if (starterUrls.some((url) => details.url.includes(url))) {
66
-
console.log("Adding", details.url);
67
-
collectedUrls.add(details.url);
62
+
});
63
+
}, 0);
68
64
}
69
65
70
-
if (collectedUrls.size === starterUrls.length) {
71
-
if (doing) return;
72
-
if (!blockLoading) return;
73
-
doing = true;
74
-
const urls = [...collectedUrls];
75
-
const tabId = details.tabId;
76
-
77
-
// yes this is a load-bearing sleep
78
-
setTimeout(() => doTheThing(urls, tabId), 0);
79
-
}
80
-
81
-
if (blockLoading) return { cancel: true };
66
+
if (hasUrl) return { cancel: true };
82
67
},
83
68
{
84
-
urls: ["https://*.discord.com/assets/*.js"]
69
+
urls: ["https://*.discord.com/assets/*.js", "https://*.discordapp.com/assets/*.js"]
85
70
},
86
71
["blocking"]
87
72
);
···
94
79
)
95
80
};
96
81
},
97
-
{ urls: ["https://*.discord.com/*"] },
82
+
{ urls: ["https://*.discord.com/*", "https://*.discordapp.com/*"] },
98
83
["blocking", "responseHeaders"]
99
84
);
+37
-39
packages/browser/src/background.js
+37
-39
packages/browser/src/background.js
···
1
1
/* eslint-disable no-console */
2
2
/* eslint-disable no-undef */
3
3
4
-
const starterUrls = ["web.", "sentry."];
5
-
let blockLoading = true;
6
-
let doing = false;
7
-
let collectedUrls = new Set();
4
+
const scriptUrls = ["web.", "sentry."];
5
+
let blockedScripts = new Set();
8
6
9
7
chrome.webNavigation.onBeforeNavigate.addListener(async (details) => {
10
8
const url = new URL(details.url);
11
-
if (!blockLoading && url.hostname.endsWith("discord.com")) {
9
+
if (
10
+
!url.searchParams.has("inj") &&
11
+
(url.hostname.endsWith("discord.com") || url.hostname.endsWith("discordapp.com"))
12
+
) {
13
+
console.log("Enabling block ruleset");
12
14
await chrome.declarativeNetRequest.updateEnabledRulesets({
13
15
enableRulesetIds: ["modifyResponseHeaders", "blockLoading"]
14
16
});
15
-
blockLoading = true;
16
-
collectedUrls.clear();
17
17
}
18
18
});
19
19
20
20
chrome.webRequest.onBeforeRequest.addListener(
21
21
async (details) => {
22
22
if (details.tabId === -1) return;
23
-
if (starterUrls.some((url) => details.url.includes(url))) {
24
-
console.log("Adding", details.url);
25
-
collectedUrls.add(details.url);
26
-
}
27
23
28
-
if (collectedUrls.size === starterUrls.length) {
29
-
if (doing) return;
30
-
if (!blockLoading) return;
31
-
doing = true;
32
-
const urls = [...collectedUrls];
33
-
console.log("Doing", urls);
24
+
const url = new URL(details.url);
25
+
const hasUrl = scriptUrls.some((scriptUrl) => {
26
+
return (
27
+
details.url.includes(scriptUrl) &&
28
+
!url.searchParams.has("inj") &&
29
+
(url.hostname.endsWith("discord.com") || url.hostname.endsWith("discordapp.com"))
30
+
);
31
+
});
32
+
33
+
if (hasUrl) blockedScripts.add(details.url);
34
+
35
+
if (blockedScripts.size === scriptUrls.length) {
36
+
const blockedScriptsCopy = Array.from(blockedScripts);
37
+
blockedScripts.clear();
34
38
35
39
console.log("Running moonlight script");
36
40
try {
···
40
44
files: ["index.js"]
41
45
});
42
46
} catch (e) {
43
-
console.log(e);
47
+
console.error(e);
44
48
}
45
49
46
50
console.log("Initializing moonlight");
···
52
56
try {
53
57
await window._moonlightBrowserInit();
54
58
} catch (e) {
55
-
console.log(e);
59
+
console.error(e);
56
60
}
57
61
}
58
62
});
···
60
64
console.log(e);
61
65
}
62
66
63
-
console.log("Updating rulesets");
67
+
console.log("Disabling block ruleset");
64
68
try {
65
-
blockLoading = false;
66
69
await chrome.declarativeNetRequest.updateEnabledRulesets({
67
70
disableRulesetIds: ["blockLoading"],
68
71
enableRulesetIds: ["modifyResponseHeaders"]
69
72
});
70
73
} catch (e) {
71
-
console.log(e);
74
+
console.error(e);
72
75
}
73
76
74
77
console.log("Readding scripts");
···
76
79
await chrome.scripting.executeScript({
77
80
target: { tabId: details.tabId },
78
81
world: "MAIN",
79
-
args: [urls],
80
-
func: async (urls) => {
82
+
args: [blockedScriptsCopy],
83
+
func: async (blockedScripts) => {
81
84
const scripts = [...document.querySelectorAll("script")].filter(
82
-
(script) => script.src && urls.some((url) => url.includes(script.src))
85
+
(script) => script.src && blockedScripts.some((url) => url.includes(script.src))
83
86
);
84
87
85
-
// backwards
86
-
urls.reverse();
87
-
for (const url of urls) {
88
-
const script = scripts.find((script) => url.includes(script.src));
89
-
console.log("adding new script", script);
88
+
blockedScripts.reverse();
89
+
for (const url of blockedScripts) {
90
+
if (url.includes("/sentry.")) continue;
90
91
92
+
const script = scripts.find((script) => url.includes(script.src));
91
93
const newScript = document.createElement("script");
92
-
for (const { name, value } of script.attributes) {
93
-
newScript.setAttribute(name, value);
94
+
for (const attr of script.attributes) {
95
+
if (attr.name === "src") attr.value += "?inj";
96
+
newScript.setAttribute(attr.name, attr.value);
94
97
}
95
-
96
98
script.remove();
97
99
document.documentElement.appendChild(newScript);
98
100
}
99
101
}
100
102
});
101
103
} catch (e) {
102
-
console.log(e);
104
+
console.error(e);
103
105
}
104
-
105
-
console.log("Done");
106
-
doing = false;
107
-
collectedUrls.clear();
108
106
}
109
107
},
110
108
{
111
-
urls: ["*://*.discord.com/assets/*.js"]
109
+
urls: ["*://*.discord.com/assets/*.js", "*://*.discordapp.com/assets/*.js"]
112
110
}
113
111
);
+4
packages/browser/src/index.ts
+4
packages/browser/src/index.ts
···
8
8
import { IndexedDB } from "@zenfs/dom";
9
9
import { configureSingle } from "@zenfs/core";
10
10
import * as fs from "@zenfs/core/promises";
11
+
import { NodeEventPayloads, NodeEventType } from "@moonlight-mod/types/core/event";
12
+
import { createEventEmitter } from "@moonlight-mod/core/util/event";
11
13
12
14
function getParts(path: string) {
13
15
if (path.startsWith("/")) path = path.substring(1);
···
110
112
processedExtensions,
111
113
nativesCache: {},
112
114
isBrowser: true,
115
+
events: createEventEmitter<NodeEventType, NodeEventPayloads>(),
113
116
114
117
version: MOONLIGHT_VERSION,
115
118
branch: MOONLIGHT_BRANCH as MoonlightBranch,
···
141
144
async writeConfig(newConfig) {
142
145
await writeConfig(newConfig);
143
146
config = newConfig;
147
+
this.events.dispatchEvent(NodeEventType.ConfigSaved, newConfig);
144
148
}
145
149
};
146
150
+1
packages/browser/tsconfig.json
+1
packages/browser/tsconfig.json
+7
packages/core/package.json
+7
packages/core/package.json
+5
-5
packages/core/src/extension/loader.ts
+5
-5
packages/core/src/extension/loader.ts
···
13
13
import calculateDependencies from "../util/dependency";
14
14
import { createEventEmitter } from "../util/event";
15
15
import { registerStyles } from "../styles";
16
-
import { EventPayloads, EventType } from "@moonlight-mod/types/core/event";
16
+
import { WebEventPayloads, WebEventType } from "@moonlight-mod/types/core/event";
17
17
18
18
const logger = new Logger("core/extension/loader");
19
19
···
202
202
}
203
203
204
204
export async function loadProcessedExtensions({ extensions, dependencyGraph }: ProcessedExtensions) {
205
-
const eventEmitter = createEventEmitter<EventType, EventPayloads>();
205
+
const eventEmitter = createEventEmitter<WebEventType, WebEventPayloads>();
206
206
const finished: Set<string> = new Set();
207
207
208
208
logger.trace(
···
224
224
}
225
225
226
226
function done() {
227
-
eventEmitter.removeEventListener(EventType.ExtensionLoad, cb);
227
+
eventEmitter.removeEventListener(WebEventType.ExtensionLoad, cb);
228
228
r();
229
229
}
230
230
231
-
eventEmitter.addEventListener(EventType.ExtensionLoad, cb);
231
+
eventEmitter.addEventListener(WebEventType.ExtensionLoad, cb);
232
232
if (finished.has(dep)) done();
233
233
})
234
234
);
···
242
242
await loadExt(ext);
243
243
244
244
finished.add(ext.id);
245
-
eventEmitter.dispatchEvent(EventType.ExtensionLoad, ext.id);
245
+
eventEmitter.dispatchEvent(WebEventType.ExtensionLoad, ext.id);
246
246
logger.debug(`Loaded "${ext.id}"`);
247
247
}
248
248
+1
-4
packages/core/src/extension.ts
+1
-4
packages/core/src/extension.ts
···
129
129
const ret: DetectedExtension[] = [];
130
130
const seen = new Set<string>();
131
131
132
-
const coreExtensionsFs: Record<string, string> = JSON.parse(
133
-
// @ts-expect-error shut up
134
-
_moonlight_coreExtensionsStr
135
-
);
132
+
const coreExtensionsFs: Record<string, string> = JSON.parse(_moonlight_coreExtensionsStr);
136
133
const coreExtensions = Array.from(new Set(Object.keys(coreExtensionsFs).map((x) => x.split("/")[0])));
137
134
138
135
for (const ext of coreExtensions) {
+46
-32
packages/core/src/patch.ts
+46
-32
packages/core/src/patch.ts
···
11
11
} from "@moonlight-mod/types";
12
12
import Logger from "./util/logger";
13
13
import calculateDependencies, { Dependency } from "./util/dependency";
14
-
import { EventType } from "@moonlight-mod/types/core/event";
14
+
import { WebEventType } from "@moonlight-mod/types/core/event";
15
15
import { processFind, processReplace, testFind } from "./util/patch";
16
16
17
17
const logger = new Logger("core/patch");
···
66
66
const moduleCache: Record<string, string> = {};
67
67
const patched: Record<string, Array<string>> = {};
68
68
69
-
function patchModules(entry: WebpackJsonpEntry[1]) {
70
-
function patchModule(id: string, patchId: string, replaced: string) {
71
-
// Store what extensions patched what modules for easier debugging
72
-
patched[id] = patched[id] || [];
73
-
patched[id].push(patchId);
69
+
function createSourceURL(id: string) {
70
+
const remapped = Object.entries(moonlight.moonmap.modules).find((m) => m[1] === id)?.[0];
71
+
72
+
if (remapped) {
73
+
return `// Webpack Module: ${id}\n//# sourceURL=${remapped}`;
74
+
}
74
75
75
-
// Webpack module arguments are minified, so we replace them with consistent names
76
-
// We have to wrap it so things don't break, though
77
-
const patchedStr = patched[id].sort().join(", ");
76
+
return `//# sourceURL=Webpack-Module/${id.slice(0, 3)}/${id}`;
77
+
}
78
78
79
-
const wrapped =
80
-
`(${replaced}).apply(this, arguments)\n` +
81
-
`// Patched by moonlight: ${patchedStr}\n` +
82
-
`//# sourceURL=Webpack-Module-${id}`;
79
+
function patchModule(id: string, patchId: string, replaced: string, entry: WebpackJsonpEntry[1]) {
80
+
// Store what extensions patched what modules for easier debugging
81
+
patched[id] = patched[id] ?? [];
82
+
patched[id].push(patchId);
83
83
84
-
try {
85
-
const func = new Function("module", "exports", "require", wrapped) as WebpackModuleFunc;
86
-
entry[id] = func;
87
-
entry[id].__moonlight = true;
88
-
return true;
89
-
} catch (e) {
90
-
logger.warn("Error constructing function for patch", patchId, e);
91
-
patched[id].pop();
92
-
return false;
93
-
}
84
+
// Webpack module arguments are minified, so we replace them with consistent names
85
+
// We have to wrap it so things don't break, though
86
+
const patchedStr = patched[id].sort().join(", ");
87
+
88
+
const wrapped =
89
+
`(${replaced}).apply(this, arguments)\n` + `// Patched by moonlight: ${patchedStr}\n` + createSourceURL(id);
90
+
91
+
try {
92
+
const func = new Function("module", "exports", "require", wrapped) as WebpackModuleFunc;
93
+
entry[id] = func;
94
+
entry[id].__moonlight = true;
95
+
return true;
96
+
} catch (e) {
97
+
logger.warn("Error constructing function for patch", patchId, e);
98
+
patched[id].pop();
99
+
return false;
94
100
}
101
+
}
95
102
103
+
function patchModules(entry: WebpackJsonpEntry[1]) {
96
104
// Populate the module cache
97
105
for (const [id, func] of Object.entries(entry)) {
98
106
if (!Object.hasOwn(moduleCache, id) && func.__moonlight !== true) {
···
108
116
const origModuleString = moduleCache[id];
109
117
let moduleString = origModuleString;
110
118
const patchedStr = [];
111
-
const mappedName = moonlight.moonmap.modules[id];
119
+
const mappedName = Object.entries(moonlight.moonmap.modules).find((m) => m[1] === id)?.[0];
112
120
let modified = false;
113
121
let swappedModule = false;
114
122
···
117
125
for (let i = 0; i < patches.length; i++) {
118
126
const patch = patches[i];
119
127
if (patch.prerequisite != null && !patch.prerequisite()) {
128
+
moonlight.unpatched.delete(patch);
120
129
continue;
121
130
}
122
131
···
136
145
// We ensured normal PatchReplace objects get turned into arrays on register
137
146
const replaces = patch.replace as PatchReplace[];
138
147
148
+
let isPatched = true;
139
149
for (let i = 0; i < replaces.length; i++) {
140
150
const replace = replaces[i];
141
151
let patchId = `${patch.ext}#${patch.id}`;
···
152
162
}
153
163
154
164
if (replaced === moduleString) {
155
-
logger.warn("Patch replacement failed", id, patch);
165
+
logger.warn("Patch replacement failed", id, patchId, patch);
166
+
isPatched = false;
156
167
if (patch.hardFail) {
157
168
hardFailed = true;
158
169
break;
···
176
187
exts.add(patch.ext);
177
188
}
178
189
179
-
moonlight.unpatched.delete(patch);
190
+
if (isPatched) moonlight.unpatched.delete(patch);
180
191
if (shouldRemove) patches.splice(i--, 1);
181
192
}
182
193
}
183
194
184
195
if (modified) {
185
-
if (!swappedModule) patchModule(id, patchedStr.join(", "), moduleString);
186
-
moduleCache[id] = moduleString;
196
+
let shouldCache = true;
197
+
if (!swappedModule) shouldCache = patchModule(id, patchedStr.join(", "), moduleString, entry);
198
+
if (shouldCache) moduleCache[id] = moduleString;
187
199
moonlight.patched.set(id, exts);
188
200
}
189
201
···
191
203
const parsed = moonlight.lunast.parseScript(id, moduleString);
192
204
if (parsed != null) {
193
205
for (const [parsedId, parsedScript] of Object.entries(parsed)) {
194
-
if (patchModule(parsedId, "lunast", parsedScript)) {
206
+
if (patchModule(parsedId, "lunast", parsedScript, entry)) {
195
207
moduleCache[parsedId] = parsedScript;
196
208
}
197
209
}
···
202
214
203
215
if (moonlightNode.config.patchAll === true) {
204
216
if ((typeof id !== "string" || !id.includes("_")) && !entry[id].__moonlight) {
205
-
const wrapped = `(${moduleCache[id]}).apply(this, arguments)\n` + `//# sourceURL=Webpack-Module-${id}`;
217
+
const wrapped = `(${moduleCache[id]}).apply(this, arguments)\n` + createSourceURL(id);
206
218
entry[id] = new Function("module", "exports", "require", wrapped) as WebpackModuleFunc;
207
219
entry[id].__moonlight = true;
208
220
}
···
325
337
}
326
338
327
339
for (const [name, func] of Object.entries(moonlight.moonmap.getWebpackModules("window.moonlight.moonmap"))) {
340
+
// @ts-expect-error probably should fix the type on this idk
341
+
func.__moonlight = true;
328
342
injectedWpModules.push({ id: name, run: func });
329
343
modules[name] = func;
330
344
inject = true;
···
402
416
const realPush = jsonp.push;
403
417
if (jsonp.push.__moonlight !== true) {
404
418
jsonp.push = (items) => {
405
-
moonlight.events.dispatchEvent(EventType.ChunkLoad, {
419
+
moonlight.events.dispatchEvent(WebEventType.ChunkLoad, {
406
420
chunkId: items[0],
407
421
modules: items[1],
408
422
require: items[2]
···
450
464
set(modules: any) {
451
465
const { stack } = new Error();
452
466
if (stack!.includes("/assets/") && !Array.isArray(modules)) {
453
-
moonlight.events.dispatchEvent(EventType.ChunkLoad, {
467
+
moonlight.events.dispatchEvent(WebEventType.ChunkLoad, {
454
468
modules: modules
455
469
});
456
470
patchModules(modules);
+4
-1
packages/core/tsconfig.json
+4
-1
packages/core/tsconfig.json
+9
-2
packages/core-extensions/package.json
+9
-2
packages/core-extensions/package.json
···
1
1
{
2
2
"name": "@moonlight-mod/core-extensions",
3
3
"private": true,
4
+
"engineStrict": true,
5
+
"engines": {
6
+
"node": ">=22",
7
+
"pnpm": ">=10",
8
+
"npm": "pnpm",
9
+
"yarn": "pnpm"
10
+
},
4
11
"dependencies": {
5
12
"@moonlight-mod/core": "workspace:*",
6
13
"@moonlight-mod/types": "workspace:*",
7
-
"microdiff": "^1.5.0",
8
-
"nanotar": "^0.1.1"
14
+
"microdiff": "catalog:prod",
15
+
"nanotar": "catalog:prod"
9
16
}
10
17
}
+14
-5
packages/core-extensions/src/commands/index.ts
+14
-5
packages/core-extensions/src/commands/index.ts
···
7
7
replace: [
8
8
// inject commands
9
9
{
10
-
match: /return (\i)=\i/,
10
+
match: /return (\i)\.filter/,
11
11
replacement: (orig, commands) =>
12
-
`${commands}=[...${commands},...require("commands_commands").default._getCommands()];${orig}`
12
+
`return [...${commands},...require("commands_commands").default._getCommands()].filter`
13
13
},
14
14
15
15
// section
···
53
53
}
54
54
},
55
55
{
56
-
find: ".icon,bot:null===",
56
+
find: ".icon,bot:null==",
57
57
replace: {
58
-
match: /(\.useMemo\(\(\)=>{)(if\((\i)\.type)/,
59
-
replacement: (_, before, after, section) => `${before}
58
+
match: /(\.useMemo\(\(\)=>{(var \i;)?)((return |if\()(\i)\.type)/,
59
+
replacement: (_, before, beforeVar, after, afterIf, section) => `${before}
60
60
if (${section}.id==="${APPLICATION_ID}") return "https://moonlight-mod.github.io/favicon.png";
61
61
${after}`
62
62
}
···
67
67
replace: {
68
68
match: /(\i)\.type===\i\.\i\.BUILT_IN/,
69
69
replacement: (orig, section) => `${section}.id!=="${APPLICATION_ID}"&&${orig}`
70
+
}
71
+
},
72
+
73
+
// tell it this app id is authorized
74
+
{
75
+
find: /let{customInstallUrl:\i,installParams:\i,integrationTypesConfig:\i}/,
76
+
replace: {
77
+
match: /\|\|(\i)===\i\.\i\.BUILT_IN/,
78
+
replacement: (orig, id) => `${orig}||${id}==="${APPLICATION_ID}"`
70
79
}
71
80
}
72
81
];
+7
-5
packages/core-extensions/src/common/index.ts
+7
-5
packages/core-extensions/src/common/index.ts
···
2
2
3
3
export const webpackModules: ExtensionWebExports["webpackModules"] = {
4
4
stores: {
5
-
dependencies: [
6
-
{
7
-
id: "discord/packages/flux"
8
-
}
9
-
]
5
+
dependencies: [{ id: "discord/packages/flux" }]
6
+
},
7
+
ErrorBoundary: {
8
+
dependencies: [{ id: "react" }]
9
+
},
10
+
icons: {
11
+
dependencies: [{ id: "react" }, { id: "discord/components/common/index" }]
10
12
}
11
13
};
+1
-1
packages/core-extensions/src/common/manifest.json
+1
-1
packages/core-extensions/src/common/manifest.json
+27
packages/core-extensions/src/common/style.css
+27
packages/core-extensions/src/common/style.css
···
1
+
.moonlight-error-boundary {
2
+
margin: 0 0 15px;
3
+
padding: 10px;
4
+
border-radius: 5px;
5
+
font-size: 1rem;
6
+
font-weight: 300;
7
+
line-height: 22px;
8
+
color: var(--text-normal, white);
9
+
background: hsl(var(--red-400-hsl) / 0.1);
10
+
border: 2px solid hsl(var(--red-400-hsl) / 0.5);
11
+
12
+
.theme-light & {
13
+
color: var(--text-normal, black) !important;
14
+
}
15
+
16
+
& > h3 {
17
+
margin-bottom: 0.25rem;
18
+
}
19
+
20
+
& > .hljs {
21
+
background: var(--background-secondary);
22
+
border: 1px solid var(--background-tertiary);
23
+
white-space: pre-wrap;
24
+
font-family: var(--font-code);
25
+
user-select: text;
26
+
}
27
+
}
+47
packages/core-extensions/src/common/webpackModules/ErrorBoundary.tsx
+47
packages/core-extensions/src/common/webpackModules/ErrorBoundary.tsx
···
1
+
import React from "@moonlight-mod/wp/react";
2
+
import { ErrorBoundaryProps, ErrorBoundaryState } from "@moonlight-mod/types/coreExtensions/common";
3
+
4
+
const logger = moonlight.getLogger("ErrorBoundary");
5
+
6
+
class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {
7
+
constructor(props: ErrorBoundaryProps) {
8
+
super(props);
9
+
this.state = {
10
+
errored: false,
11
+
error: undefined,
12
+
componentStack: undefined
13
+
};
14
+
}
15
+
16
+
static getDerivedStateFromError(error: Error) {
17
+
return {
18
+
errored: true,
19
+
error
20
+
};
21
+
}
22
+
23
+
componentDidCatch(error: Error, { componentStack }: { componentStack: string }) {
24
+
logger.error(`${error}\n\nComponent stack:\n${componentStack}`);
25
+
this.setState({ error, componentStack });
26
+
}
27
+
28
+
render() {
29
+
const { noop, fallback: FallbackComponent, children, message } = this.props;
30
+
const { errored, error, componentStack } = this.state;
31
+
32
+
if (FallbackComponent) return <FallbackComponent children={children} {...this.state} />;
33
+
34
+
if (errored) {
35
+
return noop ? null : (
36
+
<div className={`moonlight-error-boundary`}>
37
+
<h3>{message ?? "An error occurred rendering this component:"}</h3>
38
+
<code className="hljs">{`${error}\n\nComponent stack:\n${componentStack}`}</code>
39
+
</div>
40
+
);
41
+
}
42
+
43
+
return children;
44
+
}
45
+
}
46
+
47
+
export default ErrorBoundary;
+31
packages/core-extensions/src/common/webpackModules/icons.ts
+31
packages/core-extensions/src/common/webpackModules/icons.ts
···
1
+
import { Icons, IconSize } from "@moonlight-mod/types/coreExtensions/common";
2
+
import { tokens } from "@moonlight-mod/wp/discord/components/common/index";
3
+
4
+
// This is defined in a Webpack module but we copy it here to be less breakage-prone
5
+
const sizes: Partial<Record<IconSize, number>> = {
6
+
xxs: 12,
7
+
xs: 16,
8
+
sm: 18,
9
+
md: 24,
10
+
lg: 32,
11
+
refresh_sm: 20
12
+
};
13
+
14
+
export const icons: Icons = {
15
+
parseProps(props) {
16
+
// NOTE: var() fallback is non-standard behavior, just for safety reasons
17
+
const color = props?.color ?? tokens?.colors?.["INTERACTIVE_NORMAL"] ?? "var(--interactive-normal)";
18
+
19
+
const size = sizes[props?.size ?? "md"];
20
+
21
+
return {
22
+
// note: this default size is also non-standard behavior, just for safety
23
+
width: size ?? props?.width ?? sizes.md!,
24
+
height: size ?? props?.width ?? sizes.md!,
25
+
26
+
fill: typeof color === "string" ? color : color.css,
27
+
className: props?.colorClass ?? ""
28
+
};
29
+
}
30
+
};
31
+
export default icons;
+14
-6
packages/core-extensions/src/componentEditor/index.ts
+14
-6
packages/core-extensions/src/componentEditor/index.ts
···
15
15
replacement: 'children:require("componentEditor_dmList").default._patchItems(['
16
16
},
17
17
{
18
-
match: /(?<=onMouseDown:\i}\))]/,
18
+
match: /(?<=(onMouseDown|nameplate):\i}\))]/,
19
19
replacement: "],arguments[0])"
20
20
}
21
21
],
···
44
44
find: '},"new-member")),',
45
45
replace: [
46
46
{
47
-
match: /(?<=\.BADGES]=)(\i);/,
48
-
replacement: (_, badges) =>
49
-
`require("componentEditor_messages").default._patchUsernameBadges(${badges},arguments[0]);`
47
+
match: /(?<=\.BADGES](=|:))(\i)(;|})/,
48
+
replacement: (_, leading, badges, trailing) =>
49
+
`require("componentEditor_messages").default._patchUsernameBadges(${badges},arguments[0])${trailing}`
50
50
},
51
51
{
52
52
match: /(?<=className:\i,)badges:(\i)/,
···
54
54
`badges:require("componentEditor_messages").default._patchBadges(${badges},arguments[0])`
55
55
},
56
56
{
57
-
match: /(?<=username:\(0,\i\.jsxs\)\(\i\.Fragment,{)children:(\[.+?,\i])/,
57
+
match: /(?<=username:\(0,\i\.jsxs\)\(\i\.Fragment,{)children:(\[.+?])}\),usernameSpanId:/,
58
58
replacement: (_, elements) =>
59
-
`children:require("componentEditor_messages").default._patchUsername(${elements},arguments[0])`
59
+
`children:require("componentEditor_messages").default._patchUsername(${elements},arguments[0])}),usernameSpanId:`
60
60
}
61
61
]
62
+
},
63
+
{
64
+
find: '.provider&&"Discord"===',
65
+
replace: {
66
+
match: /(?<=\.container\),)children:(\[.+?this\.renderSuppressConfirmModal\(\),.+?\])}\)/,
67
+
replacement: (_, elements) =>
68
+
`children:require("componentEditor_messages").default._patchAccessories(${elements},this.props)})`
69
+
}
62
70
}
63
71
];
64
72
+15
packages/core-extensions/src/componentEditor/webpackModules/messages.tsx
+15
packages/core-extensions/src/componentEditor/webpackModules/messages.tsx
···
12
12
const username: Record<string, MessageUsername> = {};
13
13
const usernameBadges: Record<string, MessageUsernameBadge> = {};
14
14
const badges: Record<string, MessageBadge> = {};
15
+
const accessories: Record<string, React.FC<any>> = {};
15
16
16
17
function addEntries(
17
18
elements: React.ReactNode[],
···
40
41
const index = elements.indexOf(originalElements[indicies[entry.anchor]!]);
41
42
elements.splice(index! + (entry.before ? 0 : 1), 0, component);
42
43
}
44
+
}
45
+
}
46
+
47
+
function addComponents(elements: React.ReactNode[], components: Record<string, React.FC<any>>, props: any) {
48
+
for (const [id, Component] of Object.entries(components)) {
49
+
const component = <Component {...props} key={id} />;
50
+
elements.push(component);
43
51
}
44
52
}
45
53
···
65
73
before
66
74
};
67
75
},
76
+
addAccessory(id, component) {
77
+
accessories[id] = component;
78
+
},
68
79
_patchUsername(elements, props) {
69
80
addEntries(elements, username, MessageUsernameIndicies, props);
70
81
return elements;
···
75
86
},
76
87
_patchBadges(elements, props) {
77
88
addEntries(elements, badges, MessageBadgeIndicies, props);
89
+
return elements;
90
+
},
91
+
_patchAccessories(elements, props) {
92
+
addComponents(elements, accessories, props);
78
93
return elements;
79
94
}
80
95
};
+1
-1
packages/core-extensions/src/contextMenu/webpackModules/evilMenu.ts
+1
-1
packages/core-extensions/src/contextMenu/webpackModules/evilMenu.ts
···
8
8
9
9
const parserSym = code.match(/(?<=_patchMenu\(.,).+?(?=\()/)![0];
10
10
11
-
code = code.replace(/(?<=function\(\){return ).(?=})/, parserSym);
11
+
code = code.replace(/{(.):\(\)=>./, (orig, e) => `{${e}:()=>${parserSym}`);
12
12
const mod = new Function("module", "exports", "require", `(${code}).apply(this, arguments)`);
13
13
14
14
const exp: any = {};
+2
-2
packages/core-extensions/src/disableSentry/index.ts
+2
-2
packages/core-extensions/src/disableSentry/index.ts
+19
-2
packages/core-extensions/src/experiments/index.ts
+19
-2
packages/core-extensions/src/experiments/index.ts
···
11
11
{
12
12
find: '"scientist:triggered"', // Scientist? Triggered.
13
13
replace: {
14
-
match: /(?<=personal_connection_id\|\|)!1/,
15
-
replacement: "!0"
14
+
match: ".personal_connection_id",
15
+
replacement: ".personal_connection_id || true"
16
16
}
17
17
},
18
18
···
23
23
match: /&&\((.)\?\(0,/,
24
24
replacement: (_, isStaff) =>
25
25
`&&(((moonlight.getConfigOption("experiments","devtools")??false)?true:${isStaff})?(0,`
26
+
}
27
+
},
28
+
// staff help menu - visual refresh
29
+
{
30
+
find: '("AppTitleBar")',
31
+
replace: {
32
+
match: /{hasBugReporterAccess:(\i)}=\i\.\i\.useExperiment\({location:"HeaderBar"},{autoTrackExposure:!1}\);/,
33
+
replacement: (orig, isStaff) =>
34
+
`${orig}if(moonlight.getConfigOption("experiments","devtools")??false)${isStaff}=true;`
35
+
}
36
+
},
37
+
{
38
+
find: 'navId:"staff-help-popout",',
39
+
replace: {
40
+
match: /isDiscordDeveloper:(\i)}\),/,
41
+
replacement: (_, isStaff) =>
42
+
`isDiscordDeveloper:(moonlight.getConfigOption("experiments","devtools")??false)||${isStaff}}),`
26
43
}
27
44
},
28
45
+12
-3
packages/core-extensions/src/moonbase/index.tsx
+12
-3
packages/core-extensions/src/moonbase/index.tsx
···
8
8
{
9
9
// CvQlAA mapped to ERRORS_ACTION_TO_TAKE
10
10
// FIXME: Better patch find?
11
-
match: /,(\(0,(.)\.jsx\))\("p",{children:.\.intl\.string\(.\..\.CvQlAA\)}\)/,
11
+
match: /,(\(0,(\i)\.jsx\))\("p",{children:\i\.\i\.string\(\i\.\i\.CvQlAA\)}\)/,
12
12
replacement: (_, createElement, ReactJSX) =>
13
13
`,${createElement}(require("moonbase_crashScreen")?.UpdateText??${ReactJSX}.Fragment,{state:this.state,setState:this.setState.bind(this)})`
14
14
},
15
15
16
16
// wrap actions field to display error details
17
17
{
18
-
match: /(?<=return(\(0,(.)\.jsx\))\(.+?,)action:(.),className:/,
18
+
match: /(?<=return(\(0,(\i)\.jsx\))\(.+?,)action:(\i),className:/,
19
19
replacement: (_, createElement, ReactJSX, action) =>
20
20
`action:require("moonbase_crashScreen")?.wrapAction?${createElement}(require("moonbase_crashScreen").wrapAction,{action:${action},state:this.state}):${action},className:`
21
21
},
···
23
23
// add update button
24
24
// +hivLS -> ERRORS_RELOAD
25
25
{
26
-
match: /(?<=\["\+hivLS"\]\)}\),(\(0,(.)\.jsx\))\(.,{}\))/,
26
+
match: /(?<=\["\+hivLS"\]\)}\),(\(0,(\i)\.jsx\))\(\i,{}\))/,
27
27
replacement: (_, createElement, ReactJSX) =>
28
28
`,${createElement}(require("moonbase_crashScreen")?.UpdateButton??${ReactJSX}.Fragment,{state:this.state,setState:this.setState.bind(this)})`
29
29
}
···
42
42
{ id: "react" },
43
43
{ id: "discord/components/common/index" },
44
44
{ ext: "moonbase", id: "stores" },
45
+
{ ext: "moonbase", id: "ThemeDarkIcon" },
45
46
{ id: "discord/modules/guild_settings/web/AppCard.css" },
47
+
{ ext: "contextMenu", id: "contextMenu" },
48
+
{ id: "discord/modules/modals/Modals" },
46
49
"Masks.PANEL_BUTTON",
47
50
'"Missing channel in Channel.openChannelContextMenu"',
48
51
".forumOrHome]:"
49
52
]
50
53
},
51
54
55
+
ThemeDarkIcon: {
56
+
dependencies: [{ ext: "common", id: "icons" }, { id: "react" }]
57
+
},
58
+
52
59
settings: {
53
60
dependencies: [
54
61
{ ext: "spacepack", id: "spacepack" },
55
62
{ ext: "settings", id: "settings" },
56
63
{ id: "react" },
57
64
{ ext: "moonbase", id: "ui" },
65
+
{ ext: "contextMenu", id: "contextMenu" },
58
66
':"USER_SETTINGS_MODAL_SET_SECTION"'
59
67
],
60
68
entrypoint: true
···
64
72
dependencies: [
65
73
{ id: "react" },
66
74
{ ext: "moonbase", id: "stores" },
75
+
{ ext: "moonbase", id: "ThemeDarkIcon" },
67
76
{ ext: "notices", id: "notices" },
68
77
{
69
78
ext: "spacepack",
+1
-1
packages/core-extensions/src/moonbase/manifest.json
+1
-1
packages/core-extensions/src/moonbase/manifest.json
···
7
7
"tagline": "The official settings UI for moonlight",
8
8
"authors": ["Cynosphere", "NotNite", "redstonekasi"]
9
9
},
10
-
"dependencies": ["spacepack", "settings", "common", "notices"],
10
+
"dependencies": ["spacepack", "settings", "common", "notices", "contextMenu"],
11
11
"settings": {
12
12
"sections": {
13
13
"advice": "reload",
+12
-21
packages/core-extensions/src/moonbase/native.ts
+12
-21
packages/core-extensions/src/moonbase/native.ts
···
15
15
16
16
export const userAgent = `moonlight/${moonlightGlobal.version} (https://github.com/moonlight-mod/moonlight)`;
17
17
18
+
// User-Agent header causes trouble on Firefox
19
+
const isBrowser = globalThis.moonlightNode != null && globalThis.moonlightNode.isBrowser;
20
+
const sharedHeaders: Record<string, string> = {};
21
+
if (!isBrowser) sharedHeaders["User-Agent"] = userAgent;
22
+
18
23
async function getStableRelease(): Promise<{
19
24
name: string;
20
25
assets: {
···
24
29
}> {
25
30
const req = await fetch(githubApiUrl, {
26
31
cache: "no-store",
27
-
headers: {
28
-
"User-Agent": userAgent
29
-
}
32
+
headers: sharedHeaders
30
33
});
31
34
return await req.json();
32
35
}
···
43
46
} else if (moonlightGlobal.branch === MoonlightBranch.NIGHTLY) {
44
47
const req = await fetch(nightlyRefUrl, {
45
48
cache: "no-store",
46
-
headers: {
47
-
"User-Agent": userAgent
48
-
}
49
+
headers: sharedHeaders
49
50
});
50
51
const ref = (await req.text()).split("\n")[0];
51
52
return ref !== moonlightGlobal.version ? ref : null;
···
71
72
logger.debug(`Downloading ${asset.browser_download_url}`);
72
73
const req = await fetch(asset.browser_download_url, {
73
74
cache: "no-store",
74
-
headers: {
75
-
"User-Agent": userAgent
76
-
}
75
+
headers: sharedHeaders
77
76
});
78
77
79
78
return [await req.arrayBuffer(), json.name];
···
83
82
logger.debug(`Downloading ${nightlyZipUrl}`);
84
83
const zipReq = await fetch(nightlyZipUrl, {
85
84
cache: "no-store",
86
-
headers: {
87
-
"User-Agent": userAgent
88
-
}
85
+
headers: sharedHeaders
89
86
});
90
87
91
88
const refReq = await fetch(nightlyRefUrl, {
92
89
cache: "no-store",
93
-
headers: {
94
-
"User-Agent": userAgent
95
-
}
90
+
headers: sharedHeaders
96
91
});
97
92
const ref = (await refReq.text()).split("\n")[0];
98
93
···
139
134
try {
140
135
const req = await fetch(repo, {
141
136
cache: "no-store",
142
-
headers: {
143
-
"User-Agent": userAgent
144
-
}
137
+
headers: sharedHeaders
145
138
});
146
139
const json = await req.json();
147
140
ret[repo] = json;
···
156
149
async installExtension(manifest, url, repo) {
157
150
const req = await fetch(url, {
158
151
cache: "no-store",
159
-
headers: {
160
-
"User-Agent": userAgent
161
-
}
152
+
headers: sharedHeaders
162
153
});
163
154
164
155
const dir = moonlightGlobal.getExtensionDir(manifest.id);
+6
-2
packages/core-extensions/src/moonbase/style.css
+6
-2
packages/core-extensions/src/moonbase/style.css
···
251
251
padding-top: 0.5rem;
252
252
}
253
253
254
+
.moonbase-dev {
255
+
height: 4rem;
256
+
}
257
+
254
258
.moonbase-dev-avatar {
255
259
width: 2rem;
256
260
border-radius: 50%;
···
260
264
gap: 0.5rem;
261
265
}
262
266
263
-
.moonbase-about-text {
264
-
padding-top: 0.5rem;
267
+
.moonbase-about-page {
268
+
gap: 1rem;
265
269
}
+36
packages/core-extensions/src/moonbase/webpackModules/ThemeDarkIcon.tsx
+36
packages/core-extensions/src/moonbase/webpackModules/ThemeDarkIcon.tsx
···
1
+
// RIP to ThemeDarkIcon ????-2025
2
+
// <Cynthia> Failed to remap "ThemeDarkIcon" in "discord/components/common/index"
3
+
// <NotNite> bro are you fucking kidding me
4
+
// <NotNite> that's literally the icon we use for the update banner
5
+
6
+
import React from "@moonlight-mod/wp/react";
7
+
import icons from "@moonlight-mod/wp/common_icons";
8
+
import type { IconProps } from "@moonlight-mod/types/coreExtensions/common";
9
+
10
+
export default function ThemeDarkIcon(props?: IconProps) {
11
+
const parsed = icons.parseProps(props);
12
+
13
+
return (
14
+
<svg
15
+
aria-hidden="true"
16
+
role="img"
17
+
xmlns="http://www.w3.org/2000/svg"
18
+
width={parsed.width}
19
+
height={parsed.height}
20
+
fill="none"
21
+
viewBox="0 0 24 24"
22
+
>
23
+
<path
24
+
fill={parsed.fill}
25
+
className={parsed.className}
26
+
d="M20.52 18.96c.32-.4-.01-.96-.52-.96A11 11 0 0 1 9.77 2.94c.31-.78-.3-1.68-1.1-1.43a11 11 0 1 0 11.85 17.45Z"
27
+
/>
28
+
29
+
<path
30
+
fill={parsed.fill}
31
+
className={parsed.className}
32
+
d="m17.73 9.27-.76-2.02a.5.5 0 0 0-.94 0l-.76 2.02-2.02.76a.5.5 0 0 0 0 .94l2.02.76.76 2.02a.5.5 0 0 0 .94 0l.76-2.02 2.02-.76a.5.5 0 0 0 0-.94l-2.02-.76ZM19.73 2.62l.45 1.2 1.2.45c.21.08.21.38 0 .46l-1.2.45-.45 1.2a.25.25 0 0 1-.46 0l-.45-1.2-1.2-.45a.25.25 0 0 1 0-.46l1.2-.45.45-1.2a.25.25 0 0 1 .46 0Z"
33
+
/>
34
+
</svg>
35
+
);
36
+
}
+19
-3
packages/core-extensions/src/moonbase/webpackModules/crashScreen.tsx
+19
-3
packages/core-extensions/src/moonbase/webpackModules/crashScreen.tsx
···
6
6
import { ConfigExtension, DetectedExtension } from "@moonlight-mod/types";
7
7
import DiscoveryClasses from "@moonlight-mod/wp/discord/modules/discovery/web/Discovery.css";
8
8
9
-
const MODULE_REGEX = /Webpack-Module-(\d+)/g;
9
+
const MODULE_REGEX = /Webpack-Module\/(\d+)\/(\d+)/g;
10
10
11
11
const logger = moonlight.getLogger("moonbase/crashScreen");
12
12
···
139
139
const causes = React.useMemo(() => {
140
140
const causes = new Set<string>();
141
141
if (state.error.stack) {
142
-
for (const [, id] of state.error.stack.matchAll(MODULE_REGEX))
142
+
for (const [, , id] of state.error.stack.matchAll(MODULE_REGEX))
143
143
for (const ext of moonlight.patched.get(id) ?? []) causes.add(ext);
144
144
}
145
-
for (const [, id] of state.info.componentStack.matchAll(MODULE_REGEX))
145
+
for (const [, , id] of state.info.componentStack.matchAll(MODULE_REGEX))
146
146
for (const ext of moonlight.patched.get(id) ?? []) causes.add(ext);
147
+
148
+
for (const [path, id] of Object.entries(moonlight.moonmap.modules)) {
149
+
const MAPPING_REGEX = new RegExp(
150
+
// @ts-expect-error Only Firefox has RegExp.escape
151
+
`(${RegExp.escape ? RegExp.escape(path) : path.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")})`,
152
+
"g"
153
+
);
154
+
155
+
if (state.error.stack) {
156
+
for (const match of state.error.stack.matchAll(MAPPING_REGEX))
157
+
if (match) for (const ext of moonlight.patched.get(id) ?? []) causes.add(ext);
158
+
}
159
+
for (const match of state.info.componentStack.matchAll(MAPPING_REGEX))
160
+
if (match) for (const ext of moonlight.patched.get(id) ?? []) causes.add(ext);
161
+
}
162
+
147
163
return [...causes];
148
164
}, []);
149
165
+2
-1
packages/core-extensions/src/moonbase/webpackModules/settings.tsx
+2
-1
packages/core-extensions/src/moonbase/webpackModules/settings.tsx
···
5
5
import UserSettingsModalActionCreators from "@moonlight-mod/wp/discord/actions/UserSettingsModalActionCreators";
6
6
import Margins from "@moonlight-mod/wp/discord/styles/shared/Margins.css";
7
7
import { MoonbaseSettingsStore } from "@moonlight-mod/wp/moonbase_stores";
8
-
import { MenuItem, Text, Breadcrumbs } from "@moonlight-mod/wp/discord/components/common/index";
8
+
import { Text, Breadcrumbs } from "@moonlight-mod/wp/discord/components/common/index";
9
+
import { MenuItem } from "@moonlight-mod/wp/contextMenu_contextMenu";
9
10
10
11
const notice = {
11
12
stores: [MoonbaseSettingsStore],
+23
-41
packages/core-extensions/src/moonbase/webpackModules/ui/about.tsx
+23
-41
packages/core-extensions/src/moonbase/webpackModules/ui/about.tsx
···
1
1
import {
2
-
Card,
3
2
Text,
4
3
useThemeContext,
5
4
Button,
···
10
9
import Flex from "@moonlight-mod/wp/discord/uikit/Flex";
11
10
import React from "@moonlight-mod/wp/react";
12
11
import MarkupUtils from "@moonlight-mod/wp/discord/modules/markup/MarkupUtils";
13
-
import AppCardClasses from "@moonlight-mod/wp/discord/modules/guild_settings/web/AppCard.css";
14
12
import spacepack from "@moonlight-mod/wp/spacepack_spacepack";
15
13
16
14
const wordmark = "https://raw.githubusercontent.com/moonlight-mod/moonlight/refs/heads/main/img/wordmark.png";
···
27
25
28
26
function Dev({ name, picture, link }: { name: string; picture: string; link: string }) {
29
27
return (
30
-
<Card editable={true} className={AppCardClasses.card}>
31
-
<div className={AppCardClasses.cardHeader + " moonbase-dev"}>
32
-
<Flex direction={Flex.Direction.HORIZONTAL} align={Flex.Align.CENTER}>
33
-
<img src={picture} alt={name} className="moonbase-dev-avatar" />
28
+
<Button onClick={() => window.open(link)} color={Button.Colors.PRIMARY} className="moonbase-dev">
29
+
<Flex direction={Flex.Direction.HORIZONTAL} align={Flex.Align.CENTER} className="moonbase-gap">
30
+
<img src={picture} alt={name} className="moonbase-dev-avatar" />
34
31
35
-
<Flex direction={Flex.Direction.VERTICAL} align={Flex.Align.CENTER}>
36
-
<a href={link} rel="noreferrer noopener" target="_blank" tabIndex={-1}>
37
-
<Text variant="text-md/semibold">{name}</Text>
38
-
</a>
39
-
</Flex>
40
-
</Flex>
41
-
</div>
42
-
</Card>
32
+
<Text variant="text-md/semibold">{name}</Text>
33
+
</Flex>
34
+
</Button>
43
35
);
44
36
}
45
37
···
82
74
}
83
75
84
76
export default function AboutPage() {
85
-
const darkTheme = useThemeContext()?.theme === "dark";
77
+
const darkTheme = useThemeContext()?.theme !== "light";
86
78
87
79
return (
88
-
<div>
89
-
<Flex direction={Flex.Direction.VERTICAL} align={Flex.Align.CENTER}>
90
-
<img src={darkTheme ? wordmarkLight : wordmark} alt="moonlight wordmark" className="moonbase-wordmark" />
91
-
<Text variant="heading-lg/medium">created by:</Text>
92
-
<div className="moonbase-devs">
93
-
<Dev name="Cynosphere" picture="https://github.com/Cynosphere.png" link="https://github.com/Cynosphere" />
94
-
<Dev name="NotNite" picture="https://github.com/NotNite.png" link="https://github.com/NotNite" />
95
-
<Dev name="adryd" picture="https://github.com/adryd325.png" link="https://github.com/adryd325" />
96
-
<Dev
97
-
name="redstonekasi"
98
-
picture="https://github.com/redstonekasi.png"
99
-
link="https://github.com/redstonekasi"
100
-
/>
101
-
</div>
80
+
<Flex direction={Flex.Direction.VERTICAL} align={Flex.Align.CENTER} className="moonbase-about-page">
81
+
<img src={darkTheme ? wordmarkLight : wordmark} alt="moonlight wordmark" className="moonbase-wordmark" />
102
82
103
-
<Flex direction={Flex.Direction.HORIZONTAL} align={Flex.Align.CENTER} className="moonbase-gap">
104
-
<IconButton text="View source" icon={AngleBracketsIcon} link="https://github.com/moonlight-mod/moonlight" />
105
-
<IconButton text="Open the docs" icon={BookCheckIcon} link="https://moonlight-mod.github.io/" />
106
-
<IconButton
107
-
text="Join the server"
108
-
icon={ClydeIcon}
109
-
link="https://discord.gg/FdZBTFCP6F"
110
-
openInClient={true}
111
-
/>
112
-
</Flex>
83
+
<Text variant="heading-lg/medium">created by:</Text>
84
+
<div className="moonbase-devs">
85
+
<Dev name="Cynosphere" picture="https://github.com/Cynosphere.png" link="https://github.com/Cynosphere" />
86
+
<Dev name="NotNite" picture="https://github.com/NotNite.png" link="https://github.com/NotNite" />
87
+
<Dev name="adryd" picture="https://github.com/adryd325.png" link="https://github.com/adryd325" />
88
+
<Dev name="redstonekasi" picture="https://github.com/redstonekasi.png" link="https://github.com/redstonekasi" />
89
+
</div>
90
+
91
+
<Flex direction={Flex.Direction.HORIZONTAL} align={Flex.Align.CENTER} className="moonbase-gap">
92
+
<IconButton text="View source" icon={AngleBracketsIcon} link="https://github.com/moonlight-mod/moonlight" />
93
+
<IconButton text="Open the docs" icon={BookCheckIcon} link="https://moonlight-mod.github.io/" />
94
+
<IconButton text="Join the server" icon={ClydeIcon} link="https://discord.gg/FdZBTFCP6F" openInClient={true} />
113
95
</Flex>
114
96
115
-
<Flex direction={Flex.Direction.VERTICAL} align={Flex.Align.START} className="moonbase-about-text">
97
+
<Flex direction={Flex.Direction.VERTICAL} align={Flex.Align.START}>
116
98
<Text variant="text-sm/normal">
117
99
{parse(`moonlight \`${window.moonlight.version}\` on \`${window.moonlight.branch}\``)}
118
100
</Text>
···
123
105
)}
124
106
</Text>
125
107
</Flex>
126
-
</div>
108
+
</Flex>
127
109
);
128
110
}
+8
-3
packages/core-extensions/src/moonbase/webpackModules/ui/extensions/card.tsx
+8
-3
packages/core-extensions/src/moonbase/webpackModules/ui/extensions/card.tsx
···
3
3
4
4
import { ExtensionCompat } from "@moonlight-mod/core/extension/loader";
5
5
import {
6
-
BeakerIcon,
6
+
ScienceIcon,
7
7
DownloadIcon,
8
8
TrashIcon,
9
9
AngleBracketsIcon,
···
28
28
import MarkupClasses from "@moonlight-mod/wp/discord/modules/messages/web/Markup.css";
29
29
import BuildOverrideClasses from "@moonlight-mod/wp/discord/modules/build_overrides/web/BuildOverride.css";
30
30
import { MoonbaseSettingsStore } from "@moonlight-mod/wp/moonbase_stores";
31
+
import ErrorBoundary from "@moonlight-mod/wp/common_ErrorBoundary";
31
32
import ExtensionInfo from "./info";
32
33
import Settings from "./settings";
33
34
import { doGenericExtensionPopup, doMissingExtensionPopup } from "./popup";
···
118
119
<Text variant="text-md/semibold">{ext.manifest?.meta?.name ?? ext.id}</Text>
119
120
{ext.source.type === ExtensionLoadSource.Developer && (
120
121
<Tooltip text="This is a local extension" position="top">
121
-
{(props: any) => <BeakerIcon {...props} class={BuildOverrideClasses.infoIcon} size="xs" />}
122
+
{(props: any) => <ScienceIcon {...props} class={BuildOverrideClasses.infoIcon} size="xs" />}
122
123
</Tooltip>
123
124
)}
124
125
···
322
323
})}
323
324
</Text>
324
325
)}
325
-
{tab === ExtensionPage.Settings && <Settings ext={ext} />}
326
+
{tab === ExtensionPage.Settings && (
327
+
<ErrorBoundary>
328
+
<Settings ext={ext} />
329
+
</ErrorBoundary>
330
+
)}
326
331
</Flex>
327
332
</div>
328
333
</Card>
+3
-5
packages/core-extensions/src/moonbase/webpackModules/ui/extensions/filterBar.tsx
+3
-5
packages/core-extensions/src/moonbase/webpackModules/ui/extensions/filterBar.tsx
···
10
10
Popout,
11
11
Dialog,
12
12
Menu,
13
-
MenuGroup,
14
-
MenuCheckboxItem,
15
-
MenuItem,
16
13
ChevronSmallDownIcon,
17
14
ChevronSmallUpIcon,
18
15
ArrowsUpDownIcon,
19
16
RetryIcon,
20
17
Tooltip
21
18
} from "@moonlight-mod/wp/discord/components/common/index";
19
+
import { MenuGroup, MenuCheckboxItem, MenuItem } from "@moonlight-mod/wp/contextMenu_contextMenu";
22
20
import { MoonbaseSettingsStore } from "@moonlight-mod/wp/moonbase_stores";
23
21
import Margins from "@moonlight-mod/wp/discord/styles/shared/Margins.css";
24
22
import TagItem from "@moonlight-mod/wp/discord/modules/forums/web/Tag";
···
236
234
{...props}
237
235
size={Button.Sizes.MIN}
238
236
color={Button.Colors.CUSTOM}
239
-
className={`${ForumsClasses.sortDropdown} moonbase-retry-button ${checkingUpdates ? "moonbase-speen" : ""}`}
237
+
className={`${ForumsClasses.sortDropdown} moonbase-retry-button`}
240
238
innerClassName={ForumsClasses.sortDropdownInner}
241
239
onClick={() => {
242
240
(async () => {
···
251
249
})();
252
250
}}
253
251
>
254
-
<RetryIcon size={"custom"} width={16} />
252
+
<RetryIcon size={"custom"} width={16} className={checkingUpdates ? "moonbase-speen" : ""} />
255
253
</Button>
256
254
)}
257
255
</Tooltip>
+7
-2
packages/core-extensions/src/moonbase/webpackModules/ui/extensions/index.tsx
+7
-2
packages/core-extensions/src/moonbase/webpackModules/ui/extensions/index.tsx
···
15
15
import PanelButton from "@moonlight-mod/wp/discord/components/common/PanelButton";
16
16
17
17
import { MoonbaseSettingsStore } from "@moonlight-mod/wp/moonbase_stores";
18
+
import ErrorBoundary from "@moonlight-mod/wp/common_ErrorBoundary";
18
19
import { ExtensionCompat } from "@moonlight-mod/core/extension/loader";
19
20
import HelpMessage from "../HelpMessage";
20
21
···
144
145
)}
145
146
146
147
{filteredWithUpdates.map((ext) => (
147
-
<ExtensionCard uniqueId={ext.uniqueId} key={ext.uniqueId} selectTag={selectTag} />
148
+
<ErrorBoundary>
149
+
<ExtensionCard uniqueId={ext.uniqueId} key={ext.uniqueId} selectTag={selectTag} />
150
+
</ErrorBoundary>
148
151
))}
149
152
{filteredWithUpdates.length > 0 && filteredWithoutUpdates.length > 0 && (
150
153
<FormDivider className="moonbase-update-divider" />
151
154
)}
152
155
{filteredWithoutUpdates.map((ext) => (
153
-
<ExtensionCard uniqueId={ext.uniqueId} key={ext.uniqueId} selectTag={selectTag} />
156
+
<ErrorBoundary>
157
+
<ExtensionCard uniqueId={ext.uniqueId} key={ext.uniqueId} selectTag={selectTag} />
158
+
</ErrorBoundary>
154
159
))}
155
160
</>
156
161
);
+2
-7
packages/core-extensions/src/moonbase/webpackModules/ui/extensions/popup.tsx
+2
-7
packages/core-extensions/src/moonbase/webpackModules/ui/extensions/popup.tsx
···
1
1
// TODO: clean up the styling here
2
2
import React from "@moonlight-mod/wp/react";
3
3
import { MoonbaseExtension } from "core-extensions/src/moonbase/types";
4
-
import {
5
-
openModalLazy,
6
-
useModalsStore,
7
-
closeModal,
8
-
SingleSelect,
9
-
Text
10
-
} from "@moonlight-mod/wp/discord/components/common/index";
4
+
import { openModalLazy, useModalsStore, closeModal } from "@moonlight-mod/wp/discord/modules/modals/Modals";
5
+
import { SingleSelect, Text } from "@moonlight-mod/wp/discord/components/common/index";
11
6
import { MoonbaseSettingsStore } from "@moonlight-mod/wp/moonbase_stores";
12
7
import { ExtensionLoadSource } from "@moonlight-mod/types";
13
8
import Flex from "@moonlight-mod/wp/discord/uikit/Flex";
+4
-1
packages/core-extensions/src/moonbase/webpackModules/ui/extensions/settings.tsx
+4
-1
packages/core-extensions/src/moonbase/webpackModules/ui/extensions/settings.tsx
···
33
33
import Flex from "@moonlight-mod/wp/discord/uikit/Flex";
34
34
import MarkupUtils from "@moonlight-mod/wp/discord/modules/markup/MarkupUtils";
35
35
import { MoonbaseSettingsStore } from "@moonlight-mod/wp/moonbase_stores";
36
+
import ErrorBoundary from "@moonlight-mod/wp/common_ErrorBoundary";
36
37
37
38
let GuildSettingsRoleEditClasses: any;
38
39
spacepack
···
377
378
}
378
379
379
380
return (
380
-
<Component value={value} setValue={(value) => MoonbaseSettingsStore.setExtensionConfig(ext.id, name, value)} />
381
+
<ErrorBoundary>
382
+
<Component value={value} setValue={(value) => MoonbaseSettingsStore.setExtensionConfig(ext.id, name, value)} />
383
+
</ErrorBoundary>
381
384
);
382
385
}
383
386
+1
-1
packages/core-extensions/src/moonbase/webpackModules/ui/update.tsx
+1
-1
packages/core-extensions/src/moonbase/webpackModules/ui/update.tsx
···
7
7
import MarkupUtils from "@moonlight-mod/wp/discord/modules/markup/MarkupUtils";
8
8
import Flex from "@moonlight-mod/wp/discord/uikit/Flex";
9
9
import {
10
-
ThemeDarkIcon,
11
10
Button,
12
11
Text,
13
12
ModalRoot,
···
19
18
openModal
20
19
} from "@moonlight-mod/wp/discord/components/common/index";
21
20
import MarkupClasses from "@moonlight-mod/wp/discord/modules/messages/web/Markup.css";
21
+
import ThemeDarkIcon from "@moonlight-mod/wp/moonbase_ThemeDarkIcon";
22
22
23
23
const strings: Record<UpdateState, string> = {
24
24
[UpdateState.Ready]: "A new version of moonlight is available.",
+1
-1
packages/core-extensions/src/moonbase/webpackModules/updates.tsx
+1
-1
packages/core-extensions/src/moonbase/webpackModules/updates.tsx
···
3
3
import Notices from "@moonlight-mod/wp/notices_notices";
4
4
import { MoonlightBranch } from "@moonlight-mod/types";
5
5
import React from "@moonlight-mod/wp/react";
6
-
import { ThemeDarkIcon } from "@moonlight-mod/wp/discord/components/common/index";
6
+
import ThemeDarkIcon from "@moonlight-mod/wp/moonbase_ThemeDarkIcon";
7
7
8
8
function plural(str: string, num: number) {
9
9
return `${str}${num > 1 ? "s" : ""}`;
+5
packages/core-extensions/src/moonbase/wp.d.ts
+5
packages/core-extensions/src/moonbase/wp.d.ts
···
5
5
declare module "@moonlight-mod/wp/moonbase_stores" {
6
6
export * from "core-extensions/src/moonbase/webpackModules/stores";
7
7
}
8
+
9
+
declare module "@moonlight-mod/wp/moonbase_ThemeDarkIcon" {
10
+
import ThemeDarkIcon from "core-extensions/src/moonbase/webpackModules/ThemeDarkIcon";
11
+
export = ThemeDarkIcon;
12
+
}
+14
-2
packages/core-extensions/src/nativeFixes/host.ts
+14
-2
packages/core-extensions/src/nativeFixes/host.ts
···
29
29
app.commandLine.appendSwitch("disable-background-timer-throttling");
30
30
}
31
31
32
+
if (moonlightHost.getConfigOption<boolean>("nativeFixes", "vulkan") ?? false) {
33
+
enabledFeatures.push("Vulkan", "DefaultANGLEVulkan", "VulkanFromANGLE");
34
+
}
35
+
32
36
if (process.platform === "linux") {
33
37
if (moonlightHost.getConfigOption<boolean>("nativeFixes", "linuxAutoscroll") ?? false) {
34
38
app.commandLine.appendSwitch("enable-blink-features", "MiddleClickAutoscroll");
···
37
41
if (moonlightHost.getConfigOption<boolean>("nativeFixes", "linuxSpeechDispatcher") ?? true) {
38
42
app.commandLine.appendSwitch("enable-speech-dispatcher");
39
43
}
44
+
45
+
if (moonlightHost.getConfigOption<boolean>("nativeFixes", "linuxHevcSupport") ?? true) {
46
+
enabledFeatures.push("PlatformHEVCDecoderSupport");
47
+
}
40
48
}
41
49
42
50
// NOTE: Only tested if this appears on Windows, it should appear on all when
43
51
// hardware acceleration is disabled
44
52
const noAccel = app.commandLine.hasSwitch("disable-gpu-compositing");
45
53
if ((moonlightHost.getConfigOption<boolean>("nativeFixes", "vaapi") ?? true) && !noAccel) {
46
-
if (process.platform === "linux")
54
+
if (process.platform === "linux") {
47
55
// These will eventually be renamed https://source.chromium.org/chromium/chromium/src/+/5482210941a94d70406b8da962426e4faca7fce4
48
56
enabledFeatures.push("VaapiVideoEncoder", "VaapiVideoDecoder", "VaapiVideoDecodeLinuxGL");
57
+
58
+
if (moonlightHost.getConfigOption<boolean>("nativeFixes", "vaapiIgnoreDriverChecks") ?? false)
59
+
enabledFeatures.push("VaapiIgnoreDriverChecks");
60
+
}
49
61
}
50
62
51
63
app.commandLine.appendSwitch("enable-features", [...new Set(enabledFeatures)].join(","));
···
113
125
if (filePath === "resources/app.asar") {
114
126
// You tried
115
127
targetFilePath = path.join(targetDir, "resources", "_app.asar");
116
-
} else if (filePath === appName) {
128
+
} else if (filePath === appName || filePath === "chrome_crashpad_handler") {
117
129
// Can't write over the executable? Just move it! 4head
118
130
if (await exists(targetFilePath)) {
119
131
await fs.rename(targetFilePath, targetFilePath + ".bak");
+21
packages/core-extensions/src/nativeFixes/manifest.json
+21
packages/core-extensions/src/nativeFixes/manifest.json
···
23
23
"type": "boolean",
24
24
"default": true
25
25
},
26
+
"vulkan": {
27
+
"advice": "restart",
28
+
"displayName": "Enable Vulkan renderer",
29
+
"description": "Uses the Vulkan backend for rendering",
30
+
"type": "boolean",
31
+
"default": false
32
+
},
26
33
"linuxAutoscroll": {
27
34
"advice": "restart",
28
35
"displayName": "Enable middle click autoscroll on Linux",
···
44
51
"type": "boolean",
45
52
"default": true
46
53
},
54
+
"vaapiIgnoreDriverChecks": {
55
+
"advice": "restart",
56
+
"displayName": "Ignore VAAPI driver checks on Linux",
57
+
"description": "Forces hardware video acceleration on some graphics drivers at the cost of stability. Has no effect on other operating systems",
58
+
"type": "boolean",
59
+
"default": false
60
+
},
47
61
"linuxUpdater": {
48
62
"advice": "restart",
49
63
"displayName": "Linux Updater",
50
64
"description": "Actually implements updating Discord on Linux. Has no effect on other operating systems",
51
65
"type": "boolean",
52
66
"default": false
67
+
},
68
+
"linuxHevcSupport": {
69
+
"advice": "restart",
70
+
"displayName": "HEVC support on Linux",
71
+
"description": "You might also need to enable Vulkan renderer. Has no effect on other operating systems",
72
+
"type": "boolean",
73
+
"default": true
53
74
}
54
75
},
55
76
"apiLevel": 2
+3
-3
packages/core-extensions/src/noHideToken/index.ts
+3
-3
packages/core-extensions/src/noHideToken/index.ts
+3
-3
packages/core-extensions/src/noTrack/index.ts
+3
-3
packages/core-extensions/src/noTrack/index.ts
···
2
2
3
3
export const patches: Patch[] = [
4
4
{
5
-
find: "analyticsTrackingStoreMaker:function",
5
+
find: "analyticsTrackingStoreMaker:()=>",
6
6
replace: {
7
-
match: /analyticsTrackingStoreMaker:function\(\){return .+?}/,
8
-
replacement: "analyticsTrackingStoreMaker:function(){return ()=>{}}"
7
+
match: /analyticsTrackingStoreMaker:\(\)=>.+?,/,
8
+
replacement: "analyticsTrackingStoreMaker:()=>()=>{},"
9
9
}
10
10
},
11
11
{
+2
-2
packages/core-extensions/src/quietLoggers/index.ts
+2
-2
packages/core-extensions/src/quietLoggers/index.ts
···
30
30
// Patches to simply remove a logger call
31
31
const stubPatches = [
32
32
// "sh" is not a valid locale.
33
-
["is not a valid locale", /(.)\.error\(""\.concat\((.)," is not a valid locale\."\)\)/g],
33
+
["is not a valid locale", /void (.)\.error\(""\.concat\((.)," is not a valid locale\."\)\)/g],
34
34
['"[BUILD INFO] Release Channel: "', /new .{1,2}\.Z\(\)\.log\("\[BUILD INFO\] Release Channel: ".+?\)\),/],
35
35
['.APP_NATIVE_CRASH,"Storage"', /console\.log\("AppCrashedFatalReport lastCrash:",.,.\);/],
36
-
['.APP_NATIVE_CRASH,"Storage"', 'console.log("AppCrashedFatalReport: getLastCrash not supported.");'],
36
+
['.APP_NATIVE_CRASH,"Storage"', 'void console.log("AppCrashedFatalReport: getLastCrash not supported.")'],
37
37
['"[NATIVE INFO] ', /new .{1,2}\.Z\(\)\.log\("\[NATIVE INFO] .+?\)\);/],
38
38
['"Spellchecker"', /.\.info\("Switching to ".+?"\(unavailable\)"\);?/g],
39
39
['throw Error("Messages are still loading.");', /console\.warn\("Unsupported Locale",.\),/],
+1
-1
packages/core-extensions/src/settings/index.ts
+1
-1
packages/core-extensions/src/settings/index.ts
···
12
12
{
13
13
find: 'navId:"user-settings-cog",',
14
14
replace: {
15
-
match: /children:\[(.)\.map\(.+?\),children:.\((.)\)/,
15
+
match: /children:\[(\i)\.map\(.+?\),.*?children:\i\((\i)\)/,
16
16
replacement: (orig, sections, section) =>
17
17
`${orig.replace(
18
18
/Object\.values\(.\..+?\)/,
+8
-2
packages/core-extensions/src/settings/webpackModules/settings.ts
+8
-2
packages/core-extensions/src/settings/webpackModules/settings.ts
···
1
1
import { SettingsSection, Settings as SettingsType } from "@moonlight-mod/types/coreExtensions/settings";
2
+
import UserSettingsModalActionCreators from "@moonlight-mod/wp/discord/actions/UserSettingsModalActionCreators";
2
3
3
4
export const Settings: SettingsType = {
4
5
ourSections: [],
5
6
sectionNames: [],
6
7
sectionMenuItems: {},
7
8
8
-
addSection: (section, label, element, color = null, pos, notice) => {
9
+
addSection: (section, label, element, color = null, pos, notice, onClick) => {
9
10
const data: SettingsSection = {
10
11
section,
11
12
label,
12
13
color,
13
14
element,
14
15
pos: pos ?? -4,
15
-
notice: notice
16
+
notice: notice,
17
+
onClick: onClick ?? (() => UserSettingsModalActionCreators.open(section))
16
18
};
17
19
18
20
Settings.ourSections.push(data);
···
43
45
44
46
_mutateSections: (sections) => {
45
47
for (const section of Settings.ourSections) {
48
+
// Discord's `pos` only supports numbers, so lets call the function to get the position.
49
+
if (typeof section.pos === "function") {
50
+
section.pos = section.pos(sections);
51
+
}
46
52
sections.splice(section.pos < 0 ? sections.length + section.pos : section.pos, 0, section);
47
53
}
48
54
+4
-1
packages/core-extensions/src/spacepack/webpackModules/spacepack.ts
+4
-1
packages/core-extensions/src/spacepack/webpackModules/spacepack.ts
···
37
37
"module",
38
38
"exports",
39
39
"require",
40
-
`(${funcStr}).apply(this, arguments)\n` + `//# sourceURL=Webpack-Module-${module}`
40
+
`(${funcStr}).apply(this, arguments)\n` + `//# sourceURL=Webpack-Module/${module.slice(0, 3)}/${module}`
41
41
) as WebpackModuleFunc;
42
42
},
43
43
···
184
184
},
185
185
186
186
lazyLoad: (find: string | RegExp | (string | RegExp)[], chunk: RegExp, module: RegExp) => {
187
+
chunk = processFind(chunk);
188
+
module = processFind(module);
189
+
187
190
const mod = Array.isArray(find) ? spacepack.findByCode(...find) : spacepack.findByCode(find);
188
191
if (mod.length < 1) {
189
192
logger.warn("lazyLoad: Module find failed", find, chunk, module, new Error().stack!.substring(5));
+4
-1
packages/core-extensions/tsconfig.json
+4
-1
packages/core-extensions/tsconfig.json
+10
-3
packages/injector/package.json
+10
-3
packages/injector/package.json
···
1
1
{
2
2
"name": "@moonlight-mod/injector",
3
3
"private": true,
4
+
"engines": {
5
+
"node": ">=22",
6
+
"pnpm": ">=10",
7
+
"npm": "pnpm",
8
+
"yarn": "pnpm"
9
+
},
4
10
"dependencies": {
5
-
"@moonlight-mod/types": "workspace:*",
6
-
"@moonlight-mod/core": "workspace:*"
7
-
}
11
+
"@moonlight-mod/core": "workspace:*",
12
+
"@moonlight-mod/types": "workspace:*"
13
+
},
14
+
"engineStrict": true
8
15
}
+2
packages/injector/src/index.ts
+2
packages/injector/src/index.ts
+8
-1
packages/node-preload/package.json
+8
-1
packages/node-preload/package.json
···
1
1
{
2
2
"name": "@moonlight-mod/node-preload",
3
3
"private": true,
4
+
"engines": {
5
+
"node": ">=22",
6
+
"pnpm": ">=10",
7
+
"npm": "pnpm",
8
+
"yarn": "pnpm"
9
+
},
4
10
"dependencies": {
5
11
"@moonlight-mod/core": "workspace:*",
6
12
"@moonlight-mod/types": "workspace:*"
7
-
}
13
+
},
14
+
"engineStrict": true
8
15
}
+4
packages/node-preload/src/index.ts
+4
packages/node-preload/src/index.ts
···
11
11
import createFS from "@moonlight-mod/core/fs";
12
12
import { registerCors, registerBlocked, getDynamicCors } from "@moonlight-mod/core/cors";
13
13
import { getConfig, getConfigOption, getManifest, setConfigOption } from "@moonlight-mod/core/util/config";
14
+
import { NodeEventPayloads, NodeEventType } from "@moonlight-mod/types/core/event";
15
+
import { createEventEmitter } from "@moonlight-mod/core/util/event";
14
16
15
17
let initialized = false;
16
18
let logger: Logger;
···
51
53
processedExtensions,
52
54
nativesCache: {},
53
55
isBrowser: false,
56
+
events: createEventEmitter<NodeEventType, NodeEventPayloads>(),
54
57
55
58
version: MOONLIGHT_VERSION,
56
59
branch: MOONLIGHT_BRANCH as MoonlightBranch,
···
69
72
async writeConfig(newConfig) {
70
73
await writeConfig(newConfig);
71
74
config = newConfig;
75
+
this.events.dispatchEvent(NodeEventType.ConfigSaved, newConfig);
72
76
},
73
77
74
78
getNatives: (ext: string) => global.moonlightNode.nativesCache[ext],
+4
-1
packages/node-preload/tsconfig.json
+4
-1
packages/node-preload/tsconfig.json
+14
-7
packages/types/package.json
+14
-7
packages/types/package.json
···
1
1
{
2
2
"name": "@moonlight-mod/types",
3
-
"version": "1.3.9",
4
-
"main": "./src/index.ts",
5
-
"types": "./src/index.ts",
3
+
"version": "1.3.17",
6
4
"exports": {
7
5
".": "./src/index.ts",
8
6
"./import": "./src/import.d.ts",
9
7
"./*": "./src/*.ts"
10
8
},
9
+
"main": "./src/index.ts",
10
+
"types": "./src/index.ts",
11
+
"engineStrict": false,
12
+
"engines": {
13
+
"node": ">=22",
14
+
"pnpm": ">=10",
15
+
"npm": "pnpm",
16
+
"yarn": "pnpm"
17
+
},
11
18
"dependencies": {
12
-
"@moonlight-mod/lunast": "^1.0.0",
13
-
"@moonlight-mod/mappings": "^1.1.10",
14
-
"@moonlight-mod/moonmap": "^1.0.3",
19
+
"@moonlight-mod/lunast": "^1.0.1",
20
+
"@moonlight-mod/mappings": "^1.1.25",
21
+
"@moonlight-mod/moonmap": "^1.0.5",
15
22
"@types/react": "^18.3.10",
16
-
"csstype": "^3.1.2",
23
+
"csstype": "^3.1.3",
17
24
"standalone-electron-types": "^1.0.0"
18
25
}
19
26
}
+13
-4
packages/types/src/core/event.ts
+13
-4
packages/types/src/core/event.ts
···
1
+
import { Config } from "../config";
1
2
import { WebpackModuleFunc, WebpackRequireType } from "../discord";
2
3
3
4
export interface MoonlightEventEmitter<EventId extends string = string, EventData = Record<EventId, any>> {
···
6
7
removeEventListener: <Id extends keyof EventData>(id: Id, cb: (data: EventData[Id]) => void) => void;
7
8
}
8
9
9
-
export enum EventType {
10
+
export enum WebEventType {
10
11
ChunkLoad = "chunkLoad",
11
12
ExtensionLoad = "extensionLoad"
12
13
}
13
14
14
-
export type EventPayloads = {
15
-
[EventType.ChunkLoad]: {
15
+
export type WebEventPayloads = {
16
+
[WebEventType.ChunkLoad]: {
16
17
chunkId?: number[];
17
18
modules: { [id: string]: WebpackModuleFunc };
18
19
require?: (require: WebpackRequireType) => any;
19
20
};
20
-
[EventType.ExtensionLoad]: string;
21
+
[WebEventType.ExtensionLoad]: string;
22
+
};
23
+
24
+
export enum NodeEventType {
25
+
ConfigSaved = "configSaved"
26
+
}
27
+
28
+
export type NodeEventPayloads = {
29
+
[NodeEventType.ConfigSaved]: Config;
21
30
};
+33
packages/types/src/coreExtensions/common.ts
+33
packages/types/src/coreExtensions/common.ts
···
1
+
import type { IconProps, IconSize } from "@moonlight-mod/mappings/discord/components/common/index";
2
+
3
+
export type ErrorBoundaryProps = React.PropsWithChildren<{
4
+
noop?: boolean;
5
+
fallback?: React.FC<any>;
6
+
message?: string;
7
+
}>;
8
+
9
+
export type ErrorBoundaryState = {
10
+
errored: boolean;
11
+
error?: Error;
12
+
componentStack?: string;
13
+
};
14
+
15
+
export type ErrorBoundary = React.ComponentClass<ErrorBoundaryProps, ErrorBoundaryState>;
16
+
17
+
export type ParsedIconProps = {
18
+
width: number;
19
+
height: number;
20
+
fill: string;
21
+
className: string;
22
+
};
23
+
24
+
export interface Icons {
25
+
/**
26
+
* Parse icon props into their actual width/height.
27
+
* @param props The icon props
28
+
*/
29
+
parseProps(props?: IconProps): ParsedIconProps;
30
+
}
31
+
32
+
// Re-export so extension developers don't need to depend on mappings
33
+
export type { IconProps, IconSize };
+17
packages/types/src/coreExtensions/componentEditor.ts
+17
packages/types/src/coreExtensions/componentEditor.ts
···
121
121
}
122
122
123
123
export type Messages = {
124
+
/**
125
+
* Adds a component to the username of a message
126
+
*/
124
127
addToUsername: (id: string, component: React.FC<any>, anchor?: MessageUsernameAnchors, before?: boolean) => void;
128
+
/**
129
+
* Adds a component to the username badge area of a message (e.g. where role icons/new member badge is)
130
+
*/
125
131
addUsernameBadge: (
126
132
id: string,
127
133
component: React.FC<any>,
128
134
anchor?: MessageUsernameBadgeAnchors,
129
135
before?: boolean
130
136
) => void;
137
+
/**
138
+
* Adds a component to the end of a message header (e.g. silent indicator)
139
+
*/
131
140
addBadge: (id: string, component: React.FC<any>, anchor?: MessageBadgeAnchors, before?: boolean) => void;
132
141
/**
142
+
* Adds a component to message accessories (e.g. embeds)
143
+
*/
144
+
addAccessory: (id: string, component: React.FC<any>) => void;
145
+
/**
133
146
* @private
134
147
*/
135
148
_patchUsername: Patcher<any>;
···
141
154
* @private
142
155
*/
143
156
_patchBadges: Patcher<any>;
157
+
/**
158
+
* @private
159
+
*/
160
+
_patchAccessories: Patcher<any>;
144
161
};
145
162
//#endregion
+10
-7
packages/types/src/coreExtensions/settings.ts
+10
-7
packages/types/src/coreExtensions/settings.ts
···
7
7
};
8
8
9
9
export type SettingsSection =
10
-
| { section: "DIVIDER"; pos: number }
11
-
| { section: "HEADER"; label: string; pos: number }
10
+
| { section: "DIVIDER"; pos: number | ((sections: SettingsSection[]) => number) }
11
+
| { section: "HEADER"; label: string; pos: number | ((sections: SettingsSection[]) => number) }
12
12
| {
13
13
section: string;
14
14
label: string;
15
15
color: string | null;
16
16
element: React.FunctionComponent;
17
-
pos: number;
17
+
pos: number | ((sections: SettingsSection[]) => number);
18
18
notice?: NoticeProps;
19
+
onClick?: () => void;
19
20
_moonlight_submenu?: () => ReactElement | ReactElement[];
20
21
};
21
22
···
32
33
* @param color A color to use for the section
33
34
* @param pos The position in the settings menu to place the section
34
35
* @param notice A notice to display when in the section
36
+
* @param onClick A custom action to execute when clicked from the context menu
35
37
*/
36
38
addSection: (
37
39
section: string,
38
40
label: string,
39
41
element: React.FunctionComponent,
40
42
color?: string | null,
41
-
pos?: number,
42
-
notice?: NoticeProps
43
+
pos?: number | ((sections: SettingsSection[]) => number),
44
+
notice?: NoticeProps,
45
+
onClick?: () => void
43
46
) => void;
44
47
45
48
/**
···
53
56
* Places a divider in the settings menu.
54
57
* @param pos The position in the settings menu to place the divider
55
58
*/
56
-
addDivider: (pos: number | null) => void;
59
+
addDivider: (pos: number | ((sections: SettingsSection[]) => number) | null) => void;
57
60
58
61
/**
59
62
* Places a header in the settings menu.
60
63
* @param pos The position in the settings menu to place the header
61
64
*/
62
-
addHeader: (label: string, pos: number | null) => void;
65
+
addHeader: (label: string, pos: number | ((sections: SettingsSection[]) => number) | null) => void;
63
66
64
67
/**
65
68
* @private
+1
packages/types/src/coreExtensions.ts
+1
packages/types/src/coreExtensions.ts
+4
packages/types/src/discord/require.ts
+4
packages/types/src/discord/require.ts
···
1
1
import { AppPanels } from "../coreExtensions/appPanels";
2
2
import { Commands } from "../coreExtensions/commands";
3
+
import { ErrorBoundary, Icons } from "../coreExtensions/common";
3
4
import { DMList, MemberList, Messages } from "../coreExtensions/componentEditor";
4
5
import { ContextMenu, EvilItemParser } from "../coreExtensions/contextMenu";
5
6
import { Markdown } from "../coreExtensions/markdown";
···
13
14
declare function WebpackRequire(id: "appPanels_appPanels"): AppPanels;
14
15
15
16
declare function WebpackRequire(id: "commands_commands"): Commands;
17
+
18
+
declare function WebpackRequire(id: "common_ErrorBoundary"): ErrorBoundary;
19
+
declare function WebpackRequire(id: "common_icons"): Icons;
16
20
17
21
declare function WebpackRequire(id: "componentEditor_dmList"): DMList;
18
22
declare function WebpackRequire(id: "componentEditor_memberList"): MemberList;
+10
-3
packages/types/src/globals.ts
+10
-3
packages/types/src/globals.ts
···
4
4
import type EventEmitter from "events";
5
5
import type LunAST from "@moonlight-mod/lunast";
6
6
import type Moonmap from "@moonlight-mod/moonmap";
7
-
import type { EventPayloads, EventType, MoonlightEventEmitter } from "./core/event";
8
-
import { MoonlightFS } from "./fs";
7
+
import type {
8
+
WebEventPayloads,
9
+
WebEventType,
10
+
MoonlightEventEmitter,
11
+
NodeEventType,
12
+
NodeEventPayloads
13
+
} from "./core/event";
14
+
import type { MoonlightFS } from "./fs";
9
15
10
16
export type MoonlightHost = {
11
17
config: Config;
···
34
40
processedExtensions: ProcessedExtensions;
35
41
nativesCache: Record<string, any>;
36
42
isBrowser: boolean;
43
+
events: MoonlightEventEmitter<NodeEventType, NodeEventPayloads>;
37
44
38
45
version: string;
39
46
branch: MoonlightBranch;
···
60
67
unpatched: Set<IdentifiedPatch>;
61
68
pendingModules: Set<IdentifiedWebpackModule>;
62
69
enabledExtensions: Set<string>;
63
-
events: MoonlightEventEmitter<EventType, EventPayloads>;
70
+
events: MoonlightEventEmitter<WebEventType, WebEventPayloads>;
64
71
patchingInternals: {
65
72
onModuleLoad: (moduleId: string | string[], callback: (moduleId: string) => void) => void;
66
73
registerPatch: (patch: IdentifiedPatch) => void;
+10
packages/types/src/import.d.ts
+10
packages/types/src/import.d.ts
···
10
10
export default commands;
11
11
}
12
12
13
+
declare module "@moonlight-mod/wp/common_ErrorBoundary" {
14
+
import { CoreExtensions } from "@moonlight-mod/types";
15
+
const ErrorBoundary: CoreExtensions.Common.ErrorBoundary;
16
+
export = ErrorBoundary;
17
+
}
18
+
declare module "@moonlight-mod/wp/common_icons" {
19
+
import { CoreExtensions } from "@moonlight-mod/types";
20
+
export const icons: CoreExtensions.Common.Icons;
21
+
export default icons;
22
+
}
13
23
declare module "@moonlight-mod/wp/common_stores";
14
24
15
25
declare module "@moonlight-mod/wp/componentEditor_dmList" {
+1
packages/types/src/index.ts
+1
packages/types/src/index.ts
···
32
32
var moonlightNode: MoonlightNode;
33
33
var moonlightNodeSandboxed: MoonlightNodeSandboxed;
34
34
var moonlight: MoonlightWeb;
35
+
var _moonlight_coreExtensionsStr: string;
35
36
36
37
var _moonlightBrowserInit: undefined | (() => Promise<void>);
37
38
var _moonlightWebLoad: undefined | (() => Promise<void>);
+39
-641
packages/types/src/mappings.d.ts
+39
-641
packages/types/src/mappings.d.ts
···
55
55
export default _default;
56
56
}
57
57
58
+
declare module "@moonlight-mod/wp/discord/common/AppStartPerformance" {
59
+
import { MappedModules } from "@moonlight-mod/mappings";
60
+
const _default: MappedModules["discord/common/AppStartPerformance"]["default"];
61
+
export default _default;
62
+
}
63
+
58
64
declare module "@moonlight-mod/wp/discord/components/common/Alerts" {
59
65
import { MappedModules } from "@moonlight-mod/mappings";
60
66
const _default: MappedModules["discord/components/common/Alerts"]["default"];
···
69
75
export default _default;
70
76
}
71
77
78
+
declare module "@moonlight-mod/wp/discord/components/common/Card" {
79
+
import { MappedModules } from "@moonlight-mod/mappings";
80
+
const _default: MappedModules["discord/components/common/Card"]["default"];
81
+
export default _default;
82
+
export const Types: MappedModules["discord/components/common/Card"]["Types"];
83
+
}
84
+
72
85
declare module "@moonlight-mod/wp/discord/components/common/FileUpload" {
73
86
import { MappedModules } from "@moonlight-mod/mappings";
74
87
const _default: MappedModules["discord/components/common/FileUpload"]["default"];
···
124
137
export const error: MappedModules["discord/components/common/HelpMessage.css"]["error"];
125
138
}
126
139
140
+
declare module "@moonlight-mod/wp/discord/components/common/Image" {}
141
+
127
142
declare module "@moonlight-mod/wp/discord/components/common/PanelButton" {
128
143
import { MappedModules } from "@moonlight-mod/mappings";
129
144
const _default: MappedModules["discord/components/common/PanelButton"]["default"];
···
169
184
export const Popout: MappedModules["discord/components/common/index"]["Popout"];
170
185
export const Dialog: MappedModules["discord/components/common/index"]["Dialog"];
171
186
export const Menu: MappedModules["discord/components/common/index"]["Menu"];
172
-
export const MenuItem: MappedModules["discord/components/common/index"]["MenuItem"];
173
-
export const MenuGroup: MappedModules["discord/components/common/index"]["MenuGroup"];
174
-
export const MenuRadioItem: MappedModules["discord/components/common/index"]["MenuRadioItem"];
175
-
export const MenuCheckboxItem: MappedModules["discord/components/common/index"]["MenuCheckboxItem"];
176
-
export const MenuControlItem: MappedModules["discord/components/common/index"]["MenuControlItem"];
177
-
export const MenuSeparator: MappedModules["discord/components/common/index"]["MenuSeparator"];
178
-
export const SettingsNotice: MappedModules["discord/components/common/index"]["SettingsNotice"];
179
187
export const TabBar: MappedModules["discord/components/common/index"]["TabBar"];
180
188
export const SingleSelect: MappedModules["discord/components/common/index"]["SingleSelect"];
181
189
export const Select: MappedModules["discord/components/common/index"]["Select"];
···
187
195
export const Image: MappedModules["discord/components/common/index"]["Image"];
188
196
export const tokens: MappedModules["discord/components/common/index"]["tokens"];
189
197
export const useVariableSelect: MappedModules["discord/components/common/index"]["useVariableSelect"];
190
-
export const useMultiSelectState: MappedModules["discord/components/common/index"]["useMultiSelectState"];
191
-
export const useSingleSelectState: MappedModules["discord/components/common/index"]["useSingleSelectState"];
192
198
export const useMultiSelect: MappedModules["discord/components/common/index"]["useMultiSelect"];
193
-
export const useSingleSelect: MappedModules["discord/components/common/index"]["useSingleSelect"];
194
199
export const multiSelect: MappedModules["discord/components/common/index"]["multiSelect"];
195
200
export const openModal: MappedModules["discord/components/common/index"]["openModal"];
196
201
export const openModalLazy: MappedModules["discord/components/common/index"]["openModalLazy"];
197
202
export const closeModal: MappedModules["discord/components/common/index"]["closeModal"];
198
-
export const useModalsStore: MappedModules["discord/components/common/index"]["useModalsStore"];
199
-
export const AIcon: MappedModules["discord/components/common/index"]["AIcon"];
200
-
export const AccessibilityIcon: MappedModules["discord/components/common/index"]["AccessibilityIcon"];
201
-
export const AchievementsIcon: MappedModules["discord/components/common/index"]["AchievementsIcon"];
202
-
export const ActivitiesIcon: MappedModules["discord/components/common/index"]["ActivitiesIcon"];
203
-
export const ActivitiesPlusIcon: MappedModules["discord/components/common/index"]["ActivitiesPlusIcon"];
204
-
export const AirplayIcon: MappedModules["discord/components/common/index"]["AirplayIcon"];
205
-
export const AnalyticsIcon: MappedModules["discord/components/common/index"]["AnalyticsIcon"];
206
203
export const AngleBracketsIcon: MappedModules["discord/components/common/index"]["AngleBracketsIcon"];
207
-
export const AnnouncementsChatIcon: MappedModules["discord/components/common/index"]["AnnouncementsChatIcon"];
208
-
export const AnnouncementsIcon: MappedModules["discord/components/common/index"]["AnnouncementsIcon"];
209
-
export const AnnouncementsLockIcon: MappedModules["discord/components/common/index"]["AnnouncementsLockIcon"];
210
-
export const AnnouncementsWarningIcon: MappedModules["discord/components/common/index"]["AnnouncementsWarningIcon"];
211
-
export const AppleBrandLightIcon: MappedModules["discord/components/common/index"]["AppleBrandLightIcon"];
212
-
export const AppleNeutralIcon: MappedModules["discord/components/common/index"]["AppleNeutralIcon"];
213
-
export const AppsIcon: MappedModules["discord/components/common/index"]["AppsIcon"];
214
-
export const ArrowAngleDownLeftIcon: MappedModules["discord/components/common/index"]["ArrowAngleDownLeftIcon"];
215
-
export const ArrowAngleLeftDownIcon: MappedModules["discord/components/common/index"]["ArrowAngleLeftDownIcon"];
216
204
export const ArrowAngleLeftUpIcon: MappedModules["discord/components/common/index"]["ArrowAngleLeftUpIcon"];
217
-
export const ArrowAngleRightDownIcon: MappedModules["discord/components/common/index"]["ArrowAngleRightDownIcon"];
218
205
export const ArrowAngleRightUpIcon: MappedModules["discord/components/common/index"]["ArrowAngleRightUpIcon"];
219
-
export const ArrowAngleUpLeftIcon: MappedModules["discord/components/common/index"]["ArrowAngleUpLeftIcon"];
220
-
export const ArrowLargeDownIcon: MappedModules["discord/components/common/index"]["ArrowLargeDownIcon"];
221
-
export const ArrowLargeLeftIcon: MappedModules["discord/components/common/index"]["ArrowLargeLeftIcon"];
222
-
export const ArrowLargeRightIcon: MappedModules["discord/components/common/index"]["ArrowLargeRightIcon"];
223
-
export const ArrowLargeUpIcon: MappedModules["discord/components/common/index"]["ArrowLargeUpIcon"];
224
-
export const ArrowSmallDownIcon: MappedModules["discord/components/common/index"]["ArrowSmallDownIcon"];
225
-
export const ArrowSmallLeftIcon: MappedModules["discord/components/common/index"]["ArrowSmallLeftIcon"];
226
-
export const ArrowSmallRightIcon: MappedModules["discord/components/common/index"]["ArrowSmallRightIcon"];
227
-
export const ArrowSmallUpIcon: MappedModules["discord/components/common/index"]["ArrowSmallUpIcon"];
228
-
export const ArrowsLeftRightIcon: MappedModules["discord/components/common/index"]["ArrowsLeftRightIcon"];
229
206
export const ArrowsUpDownIcon: MappedModules["discord/components/common/index"]["ArrowsUpDownIcon"];
230
-
export const AsteriskIcon: MappedModules["discord/components/common/index"]["AsteriskIcon"];
231
-
export const AtIcon: MappedModules["discord/components/common/index"]["AtIcon"];
232
-
export const AttachmentIcon: MappedModules["discord/components/common/index"]["AttachmentIcon"];
233
-
export const BIcon: MappedModules["discord/components/common/index"]["BIcon"];
234
-
export const BackspaceIcon: MappedModules["discord/components/common/index"]["BackspaceIcon"];
235
-
export const BadgeIcon: MappedModules["discord/components/common/index"]["BadgeIcon"];
236
-
export const BeakerIcon: MappedModules["discord/components/common/index"]["BeakerIcon"];
237
-
export const BellIcon: MappedModules["discord/components/common/index"]["BellIcon"];
238
-
export const BellSlashIcon: MappedModules["discord/components/common/index"]["BellSlashIcon"];
239
-
export const BellZIcon: MappedModules["discord/components/common/index"]["BellZIcon"];
240
-
export const BergerIcon: MappedModules["discord/components/common/index"]["BergerIcon"];
241
-
export const BicycleIcon: MappedModules["discord/components/common/index"]["BicycleIcon"];
242
-
export const BillIcon: MappedModules["discord/components/common/index"]["BillIcon"];
243
-
export const BlueskyBrandIcon: MappedModules["discord/components/common/index"]["BlueskyBrandIcon"];
244
-
export const BlueskyNeutralIcon: MappedModules["discord/components/common/index"]["BlueskyNeutralIcon"];
245
-
export const BluetoothIcon: MappedModules["discord/components/common/index"]["BluetoothIcon"];
246
-
export const BlurBackgroundIcon: MappedModules["discord/components/common/index"]["BlurBackgroundIcon"];
247
-
export const BoldIcon: MappedModules["discord/components/common/index"]["BoldIcon"];
248
207
export const BookCheckIcon: MappedModules["discord/components/common/index"]["BookCheckIcon"];
249
-
export const BookmarkIcon: MappedModules["discord/components/common/index"]["BookmarkIcon"];
250
-
export const BookmarkOutlineIcon: MappedModules["discord/components/common/index"]["BookmarkOutlineIcon"];
251
-
export const BoostTier1Icon: MappedModules["discord/components/common/index"]["BoostTier1Icon"];
252
-
export const BoostTier1SimpleIcon: MappedModules["discord/components/common/index"]["BoostTier1SimpleIcon"];
253
-
export const BoostTier2Icon: MappedModules["discord/components/common/index"]["BoostTier2Icon"];
254
-
export const BoostTier2SimpleIcon: MappedModules["discord/components/common/index"]["BoostTier2SimpleIcon"];
255
-
export const BoostTier3Icon: MappedModules["discord/components/common/index"]["BoostTier3Icon"];
256
-
export const BoostTier3SimpleIcon: MappedModules["discord/components/common/index"]["BoostTier3SimpleIcon"];
257
-
export const BrowserCheckeredIcon: MappedModules["discord/components/common/index"]["BrowserCheckeredIcon"];
258
-
export const BrowserIcon: MappedModules["discord/components/common/index"]["BrowserIcon"];
259
-
export const BrowserLinkIcon: MappedModules["discord/components/common/index"]["BrowserLinkIcon"];
260
-
export const BrowserPlusIcon: MappedModules["discord/components/common/index"]["BrowserPlusIcon"];
261
-
export const BrowserQuestionMarkIcon: MappedModules["discord/components/common/index"]["BrowserQuestionMarkIcon"];
262
-
export const BugIcon: MappedModules["discord/components/common/index"]["BugIcon"];
263
-
export const CalendarIcon: MappedModules["discord/components/common/index"]["CalendarIcon"];
264
-
export const CalendarMinusIcon: MappedModules["discord/components/common/index"]["CalendarMinusIcon"];
265
-
export const CalendarPlusIcon: MappedModules["discord/components/common/index"]["CalendarPlusIcon"];
266
-
export const CalendarRetryIcon: MappedModules["discord/components/common/index"]["CalendarRetryIcon"];
267
-
export const CalendarXIcon: MappedModules["discord/components/common/index"]["CalendarXIcon"];
268
-
export const CameraIcon: MappedModules["discord/components/common/index"]["CameraIcon"];
269
-
export const CameraSwapIcon: MappedModules["discord/components/common/index"]["CameraSwapIcon"];
270
-
export const CarIcon: MappedModules["discord/components/common/index"]["CarIcon"];
271
208
export const ChannelListIcon: MappedModules["discord/components/common/index"]["ChannelListIcon"];
272
-
export const ChannelListMagnifyingGlassIcon: MappedModules["discord/components/common/index"]["ChannelListMagnifyingGlassIcon"];
273
-
export const ChannelListMinusIcon: MappedModules["discord/components/common/index"]["ChannelListMinusIcon"];
274
-
export const ChannelListPlusIcon: MappedModules["discord/components/common/index"]["ChannelListPlusIcon"];
275
-
export const ChannelListRetryIcon: MappedModules["discord/components/common/index"]["ChannelListRetryIcon"];
276
-
export const ChannelNotificationIcon: MappedModules["discord/components/common/index"]["ChannelNotificationIcon"];
277
-
export const ChannelsFollowedIcon: MappedModules["discord/components/common/index"]["ChannelsFollowedIcon"];
278
-
export const ChatArrowRightIcon: MappedModules["discord/components/common/index"]["ChatArrowRightIcon"];
279
-
export const ChatCheckIcon: MappedModules["discord/components/common/index"]["ChatCheckIcon"];
280
-
export const ChatDotsIcon: MappedModules["discord/components/common/index"]["ChatDotsIcon"];
281
-
export const ChatEyeIcon: MappedModules["discord/components/common/index"]["ChatEyeIcon"];
282
-
export const ChatIcon: MappedModules["discord/components/common/index"]["ChatIcon"];
283
-
export const ChatMarkUnreadIcon: MappedModules["discord/components/common/index"]["ChatMarkUnreadIcon"];
284
-
export const ChatMinusIcon: MappedModules["discord/components/common/index"]["ChatMinusIcon"];
285
-
export const ChatPlusIcon: MappedModules["discord/components/common/index"]["ChatPlusIcon"];
286
-
export const ChatRetryIcon: MappedModules["discord/components/common/index"]["ChatRetryIcon"];
287
-
export const ChatSlowModeIcon: MappedModules["discord/components/common/index"]["ChatSlowModeIcon"];
288
-
export const ChatSmileIcon: MappedModules["discord/components/common/index"]["ChatSmileIcon"];
289
-
export const ChatSpeakIcon: MappedModules["discord/components/common/index"]["ChatSpeakIcon"];
290
-
export const ChatWarningIcon: MappedModules["discord/components/common/index"]["ChatWarningIcon"];
291
-
export const ChatXIcon: MappedModules["discord/components/common/index"]["ChatXIcon"];
292
-
export const CheckmarkLargeBoldIcon: MappedModules["discord/components/common/index"]["CheckmarkLargeBoldIcon"];
293
-
export const CheckmarkLargeIcon: MappedModules["discord/components/common/index"]["CheckmarkLargeIcon"];
294
-
export const CheckmarkSmallBoldIcon: MappedModules["discord/components/common/index"]["CheckmarkSmallBoldIcon"];
295
-
export const CheckmarkSmallIcon: MappedModules["discord/components/common/index"]["CheckmarkSmallIcon"];
296
-
export const ChevronLargeDownIcon: MappedModules["discord/components/common/index"]["ChevronLargeDownIcon"];
297
-
export const ChevronLargeLeftIcon: MappedModules["discord/components/common/index"]["ChevronLargeLeftIcon"];
298
-
export const ChevronLargeRightIcon: MappedModules["discord/components/common/index"]["ChevronLargeRightIcon"];
299
-
export const ChevronLargeUpIcon: MappedModules["discord/components/common/index"]["ChevronLargeUpIcon"];
300
209
export const ChevronSmallDownIcon: MappedModules["discord/components/common/index"]["ChevronSmallDownIcon"];
301
-
export const ChevronSmallLeftIcon: MappedModules["discord/components/common/index"]["ChevronSmallLeftIcon"];
302
-
export const ChevronSmallRightIcon: MappedModules["discord/components/common/index"]["ChevronSmallRightIcon"];
303
210
export const ChevronSmallUpIcon: MappedModules["discord/components/common/index"]["ChevronSmallUpIcon"];
304
-
export const CircleCheckIcon: MappedModules["discord/components/common/index"]["CircleCheckIcon"];
305
211
export const CircleInformationIcon: MappedModules["discord/components/common/index"]["CircleInformationIcon"];
306
-
export const CircleMinusIcon: MappedModules["discord/components/common/index"]["CircleMinusIcon"];
307
-
export const CirclePlayIcon: MappedModules["discord/components/common/index"]["CirclePlayIcon"];
308
-
export const CirclePlusIcon: MappedModules["discord/components/common/index"]["CirclePlusIcon"];
309
-
export const CircleQuestionIcon: MappedModules["discord/components/common/index"]["CircleQuestionIcon"];
310
212
export const CircleWarningIcon: MappedModules["discord/components/common/index"]["CircleWarningIcon"];
311
213
export const CircleXIcon: MappedModules["discord/components/common/index"]["CircleXIcon"];
312
-
export const ClipboardCheckIcon: MappedModules["discord/components/common/index"]["ClipboardCheckIcon"];
313
-
export const ClipboardListIcon: MappedModules["discord/components/common/index"]["ClipboardListIcon"];
314
-
export const ClipsGalleryIcon: MappedModules["discord/components/common/index"]["ClipsGalleryIcon"];
315
-
export const ClipsIcon: MappedModules["discord/components/common/index"]["ClipsIcon"];
316
-
export const ClockIcon: MappedModules["discord/components/common/index"]["ClockIcon"];
317
-
export const ClockWarningIcon: MappedModules["discord/components/common/index"]["ClockWarningIcon"];
318
-
export const ClockXIcon: MappedModules["discord/components/common/index"]["ClockXIcon"];
319
-
export const CloudDownloadIcon: MappedModules["discord/components/common/index"]["CloudDownloadIcon"];
320
214
export const ClydeIcon: MappedModules["discord/components/common/index"]["ClydeIcon"];
321
-
export const CollapseListIcon: MappedModules["discord/components/common/index"]["CollapseListIcon"];
322
-
export const CompassIcon: MappedModules["discord/components/common/index"]["CompassIcon"];
323
-
export const ConnectionAverageIcon: MappedModules["discord/components/common/index"]["ConnectionAverageIcon"];
324
-
export const ConnectionBadIcon: MappedModules["discord/components/common/index"]["ConnectionBadIcon"];
325
-
export const ConnectionFineIcon: MappedModules["discord/components/common/index"]["ConnectionFineIcon"];
326
-
export const ConnectionUnknownIcon: MappedModules["discord/components/common/index"]["ConnectionUnknownIcon"];
327
-
export const ContactsIcon: MappedModules["discord/components/common/index"]["ContactsIcon"];
328
215
export const CopyIcon: MappedModules["discord/components/common/index"]["CopyIcon"];
329
-
export const CreditCardIcon: MappedModules["discord/components/common/index"]["CreditCardIcon"];
330
-
export const CropIcon: MappedModules["discord/components/common/index"]["CropIcon"];
331
-
export const CrownIcon: MappedModules["discord/components/common/index"]["CrownIcon"];
332
-
export const CrunchyrollBrandLightIcon: MappedModules["discord/components/common/index"]["CrunchyrollBrandLightIcon"];
333
-
export const CrunchyrollNeutralIcon: MappedModules["discord/components/common/index"]["CrunchyrollNeutralIcon"];
334
-
export const DenyIcon: MappedModules["discord/components/common/index"]["DenyIcon"];
335
-
export const DoorEnterIcon: MappedModules["discord/components/common/index"]["DoorEnterIcon"];
336
-
export const DoorExitIcon: MappedModules["discord/components/common/index"]["DoorExitIcon"];
337
-
export const DoubleCheckmarkIcon: MappedModules["discord/components/common/index"]["DoubleCheckmarkIcon"];
338
216
export const DownloadIcon: MappedModules["discord/components/common/index"]["DownloadIcon"];
339
-
export const DpadIcon: MappedModules["discord/components/common/index"]["DpadIcon"];
340
-
export const DragIcon: MappedModules["discord/components/common/index"]["DragIcon"];
341
-
export const EducationIcon: MappedModules["discord/components/common/index"]["EducationIcon"];
342
-
export const EmbedIcon: MappedModules["discord/components/common/index"]["EmbedIcon"];
343
-
export const EnvelopeIcon: MappedModules["discord/components/common/index"]["EnvelopeIcon"];
344
-
export const ExpandGifIcon: MappedModules["discord/components/common/index"]["ExpandGifIcon"];
345
-
export const ExperimentalImageBrokenIcon: MappedModules["discord/components/common/index"]["ExperimentalImageBrokenIcon"];
346
-
export const ExperimentalLootboxIcon: MappedModules["discord/components/common/index"]["ExperimentalLootboxIcon"];
347
-
export const ExperimentalMicrophoneSparkleIcon: MappedModules["discord/components/common/index"]["ExperimentalMicrophoneSparkleIcon"];
348
-
export const ExperimentalMicrophoneSparkleMutedIcon: MappedModules["discord/components/common/index"]["ExperimentalMicrophoneSparkleMutedIcon"];
349
-
export const ExperimentalPineappleHouseIcon: MappedModules["discord/components/common/index"]["ExperimentalPineappleHouseIcon"];
350
-
export const EyeDropperIcon: MappedModules["discord/components/common/index"]["EyeDropperIcon"];
351
-
export const EyeIcon: MappedModules["discord/components/common/index"]["EyeIcon"];
352
-
export const EyePlusIcon: MappedModules["discord/components/common/index"]["EyePlusIcon"];
353
-
export const EyeSlashIcon: MappedModules["discord/components/common/index"]["EyeSlashIcon"];
354
-
export const FacebookNeutralIcon: MappedModules["discord/components/common/index"]["FacebookNeutralIcon"];
355
-
export const FileDenyIcon: MappedModules["discord/components/common/index"]["FileDenyIcon"];
356
-
export const FileIcon: MappedModules["discord/components/common/index"]["FileIcon"];
357
-
export const FileUpIcon: MappedModules["discord/components/common/index"]["FileUpIcon"];
358
-
export const FileWarningIcon: MappedModules["discord/components/common/index"]["FileWarningIcon"];
359
-
export const FiltersHorizontalIcon: MappedModules["discord/components/common/index"]["FiltersHorizontalIcon"];
360
-
export const FireIcon: MappedModules["discord/components/common/index"]["FireIcon"];
361
-
export const FlagIcon: MappedModules["discord/components/common/index"]["FlagIcon"];
362
-
export const FlagMinusIcon: MappedModules["discord/components/common/index"]["FlagMinusIcon"];
363
-
export const FlagPlusIcon: MappedModules["discord/components/common/index"]["FlagPlusIcon"];
364
-
export const FlagRetryIcon: MappedModules["discord/components/common/index"]["FlagRetryIcon"];
365
-
export const FlashIcon: MappedModules["discord/components/common/index"]["FlashIcon"];
366
-
export const FlipHorizontalIcon: MappedModules["discord/components/common/index"]["FlipHorizontalIcon"];
367
-
export const FlipVerticalIcon: MappedModules["discord/components/common/index"]["FlipVerticalIcon"];
368
-
export const FolderIcon: MappedModules["discord/components/common/index"]["FolderIcon"];
369
-
export const FolderPlusIcon: MappedModules["discord/components/common/index"]["FolderPlusIcon"];
370
-
export const FoodIcon: MappedModules["discord/components/common/index"]["FoodIcon"];
371
-
export const ForumIcon: MappedModules["discord/components/common/index"]["ForumIcon"];
372
-
export const ForumLockIcon: MappedModules["discord/components/common/index"]["ForumLockIcon"];
373
-
export const ForumWarningIcon: MappedModules["discord/components/common/index"]["ForumWarningIcon"];
374
-
export const FriendsIcon: MappedModules["discord/components/common/index"]["FriendsIcon"];
375
217
export const FullscreenEnterIcon: MappedModules["discord/components/common/index"]["FullscreenEnterIcon"];
376
-
export const FullscreenExitIcon: MappedModules["discord/components/common/index"]["FullscreenExitIcon"];
377
218
export const GameControllerIcon: MappedModules["discord/components/common/index"]["GameControllerIcon"];
378
-
export const GifIcon: MappedModules["discord/components/common/index"]["GifIcon"];
379
-
export const GiftIcon: MappedModules["discord/components/common/index"]["GiftIcon"];
380
219
export const GlobeEarthIcon: MappedModules["discord/components/common/index"]["GlobeEarthIcon"];
381
-
export const GridHorizontalIcon: MappedModules["discord/components/common/index"]["GridHorizontalIcon"];
382
-
export const GridSquareIcon: MappedModules["discord/components/common/index"]["GridSquareIcon"];
383
-
export const GridVerticalIcon: MappedModules["discord/components/common/index"]["GridVerticalIcon"];
384
-
export const GroupArrowDownIcon: MappedModules["discord/components/common/index"]["GroupArrowDownIcon"];
385
-
export const GroupArrowRightIcon: MappedModules["discord/components/common/index"]["GroupArrowRightIcon"];
386
-
export const GroupIcon: MappedModules["discord/components/common/index"]["GroupIcon"];
387
-
export const GroupMinusIcon: MappedModules["discord/components/common/index"]["GroupMinusIcon"];
388
-
export const GroupPlusIcon: MappedModules["discord/components/common/index"]["GroupPlusIcon"];
389
-
export const GroupRetryIcon: MappedModules["discord/components/common/index"]["GroupRetryIcon"];
390
-
export const HammerIcon: MappedModules["discord/components/common/index"]["HammerIcon"];
391
-
export const HammerMinusIcon: MappedModules["discord/components/common/index"]["HammerMinusIcon"];
392
-
export const HammerPlusIcon: MappedModules["discord/components/common/index"]["HammerPlusIcon"];
393
-
export const HammerRetryIcon: MappedModules["discord/components/common/index"]["HammerRetryIcon"];
394
-
export const HammerXIcon: MappedModules["discord/components/common/index"]["HammerXIcon"];
395
-
export const HandRequestSpeakIcon: MappedModules["discord/components/common/index"]["HandRequestSpeakIcon"];
396
-
export const HandRequestSpeakListIcon: MappedModules["discord/components/common/index"]["HandRequestSpeakListIcon"];
397
-
export const HashmarkIcon: MappedModules["discord/components/common/index"]["HashmarkIcon"];
398
-
export const HdIcon: MappedModules["discord/components/common/index"]["HdIcon"];
399
-
export const HeadphonesDenyIcon: MappedModules["discord/components/common/index"]["HeadphonesDenyIcon"];
400
-
export const HeadphonesIcon: MappedModules["discord/components/common/index"]["HeadphonesIcon"];
401
-
export const HeadphonesSlashIcon: MappedModules["discord/components/common/index"]["HeadphonesSlashIcon"];
402
220
export const HeartIcon: MappedModules["discord/components/common/index"]["HeartIcon"];
403
-
export const HeartOutlineIcon: MappedModules["discord/components/common/index"]["HeartOutlineIcon"];
404
-
export const HomeIcon: MappedModules["discord/components/common/index"]["HomeIcon"];
405
-
export const HomeSlashIcon: MappedModules["discord/components/common/index"]["HomeSlashIcon"];
406
-
export const HourglassIcon: MappedModules["discord/components/common/index"]["HourglassIcon"];
407
-
export const HubIcon: MappedModules["discord/components/common/index"]["HubIcon"];
408
-
export const IdIcon: MappedModules["discord/components/common/index"]["IdIcon"];
409
-
export const ImageFileIcon: MappedModules["discord/components/common/index"]["ImageFileIcon"];
410
-
export const ImageFileUpIcon: MappedModules["discord/components/common/index"]["ImageFileUpIcon"];
411
-
export const ImageIcon: MappedModules["discord/components/common/index"]["ImageIcon"];
412
-
export const ImageLockIcon: MappedModules["discord/components/common/index"]["ImageLockIcon"];
413
-
export const ImagePlusIcon: MappedModules["discord/components/common/index"]["ImagePlusIcon"];
414
-
export const ImageSparkleIcon: MappedModules["discord/components/common/index"]["ImageSparkleIcon"];
415
-
export const ImageTextIcon: MappedModules["discord/components/common/index"]["ImageTextIcon"];
416
-
export const ImageWarningIcon: MappedModules["discord/components/common/index"]["ImageWarningIcon"];
417
-
export const ImagesIcon: MappedModules["discord/components/common/index"]["ImagesIcon"];
418
-
export const InboxIcon: MappedModules["discord/components/common/index"]["InboxIcon"];
419
-
export const InstagramNeutralIcon: MappedModules["discord/components/common/index"]["InstagramNeutralIcon"];
420
-
export const InventoryIcon: MappedModules["discord/components/common/index"]["InventoryIcon"];
421
-
export const ItalicIcon: MappedModules["discord/components/common/index"]["ItalicIcon"];
422
-
export const KeyIcon: MappedModules["discord/components/common/index"]["KeyIcon"];
423
-
export const KeyboardIcon: MappedModules["discord/components/common/index"]["KeyboardIcon"];
424
-
export const LanguageIcon: MappedModules["discord/components/common/index"]["LanguageIcon"];
425
-
export const LaptopPhoneIcon: MappedModules["discord/components/common/index"]["LaptopPhoneIcon"];
426
-
export const LeagueOfLegendsBrandIcon: MappedModules["discord/components/common/index"]["LeagueOfLegendsBrandIcon"];
427
-
export const LettersIcon: MappedModules["discord/components/common/index"]["LettersIcon"];
428
-
export const LightbulbIcon: MappedModules["discord/components/common/index"]["LightbulbIcon"];
429
-
export const LinkExternalMediumIcon: MappedModules["discord/components/common/index"]["LinkExternalMediumIcon"];
430
-
export const LinkExternalSmallIcon: MappedModules["discord/components/common/index"]["LinkExternalSmallIcon"];
431
221
export const LinkIcon: MappedModules["discord/components/common/index"]["LinkIcon"];
432
-
export const LinkPlusIcon: MappedModules["discord/components/common/index"]["LinkPlusIcon"];
433
-
export const ListBulletsIcon: MappedModules["discord/components/common/index"]["ListBulletsIcon"];
434
-
export const ListNumberedIcon: MappedModules["discord/components/common/index"]["ListNumberedIcon"];
435
-
export const ListViewIcon: MappedModules["discord/components/common/index"]["ListViewIcon"];
436
-
export const LocationIcon: MappedModules["discord/components/common/index"]["LocationIcon"];
437
-
export const LockIcon: MappedModules["discord/components/common/index"]["LockIcon"];
438
-
export const LockUnlockedIcon: MappedModules["discord/components/common/index"]["LockUnlockedIcon"];
439
-
export const MagicWandIcon: MappedModules["discord/components/common/index"]["MagicWandIcon"];
440
-
export const MagnifyingGlassIcon: MappedModules["discord/components/common/index"]["MagnifyingGlassIcon"];
441
-
export const MagnifyingGlassMinusIcon: MappedModules["discord/components/common/index"]["MagnifyingGlassMinusIcon"];
442
-
export const MagnifyingGlassPlusIcon: MappedModules["discord/components/common/index"]["MagnifyingGlassPlusIcon"];
443
-
export const ManaIcon: MappedModules["discord/components/common/index"]["ManaIcon"];
444
-
export const MastodonBrandIcon: MappedModules["discord/components/common/index"]["MastodonBrandIcon"];
445
-
export const MastodonNeutralIcon: MappedModules["discord/components/common/index"]["MastodonNeutralIcon"];
446
222
export const MaximizeIcon: MappedModules["discord/components/common/index"]["MaximizeIcon"];
447
-
export const MedalIcon: MappedModules["discord/components/common/index"]["MedalIcon"];
448
-
export const MenuIcon: MappedModules["discord/components/common/index"]["MenuIcon"];
449
-
export const MicrophoneArrowRightIcon: MappedModules["discord/components/common/index"]["MicrophoneArrowRightIcon"];
450
-
export const MicrophoneDenyIcon: MappedModules["discord/components/common/index"]["MicrophoneDenyIcon"];
451
-
export const MicrophoneIcon: MappedModules["discord/components/common/index"]["MicrophoneIcon"];
452
-
export const MicrophoneSlashIcon: MappedModules["discord/components/common/index"]["MicrophoneSlashIcon"];
453
-
export const MinimizeIcon: MappedModules["discord/components/common/index"]["MinimizeIcon"];
454
223
export const MinusIcon: MappedModules["discord/components/common/index"]["MinusIcon"];
455
-
export const MobilePhoneControllerIcon: MappedModules["discord/components/common/index"]["MobilePhoneControllerIcon"];
456
224
export const MobilePhoneIcon: MappedModules["discord/components/common/index"]["MobilePhoneIcon"];
457
-
export const MobilePhonePlusIcon: MappedModules["discord/components/common/index"]["MobilePhonePlusIcon"];
458
-
export const MobilePhoneSettingsIcon: MappedModules["discord/components/common/index"]["MobilePhoneSettingsIcon"];
459
-
export const MobilePhoneShareIcon: MappedModules["discord/components/common/index"]["MobilePhoneShareIcon"];
460
-
export const MobilePhoneSpeakerIcon: MappedModules["discord/components/common/index"]["MobilePhoneSpeakerIcon"];
461
-
export const MobilePhoneVideoIcon: MappedModules["discord/components/common/index"]["MobilePhoneVideoIcon"];
462
-
export const MobilePhoneXIcon: MappedModules["discord/components/common/index"]["MobilePhoneXIcon"];
463
-
export const ModerationIcon: MappedModules["discord/components/common/index"]["ModerationIcon"];
464
-
export const MoreHorizontalIcon: MappedModules["discord/components/common/index"]["MoreHorizontalIcon"];
465
-
export const MoreVerticalIcon: MappedModules["discord/components/common/index"]["MoreVerticalIcon"];
466
-
export const MusicIcon: MappedModules["discord/components/common/index"]["MusicIcon"];
467
-
export const MusicSlashIcon: MappedModules["discord/components/common/index"]["MusicSlashIcon"];
468
-
export const NatureIcon: MappedModules["discord/components/common/index"]["NatureIcon"];
469
-
export const NearbyScanIcon: MappedModules["discord/components/common/index"]["NearbyScanIcon"];
470
-
export const NewUserIcon: MappedModules["discord/components/common/index"]["NewUserIcon"];
471
-
export const NewUserSimpleIcon: MappedModules["discord/components/common/index"]["NewUserSimpleIcon"];
472
-
export const NintendoSwitchNeutralIcon: MappedModules["discord/components/common/index"]["NintendoSwitchNeutralIcon"];
473
-
export const NitroWheelIcon: MappedModules["discord/components/common/index"]["NitroWheelIcon"];
474
-
export const ObjectIcon: MappedModules["discord/components/common/index"]["ObjectIcon"];
475
-
export const PaintPaletteIcon: MappedModules["discord/components/common/index"]["PaintPaletteIcon"];
476
-
export const PaintbrushThickIcon: MappedModules["discord/components/common/index"]["PaintbrushThickIcon"];
477
-
export const PaintbrushThickMinusIcon: MappedModules["discord/components/common/index"]["PaintbrushThickMinusIcon"];
478
-
export const PaintbrushThickPlusIcon: MappedModules["discord/components/common/index"]["PaintbrushThickPlusIcon"];
479
-
export const PaintbrushThickRetryIcon: MappedModules["discord/components/common/index"]["PaintbrushThickRetryIcon"];
480
-
export const PaintbrushThinIcon: MappedModules["discord/components/common/index"]["PaintbrushThinIcon"];
481
-
export const PaintbrushThinMinusIcon: MappedModules["discord/components/common/index"]["PaintbrushThinMinusIcon"];
482
-
export const PaintbrushThinPlusIcon: MappedModules["discord/components/common/index"]["PaintbrushThinPlusIcon"];
483
-
export const PaintbrushThinRetryIcon: MappedModules["discord/components/common/index"]["PaintbrushThinRetryIcon"];
484
-
export const PaperClockIcon: MappedModules["discord/components/common/index"]["PaperClockIcon"];
485
-
export const PaperIcon: MappedModules["discord/components/common/index"]["PaperIcon"];
486
-
export const PaperPlusIcon: MappedModules["discord/components/common/index"]["PaperPlusIcon"];
487
225
export const PauseIcon: MappedModules["discord/components/common/index"]["PauseIcon"];
488
-
export const PencilIcon: MappedModules["discord/components/common/index"]["PencilIcon"];
489
-
export const PencilSparkleIcon: MappedModules["discord/components/common/index"]["PencilSparkleIcon"];
490
-
export const PhoneCallIcon: MappedModules["discord/components/common/index"]["PhoneCallIcon"];
491
-
export const PhoneHangUpIcon: MappedModules["discord/components/common/index"]["PhoneHangUpIcon"];
492
-
export const PhoneIcon: MappedModules["discord/components/common/index"]["PhoneIcon"];
493
-
export const PiggyBankIcon: MappedModules["discord/components/common/index"]["PiggyBankIcon"];
494
-
export const PinIcon: MappedModules["discord/components/common/index"]["PinIcon"];
495
-
export const PinUprightIcon: MappedModules["discord/components/common/index"]["PinUprightIcon"];
496
-
export const PinUprightSlashIcon: MappedModules["discord/components/common/index"]["PinUprightSlashIcon"];
497
226
export const PlayIcon: MappedModules["discord/components/common/index"]["PlayIcon"];
498
-
export const PlaybackOffIcon: MappedModules["discord/components/common/index"]["PlaybackOffIcon"];
499
-
export const PlaybackOnIcon: MappedModules["discord/components/common/index"]["PlaybackOnIcon"];
500
-
export const PlaystationNeutralIcon: MappedModules["discord/components/common/index"]["PlaystationNeutralIcon"];
501
227
export const PlusLargeIcon: MappedModules["discord/components/common/index"]["PlusLargeIcon"];
502
-
export const PlusMediumIcon: MappedModules["discord/components/common/index"]["PlusMediumIcon"];
503
-
export const PlusSmallIcon: MappedModules["discord/components/common/index"]["PlusSmallIcon"];
504
-
export const PollsIcon: MappedModules["discord/components/common/index"]["PollsIcon"];
505
-
export const PotionIcon: MappedModules["discord/components/common/index"]["PotionIcon"];
506
-
export const PremiumChannelIcon: MappedModules["discord/components/common/index"]["PremiumChannelIcon"];
507
-
export const PrivacyAndSafetyIcon: MappedModules["discord/components/common/index"]["PrivacyAndSafetyIcon"];
508
-
export const PuzzlePieceIcon: MappedModules["discord/components/common/index"]["PuzzlePieceIcon"];
509
-
export const PuzzlePieceMinusIcon: MappedModules["discord/components/common/index"]["PuzzlePieceMinusIcon"];
510
-
export const PuzzlePiecePlusIcon: MappedModules["discord/components/common/index"]["PuzzlePiecePlusIcon"];
511
-
export const PuzzlePieceRetryIcon: MappedModules["discord/components/common/index"]["PuzzlePieceRetryIcon"];
512
-
export const QrCodeIcon: MappedModules["discord/components/common/index"]["QrCodeIcon"];
513
-
export const QuestsIcon: MappedModules["discord/components/common/index"]["QuestsIcon"];
514
-
export const QuoteIcon: MappedModules["discord/components/common/index"]["QuoteIcon"];
515
-
export const ReactionIcon: MappedModules["discord/components/common/index"]["ReactionIcon"];
516
-
export const ReceiptIcon: MappedModules["discord/components/common/index"]["ReceiptIcon"];
517
-
export const RecordPlayerIcon: MappedModules["discord/components/common/index"]["RecordPlayerIcon"];
518
-
export const RedoIcon: MappedModules["discord/components/common/index"]["RedoIcon"];
519
-
export const RefreshIcon: MappedModules["discord/components/common/index"]["RefreshIcon"];
520
-
export const RemixIcon: MappedModules["discord/components/common/index"]["RemixIcon"];
521
228
export const RetryIcon: MappedModules["discord/components/common/index"]["RetryIcon"];
522
-
export const RibbonIcon: MappedModules["discord/components/common/index"]["RibbonIcon"];
523
-
export const RobotIcon: MappedModules["discord/components/common/index"]["RobotIcon"];
524
-
export const RotateIcon: MappedModules["discord/components/common/index"]["RotateIcon"];
525
229
export const ScienceIcon: MappedModules["discord/components/common/index"]["ScienceIcon"];
526
-
export const ScreenArrowIcon: MappedModules["discord/components/common/index"]["ScreenArrowIcon"];
527
230
export const ScreenIcon: MappedModules["discord/components/common/index"]["ScreenIcon"];
528
-
export const ScreenSlashIcon: MappedModules["discord/components/common/index"]["ScreenSlashIcon"];
529
-
export const ScreenStreamIcon: MappedModules["discord/components/common/index"]["ScreenStreamIcon"];
530
-
export const ScreenSystemRequirementsIcon: MappedModules["discord/components/common/index"]["ScreenSystemRequirementsIcon"];
531
-
export const ScreenXIcon: MappedModules["discord/components/common/index"]["ScreenXIcon"];
532
-
export const SendMessageIcon: MappedModules["discord/components/common/index"]["SendMessageIcon"];
533
-
export const ServerGridIcon: MappedModules["discord/components/common/index"]["ServerGridIcon"];
534
-
export const ServerIcon: MappedModules["discord/components/common/index"]["ServerIcon"];
535
-
export const SettingsArrowUpIcon: MappedModules["discord/components/common/index"]["SettingsArrowUpIcon"];
536
-
export const SettingsCircleIcon: MappedModules["discord/components/common/index"]["SettingsCircleIcon"];
537
-
export const SettingsIcon: MappedModules["discord/components/common/index"]["SettingsIcon"];
538
-
export const SettingsInfoIcon: MappedModules["discord/components/common/index"]["SettingsInfoIcon"];
539
-
export const SettingsPlusIcon: MappedModules["discord/components/common/index"]["SettingsPlusIcon"];
540
-
export const ShareIcon: MappedModules["discord/components/common/index"]["ShareIcon"];
541
-
export const ShieldAtIcon: MappedModules["discord/components/common/index"]["ShieldAtIcon"];
542
-
export const ShieldIcon: MappedModules["discord/components/common/index"]["ShieldIcon"];
543
-
export const ShieldLockIcon: MappedModules["discord/components/common/index"]["ShieldLockIcon"];
544
-
export const ShieldUserIcon: MappedModules["discord/components/common/index"]["ShieldUserIcon"];
545
-
export const ShopCircleIcon: MappedModules["discord/components/common/index"]["ShopCircleIcon"];
546
-
export const ShopIcon: MappedModules["discord/components/common/index"]["ShopIcon"];
547
-
export const ShopMinusIcon: MappedModules["discord/components/common/index"]["ShopMinusIcon"];
548
-
export const ShopPlusIcon: MappedModules["discord/components/common/index"]["ShopPlusIcon"];
549
-
export const ShopSparkleIcon: MappedModules["discord/components/common/index"]["ShopSparkleIcon"];
550
-
export const SignPostIcon: MappedModules["discord/components/common/index"]["SignPostIcon"];
551
-
export const SlashBoxIcon: MappedModules["discord/components/common/index"]["SlashBoxIcon"];
552
-
export const SlashIcon: MappedModules["discord/components/common/index"]["SlashIcon"];
553
-
export const SlashMinusIcon: MappedModules["discord/components/common/index"]["SlashMinusIcon"];
554
-
export const SlashPlusIcon: MappedModules["discord/components/common/index"]["SlashPlusIcon"];
555
-
export const SlashRetryIcon: MappedModules["discord/components/common/index"]["SlashRetryIcon"];
556
-
export const SoundboardIcon: MappedModules["discord/components/common/index"]["SoundboardIcon"];
557
-
export const SoundboardSlashIcon: MappedModules["discord/components/common/index"]["SoundboardSlashIcon"];
558
-
export const SparklesIcon: MappedModules["discord/components/common/index"]["SparklesIcon"];
559
-
export const SpeedometerIcon: MappedModules["discord/components/common/index"]["SpeedometerIcon"];
560
-
export const SpoilerIcon: MappedModules["discord/components/common/index"]["SpoilerIcon"];
561
-
export const StaffBadgeIcon: MappedModules["discord/components/common/index"]["StaffBadgeIcon"];
562
-
export const StageIcon: MappedModules["discord/components/common/index"]["StageIcon"];
563
-
export const StageListIcon: MappedModules["discord/components/common/index"]["StageListIcon"];
564
-
export const StageLockIcon: MappedModules["discord/components/common/index"]["StageLockIcon"];
565
-
export const StageMinusIcon: MappedModules["discord/components/common/index"]["StageMinusIcon"];
566
-
export const StageModeratorIcon: MappedModules["discord/components/common/index"]["StageModeratorIcon"];
567
-
export const StagePlusIcon: MappedModules["discord/components/common/index"]["StagePlusIcon"];
568
-
export const StageRetryIcon: MappedModules["discord/components/common/index"]["StageRetryIcon"];
569
-
export const StageXIcon: MappedModules["discord/components/common/index"]["StageXIcon"];
570
-
export const StampIcon: MappedModules["discord/components/common/index"]["StampIcon"];
571
231
export const StarIcon: MappedModules["discord/components/common/index"]["StarIcon"];
572
-
export const StarOutlineIcon: MappedModules["discord/components/common/index"]["StarOutlineIcon"];
573
-
export const StarShootingIcon: MappedModules["discord/components/common/index"]["StarShootingIcon"];
574
-
export const StickerDeadIcon: MappedModules["discord/components/common/index"]["StickerDeadIcon"];
575
-
export const StickerIcon: MappedModules["discord/components/common/index"]["StickerIcon"];
576
-
export const StickerMinusIcon: MappedModules["discord/components/common/index"]["StickerMinusIcon"];
577
-
export const StickerPlusIcon: MappedModules["discord/components/common/index"]["StickerPlusIcon"];
578
-
export const StickerRetryIcon: MappedModules["discord/components/common/index"]["StickerRetryIcon"];
579
-
export const StickerSadIcon: MappedModules["discord/components/common/index"]["StickerSadIcon"];
580
-
export const StickerSmallIcon: MappedModules["discord/components/common/index"]["StickerSmallIcon"];
581
-
export const StickerWink1Icon: MappedModules["discord/components/common/index"]["StickerWink1Icon"];
582
-
export const StickerWink2Icon: MappedModules["discord/components/common/index"]["StickerWink2Icon"];
583
-
export const StopIcon: MappedModules["discord/components/common/index"]["StopIcon"];
584
-
export const StrikethroughIcon: MappedModules["discord/components/common/index"]["StrikethroughIcon"];
585
-
export const SuperReactionIcon: MappedModules["discord/components/common/index"]["SuperReactionIcon"];
586
-
export const TagIcon: MappedModules["discord/components/common/index"]["TagIcon"];
587
-
export const TagsIcon: MappedModules["discord/components/common/index"]["TagsIcon"];
588
-
export const TextControllerIcon: MappedModules["discord/components/common/index"]["TextControllerIcon"];
589
-
export const TextIcon: MappedModules["discord/components/common/index"]["TextIcon"];
590
-
export const TextLockIcon: MappedModules["discord/components/common/index"]["TextLockIcon"];
591
-
export const TextUserIcon: MappedModules["discord/components/common/index"]["TextUserIcon"];
592
-
export const TextWarningIcon: MappedModules["discord/components/common/index"]["TextWarningIcon"];
593
-
export const ThemeDarkIcon: MappedModules["discord/components/common/index"]["ThemeDarkIcon"];
594
-
export const ThemeLightIcon: MappedModules["discord/components/common/index"]["ThemeLightIcon"];
595
-
export const ThemeMidnightIcon: MappedModules["discord/components/common/index"]["ThemeMidnightIcon"];
596
-
export const ThreadIcon: MappedModules["discord/components/common/index"]["ThreadIcon"];
597
-
export const ThreadLockIcon: MappedModules["discord/components/common/index"]["ThreadLockIcon"];
598
-
export const ThreadMinusIcon: MappedModules["discord/components/common/index"]["ThreadMinusIcon"];
599
-
export const ThreadPlusIcon: MappedModules["discord/components/common/index"]["ThreadPlusIcon"];
600
-
export const ThreadRetryIcon: MappedModules["discord/components/common/index"]["ThreadRetryIcon"];
601
-
export const ThreadWarningIcon: MappedModules["discord/components/common/index"]["ThreadWarningIcon"];
602
-
export const ThumbsDownIcon: MappedModules["discord/components/common/index"]["ThumbsDownIcon"];
603
-
export const ThumbsUpIcon: MappedModules["discord/components/common/index"]["ThumbsUpIcon"];
604
-
export const TicketIcon: MappedModules["discord/components/common/index"]["TicketIcon"];
605
-
export const TiktokNeutralIcon: MappedModules["discord/components/common/index"]["TiktokNeutralIcon"];
606
-
export const TimerIcon: MappedModules["discord/components/common/index"]["TimerIcon"];
607
-
export const TopicsIcon: MappedModules["discord/components/common/index"]["TopicsIcon"];
608
-
export const TrainIcon: MappedModules["discord/components/common/index"]["TrainIcon"];
609
232
export const TrashIcon: MappedModules["discord/components/common/index"]["TrashIcon"];
610
-
export const TreehouseIcon: MappedModules["discord/components/common/index"]["TreehouseIcon"];
611
-
export const TrophyIcon: MappedModules["discord/components/common/index"]["TrophyIcon"];
612
-
export const TvIcon: MappedModules["discord/components/common/index"]["TvIcon"];
613
-
export const TwitterNeutralIcon: MappedModules["discord/components/common/index"]["TwitterNeutralIcon"];
614
-
export const UnderlineIcon: MappedModules["discord/components/common/index"]["UnderlineIcon"];
615
-
export const UndoIcon: MappedModules["discord/components/common/index"]["UndoIcon"];
616
-
export const UnknownGameIcon: MappedModules["discord/components/common/index"]["UnknownGameIcon"];
617
-
export const UnsendIcon: MappedModules["discord/components/common/index"]["UnsendIcon"];
618
-
export const UploadIcon: MappedModules["discord/components/common/index"]["UploadIcon"];
619
-
export const UserArrowDiagonalBottomRightIcon: MappedModules["discord/components/common/index"]["UserArrowDiagonalBottomRightIcon"];
620
-
export const UserCheckIcon: MappedModules["discord/components/common/index"]["UserCheckIcon"];
621
-
export const UserCircleIcon: MappedModules["discord/components/common/index"]["UserCircleIcon"];
622
-
export const UserCircleStatusIcon: MappedModules["discord/components/common/index"]["UserCircleStatusIcon"];
623
-
export const UserClockIcon: MappedModules["discord/components/common/index"]["UserClockIcon"];
624
-
export const UserIcon: MappedModules["discord/components/common/index"]["UserIcon"];
625
-
export const UserMinusIcon: MappedModules["discord/components/common/index"]["UserMinusIcon"];
626
-
export const UserPlatformIcon: MappedModules["discord/components/common/index"]["UserPlatformIcon"];
627
-
export const UserPlayIcon: MappedModules["discord/components/common/index"]["UserPlayIcon"];
628
-
export const UserPlusIcon: MappedModules["discord/components/common/index"]["UserPlusIcon"];
629
-
export const UserRetryIcon: MappedModules["discord/components/common/index"]["UserRetryIcon"];
630
-
export const UserSquareIcon: MappedModules["discord/components/common/index"]["UserSquareIcon"];
631
-
export const UserStatusIcon: MappedModules["discord/components/common/index"]["UserStatusIcon"];
632
-
export const VideoIcon: MappedModules["discord/components/common/index"]["VideoIcon"];
633
-
export const VideoLockIcon: MappedModules["discord/components/common/index"]["VideoLockIcon"];
634
-
export const VideoSlashIcon: MappedModules["discord/components/common/index"]["VideoSlashIcon"];
635
-
export const VoiceBluetoothIcon: MappedModules["discord/components/common/index"]["VoiceBluetoothIcon"];
636
-
export const VoiceLockIcon: MappedModules["discord/components/common/index"]["VoiceLockIcon"];
637
-
export const VoiceLowIcon: MappedModules["discord/components/common/index"]["VoiceLowIcon"];
638
-
export const VoiceNormalIcon: MappedModules["discord/components/common/index"]["VoiceNormalIcon"];
639
-
export const VoiceWarningIcon: MappedModules["discord/components/common/index"]["VoiceWarningIcon"];
640
-
export const VoiceXIcon: MappedModules["discord/components/common/index"]["VoiceXIcon"];
641
-
export const WalletIcon: MappedModules["discord/components/common/index"]["WalletIcon"];
642
233
export const WarningIcon: MappedModules["discord/components/common/index"]["WarningIcon"];
643
-
export const WaveformIcon: MappedModules["discord/components/common/index"]["WaveformIcon"];
644
-
export const WaveformSlashIcon: MappedModules["discord/components/common/index"]["WaveformSlashIcon"];
645
-
export const WebhookIcon: MappedModules["discord/components/common/index"]["WebhookIcon"];
646
-
export const WebhookPlusIcon: MappedModules["discord/components/common/index"]["WebhookPlusIcon"];
647
-
export const WidgetsIcon: MappedModules["discord/components/common/index"]["WidgetsIcon"];
648
-
export const WidgetsMinusIcon: MappedModules["discord/components/common/index"]["WidgetsMinusIcon"];
649
-
export const WidgetsPlusIcon: MappedModules["discord/components/common/index"]["WidgetsPlusIcon"];
650
-
export const WidgetsRetryIcon: MappedModules["discord/components/common/index"]["WidgetsRetryIcon"];
651
234
export const WindowLaunchIcon: MappedModules["discord/components/common/index"]["WindowLaunchIcon"];
652
-
export const WindowReturnIcon: MappedModules["discord/components/common/index"]["WindowReturnIcon"];
653
-
export const WindowTopIcon: MappedModules["discord/components/common/index"]["WindowTopIcon"];
654
235
export const WindowTopOutlineIcon: MappedModules["discord/components/common/index"]["WindowTopOutlineIcon"];
655
-
export const WrenchIcon: MappedModules["discord/components/common/index"]["WrenchIcon"];
656
-
export const XLargeBoldIcon: MappedModules["discord/components/common/index"]["XLargeBoldIcon"];
657
236
export const XLargeIcon: MappedModules["discord/components/common/index"]["XLargeIcon"];
658
-
export const XNeutralIcon: MappedModules["discord/components/common/index"]["XNeutralIcon"];
659
-
export const XSmallBoldIcon: MappedModules["discord/components/common/index"]["XSmallBoldIcon"];
660
237
export const XSmallIcon: MappedModules["discord/components/common/index"]["XSmallIcon"];
661
-
export const XboxNeutralIcon: MappedModules["discord/components/common/index"]["XboxNeutralIcon"];
662
-
export const YoutubeNeutralIcon: MappedModules["discord/components/common/index"]["YoutubeNeutralIcon"];
663
-
export const AccessibilityPreferencesContext: MappedModules["discord/components/common/index"]["AccessibilityPreferencesContext"];
664
-
export const AdvancedScroller: MappedModules["discord/components/common/index"]["AdvancedScroller"];
665
-
export const AdvancedScrollerAuto: MappedModules["discord/components/common/index"]["AdvancedScrollerAuto"];
666
-
export const AdvancedScrollerNone: MappedModules["discord/components/common/index"]["AdvancedScrollerNone"];
667
-
export const AdvancedScrollerThin: MappedModules["discord/components/common/index"]["AdvancedScrollerThin"];
668
-
export const Anchor: MappedModules["discord/components/common/index"]["Anchor"];
669
-
export const AnimatedAvatar: MappedModules["discord/components/common/index"]["AnimatedAvatar"];
670
-
export const AnimatedDots: MappedModules["discord/components/common/index"]["AnimatedDots"];
671
-
export const AnimatedStatus: MappedModules["discord/components/common/index"]["AnimatedStatus"];
672
-
export const Backdrop: MappedModules["discord/components/common/index"]["Backdrop"];
673
-
export const BasePopout: MappedModules["discord/components/common/index"]["BasePopout"];
674
-
export const BlobMask: MappedModules["discord/components/common/index"]["BlobMask"];
675
-
export const BlockInteractions: MappedModules["discord/components/common/index"]["BlockInteractions"];
676
-
export const BlockInteractionsContext: MappedModules["discord/components/common/index"]["BlockInteractionsContext"];
677
-
export const ButtonGroup: MappedModules["discord/components/common/index"]["ButtonGroup"];
678
-
export const ButtonLink: MappedModules["discord/components/common/index"]["ButtonLink"];
679
-
export const CalendarPicker: MappedModules["discord/components/common/index"]["CalendarPicker"];
680
-
export const ChainedLottieAnimation: MappedModules["discord/components/common/index"]["ChainedLottieAnimation"];
681
-
export const Checkbox: MappedModules["discord/components/common/index"]["Checkbox"];
682
-
export const CheckboxIndicator: MappedModules["discord/components/common/index"]["CheckboxIndicator"];
683
-
export const CircleBadge: MappedModules["discord/components/common/index"]["CircleBadge"];
684
-
export const CircleIconButton: MappedModules["discord/components/common/index"]["CircleIconButton"];
685
-
export const ClickableContainer: MappedModules["discord/components/common/index"]["ClickableContainer"];
686
-
export const Collapsible: MappedModules["discord/components/common/index"]["Collapsible"];
687
-
export const ColorPicker: MappedModules["discord/components/common/index"]["ColorPicker"];
688
-
export const ColorPickerCustomButton: MappedModules["discord/components/common/index"]["ColorPickerCustomButton"];
689
-
export const ColorPickerDefaultButton: MappedModules["discord/components/common/index"]["ColorPickerDefaultButton"];
690
-
export const Combobox: MappedModules["discord/components/common/index"]["Combobox"];
691
-
export const ComboboxItem: MappedModules["discord/components/common/index"]["ComboboxItem"];
692
-
export const ComboboxPopout: MappedModules["discord/components/common/index"]["ComboboxPopout"];
693
238
export const ConfirmModal: MappedModules["discord/components/common/index"]["ConfirmModal"];
694
-
export const CopyInput: MappedModules["discord/components/common/index"]["CopyInput"];
695
-
export const CustomColorPicker: MappedModules["discord/components/common/index"]["CustomColorPicker"];
696
-
export const DateInput: MappedModules["discord/components/common/index"]["DateInput"];
697
-
export const DeclarativeConfirmModal: MappedModules["discord/components/common/index"]["DeclarativeConfirmModal"];
698
-
export const DisableCustomTheme: MappedModules["discord/components/common/index"]["DisableCustomTheme"];
699
-
export const DnDKeyboardHelpBar: MappedModules["discord/components/common/index"]["DnDKeyboardHelpBar"];
700
-
export const DnDProvider: MappedModules["discord/components/common/index"]["DnDProvider"];
701
-
export const Dots: MappedModules["discord/components/common/index"]["Dots"];
702
-
export const EmptyState: MappedModules["discord/components/common/index"]["EmptyState"];
703
-
export const EmptyStateImage: MappedModules["discord/components/common/index"]["EmptyStateImage"];
704
-
export const EmptyStateText: MappedModules["discord/components/common/index"]["EmptyStateText"];
705
-
export const FocusBlock: MappedModules["discord/components/common/index"]["FocusBlock"];
706
-
export const FocusJumpSection: MappedModules["discord/components/common/index"]["FocusJumpSection"];
707
-
export const FocusLock: MappedModules["discord/components/common/index"]["FocusLock"];
708
-
export const FocusRing: MappedModules["discord/components/common/index"]["FocusRing"];
709
-
export const FocusRingScope: MappedModules["discord/components/common/index"]["FocusRingScope"];
710
-
export const FormContext: MappedModules["discord/components/common/index"]["FormContext"];
711
-
export const FormContextProvider: MappedModules["discord/components/common/index"]["FormContextProvider"];
712
-
export const FormErrorBlock: MappedModules["discord/components/common/index"]["FormErrorBlock"];
713
-
export const FormLabel: MappedModules["discord/components/common/index"]["FormLabel"];
714
-
export const FormNotice: MappedModules["discord/components/common/index"]["FormNotice"];
715
239
export const H: MappedModules["discord/components/common/index"]["H"];
716
-
export const HeadingLevel: MappedModules["discord/components/common/index"]["HeadingLevel"];
717
240
export const HelpMessage: MappedModules["discord/components/common/index"]["HelpMessage"];
718
-
export const HiddenVisually: MappedModules["discord/components/common/index"]["HiddenVisually"];
719
-
export const HorizontalOverflowList: MappedModules["discord/components/common/index"]["HorizontalOverflowList"];
720
-
export const HorizontalOverflowListTooltip: MappedModules["discord/components/common/index"]["HorizontalOverflowListTooltip"];
721
-
export const IconBadge: MappedModules["discord/components/common/index"]["IconBadge"];
722
-
export const IconSelectOption: MappedModules["discord/components/common/index"]["IconSelectOption"];
723
-
export const InputError: MappedModules["discord/components/common/index"]["InputError"];
724
-
export const Interactive: MappedModules["discord/components/common/index"]["Interactive"];
725
-
export const KeyCombo: MappedModules["discord/components/common/index"]["KeyCombo"];
726
-
export const Layer: MappedModules["discord/components/common/index"]["Layer"];
727
-
export const LayerContainer: MappedModules["discord/components/common/index"]["LayerContainer"];
728
-
export const LayerProvider: MappedModules["discord/components/common/index"]["LayerProvider"];
729
-
export const LazyPopout: MappedModules["discord/components/common/index"]["LazyPopout"];
730
-
export const LinkButton: MappedModules["discord/components/common/index"]["LinkButton"];
731
-
export const List: MappedModules["discord/components/common/index"]["List"];
732
-
export const ListAuto: MappedModules["discord/components/common/index"]["ListAuto"];
733
-
export const ListComputer: MappedModules["discord/components/common/index"]["ListComputer"];
734
-
export const ListNone: MappedModules["discord/components/common/index"]["ListNone"];
735
-
export const ListThin: MappedModules["discord/components/common/index"]["ListThin"];
736
-
export const LoadingPopout: MappedModules["discord/components/common/index"]["LoadingPopout"];
737
-
export const LottieAnimation: MappedModules["discord/components/common/index"]["LottieAnimation"];
738
-
export const LottieSparkle: MappedModules["discord/components/common/index"]["LottieSparkle"];
739
-
export const MasonryList: MappedModules["discord/components/common/index"]["MasonryList"];
740
-
export const MasonryListAuto: MappedModules["discord/components/common/index"]["MasonryListAuto"];
741
-
export const MasonryListComputer: MappedModules["discord/components/common/index"]["MasonryListComputer"];
742
-
export const MasonryListThin: MappedModules["discord/components/common/index"]["MasonryListThin"];
743
-
export const MenuImageUploadControl: MappedModules["discord/components/common/index"]["MenuImageUploadControl"];
744
-
export const MenuInteractiveCompositeControl: MappedModules["discord/components/common/index"]["MenuInteractiveCompositeControl"];
745
-
export const MenuSearchControl: MappedModules["discord/components/common/index"]["MenuSearchControl"];
746
-
export const MenuSliderControl: MappedModules["discord/components/common/index"]["MenuSliderControl"];
747
-
export const MenuSpinner: MappedModules["discord/components/common/index"]["MenuSpinner"];
748
-
export const Modal: MappedModules["discord/components/common/index"]["Modal"];
749
241
export const ModalCloseButton: MappedModules["discord/components/common/index"]["ModalCloseButton"];
750
242
export const ModalContent: MappedModules["discord/components/common/index"]["ModalContent"];
751
243
export const ModalFooter: MappedModules["discord/components/common/index"]["ModalFooter"];
752
244
export const ModalHeader: MappedModules["discord/components/common/index"]["ModalHeader"];
753
-
export const ModalListContent: MappedModules["discord/components/common/index"]["ModalListContent"];
754
245
export const ModalRoot: MappedModules["discord/components/common/index"]["ModalRoot"];
755
-
export const Modals: MappedModules["discord/components/common/index"]["Modals"];
756
-
export const NameWithRole: MappedModules["discord/components/common/index"]["NameWithRole"];
757
-
export const NameWithRoleAnchor: MappedModules["discord/components/common/index"]["NameWithRoleAnchor"];
758
-
export const NavItem: MappedModules["discord/components/common/index"]["NavItem"];
759
-
export const NoticeButton: MappedModules["discord/components/common/index"]["NoticeButton"];
760
-
export const NoticeButtonAnchor: MappedModules["discord/components/common/index"]["NoticeButtonAnchor"];
761
-
export const NumberBadge: MappedModules["discord/components/common/index"]["NumberBadge"];
762
246
export const NumberInputStepper: MappedModules["discord/components/common/index"]["NumberInputStepper"];
763
-
export const Paginator: MappedModules["discord/components/common/index"]["Paginator"];
764
-
export const PinToBottomScrollerAuto: MappedModules["discord/components/common/index"]["PinToBottomScrollerAuto"];
765
-
export const PopoutCSSAnimator: MappedModules["discord/components/common/index"]["PopoutCSSAnimator"];
766
-
export const PopoutList: MappedModules["discord/components/common/index"]["PopoutList"];
767
-
export const PremiumBadge: MappedModules["discord/components/common/index"]["PremiumBadge"];
768
-
export const Progress: MappedModules["discord/components/common/index"]["Progress"];
769
-
export const ProgressCircle: MappedModules["discord/components/common/index"]["ProgressCircle"];
770
-
export const QuickSelect: MappedModules["discord/components/common/index"]["QuickSelect"];
771
-
export const RadioGroup: MappedModules["discord/components/common/index"]["RadioGroup"];
772
-
export const RadioIndicator: MappedModules["discord/components/common/index"]["RadioIndicator"];
773
-
export const RedesignIconContextProvider: MappedModules["discord/components/common/index"]["RedesignIconContextProvider"];
774
-
export const ReferencePositionLayer: MappedModules["discord/components/common/index"]["ReferencePositionLayer"];
775
-
export const RoleCircle: MappedModules["discord/components/common/index"]["RoleCircle"];
776
-
export const RoleDot: MappedModules["discord/components/common/index"]["RoleDot"];
777
-
export const RootThemeContextProvider: MappedModules["discord/components/common/index"]["RootThemeContextProvider"];
778
-
export const ScrollerAuto: MappedModules["discord/components/common/index"]["ScrollerAuto"];
779
-
export const ScrollerNone: MappedModules["discord/components/common/index"]["ScrollerNone"];
780
-
export const ScrollerThin: MappedModules["discord/components/common/index"]["ScrollerThin"];
781
-
export const SearchBar: MappedModules["discord/components/common/index"]["SearchBar"];
782
-
export const SearchBox: MappedModules["discord/components/common/index"]["SearchBox"];
783
-
export const SearchableQuickSelect: MappedModules["discord/components/common/index"]["SearchableQuickSelect"];
784
247
export const SearchableSelect: MappedModules["discord/components/common/index"]["SearchableSelect"];
785
-
export const SegmentedControl: MappedModules["discord/components/common/index"]["SegmentedControl"];
786
-
export const SequencedLottieAnimation: MappedModules["discord/components/common/index"]["SequencedLottieAnimation"];
787
-
export const Sequencer: MappedModules["discord/components/common/index"]["Sequencer"];
788
-
export const Shakeable: MappedModules["discord/components/common/index"]["Shakeable"];
789
-
export const Shaker: MappedModules["discord/components/common/index"]["Shaker"];
790
-
export const Shine: MappedModules["discord/components/common/index"]["Shine"];
791
-
export const ShinyButton: MappedModules["discord/components/common/index"]["ShinyButton"];
792
-
export const Slide: MappedModules["discord/components/common/index"]["Slide"];
793
-
export const SlideIn: MappedModules["discord/components/common/index"]["SlideIn"];
794
-
export const Slides: MappedModules["discord/components/common/index"]["Slides"];
795
-
export const Spacer: MappedModules["discord/components/common/index"]["Spacer"];
796
-
export const Spinner: MappedModules["discord/components/common/index"]["Spinner"];
797
-
export const Spring: MappedModules["discord/components/common/index"]["Spring"];
798
-
export const Stack: MappedModules["discord/components/common/index"]["Stack"];
799
-
export const StackedProgress: MappedModules["discord/components/common/index"]["StackedProgress"];
800
-
export const Status: MappedModules["discord/components/common/index"]["Status"];
801
-
export const Table: MappedModules["discord/components/common/index"]["Table"];
802
-
export const TableBody: MappedModules["discord/components/common/index"]["TableBody"];
803
-
export const TableCell: MappedModules["discord/components/common/index"]["TableCell"];
804
-
export const TableColumn: MappedModules["discord/components/common/index"]["TableColumn"];
805
-
export const TableHeader: MappedModules["discord/components/common/index"]["TableHeader"];
806
-
export const TableRow: MappedModules["discord/components/common/index"]["TableRow"];
807
-
export const TextAreaAutosize: MappedModules["discord/components/common/index"]["TextAreaAutosize"];
808
-
export const TextBadge: MappedModules["discord/components/common/index"]["TextBadge"];
809
-
export const ThemeContextProvider: MappedModules["discord/components/common/index"]["ThemeContextProvider"];
810
-
export const ThemeProvider: MappedModules["discord/components/common/index"]["ThemeProvider"];
811
-
export const TimeInput: MappedModules["discord/components/common/index"]["TimeInput"];
812
-
export const Toast: MappedModules["discord/components/common/index"]["Toast"];
813
-
export const ToastContainer: MappedModules["discord/components/common/index"]["ToastContainer"];
814
-
export const TooltipContainer: MappedModules["discord/components/common/index"]["TooltipContainer"];
815
-
export const TooltipLayer: MappedModules["discord/components/common/index"]["TooltipLayer"];
816
-
export const TransitionGroup: MappedModules["discord/components/common/index"]["TransitionGroup"];
817
-
export const UseThemeContext: MappedModules["discord/components/common/index"]["UseThemeContext"];
818
-
export const closeAllModals: MappedModules["discord/components/common/index"]["closeAllModals"];
819
-
export const closeModalInAllContexts: MappedModules["discord/components/common/index"]["closeModalInAllContexts"];
820
-
export const createAdvancedScroller: MappedModules["discord/components/common/index"]["createAdvancedScroller"];
821
-
export const createLayer: MappedModules["discord/components/common/index"]["createLayer"];
822
-
export const createListScroller: MappedModules["discord/components/common/index"]["createListScroller"];
823
-
export const createManagedReactiveScroller: MappedModules["discord/components/common/index"]["createManagedReactiveScroller"];
824
-
export const createMasonryListScroller: MappedModules["discord/components/common/index"]["createMasonryListScroller"];
825
-
export const createScroller: MappedModules["discord/components/common/index"]["createScroller"];
826
248
export const createToast: MappedModules["discord/components/common/index"]["createToast"];
827
-
export const getAvatarSize: MappedModules["discord/components/common/index"]["getAvatarSize"];
828
-
export const getAvatarSpecs: MappedModules["discord/components/common/index"]["getAvatarSpecs"];
829
-
export const getBadgeCountString: MappedModules["discord/components/common/index"]["getBadgeCountString"];
830
-
export const getBadgeWidthForValue: MappedModules["discord/components/common/index"]["getBadgeWidthForValue"];
831
-
export const getButtonStyle: MappedModules["discord/components/common/index"]["getButtonStyle"];
832
-
export const getInteractingModalContext: MappedModules["discord/components/common/index"]["getInteractingModalContext"];
833
-
export const getParentLayerContainer: MappedModules["discord/components/common/index"]["getParentLayerContainer"];
834
-
export const getStatusBackdropColor: MappedModules["discord/components/common/index"]["getStatusBackdropColor"];
835
-
export const getStatusBackdropOpacity: MappedModules["discord/components/common/index"]["getStatusBackdropOpacity"];
836
-
export const getStatusMask: MappedModules["discord/components/common/index"]["getStatusMask"];
837
-
export const getThemeClass: MappedModules["discord/components/common/index"]["getThemeClass"];
838
-
export const hasAnyModalOpen: MappedModules["discord/components/common/index"]["hasAnyModalOpen"];
839
-
export const hasAnyModalOpenSelector: MappedModules["discord/components/common/index"]["hasAnyModalOpenSelector"];
840
-
export const hasModalOpen: MappedModules["discord/components/common/index"]["hasModalOpen"];
841
-
export const hasModalOpenSelector: MappedModules["discord/components/common/index"]["hasModalOpenSelector"];
842
-
export const isInDndMode: MappedModules["discord/components/common/index"]["isInDndMode"];
843
-
export const isListItemRow: MappedModules["discord/components/common/index"]["isListItemRow"];
844
-
export const makeIconCompat: MappedModules["discord/components/common/index"]["makeIconCompat"];
845
-
export const modalContextFromAppContext: MappedModules["discord/components/common/index"]["modalContextFromAppContext"];
846
249
export const popToast: MappedModules["discord/components/common/index"]["popToast"];
847
-
export const referencePortalAwareContains: MappedModules["discord/components/common/index"]["referencePortalAwareContains"];
848
250
export const showToast: MappedModules["discord/components/common/index"]["showToast"];
849
-
export const singleSelect: MappedModules["discord/components/common/index"]["singleSelect"];
850
-
export const toggleDndMode: MappedModules["discord/components/common/index"]["toggleDndMode"];
851
-
export const toggleSelect: MappedModules["discord/components/common/index"]["toggleSelect"];
852
-
export const updateModal: MappedModules["discord/components/common/index"]["updateModal"];
853
-
export const useDndMode: MappedModules["discord/components/common/index"]["useDndMode"];
854
-
export const useDndStore: MappedModules["discord/components/common/index"]["useDndStore"];
855
-
export const useFocusBlock: MappedModules["discord/components/common/index"]["useFocusBlock"];
856
-
export const useFocusJumpSection: MappedModules["discord/components/common/index"]["useFocusJumpSection"];
857
-
export const useFocusJumpSectionManager: MappedModules["discord/components/common/index"]["useFocusJumpSectionManager"];
858
-
export const useFocusLock: MappedModules["discord/components/common/index"]["useFocusLock"];
859
-
export const useFormContext: MappedModules["discord/components/common/index"]["useFormContext"];
860
-
export const useModalContext: MappedModules["discord/components/common/index"]["useModalContext"];
861
-
export const usePrivateHeadingLevel: MappedModules["discord/components/common/index"]["usePrivateHeadingLevel"];
862
-
export const useRadioGroup: MappedModules["discord/components/common/index"]["useRadioGroup"];
863
-
export const useRadioItem: MappedModules["discord/components/common/index"]["useRadioItem"];
864
-
export const useRedesignIconContext: MappedModules["discord/components/common/index"]["useRedesignIconContext"];
865
-
export const useResizeObserverSubscription: MappedModules["discord/components/common/index"]["useResizeObserverSubscription"];
866
-
export const useSpacingValue: MappedModules["discord/components/common/index"]["useSpacingValue"];
867
-
export const useSpring: MappedModules["discord/components/common/index"]["useSpring"];
868
-
export const useSprings: MappedModules["discord/components/common/index"]["useSprings"];
869
-
export const useStatusFillColor: MappedModules["discord/components/common/index"]["useStatusFillColor"];
870
251
export const useThemeContext: MappedModules["discord/components/common/index"]["useThemeContext"];
871
-
export const useToastStore: MappedModules["discord/components/common/index"]["useToastStore"];
872
-
export const useToken: MappedModules["discord/components/common/index"]["useToken"];
873
-
export const useTransition: MappedModules["discord/components/common/index"]["useTransition"];
874
252
export const AccessibilityAnnouncer: MappedModules["discord/components/common/index"]["AccessibilityAnnouncer"];
875
253
export const BackdropStyles: MappedModules["discord/components/common/index"]["BackdropStyles"];
876
254
export const BadgeShapes: MappedModules["discord/components/common/index"]["BadgeShapes"];
877
255
export const CardTypes: MappedModules["discord/components/common/index"]["CardTypes"];
878
256
export const CircleIconButtonColors: MappedModules["discord/components/common/index"]["CircleIconButtonColors"];
879
257
export const CircleIconButtonSizes: MappedModules["discord/components/common/index"]["CircleIconButtonSizes"];
880
-
export const CopyInputModes: MappedModules["discord/components/common/index"]["CopyInputModes"];
881
-
export const FocusRingManager: MappedModules["discord/components/common/index"]["FocusRingManager"];
882
258
export const FormErrorBlockColors: MappedModules["discord/components/common/index"]["FormErrorBlockColors"];
883
259
export const FormNoticeImagePositions: MappedModules["discord/components/common/index"]["FormNoticeImagePositions"];
884
-
export const FormNoticeTypes: MappedModules["discord/components/common/index"]["FormNoticeTypes"];
885
260
export const FormTitleTags: MappedModules["discord/components/common/index"]["FormTitleTags"];
886
261
export const HelpMessageTypes: MappedModules["discord/components/common/index"]["HelpMessageTypes"];
887
262
export const ModalSize: MappedModules["discord/components/common/index"]["ModalSize"];
888
263
export const ModalTransitionState: MappedModules["discord/components/common/index"]["ModalTransitionState"];
889
264
export const PRETTY_KEYS: MappedModules["discord/components/common/index"]["PRETTY_KEYS"];
890
265
export const SelectLooks: MappedModules["discord/components/common/index"]["SelectLooks"];
891
-
export const ShineSizes: MappedModules["discord/components/common/index"]["ShineSizes"];
892
266
export const SpinnerTypes: MappedModules["discord/components/common/index"]["SpinnerTypes"];
893
267
export const StatusTypes: MappedModules["discord/components/common/index"]["StatusTypes"];
894
268
export const ToastPosition: MappedModules["discord/components/common/index"]["ToastPosition"];
···
1238
612
export const badgesContainer: MappedModules["discord/modules/messages/web/Message.css"]["badgesContainer"];
1239
613
}
1240
614
615
+
declare module "@moonlight-mod/wp/discord/modules/modals/Modals" {
616
+
import { MappedModules } from "@moonlight-mod/mappings";
617
+
export const closeAllModals: MappedModules["discord/modules/modals/Modals"]["closeAllModals"];
618
+
export const closeAllModalsForContext: MappedModules["discord/modules/modals/Modals"]["closeAllModalsForContext"];
619
+
export const closeModal: MappedModules["discord/modules/modals/Modals"]["closeModal"];
620
+
export const getInteractingModalContext: MappedModules["discord/modules/modals/Modals"]["getInteractingModalContext"];
621
+
export const hasAnyModalOpen: MappedModules["discord/modules/modals/Modals"]["hasAnyModalOpen"];
622
+
export const hasAnyModalOpenSelector: MappedModules["discord/modules/modals/Modals"]["hasAnyModalOpenSelector"];
623
+
export const hasModalOpen: MappedModules["discord/modules/modals/Modals"]["hasModalOpen"];
624
+
export const hasModalOpenSelector: MappedModules["discord/modules/modals/Modals"]["hasModalOpenSelector"];
625
+
export const openModal: MappedModules["discord/modules/modals/Modals"]["openModal"];
626
+
export const openModalLazy: MappedModules["discord/modules/modals/Modals"]["openModalLazy"];
627
+
export const updateModal: MappedModules["discord/modules/modals/Modals"]["updateModal"];
628
+
export const useHasAnyModalOpen: MappedModules["discord/modules/modals/Modals"]["useHasAnyModalOpen"];
629
+
export const useIsModalAtTop: MappedModules["discord/modules/modals/Modals"]["useIsModalAtTop"];
630
+
export const useModalsStore: MappedModules["discord/modules/modals/Modals"]["useModalsStore"];
631
+
}
632
+
1241
633
declare module "@moonlight-mod/wp/discord/modules/oauth2/index" {
1242
634
import { MappedModules } from "@moonlight-mod/mappings";
1243
635
export const OAuth2AuthorizeModal: MappedModules["discord/modules/oauth2/index"]["OAuth2AuthorizeModal"];
···
1364
756
import { MappedModules } from "@moonlight-mod/mappings";
1365
757
export const SUPPORTS_COPY: MappedModules["discord/utils/ClipboardUtils"]["SUPPORTS_COPY"];
1366
758
export const copy: MappedModules["discord/utils/ClipboardUtils"]["copy"];
759
+
}
760
+
761
+
declare module "@moonlight-mod/wp/discord/utils/ComponentDispatchUtils" {
762
+
import { MappedModules } from "@moonlight-mod/mappings";
763
+
export const ComponentDispatcher: MappedModules["discord/utils/ComponentDispatchUtils"]["ComponentDispatcher"];
764
+
export const ComponentDispatch: MappedModules["discord/utils/ComponentDispatchUtils"]["ComponentDispatch"];
1367
765
}
1368
766
1369
767
declare module "@moonlight-mod/wp/discord/utils/HTTPUtils" {
+7
-7
packages/types/tsconfig.json
+7
-7
packages/types/tsconfig.json
···
1
1
{
2
2
"compilerOptions": {
3
-
"target": "es2016",
4
-
"module": "es6",
5
-
"esModuleInterop": true,
6
-
"forceConsistentCasingInFileNames": true,
7
-
"strict": true,
8
-
"moduleResolution": "bundler",
3
+
"target": "ES2016",
9
4
"jsx": "react",
10
-
"declaration": true
5
+
"module": "ES6",
6
+
"moduleResolution": "bundler",
7
+
"strict": true,
8
+
"declaration": true,
9
+
"esModuleInterop": true,
10
+
"forceConsistentCasingInFileNames": true
11
11
},
12
12
"include": ["./src/**/*", "src/index.ts", "./src/import.d.ts"]
13
13
}
+10
-3
packages/web-preload/package.json
+10
-3
packages/web-preload/package.json
···
2
2
"name": "@moonlight-mod/web-preload",
3
3
"private": true,
4
4
"main": "src/index.ts",
5
+
"engineStrict": true,
6
+
"engines": {
7
+
"node": ">=22",
8
+
"pnpm": ">=10",
9
+
"npm": "pnpm",
10
+
"yarn": "pnpm"
11
+
},
5
12
"dependencies": {
6
13
"@moonlight-mod/core": "workspace:*",
7
-
"@moonlight-mod/lunast": "^1.0.0",
8
-
"@moonlight-mod/mappings": "^1.1.10",
9
-
"@moonlight-mod/moonmap": "^1.0.3",
14
+
"@moonlight-mod/lunast": "catalog:prod",
15
+
"@moonlight-mod/mappings": "catalog:prod",
16
+
"@moonlight-mod/moonmap": "catalog:prod",
10
17
"@moonlight-mod/types": "workspace:*"
11
18
}
12
19
}
+2
-2
packages/web-preload/src/index.ts
+2
-2
packages/web-preload/src/index.ts
···
7
7
import Moonmap from "@moonlight-mod/moonmap";
8
8
import loadMappings from "@moonlight-mod/mappings";
9
9
import { createEventEmitter } from "@moonlight-mod/core/util/event";
10
-
import { EventPayloads, EventType } from "@moonlight-mod/types/core/event";
10
+
import { WebEventPayloads, WebEventType } from "@moonlight-mod/types/core/event";
11
11
12
12
async function load() {
13
13
delete window._moonlightWebLoad;
···
20
20
pendingModules: new Set(),
21
21
enabledExtensions: new Set(),
22
22
23
-
events: createEventEmitter<EventType, EventPayloads>(),
23
+
events: createEventEmitter<WebEventType, WebEventPayloads>(),
24
24
patchingInternals: {
25
25
onModuleLoad,
26
26
registerPatch,
+4
-1
packages/web-preload/tsconfig.json
+4
-1
packages/web-preload/tsconfig.json
+1207
-724
pnpm-lock.yaml
+1207
-724
pnpm-lock.yaml
···
4
4
autoInstallPeers: true
5
5
excludeLinksFromLockfile: false
6
6
7
+
catalogs:
8
+
dev:
9
+
'@moonlight-mod/eslint-config':
10
+
specifier: github:moonlight-mod/eslint-config
11
+
version: 1.0.1
12
+
'@types/chrome':
13
+
specifier: ^0.0.313
14
+
version: 0.0.313
15
+
'@types/node':
16
+
specifier: ^22.14.0
17
+
version: 22.14.0
18
+
esbuild:
19
+
specifier: ^0.19.3
20
+
version: 0.19.3
21
+
esbuild-copy-static-files:
22
+
specifier: ^0.1.0
23
+
version: 0.1.0
24
+
eslint:
25
+
specifier: ^9.12.0
26
+
version: 9.23.0
27
+
husky:
28
+
specifier: ^8.0.3
29
+
version: 8.0.3
30
+
prettier:
31
+
specifier: ^3.1.0
32
+
version: 3.1.0
33
+
taze:
34
+
specifier: ^19.0.4
35
+
version: 19.0.4
36
+
typescript:
37
+
specifier: ^5.3.3
38
+
version: 5.8.2
39
+
prod:
40
+
'@moonlight-mod/lunast':
41
+
specifier: ^1.0.1
42
+
version: 1.0.1
43
+
'@moonlight-mod/mappings':
44
+
specifier: ^1.1.25
45
+
version: 1.1.25
46
+
'@moonlight-mod/moonmap':
47
+
specifier: ^1.0.5
48
+
version: 1.0.5
49
+
'@zenfs/core':
50
+
specifier: ^2.0.0
51
+
version: 2.0.0
52
+
'@zenfs/dom':
53
+
specifier: ^1.1.3
54
+
version: 1.1.6
55
+
microdiff:
56
+
specifier: ^1.5.0
57
+
version: 1.5.0
58
+
nanotar:
59
+
specifier: ^0.1.1
60
+
version: 0.1.1
61
+
7
62
importers:
8
63
9
64
.:
10
65
devDependencies:
11
66
'@moonlight-mod/eslint-config':
12
-
specifier: github:moonlight-mod/eslint-config
13
-
version: https://codeload.github.com/moonlight-mod/eslint-config/tar.gz/e262ac24e1a0955a9b3e0d66da247a0a8c0446c9(eslint@9.12.0)(prettier@3.1.0)(typescript@5.3.2)
67
+
specifier: catalog:dev
68
+
version: https://codeload.github.com/moonlight-mod/eslint-config/tar.gz/e262ac24e1a0955a9b3e0d66da247a0a8c0446c9(@types/eslint@9.6.1)(eslint@9.23.0(jiti@2.4.2))(prettier@3.1.0)(typescript@5.8.2)
69
+
'@types/node':
70
+
specifier: catalog:dev
71
+
version: 22.14.0
14
72
esbuild:
15
-
specifier: ^0.19.3
73
+
specifier: catalog:dev
16
74
version: 0.19.3
17
75
esbuild-copy-static-files:
18
-
specifier: ^0.1.0
76
+
specifier: catalog:dev
19
77
version: 0.1.0
20
78
eslint:
21
-
specifier: ^9.12.0
22
-
version: 9.12.0
79
+
specifier: catalog:dev
80
+
version: 9.23.0(jiti@2.4.2)
23
81
husky:
24
-
specifier: ^8.0.3
82
+
specifier: catalog:dev
25
83
version: 8.0.3
26
84
prettier:
27
-
specifier: ^3.1.0
85
+
specifier: catalog:dev
28
86
version: 3.1.0
87
+
taze:
88
+
specifier: catalog:dev
89
+
version: 19.0.4
29
90
typescript:
30
-
specifier: ^5.3.2
31
-
version: 5.3.2
91
+
specifier: catalog:dev
92
+
version: 5.8.2
32
93
33
94
packages/browser:
34
95
dependencies:
···
42
103
specifier: workspace:*
43
104
version: link:../web-preload
44
105
'@zenfs/core':
45
-
specifier: ^1.8.8
46
-
version: 1.8.8
106
+
specifier: catalog:prod
107
+
version: 2.0.0
47
108
'@zenfs/dom':
48
-
specifier: ^1.1.3
49
-
version: 1.1.3(@zenfs/core@1.8.8)
109
+
specifier: catalog:prod
110
+
version: 1.1.6(@zenfs/core@2.0.0)(utilium@1.10.1)
111
+
devDependencies:
112
+
'@types/chrome':
113
+
specifier: catalog:dev
114
+
version: 0.0.313
50
115
51
116
packages/core:
52
117
dependencies:
···
63
128
specifier: workspace:*
64
129
version: link:../types
65
130
microdiff:
66
-
specifier: ^1.5.0
131
+
specifier: catalog:prod
67
132
version: 1.5.0
68
133
nanotar:
69
-
specifier: ^0.1.1
134
+
specifier: catalog:prod
70
135
version: 0.1.1
71
136
72
137
packages/injector:
···
90
155
packages/types:
91
156
dependencies:
92
157
'@moonlight-mod/lunast':
93
-
specifier: ^1.0.0
94
-
version: 1.0.0
158
+
specifier: ^1.0.1
159
+
version: 1.0.1
95
160
'@moonlight-mod/mappings':
96
-
specifier: ^1.1.10
97
-
version: 1.1.10(@moonlight-mod/lunast@1.0.0)(@moonlight-mod/moonmap@1.0.3)
161
+
specifier: ^1.1.25
162
+
version: 1.1.25(@moonlight-mod/lunast@1.0.1)(@moonlight-mod/moonmap@1.0.5)
98
163
'@moonlight-mod/moonmap':
99
-
specifier: ^1.0.3
100
-
version: 1.0.3
164
+
specifier: ^1.0.5
165
+
version: 1.0.5
101
166
'@types/react':
102
167
specifier: ^18.3.10
103
-
version: 18.3.10
168
+
version: 18.3.20
104
169
csstype:
105
-
specifier: ^3.1.2
106
-
version: 3.1.2
170
+
specifier: ^3.1.3
171
+
version: 3.1.3
107
172
standalone-electron-types:
108
173
specifier: ^1.0.0
109
174
version: 1.0.0
···
114
179
specifier: workspace:*
115
180
version: link:../core
116
181
'@moonlight-mod/lunast':
117
-
specifier: ^1.0.0
118
-
version: 1.0.0
182
+
specifier: catalog:prod
183
+
version: 1.0.1
119
184
'@moonlight-mod/mappings':
120
-
specifier: ^1.1.10
121
-
version: 1.1.10(@moonlight-mod/lunast@1.0.0)(@moonlight-mod/moonmap@1.0.3)
185
+
specifier: catalog:prod
186
+
version: 1.1.25(@moonlight-mod/lunast@1.0.1)(@moonlight-mod/moonmap@1.0.5)
122
187
'@moonlight-mod/moonmap':
123
-
specifier: ^1.0.3
124
-
version: 1.0.3
188
+
specifier: catalog:prod
189
+
version: 1.0.5
125
190
'@moonlight-mod/types':
126
191
specifier: workspace:*
127
192
version: link:../types
···
131
196
'@aashutoshrathi/word-wrap@1.2.6':
132
197
resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
133
198
engines: {node: '>=0.10.0'}
199
+
200
+
'@antfu/ni@24.3.0':
201
+
resolution: {integrity: sha512-wBSav4mBxvHEW9RbdSo1SWLQ6MAlT0Dc423weC58yOWqW4OcMvtnNDdDrxOZeJ88fEIyPK93gDUWIelBxzSf8g==}
202
+
hasBin: true
134
203
135
204
'@esbuild/android-arm64@0.19.3':
136
205
resolution: {integrity: sha512-w+Akc0vv5leog550kjJV9Ru+MXMR2VuMrui3C61mnysim0gkFCPOUTAfzTP0qX+HpN9Syu3YA3p1hf3EPqObRw==}
···
264
333
cpu: [x64]
265
334
os: [win32]
266
335
267
-
'@eslint-community/eslint-utils@4.4.0':
268
-
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
336
+
'@eslint-community/eslint-utils@4.5.1':
337
+
resolution: {integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==}
269
338
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
270
339
peerDependencies:
271
340
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
272
341
273
-
'@eslint-community/regexpp@4.11.1':
274
-
resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==}
342
+
'@eslint-community/regexpp@4.12.1':
343
+
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
275
344
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
276
345
277
-
'@eslint/config-array@0.18.0':
278
-
resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==}
346
+
'@eslint/config-array@0.19.2':
347
+
resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==}
279
348
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
280
349
281
-
'@eslint/core@0.6.0':
282
-
resolution: {integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==}
350
+
'@eslint/config-helpers@0.2.1':
351
+
resolution: {integrity: sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==}
352
+
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
353
+
354
+
'@eslint/core@0.12.0':
355
+
resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==}
356
+
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
357
+
358
+
'@eslint/core@0.13.0':
359
+
resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==}
283
360
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
284
361
285
-
'@eslint/eslintrc@3.1.0':
286
-
resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
362
+
'@eslint/eslintrc@3.3.1':
363
+
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
287
364
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
288
365
289
-
'@eslint/js@9.12.0':
290
-
resolution: {integrity: sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==}
366
+
'@eslint/js@9.23.0':
367
+
resolution: {integrity: sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==}
291
368
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
292
369
293
-
'@eslint/object-schema@2.1.4':
294
-
resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
370
+
'@eslint/object-schema@2.1.6':
371
+
resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
295
372
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
296
373
297
-
'@eslint/plugin-kit@0.2.0':
298
-
resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==}
374
+
'@eslint/plugin-kit@0.2.8':
375
+
resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==}
299
376
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
300
377
301
-
'@humanfs/core@0.19.0':
302
-
resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==}
378
+
'@humanfs/core@0.19.1':
379
+
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
303
380
engines: {node: '>=18.18.0'}
304
381
305
-
'@humanfs/node@0.16.5':
306
-
resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==}
382
+
'@humanfs/node@0.16.6':
383
+
resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
307
384
engines: {node: '>=18.18.0'}
308
385
309
386
'@humanwhocodes/module-importer@1.0.1':
···
314
391
resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
315
392
engines: {node: '>=18.18'}
316
393
394
+
'@humanwhocodes/retry@0.4.2':
395
+
resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
396
+
engines: {node: '>=18.18'}
397
+
317
398
'@moonlight-mod/eslint-config@https://codeload.github.com/moonlight-mod/eslint-config/tar.gz/e262ac24e1a0955a9b3e0d66da247a0a8c0446c9':
318
399
resolution: {tarball: https://codeload.github.com/moonlight-mod/eslint-config/tar.gz/e262ac24e1a0955a9b3e0d66da247a0a8c0446c9}
319
400
version: 1.0.1
···
321
402
eslint: '>= 9'
322
403
typescript: '>= 5.3'
323
404
324
-
'@moonlight-mod/lunast@1.0.0':
325
-
resolution: {integrity: sha512-kJgf41K12i6/2LbXK97CNO+pNO7ADGh9N4bCQcOPwosocKMcwKHDEZUgPqeihNshY3c3AEW1LiyXjlsl24PdDw==}
405
+
'@moonlight-mod/lunast@1.0.1':
406
+
resolution: {integrity: sha512-K3vxzDlfFuYKjciIW2FMlcZ1qrrkAGDGpSBlNqYGtJ0sMt9bRCd2lpSpg6AX/giSljDtmAUXa/5mOfUoDQxjBA==}
326
407
327
-
'@moonlight-mod/mappings@1.1.10':
328
-
resolution: {integrity: sha512-lOEwhi0+lv49EWd1BsE87ynpCfkad61wA8poKzZNEdMRwINI2FHwr6QmG86JcEfWq2flDHuUkr9fwTaKEqMm1Q==}
408
+
'@moonlight-mod/mappings@1.1.25':
409
+
resolution: {integrity: sha512-bgnSN9H/IBdMGxGev6RQKXuzhQxwo1090NhIDHnflguZnjiu2pg/usPfh76bqyhxRuX4SS7tiZSNTwBoSflCLg==}
410
+
engines: {node: '>=22', npm: pnpm, pnpm: '>=10', yarn: pnpm}
329
411
peerDependencies:
330
-
'@moonlight-mod/lunast': ^1.0.0
331
-
'@moonlight-mod/moonmap': ^1.0.0
412
+
'@moonlight-mod/lunast': ^1.0.1
413
+
'@moonlight-mod/moonmap': ^1.0.5
332
414
333
-
'@moonlight-mod/moonmap@1.0.3':
334
-
resolution: {integrity: sha512-G7pwvrcVDimc388IX6VZFzBXpbuyvqbJ+w9/v+MUIc8P7dADJXQ9YkBWvobtRc6eaBBl1FWUwTeU8oobbxLVag==}
415
+
'@moonlight-mod/moonmap@1.0.5':
416
+
resolution: {integrity: sha512-Fdpxj8ghdulKB6TlTnchlCPey2YUKgEf1chuO1ofOIcvlqnVPBcQwSf2S80naOUQpXCDo4dQ+LWSE2fmhdDiiw==}
335
417
336
418
'@nodelib/fs.scandir@2.1.5':
337
419
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
···
345
427
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
346
428
engines: {node: '>= 8'}
347
429
348
-
'@pkgr/core@0.1.1':
349
-
resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
430
+
'@pkgr/core@0.2.0':
431
+
resolution: {integrity: sha512-vsJDAkYR6qCPu+ioGScGiMYR7LvZYIXh/dlQeviqoTWNCVfKTLYD/LkNWH4Mxsv2a5vpIRc77FN5DnmK1eBggQ==}
350
432
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
351
433
434
+
'@quansync/fs@0.1.2':
435
+
resolution: {integrity: sha512-ezIadUb1aFhwJLd++WVqVpi9rnlX8vnd4ju7saPhwLHJN1mJgOv0puePTGV+FbtSnWtwoHDT8lAm4kagDZmpCg==}
436
+
engines: {node: '>=20.0.0'}
437
+
352
438
'@types/chroma-js@3.1.0':
353
439
resolution: {integrity: sha512-Uwl3SOtUkbQ6Ye6ZYu4q4xdLGBzmY839sEHYtOT7i691neeyd+7fXWT5VIkcUSfNwIFrIjQutNYQn9h4q5HFvg==}
354
440
441
+
'@types/chrome@0.0.313':
442
+
resolution: {integrity: sha512-9R5T7gTaYZhkxlu+Ho4wk9FL+y/werWQY2yjGWSqCuiTsqS7nL/BE5UMTP6rU7J+oIG2FRKqrEycHhJATeltVA==}
443
+
444
+
'@types/eslint@9.6.1':
445
+
resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
446
+
355
447
'@types/estree-jsx@1.0.5':
356
448
resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
357
449
358
450
'@types/estree@1.0.6':
359
451
resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
360
452
453
+
'@types/estree@1.0.7':
454
+
resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==}
455
+
361
456
'@types/fbemitter@2.0.35':
362
457
resolution: {integrity: sha512-Xem6d7qUfmouCHntCrRYgDBwbf+WWRd6G+7WEFlEZFZ67LZXiYRvT2LV8wcZa6mIaAil95+ABQdKgB6hPIsnng==}
363
458
459
+
'@types/filesystem@0.0.36':
460
+
resolution: {integrity: sha512-vPDXOZuannb9FZdxgHnqSwAG/jvdGM8Wq+6N4D/d80z+D4HWH+bItqsZaVRQykAn6WEVeEkLm2oQigyHtgb0RA==}
461
+
462
+
'@types/filewriter@0.0.33':
463
+
resolution: {integrity: sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==}
464
+
364
465
'@types/flux@3.1.14':
365
466
resolution: {integrity: sha512-WRXN0kQPCnqxN0/PgNgc7WBF6c8rbSHsEep3/qBLpsQ824RONdOmTs0TV7XhIW2GDNRAHO2CqCgAFLR5PChosw==}
467
+
468
+
'@types/har-format@1.2.16':
469
+
resolution: {integrity: sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A==}
366
470
367
471
'@types/highlightjs@9.12.6':
368
472
resolution: {integrity: sha512-Qfd1DUrwE851Hc3tExADJY4qY8yeZMt06Xw9AJm/UtpneepJS3MZY29c33BY0wP899veaaHD4gZzYiSuQm84Fg==}
···
376
480
'@types/node@18.17.17':
377
481
resolution: {integrity: sha512-cOxcXsQ2sxiwkykdJqvyFS+MLQPLvIdwh5l6gNg8qF6s+C7XSkEWOZjK+XhUZd+mYvHV/180g2cnCcIl4l06Pw==}
378
482
379
-
'@types/node@22.10.7':
380
-
resolution: {integrity: sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==}
483
+
'@types/node@22.13.6':
484
+
resolution: {integrity: sha512-GYmF65GI7417CpZXsEXMjT8goQQDnpRnJnDw6jIYa+le3V/lMazPZ4vZmK1B/9R17fh2VLr2zuy9d/h5xgrLAg==}
485
+
486
+
'@types/node@22.14.0':
487
+
resolution: {integrity: sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==}
381
488
382
489
'@types/platform@1.3.6':
383
490
resolution: {integrity: sha512-ZmSaqHuvzv+jC232cFoz2QqPUkaj6EvMmCrWcx3WRr7xTPVFCMUOTcOq8m2d+Zw1iKRc1kDiaA+jtNrV0hkVew==}
···
385
492
'@types/prop-types@15.7.13':
386
493
resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
387
494
388
-
'@types/react@18.3.10':
389
-
resolution: {integrity: sha512-02sAAlBnP39JgXwkAq3PeU9DVaaGpZyF3MGcC0MKgQVkZor5IiiDAipVaxQHtDJAmO4GIy/rVBy/LzVj76Cyqg==}
495
+
'@types/react@18.3.20':
496
+
resolution: {integrity: sha512-IPaCZN7PShZK/3t6Q87pfTkRm6oLTd4vztyoj+cbHUF1g3FfVb2tFIL79uCRKEfv16AhqDMBywP2VW3KIZUvcg==}
390
497
391
-
'@types/readable-stream@4.0.15':
392
-
resolution: {integrity: sha512-oAZ3kw+kJFkEqyh7xORZOku1YAKvsFTogRY8kVl4vHpEKiDkfnSA/My8haRE7fvmix5Zyy+1pwzOi7yycGLBJw==}
393
-
394
-
'@typescript-eslint/eslint-plugin@8.8.1':
395
-
resolution: {integrity: sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==}
498
+
'@typescript-eslint/eslint-plugin@8.29.0':
499
+
resolution: {integrity: sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==}
396
500
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
397
501
peerDependencies:
398
502
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
399
503
eslint: ^8.57.0 || ^9.0.0
400
-
typescript: '*'
401
-
peerDependenciesMeta:
402
-
typescript:
403
-
optional: true
504
+
typescript: '>=4.8.4 <5.9.0'
404
505
405
-
'@typescript-eslint/parser@8.8.1':
406
-
resolution: {integrity: sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==}
506
+
'@typescript-eslint/parser@8.29.0':
507
+
resolution: {integrity: sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==}
407
508
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
408
509
peerDependencies:
409
510
eslint: ^8.57.0 || ^9.0.0
410
-
typescript: '*'
411
-
peerDependenciesMeta:
412
-
typescript:
413
-
optional: true
511
+
typescript: '>=4.8.4 <5.9.0'
414
512
415
-
'@typescript-eslint/scope-manager@8.8.1':
416
-
resolution: {integrity: sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==}
513
+
'@typescript-eslint/scope-manager@8.29.0':
514
+
resolution: {integrity: sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==}
417
515
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
418
516
419
-
'@typescript-eslint/type-utils@8.8.1':
420
-
resolution: {integrity: sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==}
517
+
'@typescript-eslint/type-utils@8.29.0':
518
+
resolution: {integrity: sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==}
421
519
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
422
520
peerDependencies:
423
-
typescript: '*'
424
-
peerDependenciesMeta:
425
-
typescript:
426
-
optional: true
521
+
eslint: ^8.57.0 || ^9.0.0
522
+
typescript: '>=4.8.4 <5.9.0'
427
523
428
-
'@typescript-eslint/types@8.8.1':
429
-
resolution: {integrity: sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==}
524
+
'@typescript-eslint/types@8.29.0':
525
+
resolution: {integrity: sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==}
430
526
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
431
527
432
-
'@typescript-eslint/typescript-estree@8.8.1':
433
-
resolution: {integrity: sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==}
528
+
'@typescript-eslint/typescript-estree@8.29.0':
529
+
resolution: {integrity: sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==}
434
530
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
435
531
peerDependencies:
436
-
typescript: '*'
437
-
peerDependenciesMeta:
438
-
typescript:
439
-
optional: true
532
+
typescript: '>=4.8.4 <5.9.0'
440
533
441
-
'@typescript-eslint/utils@8.8.1':
442
-
resolution: {integrity: sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==}
534
+
'@typescript-eslint/utils@8.29.0':
535
+
resolution: {integrity: sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==}
443
536
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
444
537
peerDependencies:
445
538
eslint: ^8.57.0 || ^9.0.0
539
+
typescript: '>=4.8.4 <5.9.0'
446
540
447
-
'@typescript-eslint/visitor-keys@8.8.1':
448
-
resolution: {integrity: sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==}
541
+
'@typescript-eslint/visitor-keys@8.29.0':
542
+
resolution: {integrity: sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==}
449
543
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
450
544
451
545
'@xterm/xterm@5.5.0':
452
546
resolution: {integrity: sha512-hqJHYaQb5OptNunnyAnkHyM8aCjZ1MEIDTQu1iIbbTD/xops91NB5yq1ZK/dC2JDbVWtF23zUtl9JE2NqwT87A==}
453
547
454
-
'@zenfs/core@1.8.8':
455
-
resolution: {integrity: sha512-J4w/IFJ3r1xF2/3txmqLDbomPvsmkYWRvgR5hmPqBAST3fO4YZtSc9QtE1TPf2DGetvmfPiAU9l9I0a+XE3g1g==}
456
-
engines: {node: '>= 16'}
548
+
'@zenfs/core@2.0.0':
549
+
resolution: {integrity: sha512-wOKNFTY1DJ1vdLqKdU7M8cRh0nVYZcDVu7WHuk/3u49hrSwTZVm4PzGxJUjFd8O9Wi3U5nYTbZoN7RX5mS2ldA==}
550
+
engines: {node: '>= 18'}
457
551
hasBin: true
458
552
459
-
'@zenfs/dom@1.1.3':
460
-
resolution: {integrity: sha512-Rv33rnwELDLTOT9BwIGyAYBryWE2VW6E9QkoIZ67FFXzwXKzmmk/yESgzUdqUM7Dq7ciKk4wfati0ViUO6Bymw==}
553
+
'@zenfs/dom@1.1.6':
554
+
resolution: {integrity: sha512-7SBTWgA0esuEv/TE+N/xk6W/XJf8uBF+LhlPNHQdXds0H7aOy/UYsWv/8glvARe+meDMMidoeWFLzUWoMXfjlA==}
461
555
engines: {node: '>= 18'}
462
556
peerDependencies:
463
-
'@zenfs/core': ^1.7.0
557
+
'@zenfs/core': ^2.0.0
558
+
utilium: ^1.9.0
464
559
465
560
abort-controller@3.0.0:
466
561
resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
···
471
566
peerDependencies:
472
567
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
473
568
474
-
acorn@8.12.1:
475
-
resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
569
+
acorn@8.14.1:
570
+
resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
476
571
engines: {node: '>=0.4.0'}
477
572
hasBin: true
478
573
···
483
578
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
484
579
engines: {node: '>=8'}
485
580
581
+
ansis@3.17.0:
582
+
resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==}
583
+
engines: {node: '>=14'}
584
+
486
585
argparse@2.0.1:
487
586
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
488
587
489
-
array-buffer-byte-length@1.0.1:
490
-
resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
588
+
array-buffer-byte-length@1.0.2:
589
+
resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
491
590
engines: {node: '>= 0.4'}
492
591
493
592
array-includes@3.1.8:
···
498
597
resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
499
598
engines: {node: '>= 0.4'}
500
599
501
-
array.prototype.flat@1.3.2:
502
-
resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
600
+
array.prototype.flat@1.3.3:
601
+
resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==}
503
602
engines: {node: '>= 0.4'}
504
603
505
-
array.prototype.flatmap@1.3.2:
506
-
resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
604
+
array.prototype.flatmap@1.3.3:
605
+
resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==}
507
606
engines: {node: '>= 0.4'}
508
607
509
608
array.prototype.tosorted@1.1.4:
510
609
resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
511
610
engines: {node: '>= 0.4'}
512
611
513
-
arraybuffer.prototype.slice@1.0.3:
514
-
resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
612
+
arraybuffer.prototype.slice@1.0.4:
613
+
resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
515
614
engines: {node: '>= 0.4'}
516
615
517
616
astring@1.9.0:
518
617
resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
519
618
hasBin: true
520
619
620
+
async-function@1.0.0:
621
+
resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
622
+
engines: {node: '>= 0.4'}
623
+
521
624
available-typed-arrays@1.0.7:
522
625
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
523
626
engines: {node: '>= 0.4'}
···
541
644
buffer@6.0.3:
542
645
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
543
646
544
-
call-bind@1.0.7:
545
-
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
647
+
cac@6.7.14:
648
+
resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
649
+
engines: {node: '>=8'}
650
+
651
+
call-bind-apply-helpers@1.0.2:
652
+
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
653
+
engines: {node: '>= 0.4'}
654
+
655
+
call-bind@1.0.8:
656
+
resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
657
+
engines: {node: '>= 0.4'}
658
+
659
+
call-bound@1.0.4:
660
+
resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
546
661
engines: {node: '>= 0.4'}
547
662
548
663
callsites@3.1.0:
···
563
678
concat-map@0.0.1:
564
679
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
565
680
566
-
cross-spawn@7.0.3:
567
-
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
681
+
cross-spawn@7.0.6:
682
+
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
568
683
engines: {node: '>= 8'}
569
684
570
-
csstype@3.1.2:
571
-
resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
572
-
573
685
csstype@3.1.3:
574
686
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
575
687
576
-
data-view-buffer@1.0.1:
577
-
resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
688
+
data-view-buffer@1.0.2:
689
+
resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
578
690
engines: {node: '>= 0.4'}
579
691
580
-
data-view-byte-length@1.0.1:
581
-
resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
692
+
data-view-byte-length@1.0.2:
693
+
resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
582
694
engines: {node: '>= 0.4'}
583
695
584
-
data-view-byte-offset@1.0.0:
585
-
resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
696
+
data-view-byte-offset@1.0.1:
697
+
resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
586
698
engines: {node: '>= 0.4'}
587
699
588
-
debug@4.3.4:
589
-
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
700
+
debug@4.4.0:
701
+
resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
590
702
engines: {node: '>=6.0'}
591
703
peerDependencies:
592
704
supports-color: '*'
···
605
717
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
606
718
engines: {node: '>= 0.4'}
607
719
720
+
defu@6.1.4:
721
+
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
722
+
723
+
destr@2.0.4:
724
+
resolution: {integrity: sha512-FCAorltMy7QwX0QU38jOkhrv20LBpsHA8ogzvMhhPHCCKVCaN6GxrB0GGaWEWBUYI4eEjjfJ95RdP6dk9IdMQA==}
725
+
608
726
doctrine@2.1.0:
609
727
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
610
728
engines: {node: '>=0.10.0'}
611
729
612
-
es-abstract@1.23.3:
613
-
resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
730
+
dunder-proto@1.0.1:
731
+
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
732
+
engines: {node: '>= 0.4'}
733
+
734
+
es-abstract@1.23.9:
735
+
resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==}
614
736
engines: {node: '>= 0.4'}
615
737
616
-
es-define-property@1.0.0:
617
-
resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
738
+
es-define-property@1.0.1:
739
+
resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
618
740
engines: {node: '>= 0.4'}
619
741
620
742
es-errors@1.3.0:
621
743
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
622
744
engines: {node: '>= 0.4'}
623
745
624
-
es-iterator-helpers@1.1.0:
625
-
resolution: {integrity: sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==}
746
+
es-iterator-helpers@1.2.1:
747
+
resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==}
626
748
engines: {node: '>= 0.4'}
627
749
628
-
es-object-atoms@1.0.0:
629
-
resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
750
+
es-object-atoms@1.1.1:
751
+
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
630
752
engines: {node: '>= 0.4'}
631
753
632
-
es-set-tostringtag@2.0.3:
633
-
resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
754
+
es-set-tostringtag@2.1.0:
755
+
resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
634
756
engines: {node: '>= 0.4'}
635
757
636
-
es-shim-unscopables@1.0.2:
637
-
resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
758
+
es-shim-unscopables@1.1.0:
759
+
resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==}
760
+
engines: {node: '>= 0.4'}
638
761
639
-
es-to-primitive@1.2.1:
640
-
resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
762
+
es-to-primitive@1.3.0:
763
+
resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
641
764
engines: {node: '>= 0.4'}
642
765
643
766
esbuild-copy-static-files@0.1.0:
···
658
781
peerDependencies:
659
782
eslint: '>=7.0.0'
660
783
661
-
eslint-plugin-prettier@5.2.1:
662
-
resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==}
784
+
eslint-plugin-prettier@5.2.6:
785
+
resolution: {integrity: sha512-mUcf7QG2Tjk7H055Jk0lGBjbgDnfrvqjhXh9t2xLMSCjZVcw9Rb1V6sVNXO0th3jgeO7zllWPTNRil3JW94TnQ==}
663
786
engines: {node: ^14.18.0 || >=16.0.0}
664
787
peerDependencies:
665
788
'@types/eslint': '>=8.0.0'
666
789
eslint: '>=8.0.0'
667
-
eslint-config-prettier: '*'
790
+
eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0'
668
791
prettier: '>=3.0.0'
669
792
peerDependenciesMeta:
670
793
'@types/eslint':
···
672
795
eslint-config-prettier:
673
796
optional: true
674
797
675
-
eslint-plugin-react@7.37.1:
676
-
resolution: {integrity: sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==}
798
+
eslint-plugin-react@7.37.5:
799
+
resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==}
677
800
engines: {node: '>=4'}
678
801
peerDependencies:
679
802
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
680
803
681
-
eslint-scope@8.1.0:
682
-
resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==}
804
+
eslint-scope@8.3.0:
805
+
resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==}
683
806
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
684
807
685
808
eslint-visitor-keys@3.4.3:
686
809
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
687
810
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
688
811
689
-
eslint-visitor-keys@4.1.0:
690
-
resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==}
812
+
eslint-visitor-keys@4.2.0:
813
+
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
691
814
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
692
815
693
-
eslint@9.12.0:
694
-
resolution: {integrity: sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==}
816
+
eslint@9.23.0:
817
+
resolution: {integrity: sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==}
695
818
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
696
819
hasBin: true
697
820
peerDependencies:
···
700
823
jiti:
701
824
optional: true
702
825
703
-
espree@10.2.0:
704
-
resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==}
826
+
espree@10.3.0:
827
+
resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
705
828
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
706
829
707
-
esquery@1.5.0:
708
-
resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
830
+
esquery@1.6.0:
831
+
resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
709
832
engines: {node: '>=0.10'}
710
833
711
834
esrecurse@4.3.0:
···
753
876
fastq@1.17.1:
754
877
resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
755
878
879
+
fdir@6.4.3:
880
+
resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==}
881
+
peerDependencies:
882
+
picomatch: ^3 || ^4
883
+
peerDependenciesMeta:
884
+
picomatch:
885
+
optional: true
886
+
756
887
file-entry-cache@8.0.0:
757
888
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
758
889
engines: {node: '>=16.0.0'}
···
761
892
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
762
893
engines: {node: '>=8'}
763
894
895
+
find-up-simple@1.0.1:
896
+
resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==}
897
+
engines: {node: '>=18'}
898
+
764
899
find-up@5.0.0:
765
900
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
766
901
engines: {node: '>=10'}
···
772
907
flatted@3.2.9:
773
908
resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
774
909
775
-
for-each@0.3.3:
776
-
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
910
+
for-each@0.3.5:
911
+
resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
912
+
engines: {node: '>= 0.4'}
777
913
778
914
function-bind@1.1.2:
779
915
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
780
916
781
-
function.prototype.name@1.1.6:
782
-
resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
917
+
function.prototype.name@1.1.8:
918
+
resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
783
919
engines: {node: '>= 0.4'}
784
920
785
921
functions-have-names@1.2.3:
786
922
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
787
923
788
-
get-intrinsic@1.2.4:
789
-
resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
924
+
fzf@0.5.2:
925
+
resolution: {integrity: sha512-Tt4kuxLXFKHy8KT40zwsUPUkg1CrsgY25FxA2U/j/0WgEDCk3ddc/zLTCCcbSHX9FcKtLuVaDGtGE/STWC+j3Q==}
926
+
927
+
get-intrinsic@1.3.0:
928
+
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
790
929
engines: {node: '>= 0.4'}
791
930
792
-
get-symbol-description@1.0.2:
793
-
resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
931
+
get-proto@1.0.1:
932
+
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
933
+
engines: {node: '>= 0.4'}
934
+
935
+
get-symbol-description@1.1.0:
936
+
resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
794
937
engines: {node: '>= 0.4'}
795
938
796
939
glob-parent@5.1.2:
···
809
952
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
810
953
engines: {node: '>= 0.4'}
811
954
812
-
gopd@1.0.1:
813
-
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
955
+
gopd@1.2.0:
956
+
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
957
+
engines: {node: '>= 0.4'}
814
958
815
959
graphemer@1.4.0:
816
960
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
817
961
818
-
has-bigints@1.0.2:
819
-
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
962
+
has-bigints@1.1.0:
963
+
resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
964
+
engines: {node: '>= 0.4'}
820
965
821
966
has-flag@4.0.0:
822
967
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
···
825
970
has-property-descriptors@1.0.2:
826
971
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
827
972
828
-
has-proto@1.0.3:
829
-
resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
973
+
has-proto@1.2.0:
974
+
resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
830
975
engines: {node: '>= 0.4'}
831
976
832
-
has-symbols@1.0.3:
833
-
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
977
+
has-symbols@1.1.0:
978
+
resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
834
979
engines: {node: '>= 0.4'}
835
980
836
981
has-tostringtag@1.0.2:
···
849
994
ieee754@1.2.1:
850
995
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
851
996
852
-
ignore@5.3.0:
853
-
resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
854
-
engines: {node: '>= 4'}
855
-
856
997
ignore@5.3.2:
857
998
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
858
999
engines: {node: '>= 4'}
···
865
1006
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
866
1007
engines: {node: '>=0.8.19'}
867
1008
868
-
internal-slot@1.0.7:
869
-
resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
1009
+
internal-slot@1.1.0:
1010
+
resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
870
1011
engines: {node: '>= 0.4'}
871
1012
872
-
is-array-buffer@3.0.4:
873
-
resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
1013
+
is-array-buffer@3.0.5:
1014
+
resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
874
1015
engines: {node: '>= 0.4'}
875
1016
876
-
is-async-function@2.0.0:
877
-
resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
1017
+
is-async-function@2.1.1:
1018
+
resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==}
878
1019
engines: {node: '>= 0.4'}
879
1020
880
-
is-bigint@1.0.4:
881
-
resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
1021
+
is-bigint@1.1.0:
1022
+
resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
1023
+
engines: {node: '>= 0.4'}
882
1024
883
-
is-boolean-object@1.1.2:
884
-
resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
1025
+
is-boolean-object@1.2.2:
1026
+
resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
885
1027
engines: {node: '>= 0.4'}
886
1028
887
1029
is-callable@1.2.7:
888
1030
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
889
1031
engines: {node: '>= 0.4'}
890
1032
891
-
is-core-module@2.15.1:
892
-
resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
1033
+
is-core-module@2.16.1:
1034
+
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
893
1035
engines: {node: '>= 0.4'}
894
1036
895
-
is-data-view@1.0.1:
896
-
resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
1037
+
is-data-view@1.0.2:
1038
+
resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
897
1039
engines: {node: '>= 0.4'}
898
1040
899
-
is-date-object@1.0.5:
900
-
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
1041
+
is-date-object@1.1.0:
1042
+
resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
901
1043
engines: {node: '>= 0.4'}
902
1044
903
1045
is-extglob@2.1.1:
904
1046
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
905
1047
engines: {node: '>=0.10.0'}
906
1048
907
-
is-finalizationregistry@1.0.2:
908
-
resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
1049
+
is-finalizationregistry@1.1.1:
1050
+
resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
1051
+
engines: {node: '>= 0.4'}
909
1052
910
-
is-generator-function@1.0.10:
911
-
resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
1053
+
is-generator-function@1.1.0:
1054
+
resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==}
912
1055
engines: {node: '>= 0.4'}
913
1056
914
1057
is-glob@4.0.3:
···
919
1062
resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
920
1063
engines: {node: '>= 0.4'}
921
1064
922
-
is-negative-zero@2.0.3:
923
-
resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
924
-
engines: {node: '>= 0.4'}
925
-
926
-
is-number-object@1.0.7:
927
-
resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
1065
+
is-number-object@1.1.1:
1066
+
resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
928
1067
engines: {node: '>= 0.4'}
929
1068
930
1069
is-number@7.0.0:
931
1070
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
932
1071
engines: {node: '>=0.12.0'}
933
1072
934
-
is-regex@1.1.4:
935
-
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
1073
+
is-regex@1.2.1:
1074
+
resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
936
1075
engines: {node: '>= 0.4'}
937
1076
938
1077
is-set@2.0.3:
939
1078
resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
940
1079
engines: {node: '>= 0.4'}
941
1080
942
-
is-shared-array-buffer@1.0.3:
943
-
resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
1081
+
is-shared-array-buffer@1.0.4:
1082
+
resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
944
1083
engines: {node: '>= 0.4'}
945
1084
946
-
is-string@1.0.7:
947
-
resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
1085
+
is-string@1.1.1:
1086
+
resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
948
1087
engines: {node: '>= 0.4'}
949
1088
950
-
is-symbol@1.0.4:
951
-
resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
1089
+
is-symbol@1.1.1:
1090
+
resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
952
1091
engines: {node: '>= 0.4'}
953
1092
954
-
is-typed-array@1.1.13:
955
-
resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
1093
+
is-typed-array@1.1.15:
1094
+
resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
956
1095
engines: {node: '>= 0.4'}
957
1096
958
1097
is-weakmap@2.0.2:
959
1098
resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
960
1099
engines: {node: '>= 0.4'}
961
1100
962
-
is-weakref@1.0.2:
963
-
resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
1101
+
is-weakref@1.1.1:
1102
+
resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==}
1103
+
engines: {node: '>= 0.4'}
964
1104
965
-
is-weakset@2.0.3:
966
-
resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
1105
+
is-weakset@2.0.4:
1106
+
resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
967
1107
engines: {node: '>= 0.4'}
968
1108
969
1109
isarray@2.0.5:
···
972
1112
isexe@2.0.0:
973
1113
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
974
1114
975
-
iterator.prototype@1.1.3:
976
-
resolution: {integrity: sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==}
1115
+
iterator.prototype@1.1.5:
1116
+
resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==}
977
1117
engines: {node: '>= 0.4'}
1118
+
1119
+
jiti@2.4.2:
1120
+
resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
1121
+
hasBin: true
978
1122
979
1123
js-tokens@4.0.0:
980
1124
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
···
1014
1158
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1015
1159
hasBin: true
1016
1160
1161
+
math-intrinsics@1.1.0:
1162
+
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
1163
+
engines: {node: '>= 0.4'}
1164
+
1017
1165
merge2@1.4.1:
1018
1166
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1019
1167
engines: {node: '>= 8'}
···
1029
1177
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
1030
1178
engines: {node: '>=8.6'}
1031
1179
1180
+
mimic-function@5.0.1:
1181
+
resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
1182
+
engines: {node: '>=18'}
1183
+
1032
1184
minimatch@3.1.2:
1033
1185
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1034
1186
···
1036
1188
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
1037
1189
engines: {node: '>=16 || 14 >=14.17'}
1038
1190
1039
-
ms@2.1.2:
1040
-
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1191
+
ms@2.1.3:
1192
+
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1041
1193
1042
1194
nanotar@0.1.1:
1043
1195
resolution: {integrity: sha512-AiJsGsSF3O0havL1BydvI4+wR76sKT+okKRwWIaK96cZUnXqH0uNBOsHlbwZq3+m2BR1VKqHDVudl3gO4mYjpQ==}
···
1045
1197
natural-compare@1.4.0:
1046
1198
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1047
1199
1200
+
node-fetch-native@1.6.6:
1201
+
resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==}
1202
+
1048
1203
object-assign@4.1.1:
1049
1204
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1050
1205
engines: {node: '>=0.10.0'}
1051
1206
1052
-
object-inspect@1.13.2:
1053
-
resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
1207
+
object-inspect@1.13.4:
1208
+
resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
1054
1209
engines: {node: '>= 0.4'}
1055
1210
1056
1211
object-keys@1.1.1:
1057
1212
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
1058
1213
engines: {node: '>= 0.4'}
1059
1214
1060
-
object.assign@4.1.5:
1061
-
resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
1215
+
object.assign@4.1.7:
1216
+
resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
1062
1217
engines: {node: '>= 0.4'}
1063
1218
1064
-
object.entries@1.1.8:
1065
-
resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
1219
+
object.entries@1.1.9:
1220
+
resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==}
1066
1221
engines: {node: '>= 0.4'}
1067
1222
1068
1223
object.fromentries@2.0.8:
1069
1224
resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
1070
1225
engines: {node: '>= 0.4'}
1071
1226
1072
-
object.values@1.2.0:
1073
-
resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
1227
+
object.values@1.2.1:
1228
+
resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
1074
1229
engines: {node: '>= 0.4'}
1075
1230
1231
+
ofetch@1.4.1:
1232
+
resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==}
1233
+
1234
+
onetime@7.0.0:
1235
+
resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
1236
+
engines: {node: '>=18'}
1237
+
1076
1238
optionator@0.9.3:
1077
1239
resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
1078
1240
engines: {node: '>= 0.8.0'}
1079
1241
1242
+
own-keys@1.0.1:
1243
+
resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
1244
+
engines: {node: '>= 0.4'}
1245
+
1080
1246
p-limit@3.1.0:
1081
1247
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1082
1248
engines: {node: '>=10'}
···
1084
1250
p-locate@5.0.0:
1085
1251
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1086
1252
engines: {node: '>=10'}
1253
+
1254
+
package-manager-detector@1.1.0:
1255
+
resolution: {integrity: sha512-Y8f9qUlBzW8qauJjd/eu6jlpJZsuPJm2ZAV0cDVd420o4EdpH5RPdoCv+60/TdJflGatr4sDfpAL6ArWZbM5tA==}
1087
1256
1088
1257
parent-module@1.0.1:
1089
1258
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
···
1100
1269
path-parse@1.0.7:
1101
1270
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1102
1271
1272
+
pathe@2.0.3:
1273
+
resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
1274
+
1103
1275
picomatch@2.3.1:
1104
1276
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1105
1277
engines: {node: '>=8.6'}
1106
1278
1107
-
possible-typed-array-names@1.0.0:
1108
-
resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
1279
+
picomatch@4.0.2:
1280
+
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
1281
+
engines: {node: '>=12'}
1282
+
1283
+
pnpm-workspace-yaml@0.3.1:
1284
+
resolution: {integrity: sha512-3nW5RLmREmZ8Pm8MbPsO2RM+99RRjYd25ynj3NV0cFsN7CcEl4sDFzgoFmSyduFwxFQ2Qbu3y2UdCh6HlyUOeA==}
1285
+
1286
+
possible-typed-array-names@1.1.0:
1287
+
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
1109
1288
engines: {node: '>= 0.4'}
1110
1289
1111
1290
prelude-ls@1.2.1:
···
1131
1310
punycode@2.3.1:
1132
1311
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1133
1312
engines: {node: '>=6'}
1313
+
1314
+
quansync@0.2.10:
1315
+
resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==}
1134
1316
1135
1317
queue-microtask@1.2.3:
1136
1318
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
···
1142
1324
resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==}
1143
1325
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1144
1326
1145
-
reflect.getprototypeof@1.0.6:
1146
-
resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
1327
+
reflect.getprototypeof@1.0.10:
1328
+
resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
1147
1329
engines: {node: '>= 0.4'}
1148
1330
1149
-
regexp.prototype.flags@1.5.3:
1150
-
resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==}
1331
+
regexp.prototype.flags@1.5.4:
1332
+
resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
1151
1333
engines: {node: '>= 0.4'}
1152
1334
1153
1335
resolve-from@4.0.0:
···
1158
1340
resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
1159
1341
hasBin: true
1160
1342
1343
+
restore-cursor@5.1.0:
1344
+
resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
1345
+
engines: {node: '>=18'}
1346
+
1161
1347
reusify@1.0.4:
1162
1348
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1163
1349
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
···
1165
1351
run-parallel@1.2.0:
1166
1352
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1167
1353
1168
-
safe-array-concat@1.1.2:
1169
-
resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
1354
+
safe-array-concat@1.1.3:
1355
+
resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
1170
1356
engines: {node: '>=0.4'}
1171
-
1172
-
safe-buffer@5.1.2:
1173
-
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
1174
1357
1175
1358
safe-buffer@5.2.1:
1176
1359
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
1177
1360
1178
-
safe-regex-test@1.0.3:
1179
-
resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
1361
+
safe-push-apply@1.0.0:
1362
+
resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
1363
+
engines: {node: '>= 0.4'}
1364
+
1365
+
safe-regex-test@1.1.0:
1366
+
resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
1180
1367
engines: {node: '>= 0.4'}
1181
1368
1182
1369
semver@6.3.1:
1183
1370
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
1184
1371
hasBin: true
1185
1372
1186
-
semver@7.6.3:
1187
-
resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
1373
+
semver@7.7.1:
1374
+
resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
1188
1375
engines: {node: '>=10'}
1189
1376
hasBin: true
1190
1377
···
1196
1383
resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
1197
1384
engines: {node: '>= 0.4'}
1198
1385
1386
+
set-proto@1.0.0:
1387
+
resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
1388
+
engines: {node: '>= 0.4'}
1389
+
1199
1390
shebang-command@2.0.0:
1200
1391
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1201
1392
engines: {node: '>=8'}
···
1204
1395
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1205
1396
engines: {node: '>=8'}
1206
1397
1207
-
side-channel@1.0.6:
1208
-
resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
1398
+
side-channel-list@1.0.0:
1399
+
resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
1400
+
engines: {node: '>= 0.4'}
1401
+
1402
+
side-channel-map@1.0.1:
1403
+
resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
1209
1404
engines: {node: '>= 0.4'}
1210
1405
1406
+
side-channel-weakmap@1.0.2:
1407
+
resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
1408
+
engines: {node: '>= 0.4'}
1409
+
1410
+
side-channel@1.1.0:
1411
+
resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
1412
+
engines: {node: '>= 0.4'}
1413
+
1414
+
signal-exit@4.1.0:
1415
+
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
1416
+
engines: {node: '>=14'}
1417
+
1211
1418
standalone-electron-types@1.0.0:
1212
1419
resolution: {integrity: sha512-0HOi/tlTz3mjWhsAz4uRbpQcHMZ+ifj1JzWW9nugykOHClBBG77ps8QinrzX1eow4Iw2pnC+RFaSYRgufF4BOg==}
1213
1420
1214
-
string.prototype.matchall@4.0.11:
1215
-
resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
1421
+
string.prototype.matchall@4.0.12:
1422
+
resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
1216
1423
engines: {node: '>= 0.4'}
1217
1424
1218
1425
string.prototype.repeat@1.0.0:
1219
1426
resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
1220
1427
1221
-
string.prototype.trim@1.2.9:
1222
-
resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
1428
+
string.prototype.trim@1.2.10:
1429
+
resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
1223
1430
engines: {node: '>= 0.4'}
1224
1431
1225
-
string.prototype.trimend@1.0.8:
1226
-
resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
1432
+
string.prototype.trimend@1.0.9:
1433
+
resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
1434
+
engines: {node: '>= 0.4'}
1227
1435
1228
1436
string.prototype.trimstart@1.0.8:
1229
1437
resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
···
1244
1452
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1245
1453
engines: {node: '>= 0.4'}
1246
1454
1247
-
synckit@0.9.2:
1248
-
resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==}
1455
+
synckit@0.11.1:
1456
+
resolution: {integrity: sha512-fWZqNBZNNFp/7mTUy1fSsydhKsAKJ+u90Nk7kOK5Gcq9vObaqLBLjWFDBkyVU9Vvc6Y71VbOevMuGhqv02bT+Q==}
1249
1457
engines: {node: ^14.18.0 || >=16.0.0}
1250
1458
1251
-
text-table@0.2.0:
1252
-
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
1459
+
taze@19.0.4:
1460
+
resolution: {integrity: sha512-bviyNotzqcIWpVBCC4QYVb2yupzKyUDGQi2m/8GERdiPaudVMtgAqaE98+x0cDDaByYRMJCyhQWM04ikUL6+kQ==}
1461
+
hasBin: true
1462
+
1463
+
tinyexec@1.0.1:
1464
+
resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==}
1465
+
1466
+
tinyglobby@0.2.12:
1467
+
resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==}
1468
+
engines: {node: '>=12.0.0'}
1253
1469
1254
1470
to-regex-range@5.0.1:
1255
1471
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1256
1472
engines: {node: '>=8.0'}
1257
1473
1258
-
ts-api-utils@1.3.0:
1259
-
resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
1260
-
engines: {node: '>=16'}
1474
+
ts-api-utils@2.1.0:
1475
+
resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
1476
+
engines: {node: '>=18.12'}
1261
1477
peerDependencies:
1262
-
typescript: '>=4.2.0'
1478
+
typescript: '>=4.8.4'
1263
1479
1264
-
tslib@2.7.0:
1265
-
resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
1480
+
tslib@2.8.1:
1481
+
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
1266
1482
1267
1483
type-check@0.4.0:
1268
1484
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1269
1485
engines: {node: '>= 0.8.0'}
1270
1486
1271
-
typed-array-buffer@1.0.2:
1272
-
resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
1487
+
typed-array-buffer@1.0.3:
1488
+
resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
1273
1489
engines: {node: '>= 0.4'}
1274
1490
1275
-
typed-array-byte-length@1.0.1:
1276
-
resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
1491
+
typed-array-byte-length@1.0.3:
1492
+
resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
1277
1493
engines: {node: '>= 0.4'}
1278
1494
1279
-
typed-array-byte-offset@1.0.2:
1280
-
resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
1495
+
typed-array-byte-offset@1.0.4:
1496
+
resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
1281
1497
engines: {node: '>= 0.4'}
1282
1498
1283
-
typed-array-length@1.0.6:
1284
-
resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
1499
+
typed-array-length@1.0.7:
1500
+
resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
1285
1501
engines: {node: '>= 0.4'}
1286
1502
1287
-
typescript-eslint@8.8.1:
1288
-
resolution: {integrity: sha512-R0dsXFt6t4SAFjUSKFjMh4pXDtq04SsFKCVGDP3ZOzNP7itF0jBcZYU4fMsZr4y7O7V7Nc751dDeESbe4PbQMQ==}
1503
+
typescript-eslint@8.29.0:
1504
+
resolution: {integrity: sha512-ep9rVd9B4kQsZ7ZnWCVxUE/xDLUUUsRzE0poAeNu+4CkFErLfuvPt/qtm2EpnSyfvsR0S6QzDFSrPCFBwf64fg==}
1289
1505
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1290
1506
peerDependencies:
1291
-
typescript: '*'
1292
-
peerDependenciesMeta:
1293
-
typescript:
1294
-
optional: true
1507
+
eslint: ^8.57.0 || ^9.0.0
1508
+
typescript: '>=4.8.4 <5.9.0'
1295
1509
1296
-
typescript@5.3.2:
1297
-
resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==}
1510
+
typescript@5.8.2:
1511
+
resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==}
1298
1512
engines: {node: '>=14.17'}
1299
1513
hasBin: true
1300
1514
1301
-
unbox-primitive@1.0.2:
1302
-
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
1515
+
ufo@1.5.4:
1516
+
resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
1517
+
1518
+
unbox-primitive@1.1.0:
1519
+
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
1520
+
engines: {node: '>= 0.4'}
1521
+
1522
+
unconfig@7.3.1:
1523
+
resolution: {integrity: sha512-LH5WL+un92tGAzWS87k7LkAfwpMdm7V0IXG2FxEjZz/QxiIW5J5LkcrKQThj0aRz6+h/lFmKI9EUXmK/T0bcrw==}
1303
1524
1304
1525
undici-types@6.20.0:
1305
1526
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
1527
+
1528
+
undici-types@6.21.0:
1529
+
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
1306
1530
1307
1531
uri-js@4.4.1:
1308
1532
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1309
1533
1310
-
utilium@1.1.3:
1311
-
resolution: {integrity: sha512-Gip5dgsVHMy+7lf6m1l/2HJkUropZ4pIBRKxBqxw0Dtz8czcuhNyXFXywqdVnNekDaTzV7/CHYsnLPrPrvzMUA==}
1534
+
utilium@1.10.1:
1535
+
resolution: {integrity: sha512-GQINDTb/ocyz4acQj3GXAe0wipYxws6L+9ouqaq10KlInTk9DGvW9TJd0pYa/Xu3cppNnZuB4T/sBuSXpcN2ng==}
1312
1536
1313
-
which-boxed-primitive@1.0.2:
1314
-
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
1537
+
which-boxed-primitive@1.1.1:
1538
+
resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
1539
+
engines: {node: '>= 0.4'}
1315
1540
1316
-
which-builtin-type@1.1.4:
1317
-
resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==}
1541
+
which-builtin-type@1.2.1:
1542
+
resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
1318
1543
engines: {node: '>= 0.4'}
1319
1544
1320
1545
which-collection@1.0.2:
1321
1546
resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
1322
1547
engines: {node: '>= 0.4'}
1323
1548
1324
-
which-typed-array@1.1.15:
1325
-
resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
1549
+
which-typed-array@1.1.19:
1550
+
resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
1326
1551
engines: {node: '>= 0.4'}
1327
1552
1328
1553
which@2.0.2:
···
1330
1555
engines: {node: '>= 8'}
1331
1556
hasBin: true
1332
1557
1558
+
yaml@2.7.1:
1559
+
resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==}
1560
+
engines: {node: '>= 14'}
1561
+
hasBin: true
1562
+
1333
1563
yocto-queue@0.1.0:
1334
1564
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
1335
1565
engines: {node: '>=10'}
1336
1566
1567
+
zustand@5.0.3:
1568
+
resolution: {integrity: sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==}
1569
+
engines: {node: '>=12.20.0'}
1570
+
peerDependencies:
1571
+
'@types/react': '>=18.0.0'
1572
+
immer: '>=9.0.6'
1573
+
react: '>=18.0.0'
1574
+
use-sync-external-store: '>=1.2.0'
1575
+
peerDependenciesMeta:
1576
+
'@types/react':
1577
+
optional: true
1578
+
immer:
1579
+
optional: true
1580
+
react:
1581
+
optional: true
1582
+
use-sync-external-store:
1583
+
optional: true
1584
+
1337
1585
snapshots:
1338
1586
1339
1587
'@aashutoshrathi/word-wrap@1.2.6': {}
1588
+
1589
+
'@antfu/ni@24.3.0':
1590
+
dependencies:
1591
+
ansis: 3.17.0
1592
+
fzf: 0.5.2
1593
+
package-manager-detector: 1.1.0
1594
+
tinyexec: 1.0.1
1340
1595
1341
1596
'@esbuild/android-arm64@0.19.3':
1342
1597
optional: true
···
1404
1659
'@esbuild/win32-x64@0.19.3':
1405
1660
optional: true
1406
1661
1407
-
'@eslint-community/eslint-utils@4.4.0(eslint@9.12.0)':
1662
+
'@eslint-community/eslint-utils@4.5.1(eslint@9.23.0(jiti@2.4.2))':
1408
1663
dependencies:
1409
-
eslint: 9.12.0
1664
+
eslint: 9.23.0(jiti@2.4.2)
1410
1665
eslint-visitor-keys: 3.4.3
1411
1666
1412
-
'@eslint-community/regexpp@4.11.1': {}
1667
+
'@eslint-community/regexpp@4.12.1': {}
1413
1668
1414
-
'@eslint/config-array@0.18.0':
1669
+
'@eslint/config-array@0.19.2':
1415
1670
dependencies:
1416
-
'@eslint/object-schema': 2.1.4
1417
-
debug: 4.3.4
1671
+
'@eslint/object-schema': 2.1.6
1672
+
debug: 4.4.0
1418
1673
minimatch: 3.1.2
1419
1674
transitivePeerDependencies:
1420
1675
- supports-color
1421
1676
1422
-
'@eslint/core@0.6.0': {}
1677
+
'@eslint/config-helpers@0.2.1': {}
1678
+
1679
+
'@eslint/core@0.12.0':
1680
+
dependencies:
1681
+
'@types/json-schema': 7.0.15
1682
+
1683
+
'@eslint/core@0.13.0':
1684
+
dependencies:
1685
+
'@types/json-schema': 7.0.15
1423
1686
1424
-
'@eslint/eslintrc@3.1.0':
1687
+
'@eslint/eslintrc@3.3.1':
1425
1688
dependencies:
1426
1689
ajv: 6.12.6
1427
-
debug: 4.3.4
1428
-
espree: 10.2.0
1690
+
debug: 4.4.0
1691
+
espree: 10.3.0
1429
1692
globals: 14.0.0
1430
-
ignore: 5.3.0
1693
+
ignore: 5.3.2
1431
1694
import-fresh: 3.3.0
1432
1695
js-yaml: 4.1.0
1433
1696
minimatch: 3.1.2
···
1435
1698
transitivePeerDependencies:
1436
1699
- supports-color
1437
1700
1438
-
'@eslint/js@9.12.0': {}
1701
+
'@eslint/js@9.23.0': {}
1439
1702
1440
-
'@eslint/object-schema@2.1.4': {}
1703
+
'@eslint/object-schema@2.1.6': {}
1441
1704
1442
-
'@eslint/plugin-kit@0.2.0':
1705
+
'@eslint/plugin-kit@0.2.8':
1443
1706
dependencies:
1707
+
'@eslint/core': 0.13.0
1444
1708
levn: 0.4.1
1445
1709
1446
-
'@humanfs/core@0.19.0': {}
1710
+
'@humanfs/core@0.19.1': {}
1447
1711
1448
-
'@humanfs/node@0.16.5':
1712
+
'@humanfs/node@0.16.6':
1449
1713
dependencies:
1450
-
'@humanfs/core': 0.19.0
1714
+
'@humanfs/core': 0.19.1
1451
1715
'@humanwhocodes/retry': 0.3.1
1452
1716
1453
1717
'@humanwhocodes/module-importer@1.0.1': {}
1454
1718
1455
1719
'@humanwhocodes/retry@0.3.1': {}
1456
1720
1457
-
'@moonlight-mod/eslint-config@https://codeload.github.com/moonlight-mod/eslint-config/tar.gz/e262ac24e1a0955a9b3e0d66da247a0a8c0446c9(eslint@9.12.0)(prettier@3.1.0)(typescript@5.3.2)':
1721
+
'@humanwhocodes/retry@0.4.2': {}
1722
+
1723
+
'@moonlight-mod/eslint-config@https://codeload.github.com/moonlight-mod/eslint-config/tar.gz/e262ac24e1a0955a9b3e0d66da247a0a8c0446c9(@types/eslint@9.6.1)(eslint@9.23.0(jiti@2.4.2))(prettier@3.1.0)(typescript@5.8.2)':
1458
1724
dependencies:
1459
-
'@eslint/js': 9.12.0
1460
-
eslint: 9.12.0
1461
-
eslint-config-prettier: 9.1.0(eslint@9.12.0)
1462
-
eslint-plugin-prettier: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.12.0))(eslint@9.12.0)(prettier@3.1.0)
1463
-
eslint-plugin-react: 7.37.1(eslint@9.12.0)
1464
-
typescript: 5.3.2
1465
-
typescript-eslint: 8.8.1(eslint@9.12.0)(typescript@5.3.2)
1725
+
'@eslint/js': 9.23.0
1726
+
eslint: 9.23.0(jiti@2.4.2)
1727
+
eslint-config-prettier: 9.1.0(eslint@9.23.0(jiti@2.4.2))
1728
+
eslint-plugin-prettier: 5.2.6(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2))(prettier@3.1.0)
1729
+
eslint-plugin-react: 7.37.5(eslint@9.23.0(jiti@2.4.2))
1730
+
typescript: 5.8.2
1731
+
typescript-eslint: 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
1466
1732
transitivePeerDependencies:
1467
1733
- '@types/eslint'
1468
1734
- prettier
1469
1735
- supports-color
1470
1736
1471
-
'@moonlight-mod/lunast@1.0.0':
1737
+
'@moonlight-mod/lunast@1.0.1':
1472
1738
dependencies:
1473
1739
astring: 1.9.0
1474
1740
estree-toolkit: 1.7.8
1475
1741
meriyah: 6.0.1
1476
1742
1477
-
'@moonlight-mod/mappings@1.1.10(@moonlight-mod/lunast@1.0.0)(@moonlight-mod/moonmap@1.0.3)':
1743
+
'@moonlight-mod/mappings@1.1.25(@moonlight-mod/lunast@1.0.1)(@moonlight-mod/moonmap@1.0.5)':
1478
1744
dependencies:
1479
-
'@moonlight-mod/lunast': 1.0.0
1480
-
'@moonlight-mod/moonmap': 1.0.3
1745
+
'@moonlight-mod/lunast': 1.0.1
1746
+
'@moonlight-mod/moonmap': 1.0.5
1481
1747
'@types/chroma-js': 3.1.0
1482
1748
'@types/flux': 3.1.14
1483
1749
'@types/highlightjs': 9.12.6
1484
1750
'@types/lodash': 4.17.14
1485
1751
'@types/platform': 1.3.6
1486
-
'@types/react': 18.3.10
1752
+
'@types/react': 18.3.20
1487
1753
csstype: 3.1.3
1754
+
zustand: 5.0.3(@types/react@18.3.20)
1755
+
transitivePeerDependencies:
1756
+
- immer
1757
+
- react
1758
+
- use-sync-external-store
1488
1759
1489
-
'@moonlight-mod/moonmap@1.0.3': {}
1760
+
'@moonlight-mod/moonmap@1.0.5': {}
1490
1761
1491
1762
'@nodelib/fs.scandir@2.1.5':
1492
1763
dependencies:
···
1500
1771
'@nodelib/fs.scandir': 2.1.5
1501
1772
fastq: 1.17.1
1502
1773
1503
-
'@pkgr/core@0.1.1': {}
1774
+
'@pkgr/core@0.2.0': {}
1775
+
1776
+
'@quansync/fs@0.1.2':
1777
+
dependencies:
1778
+
quansync: 0.2.10
1504
1779
1505
1780
'@types/chroma-js@3.1.0': {}
1506
1781
1782
+
'@types/chrome@0.0.313':
1783
+
dependencies:
1784
+
'@types/filesystem': 0.0.36
1785
+
'@types/har-format': 1.2.16
1786
+
1787
+
'@types/eslint@9.6.1':
1788
+
dependencies:
1789
+
'@types/estree': 1.0.7
1790
+
'@types/json-schema': 7.0.15
1791
+
optional: true
1792
+
1507
1793
'@types/estree-jsx@1.0.5':
1508
1794
dependencies:
1509
1795
'@types/estree': 1.0.6
1510
1796
1511
1797
'@types/estree@1.0.6': {}
1512
1798
1799
+
'@types/estree@1.0.7':
1800
+
optional: true
1801
+
1513
1802
'@types/fbemitter@2.0.35': {}
1514
1803
1804
+
'@types/filesystem@0.0.36':
1805
+
dependencies:
1806
+
'@types/filewriter': 0.0.33
1807
+
1808
+
'@types/filewriter@0.0.33': {}
1809
+
1515
1810
'@types/flux@3.1.14':
1516
1811
dependencies:
1517
1812
'@types/fbemitter': 2.0.35
1518
-
'@types/react': 18.3.10
1813
+
'@types/react': 18.3.20
1814
+
1815
+
'@types/har-format@1.2.16': {}
1519
1816
1520
1817
'@types/highlightjs@9.12.6': {}
1521
1818
···
1525
1822
1526
1823
'@types/node@18.17.17': {}
1527
1824
1528
-
'@types/node@22.10.7':
1825
+
'@types/node@22.13.6':
1529
1826
dependencies:
1530
1827
undici-types: 6.20.0
1828
+
1829
+
'@types/node@22.14.0':
1830
+
dependencies:
1831
+
undici-types: 6.21.0
1531
1832
1532
1833
'@types/platform@1.3.6': {}
1533
1834
1534
1835
'@types/prop-types@15.7.13': {}
1535
1836
1536
-
'@types/react@18.3.10':
1837
+
'@types/react@18.3.20':
1537
1838
dependencies:
1538
1839
'@types/prop-types': 15.7.13
1539
1840
csstype: 3.1.3
1540
1841
1541
-
'@types/readable-stream@4.0.15':
1842
+
'@typescript-eslint/eslint-plugin@8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)':
1542
1843
dependencies:
1543
-
'@types/node': 22.10.7
1544
-
safe-buffer: 5.1.2
1545
-
1546
-
'@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.3.2))(eslint@9.12.0)(typescript@5.3.2)':
1547
-
dependencies:
1548
-
'@eslint-community/regexpp': 4.11.1
1549
-
'@typescript-eslint/parser': 8.8.1(eslint@9.12.0)(typescript@5.3.2)
1550
-
'@typescript-eslint/scope-manager': 8.8.1
1551
-
'@typescript-eslint/type-utils': 8.8.1(eslint@9.12.0)(typescript@5.3.2)
1552
-
'@typescript-eslint/utils': 8.8.1(eslint@9.12.0)(typescript@5.3.2)
1553
-
'@typescript-eslint/visitor-keys': 8.8.1
1554
-
eslint: 9.12.0
1844
+
'@eslint-community/regexpp': 4.12.1
1845
+
'@typescript-eslint/parser': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
1846
+
'@typescript-eslint/scope-manager': 8.29.0
1847
+
'@typescript-eslint/type-utils': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
1848
+
'@typescript-eslint/utils': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
1849
+
'@typescript-eslint/visitor-keys': 8.29.0
1850
+
eslint: 9.23.0(jiti@2.4.2)
1555
1851
graphemer: 1.4.0
1556
1852
ignore: 5.3.2
1557
1853
natural-compare: 1.4.0
1558
-
ts-api-utils: 1.3.0(typescript@5.3.2)
1559
-
optionalDependencies:
1560
-
typescript: 5.3.2
1854
+
ts-api-utils: 2.1.0(typescript@5.8.2)
1855
+
typescript: 5.8.2
1561
1856
transitivePeerDependencies:
1562
1857
- supports-color
1563
1858
1564
-
'@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.3.2)':
1859
+
'@typescript-eslint/parser@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)':
1565
1860
dependencies:
1566
-
'@typescript-eslint/scope-manager': 8.8.1
1567
-
'@typescript-eslint/types': 8.8.1
1568
-
'@typescript-eslint/typescript-estree': 8.8.1(typescript@5.3.2)
1569
-
'@typescript-eslint/visitor-keys': 8.8.1
1570
-
debug: 4.3.4
1571
-
eslint: 9.12.0
1572
-
optionalDependencies:
1573
-
typescript: 5.3.2
1861
+
'@typescript-eslint/scope-manager': 8.29.0
1862
+
'@typescript-eslint/types': 8.29.0
1863
+
'@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.2)
1864
+
'@typescript-eslint/visitor-keys': 8.29.0
1865
+
debug: 4.4.0
1866
+
eslint: 9.23.0(jiti@2.4.2)
1867
+
typescript: 5.8.2
1574
1868
transitivePeerDependencies:
1575
1869
- supports-color
1576
1870
1577
-
'@typescript-eslint/scope-manager@8.8.1':
1871
+
'@typescript-eslint/scope-manager@8.29.0':
1578
1872
dependencies:
1579
-
'@typescript-eslint/types': 8.8.1
1580
-
'@typescript-eslint/visitor-keys': 8.8.1
1873
+
'@typescript-eslint/types': 8.29.0
1874
+
'@typescript-eslint/visitor-keys': 8.29.0
1581
1875
1582
-
'@typescript-eslint/type-utils@8.8.1(eslint@9.12.0)(typescript@5.3.2)':
1876
+
'@typescript-eslint/type-utils@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)':
1583
1877
dependencies:
1584
-
'@typescript-eslint/typescript-estree': 8.8.1(typescript@5.3.2)
1585
-
'@typescript-eslint/utils': 8.8.1(eslint@9.12.0)(typescript@5.3.2)
1586
-
debug: 4.3.4
1587
-
ts-api-utils: 1.3.0(typescript@5.3.2)
1588
-
optionalDependencies:
1589
-
typescript: 5.3.2
1878
+
'@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.2)
1879
+
'@typescript-eslint/utils': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
1880
+
debug: 4.4.0
1881
+
eslint: 9.23.0(jiti@2.4.2)
1882
+
ts-api-utils: 2.1.0(typescript@5.8.2)
1883
+
typescript: 5.8.2
1590
1884
transitivePeerDependencies:
1591
-
- eslint
1592
1885
- supports-color
1593
1886
1594
-
'@typescript-eslint/types@8.8.1': {}
1887
+
'@typescript-eslint/types@8.29.0': {}
1595
1888
1596
-
'@typescript-eslint/typescript-estree@8.8.1(typescript@5.3.2)':
1889
+
'@typescript-eslint/typescript-estree@8.29.0(typescript@5.8.2)':
1597
1890
dependencies:
1598
-
'@typescript-eslint/types': 8.8.1
1599
-
'@typescript-eslint/visitor-keys': 8.8.1
1600
-
debug: 4.3.4
1891
+
'@typescript-eslint/types': 8.29.0
1892
+
'@typescript-eslint/visitor-keys': 8.29.0
1893
+
debug: 4.4.0
1601
1894
fast-glob: 3.3.2
1602
1895
is-glob: 4.0.3
1603
1896
minimatch: 9.0.5
1604
-
semver: 7.6.3
1605
-
ts-api-utils: 1.3.0(typescript@5.3.2)
1606
-
optionalDependencies:
1607
-
typescript: 5.3.2
1897
+
semver: 7.7.1
1898
+
ts-api-utils: 2.1.0(typescript@5.8.2)
1899
+
typescript: 5.8.2
1608
1900
transitivePeerDependencies:
1609
1901
- supports-color
1610
1902
1611
-
'@typescript-eslint/utils@8.8.1(eslint@9.12.0)(typescript@5.3.2)':
1903
+
'@typescript-eslint/utils@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)':
1612
1904
dependencies:
1613
-
'@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0)
1614
-
'@typescript-eslint/scope-manager': 8.8.1
1615
-
'@typescript-eslint/types': 8.8.1
1616
-
'@typescript-eslint/typescript-estree': 8.8.1(typescript@5.3.2)
1617
-
eslint: 9.12.0
1905
+
'@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0(jiti@2.4.2))
1906
+
'@typescript-eslint/scope-manager': 8.29.0
1907
+
'@typescript-eslint/types': 8.29.0
1908
+
'@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.2)
1909
+
eslint: 9.23.0(jiti@2.4.2)
1910
+
typescript: 5.8.2
1618
1911
transitivePeerDependencies:
1619
1912
- supports-color
1620
-
- typescript
1621
1913
1622
-
'@typescript-eslint/visitor-keys@8.8.1':
1914
+
'@typescript-eslint/visitor-keys@8.29.0':
1623
1915
dependencies:
1624
-
'@typescript-eslint/types': 8.8.1
1625
-
eslint-visitor-keys: 3.4.3
1916
+
'@typescript-eslint/types': 8.29.0
1917
+
eslint-visitor-keys: 4.2.0
1626
1918
1627
1919
'@xterm/xterm@5.5.0':
1628
1920
optional: true
1629
1921
1630
-
'@zenfs/core@1.8.8':
1922
+
'@zenfs/core@2.0.0':
1631
1923
dependencies:
1632
-
'@types/node': 22.10.7
1633
-
'@types/readable-stream': 4.0.15
1924
+
'@types/node': 22.13.6
1634
1925
buffer: 6.0.3
1635
1926
eventemitter3: 5.0.1
1636
1927
readable-stream: 4.5.2
1637
-
utilium: 1.1.3
1928
+
utilium: 1.10.1
1638
1929
1639
-
'@zenfs/dom@1.1.3(@zenfs/core@1.8.8)':
1930
+
'@zenfs/dom@1.1.6(@zenfs/core@2.0.0)(utilium@1.10.1)':
1640
1931
dependencies:
1641
-
'@zenfs/core': 1.8.8
1932
+
'@zenfs/core': 2.0.0
1933
+
utilium: 1.10.1
1642
1934
1643
1935
abort-controller@3.0.0:
1644
1936
dependencies:
1645
1937
event-target-shim: 5.0.1
1646
1938
1647
-
acorn-jsx@5.3.2(acorn@8.12.1):
1939
+
acorn-jsx@5.3.2(acorn@8.14.1):
1648
1940
dependencies:
1649
-
acorn: 8.12.1
1941
+
acorn: 8.14.1
1650
1942
1651
-
acorn@8.12.1: {}
1943
+
acorn@8.14.1: {}
1652
1944
1653
1945
ajv@6.12.6:
1654
1946
dependencies:
···
1661
1953
dependencies:
1662
1954
color-convert: 2.0.1
1663
1955
1956
+
ansis@3.17.0: {}
1957
+
1664
1958
argparse@2.0.1: {}
1665
1959
1666
-
array-buffer-byte-length@1.0.1:
1960
+
array-buffer-byte-length@1.0.2:
1667
1961
dependencies:
1668
-
call-bind: 1.0.7
1669
-
is-array-buffer: 3.0.4
1962
+
call-bound: 1.0.4
1963
+
is-array-buffer: 3.0.5
1670
1964
1671
1965
array-includes@3.1.8:
1672
1966
dependencies:
1673
-
call-bind: 1.0.7
1967
+
call-bind: 1.0.8
1674
1968
define-properties: 1.2.1
1675
-
es-abstract: 1.23.3
1676
-
es-object-atoms: 1.0.0
1677
-
get-intrinsic: 1.2.4
1678
-
is-string: 1.0.7
1969
+
es-abstract: 1.23.9
1970
+
es-object-atoms: 1.1.1
1971
+
get-intrinsic: 1.3.0
1972
+
is-string: 1.1.1
1679
1973
1680
1974
array.prototype.findlast@1.2.5:
1681
1975
dependencies:
1682
-
call-bind: 1.0.7
1976
+
call-bind: 1.0.8
1683
1977
define-properties: 1.2.1
1684
-
es-abstract: 1.23.3
1978
+
es-abstract: 1.23.9
1685
1979
es-errors: 1.3.0
1686
-
es-object-atoms: 1.0.0
1687
-
es-shim-unscopables: 1.0.2
1980
+
es-object-atoms: 1.1.1
1981
+
es-shim-unscopables: 1.1.0
1688
1982
1689
-
array.prototype.flat@1.3.2:
1983
+
array.prototype.flat@1.3.3:
1690
1984
dependencies:
1691
-
call-bind: 1.0.7
1985
+
call-bind: 1.0.8
1692
1986
define-properties: 1.2.1
1693
-
es-abstract: 1.23.3
1694
-
es-shim-unscopables: 1.0.2
1987
+
es-abstract: 1.23.9
1988
+
es-shim-unscopables: 1.1.0
1695
1989
1696
-
array.prototype.flatmap@1.3.2:
1990
+
array.prototype.flatmap@1.3.3:
1697
1991
dependencies:
1698
-
call-bind: 1.0.7
1992
+
call-bind: 1.0.8
1699
1993
define-properties: 1.2.1
1700
-
es-abstract: 1.23.3
1701
-
es-shim-unscopables: 1.0.2
1994
+
es-abstract: 1.23.9
1995
+
es-shim-unscopables: 1.1.0
1702
1996
1703
1997
array.prototype.tosorted@1.1.4:
1704
1998
dependencies:
1705
-
call-bind: 1.0.7
1999
+
call-bind: 1.0.8
1706
2000
define-properties: 1.2.1
1707
-
es-abstract: 1.23.3
2001
+
es-abstract: 1.23.9
1708
2002
es-errors: 1.3.0
1709
-
es-shim-unscopables: 1.0.2
2003
+
es-shim-unscopables: 1.1.0
1710
2004
1711
-
arraybuffer.prototype.slice@1.0.3:
2005
+
arraybuffer.prototype.slice@1.0.4:
1712
2006
dependencies:
1713
-
array-buffer-byte-length: 1.0.1
1714
-
call-bind: 1.0.7
2007
+
array-buffer-byte-length: 1.0.2
2008
+
call-bind: 1.0.8
1715
2009
define-properties: 1.2.1
1716
-
es-abstract: 1.23.3
2010
+
es-abstract: 1.23.9
1717
2011
es-errors: 1.3.0
1718
-
get-intrinsic: 1.2.4
1719
-
is-array-buffer: 3.0.4
1720
-
is-shared-array-buffer: 1.0.3
2012
+
get-intrinsic: 1.3.0
2013
+
is-array-buffer: 3.0.5
1721
2014
1722
2015
astring@1.9.0: {}
1723
2016
2017
+
async-function@1.0.0: {}
2018
+
1724
2019
available-typed-arrays@1.0.7:
1725
2020
dependencies:
1726
-
possible-typed-array-names: 1.0.0
2021
+
possible-typed-array-names: 1.1.0
1727
2022
1728
2023
balanced-match@1.0.2: {}
1729
2024
···
1747
2042
base64-js: 1.5.1
1748
2043
ieee754: 1.2.1
1749
2044
1750
-
call-bind@1.0.7:
2045
+
cac@6.7.14: {}
2046
+
2047
+
call-bind-apply-helpers@1.0.2:
1751
2048
dependencies:
1752
-
es-define-property: 1.0.0
1753
2049
es-errors: 1.3.0
1754
2050
function-bind: 1.1.2
1755
-
get-intrinsic: 1.2.4
2051
+
2052
+
call-bind@1.0.8:
2053
+
dependencies:
2054
+
call-bind-apply-helpers: 1.0.2
2055
+
es-define-property: 1.0.1
2056
+
get-intrinsic: 1.3.0
1756
2057
set-function-length: 1.2.2
2058
+
2059
+
call-bound@1.0.4:
2060
+
dependencies:
2061
+
call-bind-apply-helpers: 1.0.2
2062
+
get-intrinsic: 1.3.0
1757
2063
1758
2064
callsites@3.1.0: {}
1759
2065
···
1770
2076
1771
2077
concat-map@0.0.1: {}
1772
2078
1773
-
cross-spawn@7.0.3:
2079
+
cross-spawn@7.0.6:
1774
2080
dependencies:
1775
2081
path-key: 3.1.1
1776
2082
shebang-command: 2.0.0
1777
2083
which: 2.0.2
1778
2084
1779
-
csstype@3.1.2: {}
1780
-
1781
2085
csstype@3.1.3: {}
1782
2086
1783
-
data-view-buffer@1.0.1:
2087
+
data-view-buffer@1.0.2:
1784
2088
dependencies:
1785
-
call-bind: 1.0.7
2089
+
call-bound: 1.0.4
1786
2090
es-errors: 1.3.0
1787
-
is-data-view: 1.0.1
2091
+
is-data-view: 1.0.2
1788
2092
1789
-
data-view-byte-length@1.0.1:
2093
+
data-view-byte-length@1.0.2:
1790
2094
dependencies:
1791
-
call-bind: 1.0.7
2095
+
call-bound: 1.0.4
1792
2096
es-errors: 1.3.0
1793
-
is-data-view: 1.0.1
2097
+
is-data-view: 1.0.2
1794
2098
1795
-
data-view-byte-offset@1.0.0:
2099
+
data-view-byte-offset@1.0.1:
1796
2100
dependencies:
1797
-
call-bind: 1.0.7
2101
+
call-bound: 1.0.4
1798
2102
es-errors: 1.3.0
1799
-
is-data-view: 1.0.1
2103
+
is-data-view: 1.0.2
1800
2104
1801
-
debug@4.3.4:
2105
+
debug@4.4.0:
1802
2106
dependencies:
1803
-
ms: 2.1.2
2107
+
ms: 2.1.3
1804
2108
1805
2109
deep-is@0.1.4: {}
1806
2110
1807
2111
define-data-property@1.1.4:
1808
2112
dependencies:
1809
-
es-define-property: 1.0.0
2113
+
es-define-property: 1.0.1
1810
2114
es-errors: 1.3.0
1811
-
gopd: 1.0.1
2115
+
gopd: 1.2.0
1812
2116
1813
2117
define-properties@1.2.1:
1814
2118
dependencies:
···
1816
2120
has-property-descriptors: 1.0.2
1817
2121
object-keys: 1.1.1
1818
2122
2123
+
defu@6.1.4: {}
2124
+
2125
+
destr@2.0.4: {}
2126
+
1819
2127
doctrine@2.1.0:
1820
2128
dependencies:
1821
2129
esutils: 2.0.3
1822
2130
1823
-
es-abstract@1.23.3:
2131
+
dunder-proto@1.0.1:
1824
2132
dependencies:
1825
-
array-buffer-byte-length: 1.0.1
1826
-
arraybuffer.prototype.slice: 1.0.3
2133
+
call-bind-apply-helpers: 1.0.2
2134
+
es-errors: 1.3.0
2135
+
gopd: 1.2.0
2136
+
2137
+
es-abstract@1.23.9:
2138
+
dependencies:
2139
+
array-buffer-byte-length: 1.0.2
2140
+
arraybuffer.prototype.slice: 1.0.4
1827
2141
available-typed-arrays: 1.0.7
1828
-
call-bind: 1.0.7
1829
-
data-view-buffer: 1.0.1
1830
-
data-view-byte-length: 1.0.1
1831
-
data-view-byte-offset: 1.0.0
1832
-
es-define-property: 1.0.0
2142
+
call-bind: 1.0.8
2143
+
call-bound: 1.0.4
2144
+
data-view-buffer: 1.0.2
2145
+
data-view-byte-length: 1.0.2
2146
+
data-view-byte-offset: 1.0.1
2147
+
es-define-property: 1.0.1
1833
2148
es-errors: 1.3.0
1834
-
es-object-atoms: 1.0.0
1835
-
es-set-tostringtag: 2.0.3
1836
-
es-to-primitive: 1.2.1
1837
-
function.prototype.name: 1.1.6
1838
-
get-intrinsic: 1.2.4
1839
-
get-symbol-description: 1.0.2
2149
+
es-object-atoms: 1.1.1
2150
+
es-set-tostringtag: 2.1.0
2151
+
es-to-primitive: 1.3.0
2152
+
function.prototype.name: 1.1.8
2153
+
get-intrinsic: 1.3.0
2154
+
get-proto: 1.0.1
2155
+
get-symbol-description: 1.1.0
1840
2156
globalthis: 1.0.4
1841
-
gopd: 1.0.1
2157
+
gopd: 1.2.0
1842
2158
has-property-descriptors: 1.0.2
1843
-
has-proto: 1.0.3
1844
-
has-symbols: 1.0.3
2159
+
has-proto: 1.2.0
2160
+
has-symbols: 1.1.0
1845
2161
hasown: 2.0.2
1846
-
internal-slot: 1.0.7
1847
-
is-array-buffer: 3.0.4
2162
+
internal-slot: 1.1.0
2163
+
is-array-buffer: 3.0.5
1848
2164
is-callable: 1.2.7
1849
-
is-data-view: 1.0.1
1850
-
is-negative-zero: 2.0.3
1851
-
is-regex: 1.1.4
1852
-
is-shared-array-buffer: 1.0.3
1853
-
is-string: 1.0.7
1854
-
is-typed-array: 1.1.13
1855
-
is-weakref: 1.0.2
1856
-
object-inspect: 1.13.2
2165
+
is-data-view: 1.0.2
2166
+
is-regex: 1.2.1
2167
+
is-shared-array-buffer: 1.0.4
2168
+
is-string: 1.1.1
2169
+
is-typed-array: 1.1.15
2170
+
is-weakref: 1.1.1
2171
+
math-intrinsics: 1.1.0
2172
+
object-inspect: 1.13.4
1857
2173
object-keys: 1.1.1
1858
-
object.assign: 4.1.5
1859
-
regexp.prototype.flags: 1.5.3
1860
-
safe-array-concat: 1.1.2
1861
-
safe-regex-test: 1.0.3
1862
-
string.prototype.trim: 1.2.9
1863
-
string.prototype.trimend: 1.0.8
2174
+
object.assign: 4.1.7
2175
+
own-keys: 1.0.1
2176
+
regexp.prototype.flags: 1.5.4
2177
+
safe-array-concat: 1.1.3
2178
+
safe-push-apply: 1.0.0
2179
+
safe-regex-test: 1.1.0
2180
+
set-proto: 1.0.0
2181
+
string.prototype.trim: 1.2.10
2182
+
string.prototype.trimend: 1.0.9
1864
2183
string.prototype.trimstart: 1.0.8
1865
-
typed-array-buffer: 1.0.2
1866
-
typed-array-byte-length: 1.0.1
1867
-
typed-array-byte-offset: 1.0.2
1868
-
typed-array-length: 1.0.6
1869
-
unbox-primitive: 1.0.2
1870
-
which-typed-array: 1.1.15
2184
+
typed-array-buffer: 1.0.3
2185
+
typed-array-byte-length: 1.0.3
2186
+
typed-array-byte-offset: 1.0.4
2187
+
typed-array-length: 1.0.7
2188
+
unbox-primitive: 1.1.0
2189
+
which-typed-array: 1.1.19
1871
2190
1872
-
es-define-property@1.0.0:
1873
-
dependencies:
1874
-
get-intrinsic: 1.2.4
2191
+
es-define-property@1.0.1: {}
1875
2192
1876
2193
es-errors@1.3.0: {}
1877
2194
1878
-
es-iterator-helpers@1.1.0:
2195
+
es-iterator-helpers@1.2.1:
1879
2196
dependencies:
1880
-
call-bind: 1.0.7
2197
+
call-bind: 1.0.8
2198
+
call-bound: 1.0.4
1881
2199
define-properties: 1.2.1
1882
-
es-abstract: 1.23.3
2200
+
es-abstract: 1.23.9
1883
2201
es-errors: 1.3.0
1884
-
es-set-tostringtag: 2.0.3
2202
+
es-set-tostringtag: 2.1.0
1885
2203
function-bind: 1.1.2
1886
-
get-intrinsic: 1.2.4
2204
+
get-intrinsic: 1.3.0
1887
2205
globalthis: 1.0.4
2206
+
gopd: 1.2.0
1888
2207
has-property-descriptors: 1.0.2
1889
-
has-proto: 1.0.3
1890
-
has-symbols: 1.0.3
1891
-
internal-slot: 1.0.7
1892
-
iterator.prototype: 1.1.3
1893
-
safe-array-concat: 1.1.2
2208
+
has-proto: 1.2.0
2209
+
has-symbols: 1.1.0
2210
+
internal-slot: 1.1.0
2211
+
iterator.prototype: 1.1.5
2212
+
safe-array-concat: 1.1.3
1894
2213
1895
-
es-object-atoms@1.0.0:
2214
+
es-object-atoms@1.1.1:
1896
2215
dependencies:
1897
2216
es-errors: 1.3.0
1898
2217
1899
-
es-set-tostringtag@2.0.3:
2218
+
es-set-tostringtag@2.1.0:
1900
2219
dependencies:
1901
-
get-intrinsic: 1.2.4
2220
+
es-errors: 1.3.0
2221
+
get-intrinsic: 1.3.0
1902
2222
has-tostringtag: 1.0.2
1903
2223
hasown: 2.0.2
1904
2224
1905
-
es-shim-unscopables@1.0.2:
2225
+
es-shim-unscopables@1.1.0:
1906
2226
dependencies:
1907
2227
hasown: 2.0.2
1908
2228
1909
-
es-to-primitive@1.2.1:
2229
+
es-to-primitive@1.3.0:
1910
2230
dependencies:
1911
2231
is-callable: 1.2.7
1912
-
is-date-object: 1.0.5
1913
-
is-symbol: 1.0.4
2232
+
is-date-object: 1.1.0
2233
+
is-symbol: 1.1.1
1914
2234
1915
2235
esbuild-copy-static-files@0.1.0: {}
1916
2236
···
1941
2261
1942
2262
escape-string-regexp@4.0.0: {}
1943
2263
1944
-
eslint-config-prettier@9.1.0(eslint@9.12.0):
2264
+
eslint-config-prettier@9.1.0(eslint@9.23.0(jiti@2.4.2)):
1945
2265
dependencies:
1946
-
eslint: 9.12.0
2266
+
eslint: 9.23.0(jiti@2.4.2)
1947
2267
1948
-
eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.12.0))(eslint@9.12.0)(prettier@3.1.0):
2268
+
eslint-plugin-prettier@5.2.6(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2))(prettier@3.1.0):
1949
2269
dependencies:
1950
-
eslint: 9.12.0
2270
+
eslint: 9.23.0(jiti@2.4.2)
1951
2271
prettier: 3.1.0
1952
2272
prettier-linter-helpers: 1.0.0
1953
-
synckit: 0.9.2
2273
+
synckit: 0.11.1
1954
2274
optionalDependencies:
1955
-
eslint-config-prettier: 9.1.0(eslint@9.12.0)
2275
+
'@types/eslint': 9.6.1
2276
+
eslint-config-prettier: 9.1.0(eslint@9.23.0(jiti@2.4.2))
1956
2277
1957
-
eslint-plugin-react@7.37.1(eslint@9.12.0):
2278
+
eslint-plugin-react@7.37.5(eslint@9.23.0(jiti@2.4.2)):
1958
2279
dependencies:
1959
2280
array-includes: 3.1.8
1960
2281
array.prototype.findlast: 1.2.5
1961
-
array.prototype.flatmap: 1.3.2
2282
+
array.prototype.flatmap: 1.3.3
1962
2283
array.prototype.tosorted: 1.1.4
1963
2284
doctrine: 2.1.0
1964
-
es-iterator-helpers: 1.1.0
1965
-
eslint: 9.12.0
2285
+
es-iterator-helpers: 1.2.1
2286
+
eslint: 9.23.0(jiti@2.4.2)
1966
2287
estraverse: 5.3.0
1967
2288
hasown: 2.0.2
1968
2289
jsx-ast-utils: 3.3.5
1969
2290
minimatch: 3.1.2
1970
-
object.entries: 1.1.8
2291
+
object.entries: 1.1.9
1971
2292
object.fromentries: 2.0.8
1972
-
object.values: 1.2.0
2293
+
object.values: 1.2.1
1973
2294
prop-types: 15.8.1
1974
2295
resolve: 2.0.0-next.5
1975
2296
semver: 6.3.1
1976
-
string.prototype.matchall: 4.0.11
2297
+
string.prototype.matchall: 4.0.12
1977
2298
string.prototype.repeat: 1.0.0
1978
2299
1979
-
eslint-scope@8.1.0:
2300
+
eslint-scope@8.3.0:
1980
2301
dependencies:
1981
2302
esrecurse: 4.3.0
1982
2303
estraverse: 5.3.0
1983
2304
1984
2305
eslint-visitor-keys@3.4.3: {}
1985
2306
1986
-
eslint-visitor-keys@4.1.0: {}
2307
+
eslint-visitor-keys@4.2.0: {}
1987
2308
1988
-
eslint@9.12.0:
2309
+
eslint@9.23.0(jiti@2.4.2):
1989
2310
dependencies:
1990
-
'@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0)
1991
-
'@eslint-community/regexpp': 4.11.1
1992
-
'@eslint/config-array': 0.18.0
1993
-
'@eslint/core': 0.6.0
1994
-
'@eslint/eslintrc': 3.1.0
1995
-
'@eslint/js': 9.12.0
1996
-
'@eslint/plugin-kit': 0.2.0
1997
-
'@humanfs/node': 0.16.5
2311
+
'@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0(jiti@2.4.2))
2312
+
'@eslint-community/regexpp': 4.12.1
2313
+
'@eslint/config-array': 0.19.2
2314
+
'@eslint/config-helpers': 0.2.1
2315
+
'@eslint/core': 0.12.0
2316
+
'@eslint/eslintrc': 3.3.1
2317
+
'@eslint/js': 9.23.0
2318
+
'@eslint/plugin-kit': 0.2.8
2319
+
'@humanfs/node': 0.16.6
1998
2320
'@humanwhocodes/module-importer': 1.0.1
1999
-
'@humanwhocodes/retry': 0.3.1
2321
+
'@humanwhocodes/retry': 0.4.2
2000
2322
'@types/estree': 1.0.6
2001
2323
'@types/json-schema': 7.0.15
2002
2324
ajv: 6.12.6
2003
2325
chalk: 4.1.2
2004
-
cross-spawn: 7.0.3
2005
-
debug: 4.3.4
2326
+
cross-spawn: 7.0.6
2327
+
debug: 4.4.0
2006
2328
escape-string-regexp: 4.0.0
2007
-
eslint-scope: 8.1.0
2008
-
eslint-visitor-keys: 4.1.0
2009
-
espree: 10.2.0
2010
-
esquery: 1.5.0
2329
+
eslint-scope: 8.3.0
2330
+
eslint-visitor-keys: 4.2.0
2331
+
espree: 10.3.0
2332
+
esquery: 1.6.0
2011
2333
esutils: 2.0.3
2012
2334
fast-deep-equal: 3.1.3
2013
2335
file-entry-cache: 8.0.0
2014
2336
find-up: 5.0.0
2015
2337
glob-parent: 6.0.2
2016
-
ignore: 5.3.0
2338
+
ignore: 5.3.2
2017
2339
imurmurhash: 0.1.4
2018
2340
is-glob: 4.0.3
2019
2341
json-stable-stringify-without-jsonify: 1.0.1
···
2021
2343
minimatch: 3.1.2
2022
2344
natural-compare: 1.4.0
2023
2345
optionator: 0.9.3
2024
-
text-table: 0.2.0
2346
+
optionalDependencies:
2347
+
jiti: 2.4.2
2025
2348
transitivePeerDependencies:
2026
2349
- supports-color
2027
2350
2028
-
espree@10.2.0:
2351
+
espree@10.3.0:
2029
2352
dependencies:
2030
-
acorn: 8.12.1
2031
-
acorn-jsx: 5.3.2(acorn@8.12.1)
2032
-
eslint-visitor-keys: 4.1.0
2353
+
acorn: 8.14.1
2354
+
acorn-jsx: 5.3.2(acorn@8.14.1)
2355
+
eslint-visitor-keys: 4.2.0
2033
2356
2034
-
esquery@1.5.0:
2357
+
esquery@1.6.0:
2035
2358
dependencies:
2036
2359
estraverse: 5.3.0
2037
2360
···
2074
2397
dependencies:
2075
2398
reusify: 1.0.4
2076
2399
2400
+
fdir@6.4.3(picomatch@4.0.2):
2401
+
optionalDependencies:
2402
+
picomatch: 4.0.2
2403
+
2077
2404
file-entry-cache@8.0.0:
2078
2405
dependencies:
2079
2406
flat-cache: 4.0.1
···
2081
2408
fill-range@7.1.1:
2082
2409
dependencies:
2083
2410
to-regex-range: 5.0.1
2411
+
2412
+
find-up-simple@1.0.1: {}
2084
2413
2085
2414
find-up@5.0.0:
2086
2415
dependencies:
···
2094
2423
2095
2424
flatted@3.2.9: {}
2096
2425
2097
-
for-each@0.3.3:
2426
+
for-each@0.3.5:
2098
2427
dependencies:
2099
2428
is-callable: 1.2.7
2100
2429
2101
2430
function-bind@1.1.2: {}
2102
2431
2103
-
function.prototype.name@1.1.6:
2432
+
function.prototype.name@1.1.8:
2104
2433
dependencies:
2105
-
call-bind: 1.0.7
2434
+
call-bind: 1.0.8
2435
+
call-bound: 1.0.4
2106
2436
define-properties: 1.2.1
2107
-
es-abstract: 1.23.3
2108
2437
functions-have-names: 1.2.3
2438
+
hasown: 2.0.2
2439
+
is-callable: 1.2.7
2109
2440
2110
2441
functions-have-names@1.2.3: {}
2111
2442
2112
-
get-intrinsic@1.2.4:
2443
+
fzf@0.5.2: {}
2444
+
2445
+
get-intrinsic@1.3.0:
2113
2446
dependencies:
2447
+
call-bind-apply-helpers: 1.0.2
2448
+
es-define-property: 1.0.1
2114
2449
es-errors: 1.3.0
2450
+
es-object-atoms: 1.1.1
2115
2451
function-bind: 1.1.2
2116
-
has-proto: 1.0.3
2117
-
has-symbols: 1.0.3
2452
+
get-proto: 1.0.1
2453
+
gopd: 1.2.0
2454
+
has-symbols: 1.1.0
2118
2455
hasown: 2.0.2
2456
+
math-intrinsics: 1.1.0
2119
2457
2120
-
get-symbol-description@1.0.2:
2458
+
get-proto@1.0.1:
2459
+
dependencies:
2460
+
dunder-proto: 1.0.1
2461
+
es-object-atoms: 1.1.1
2462
+
2463
+
get-symbol-description@1.1.0:
2121
2464
dependencies:
2122
-
call-bind: 1.0.7
2465
+
call-bound: 1.0.4
2123
2466
es-errors: 1.3.0
2124
-
get-intrinsic: 1.2.4
2467
+
get-intrinsic: 1.3.0
2125
2468
2126
2469
glob-parent@5.1.2:
2127
2470
dependencies:
···
2136
2479
globalthis@1.0.4:
2137
2480
dependencies:
2138
2481
define-properties: 1.2.1
2139
-
gopd: 1.0.1
2482
+
gopd: 1.2.0
2140
2483
2141
-
gopd@1.0.1:
2142
-
dependencies:
2143
-
get-intrinsic: 1.2.4
2484
+
gopd@1.2.0: {}
2144
2485
2145
2486
graphemer@1.4.0: {}
2146
2487
2147
-
has-bigints@1.0.2: {}
2488
+
has-bigints@1.1.0: {}
2148
2489
2149
2490
has-flag@4.0.0: {}
2150
2491
2151
2492
has-property-descriptors@1.0.2:
2152
2493
dependencies:
2153
-
es-define-property: 1.0.0
2494
+
es-define-property: 1.0.1
2154
2495
2155
-
has-proto@1.0.3: {}
2496
+
has-proto@1.2.0:
2497
+
dependencies:
2498
+
dunder-proto: 1.0.1
2156
2499
2157
-
has-symbols@1.0.3: {}
2500
+
has-symbols@1.1.0: {}
2158
2501
2159
2502
has-tostringtag@1.0.2:
2160
2503
dependencies:
2161
-
has-symbols: 1.0.3
2504
+
has-symbols: 1.1.0
2162
2505
2163
2506
hasown@2.0.2:
2164
2507
dependencies:
···
2167
2510
husky@8.0.3: {}
2168
2511
2169
2512
ieee754@1.2.1: {}
2170
-
2171
-
ignore@5.3.0: {}
2172
2513
2173
2514
ignore@5.3.2: {}
2174
2515
···
2179
2520
2180
2521
imurmurhash@0.1.4: {}
2181
2522
2182
-
internal-slot@1.0.7:
2523
+
internal-slot@1.1.0:
2183
2524
dependencies:
2184
2525
es-errors: 1.3.0
2185
2526
hasown: 2.0.2
2186
-
side-channel: 1.0.6
2527
+
side-channel: 1.1.0
2187
2528
2188
-
is-array-buffer@3.0.4:
2529
+
is-array-buffer@3.0.5:
2189
2530
dependencies:
2190
-
call-bind: 1.0.7
2191
-
get-intrinsic: 1.2.4
2531
+
call-bind: 1.0.8
2532
+
call-bound: 1.0.4
2533
+
get-intrinsic: 1.3.0
2192
2534
2193
-
is-async-function@2.0.0:
2535
+
is-async-function@2.1.1:
2194
2536
dependencies:
2537
+
async-function: 1.0.0
2538
+
call-bound: 1.0.4
2539
+
get-proto: 1.0.1
2195
2540
has-tostringtag: 1.0.2
2541
+
safe-regex-test: 1.1.0
2196
2542
2197
-
is-bigint@1.0.4:
2543
+
is-bigint@1.1.0:
2198
2544
dependencies:
2199
-
has-bigints: 1.0.2
2545
+
has-bigints: 1.1.0
2200
2546
2201
-
is-boolean-object@1.1.2:
2547
+
is-boolean-object@1.2.2:
2202
2548
dependencies:
2203
-
call-bind: 1.0.7
2549
+
call-bound: 1.0.4
2204
2550
has-tostringtag: 1.0.2
2205
2551
2206
2552
is-callable@1.2.7: {}
2207
2553
2208
-
is-core-module@2.15.1:
2554
+
is-core-module@2.16.1:
2209
2555
dependencies:
2210
2556
hasown: 2.0.2
2211
2557
2212
-
is-data-view@1.0.1:
2558
+
is-data-view@1.0.2:
2213
2559
dependencies:
2214
-
is-typed-array: 1.1.13
2560
+
call-bound: 1.0.4
2561
+
get-intrinsic: 1.3.0
2562
+
is-typed-array: 1.1.15
2215
2563
2216
-
is-date-object@1.0.5:
2564
+
is-date-object@1.1.0:
2217
2565
dependencies:
2566
+
call-bound: 1.0.4
2218
2567
has-tostringtag: 1.0.2
2219
2568
2220
2569
is-extglob@2.1.1: {}
2221
2570
2222
-
is-finalizationregistry@1.0.2:
2571
+
is-finalizationregistry@1.1.1:
2223
2572
dependencies:
2224
-
call-bind: 1.0.7
2573
+
call-bound: 1.0.4
2225
2574
2226
-
is-generator-function@1.0.10:
2575
+
is-generator-function@1.1.0:
2227
2576
dependencies:
2577
+
call-bound: 1.0.4
2578
+
get-proto: 1.0.1
2228
2579
has-tostringtag: 1.0.2
2580
+
safe-regex-test: 1.1.0
2229
2581
2230
2582
is-glob@4.0.3:
2231
2583
dependencies:
···
2233
2585
2234
2586
is-map@2.0.3: {}
2235
2587
2236
-
is-negative-zero@2.0.3: {}
2237
-
2238
-
is-number-object@1.0.7:
2588
+
is-number-object@1.1.1:
2239
2589
dependencies:
2590
+
call-bound: 1.0.4
2240
2591
has-tostringtag: 1.0.2
2241
2592
2242
2593
is-number@7.0.0: {}
2243
2594
2244
-
is-regex@1.1.4:
2595
+
is-regex@1.2.1:
2245
2596
dependencies:
2246
-
call-bind: 1.0.7
2597
+
call-bound: 1.0.4
2598
+
gopd: 1.2.0
2247
2599
has-tostringtag: 1.0.2
2600
+
hasown: 2.0.2
2248
2601
2249
2602
is-set@2.0.3: {}
2250
2603
2251
-
is-shared-array-buffer@1.0.3:
2604
+
is-shared-array-buffer@1.0.4:
2252
2605
dependencies:
2253
-
call-bind: 1.0.7
2606
+
call-bound: 1.0.4
2254
2607
2255
-
is-string@1.0.7:
2608
+
is-string@1.1.1:
2256
2609
dependencies:
2610
+
call-bound: 1.0.4
2257
2611
has-tostringtag: 1.0.2
2258
2612
2259
-
is-symbol@1.0.4:
2613
+
is-symbol@1.1.1:
2260
2614
dependencies:
2261
-
has-symbols: 1.0.3
2615
+
call-bound: 1.0.4
2616
+
has-symbols: 1.1.0
2617
+
safe-regex-test: 1.1.0
2262
2618
2263
-
is-typed-array@1.1.13:
2619
+
is-typed-array@1.1.15:
2264
2620
dependencies:
2265
-
which-typed-array: 1.1.15
2621
+
which-typed-array: 1.1.19
2266
2622
2267
2623
is-weakmap@2.0.2: {}
2268
2624
2269
-
is-weakref@1.0.2:
2625
+
is-weakref@1.1.1:
2270
2626
dependencies:
2271
-
call-bind: 1.0.7
2627
+
call-bound: 1.0.4
2272
2628
2273
-
is-weakset@2.0.3:
2629
+
is-weakset@2.0.4:
2274
2630
dependencies:
2275
-
call-bind: 1.0.7
2276
-
get-intrinsic: 1.2.4
2631
+
call-bound: 1.0.4
2632
+
get-intrinsic: 1.3.0
2277
2633
2278
2634
isarray@2.0.5: {}
2279
2635
2280
2636
isexe@2.0.0: {}
2281
2637
2282
-
iterator.prototype@1.1.3:
2638
+
iterator.prototype@1.1.5:
2283
2639
dependencies:
2284
-
define-properties: 1.2.1
2285
-
get-intrinsic: 1.2.4
2286
-
has-symbols: 1.0.3
2287
-
reflect.getprototypeof: 1.0.6
2640
+
define-data-property: 1.1.4
2641
+
es-object-atoms: 1.1.1
2642
+
get-intrinsic: 1.3.0
2643
+
get-proto: 1.0.1
2644
+
has-symbols: 1.1.0
2288
2645
set-function-name: 2.0.2
2646
+
2647
+
jiti@2.4.2: {}
2289
2648
2290
2649
js-tokens@4.0.0: {}
2291
2650
···
2302
2661
jsx-ast-utils@3.3.5:
2303
2662
dependencies:
2304
2663
array-includes: 3.1.8
2305
-
array.prototype.flat: 1.3.2
2306
-
object.assign: 4.1.5
2307
-
object.values: 1.2.0
2664
+
array.prototype.flat: 1.3.3
2665
+
object.assign: 4.1.7
2666
+
object.values: 1.2.1
2308
2667
2309
2668
keyv@4.5.4:
2310
2669
dependencies:
···
2325
2684
dependencies:
2326
2685
js-tokens: 4.0.0
2327
2686
2687
+
math-intrinsics@1.1.0: {}
2688
+
2328
2689
merge2@1.4.1: {}
2329
2690
2330
2691
meriyah@6.0.1: {}
···
2335
2696
dependencies:
2336
2697
braces: 3.0.3
2337
2698
picomatch: 2.3.1
2699
+
2700
+
mimic-function@5.0.1: {}
2338
2701
2339
2702
minimatch@3.1.2:
2340
2703
dependencies:
···
2344
2707
dependencies:
2345
2708
brace-expansion: 2.0.1
2346
2709
2347
-
ms@2.1.2: {}
2710
+
ms@2.1.3: {}
2348
2711
2349
2712
nanotar@0.1.1: {}
2350
2713
2351
2714
natural-compare@1.4.0: {}
2715
+
2716
+
node-fetch-native@1.6.6: {}
2352
2717
2353
2718
object-assign@4.1.1: {}
2354
2719
2355
-
object-inspect@1.13.2: {}
2720
+
object-inspect@1.13.4: {}
2356
2721
2357
2722
object-keys@1.1.1: {}
2358
2723
2359
-
object.assign@4.1.5:
2724
+
object.assign@4.1.7:
2360
2725
dependencies:
2361
-
call-bind: 1.0.7
2726
+
call-bind: 1.0.8
2727
+
call-bound: 1.0.4
2362
2728
define-properties: 1.2.1
2363
-
has-symbols: 1.0.3
2729
+
es-object-atoms: 1.1.1
2730
+
has-symbols: 1.1.0
2364
2731
object-keys: 1.1.1
2365
2732
2366
-
object.entries@1.1.8:
2733
+
object.entries@1.1.9:
2367
2734
dependencies:
2368
-
call-bind: 1.0.7
2735
+
call-bind: 1.0.8
2736
+
call-bound: 1.0.4
2369
2737
define-properties: 1.2.1
2370
-
es-object-atoms: 1.0.0
2738
+
es-object-atoms: 1.1.1
2371
2739
2372
2740
object.fromentries@2.0.8:
2373
2741
dependencies:
2374
-
call-bind: 1.0.7
2742
+
call-bind: 1.0.8
2375
2743
define-properties: 1.2.1
2376
-
es-abstract: 1.23.3
2377
-
es-object-atoms: 1.0.0
2744
+
es-abstract: 1.23.9
2745
+
es-object-atoms: 1.1.1
2378
2746
2379
-
object.values@1.2.0:
2747
+
object.values@1.2.1:
2380
2748
dependencies:
2381
-
call-bind: 1.0.7
2749
+
call-bind: 1.0.8
2750
+
call-bound: 1.0.4
2382
2751
define-properties: 1.2.1
2383
-
es-object-atoms: 1.0.0
2752
+
es-object-atoms: 1.1.1
2753
+
2754
+
ofetch@1.4.1:
2755
+
dependencies:
2756
+
destr: 2.0.4
2757
+
node-fetch-native: 1.6.6
2758
+
ufo: 1.5.4
2759
+
2760
+
onetime@7.0.0:
2761
+
dependencies:
2762
+
mimic-function: 5.0.1
2384
2763
2385
2764
optionator@0.9.3:
2386
2765
dependencies:
···
2391
2770
prelude-ls: 1.2.1
2392
2771
type-check: 0.4.0
2393
2772
2773
+
own-keys@1.0.1:
2774
+
dependencies:
2775
+
get-intrinsic: 1.3.0
2776
+
object-keys: 1.1.1
2777
+
safe-push-apply: 1.0.0
2778
+
2394
2779
p-limit@3.1.0:
2395
2780
dependencies:
2396
2781
yocto-queue: 0.1.0
···
2398
2783
p-locate@5.0.0:
2399
2784
dependencies:
2400
2785
p-limit: 3.1.0
2786
+
2787
+
package-manager-detector@1.1.0: {}
2401
2788
2402
2789
parent-module@1.0.1:
2403
2790
dependencies:
···
2409
2796
2410
2797
path-parse@1.0.7: {}
2411
2798
2799
+
pathe@2.0.3: {}
2800
+
2412
2801
picomatch@2.3.1: {}
2413
2802
2414
-
possible-typed-array-names@1.0.0: {}
2803
+
picomatch@4.0.2: {}
2804
+
2805
+
pnpm-workspace-yaml@0.3.1:
2806
+
dependencies:
2807
+
yaml: 2.7.1
2808
+
2809
+
possible-typed-array-names@1.1.0: {}
2415
2810
2416
2811
prelude-ls@1.2.1: {}
2417
2812
···
2431
2826
2432
2827
punycode@2.3.1: {}
2433
2828
2829
+
quansync@0.2.10: {}
2830
+
2434
2831
queue-microtask@1.2.3: {}
2435
2832
2436
2833
react-is@16.13.1: {}
···
2443
2840
process: 0.11.10
2444
2841
string_decoder: 1.3.0
2445
2842
2446
-
reflect.getprototypeof@1.0.6:
2843
+
reflect.getprototypeof@1.0.10:
2447
2844
dependencies:
2448
-
call-bind: 1.0.7
2845
+
call-bind: 1.0.8
2449
2846
define-properties: 1.2.1
2450
-
es-abstract: 1.23.3
2847
+
es-abstract: 1.23.9
2451
2848
es-errors: 1.3.0
2452
-
get-intrinsic: 1.2.4
2453
-
globalthis: 1.0.4
2454
-
which-builtin-type: 1.1.4
2849
+
es-object-atoms: 1.1.1
2850
+
get-intrinsic: 1.3.0
2851
+
get-proto: 1.0.1
2852
+
which-builtin-type: 1.2.1
2455
2853
2456
-
regexp.prototype.flags@1.5.3:
2854
+
regexp.prototype.flags@1.5.4:
2457
2855
dependencies:
2458
-
call-bind: 1.0.7
2856
+
call-bind: 1.0.8
2459
2857
define-properties: 1.2.1
2460
2858
es-errors: 1.3.0
2859
+
get-proto: 1.0.1
2860
+
gopd: 1.2.0
2461
2861
set-function-name: 2.0.2
2462
2862
2463
2863
resolve-from@4.0.0: {}
2464
2864
2465
2865
resolve@2.0.0-next.5:
2466
2866
dependencies:
2467
-
is-core-module: 2.15.1
2867
+
is-core-module: 2.16.1
2468
2868
path-parse: 1.0.7
2469
2869
supports-preserve-symlinks-flag: 1.0.0
2870
+
2871
+
restore-cursor@5.1.0:
2872
+
dependencies:
2873
+
onetime: 7.0.0
2874
+
signal-exit: 4.1.0
2470
2875
2471
2876
reusify@1.0.4: {}
2472
2877
···
2474
2879
dependencies:
2475
2880
queue-microtask: 1.2.3
2476
2881
2477
-
safe-array-concat@1.1.2:
2882
+
safe-array-concat@1.1.3:
2478
2883
dependencies:
2479
-
call-bind: 1.0.7
2480
-
get-intrinsic: 1.2.4
2481
-
has-symbols: 1.0.3
2884
+
call-bind: 1.0.8
2885
+
call-bound: 1.0.4
2886
+
get-intrinsic: 1.3.0
2887
+
has-symbols: 1.1.0
2482
2888
isarray: 2.0.5
2483
2889
2484
-
safe-buffer@5.1.2: {}
2890
+
safe-buffer@5.2.1: {}
2485
2891
2486
-
safe-buffer@5.2.1: {}
2892
+
safe-push-apply@1.0.0:
2893
+
dependencies:
2894
+
es-errors: 1.3.0
2895
+
isarray: 2.0.5
2487
2896
2488
-
safe-regex-test@1.0.3:
2897
+
safe-regex-test@1.1.0:
2489
2898
dependencies:
2490
-
call-bind: 1.0.7
2899
+
call-bound: 1.0.4
2491
2900
es-errors: 1.3.0
2492
-
is-regex: 1.1.4
2901
+
is-regex: 1.2.1
2493
2902
2494
2903
semver@6.3.1: {}
2495
2904
2496
-
semver@7.6.3: {}
2905
+
semver@7.7.1: {}
2497
2906
2498
2907
set-function-length@1.2.2:
2499
2908
dependencies:
2500
2909
define-data-property: 1.1.4
2501
2910
es-errors: 1.3.0
2502
2911
function-bind: 1.1.2
2503
-
get-intrinsic: 1.2.4
2504
-
gopd: 1.0.1
2912
+
get-intrinsic: 1.3.0
2913
+
gopd: 1.2.0
2505
2914
has-property-descriptors: 1.0.2
2506
2915
2507
2916
set-function-name@2.0.2:
···
2511
2920
functions-have-names: 1.2.3
2512
2921
has-property-descriptors: 1.0.2
2513
2922
2923
+
set-proto@1.0.0:
2924
+
dependencies:
2925
+
dunder-proto: 1.0.1
2926
+
es-errors: 1.3.0
2927
+
es-object-atoms: 1.1.1
2928
+
2514
2929
shebang-command@2.0.0:
2515
2930
dependencies:
2516
2931
shebang-regex: 3.0.0
2517
2932
2518
2933
shebang-regex@3.0.0: {}
2519
2934
2520
-
side-channel@1.0.6:
2935
+
side-channel-list@1.0.0:
2521
2936
dependencies:
2522
-
call-bind: 1.0.7
2523
2937
es-errors: 1.3.0
2524
-
get-intrinsic: 1.2.4
2525
-
object-inspect: 1.13.2
2938
+
object-inspect: 1.13.4
2939
+
2940
+
side-channel-map@1.0.1:
2941
+
dependencies:
2942
+
call-bound: 1.0.4
2943
+
es-errors: 1.3.0
2944
+
get-intrinsic: 1.3.0
2945
+
object-inspect: 1.13.4
2946
+
2947
+
side-channel-weakmap@1.0.2:
2948
+
dependencies:
2949
+
call-bound: 1.0.4
2950
+
es-errors: 1.3.0
2951
+
get-intrinsic: 1.3.0
2952
+
object-inspect: 1.13.4
2953
+
side-channel-map: 1.0.1
2954
+
2955
+
side-channel@1.1.0:
2956
+
dependencies:
2957
+
es-errors: 1.3.0
2958
+
object-inspect: 1.13.4
2959
+
side-channel-list: 1.0.0
2960
+
side-channel-map: 1.0.1
2961
+
side-channel-weakmap: 1.0.2
2962
+
2963
+
signal-exit@4.1.0: {}
2526
2964
2527
2965
standalone-electron-types@1.0.0:
2528
2966
dependencies:
2529
2967
'@types/node': 18.17.17
2530
2968
2531
-
string.prototype.matchall@4.0.11:
2969
+
string.prototype.matchall@4.0.12:
2532
2970
dependencies:
2533
-
call-bind: 1.0.7
2971
+
call-bind: 1.0.8
2972
+
call-bound: 1.0.4
2534
2973
define-properties: 1.2.1
2535
-
es-abstract: 1.23.3
2974
+
es-abstract: 1.23.9
2536
2975
es-errors: 1.3.0
2537
-
es-object-atoms: 1.0.0
2538
-
get-intrinsic: 1.2.4
2539
-
gopd: 1.0.1
2540
-
has-symbols: 1.0.3
2541
-
internal-slot: 1.0.7
2542
-
regexp.prototype.flags: 1.5.3
2976
+
es-object-atoms: 1.1.1
2977
+
get-intrinsic: 1.3.0
2978
+
gopd: 1.2.0
2979
+
has-symbols: 1.1.0
2980
+
internal-slot: 1.1.0
2981
+
regexp.prototype.flags: 1.5.4
2543
2982
set-function-name: 2.0.2
2544
-
side-channel: 1.0.6
2983
+
side-channel: 1.1.0
2545
2984
2546
2985
string.prototype.repeat@1.0.0:
2547
2986
dependencies:
2548
2987
define-properties: 1.2.1
2549
-
es-abstract: 1.23.3
2988
+
es-abstract: 1.23.9
2550
2989
2551
-
string.prototype.trim@1.2.9:
2990
+
string.prototype.trim@1.2.10:
2552
2991
dependencies:
2553
-
call-bind: 1.0.7
2992
+
call-bind: 1.0.8
2993
+
call-bound: 1.0.4
2994
+
define-data-property: 1.1.4
2554
2995
define-properties: 1.2.1
2555
-
es-abstract: 1.23.3
2556
-
es-object-atoms: 1.0.0
2996
+
es-abstract: 1.23.9
2997
+
es-object-atoms: 1.1.1
2998
+
has-property-descriptors: 1.0.2
2557
2999
2558
-
string.prototype.trimend@1.0.8:
3000
+
string.prototype.trimend@1.0.9:
2559
3001
dependencies:
2560
-
call-bind: 1.0.7
3002
+
call-bind: 1.0.8
3003
+
call-bound: 1.0.4
2561
3004
define-properties: 1.2.1
2562
-
es-object-atoms: 1.0.0
3005
+
es-object-atoms: 1.1.1
2563
3006
2564
3007
string.prototype.trimstart@1.0.8:
2565
3008
dependencies:
2566
-
call-bind: 1.0.7
3009
+
call-bind: 1.0.8
2567
3010
define-properties: 1.2.1
2568
-
es-object-atoms: 1.0.0
3011
+
es-object-atoms: 1.1.1
2569
3012
2570
3013
string_decoder@1.3.0:
2571
3014
dependencies:
···
2579
3022
2580
3023
supports-preserve-symlinks-flag@1.0.0: {}
2581
3024
2582
-
synckit@0.9.2:
3025
+
synckit@0.11.1:
2583
3026
dependencies:
2584
-
'@pkgr/core': 0.1.1
2585
-
tslib: 2.7.0
3027
+
'@pkgr/core': 0.2.0
3028
+
tslib: 2.8.1
2586
3029
2587
-
text-table@0.2.0: {}
3030
+
taze@19.0.4:
3031
+
dependencies:
3032
+
'@antfu/ni': 24.3.0
3033
+
cac: 6.7.14
3034
+
find-up-simple: 1.0.1
3035
+
ofetch: 1.4.1
3036
+
package-manager-detector: 1.1.0
3037
+
pathe: 2.0.3
3038
+
pnpm-workspace-yaml: 0.3.1
3039
+
restore-cursor: 5.1.0
3040
+
tinyexec: 1.0.1
3041
+
tinyglobby: 0.2.12
3042
+
unconfig: 7.3.1
3043
+
yaml: 2.7.1
3044
+
3045
+
tinyexec@1.0.1: {}
3046
+
3047
+
tinyglobby@0.2.12:
3048
+
dependencies:
3049
+
fdir: 6.4.3(picomatch@4.0.2)
3050
+
picomatch: 4.0.2
2588
3051
2589
3052
to-regex-range@5.0.1:
2590
3053
dependencies:
2591
3054
is-number: 7.0.0
2592
3055
2593
-
ts-api-utils@1.3.0(typescript@5.3.2):
3056
+
ts-api-utils@2.1.0(typescript@5.8.2):
2594
3057
dependencies:
2595
-
typescript: 5.3.2
3058
+
typescript: 5.8.2
2596
3059
2597
-
tslib@2.7.0: {}
3060
+
tslib@2.8.1: {}
2598
3061
2599
3062
type-check@0.4.0:
2600
3063
dependencies:
2601
3064
prelude-ls: 1.2.1
2602
3065
2603
-
typed-array-buffer@1.0.2:
3066
+
typed-array-buffer@1.0.3:
2604
3067
dependencies:
2605
-
call-bind: 1.0.7
3068
+
call-bound: 1.0.4
2606
3069
es-errors: 1.3.0
2607
-
is-typed-array: 1.1.13
3070
+
is-typed-array: 1.1.15
2608
3071
2609
-
typed-array-byte-length@1.0.1:
3072
+
typed-array-byte-length@1.0.3:
2610
3073
dependencies:
2611
-
call-bind: 1.0.7
2612
-
for-each: 0.3.3
2613
-
gopd: 1.0.1
2614
-
has-proto: 1.0.3
2615
-
is-typed-array: 1.1.13
3074
+
call-bind: 1.0.8
3075
+
for-each: 0.3.5
3076
+
gopd: 1.2.0
3077
+
has-proto: 1.2.0
3078
+
is-typed-array: 1.1.15
2616
3079
2617
-
typed-array-byte-offset@1.0.2:
3080
+
typed-array-byte-offset@1.0.4:
2618
3081
dependencies:
2619
3082
available-typed-arrays: 1.0.7
2620
-
call-bind: 1.0.7
2621
-
for-each: 0.3.3
2622
-
gopd: 1.0.1
2623
-
has-proto: 1.0.3
2624
-
is-typed-array: 1.1.13
3083
+
call-bind: 1.0.8
3084
+
for-each: 0.3.5
3085
+
gopd: 1.2.0
3086
+
has-proto: 1.2.0
3087
+
is-typed-array: 1.1.15
3088
+
reflect.getprototypeof: 1.0.10
2625
3089
2626
-
typed-array-length@1.0.6:
3090
+
typed-array-length@1.0.7:
2627
3091
dependencies:
2628
-
call-bind: 1.0.7
2629
-
for-each: 0.3.3
2630
-
gopd: 1.0.1
2631
-
has-proto: 1.0.3
2632
-
is-typed-array: 1.1.13
2633
-
possible-typed-array-names: 1.0.0
3092
+
call-bind: 1.0.8
3093
+
for-each: 0.3.5
3094
+
gopd: 1.2.0
3095
+
is-typed-array: 1.1.15
3096
+
possible-typed-array-names: 1.1.0
3097
+
reflect.getprototypeof: 1.0.10
2634
3098
2635
-
typescript-eslint@8.8.1(eslint@9.12.0)(typescript@5.3.2):
3099
+
typescript-eslint@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2):
2636
3100
dependencies:
2637
-
'@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.3.2))(eslint@9.12.0)(typescript@5.3.2)
2638
-
'@typescript-eslint/parser': 8.8.1(eslint@9.12.0)(typescript@5.3.2)
2639
-
'@typescript-eslint/utils': 8.8.1(eslint@9.12.0)(typescript@5.3.2)
2640
-
optionalDependencies:
2641
-
typescript: 5.3.2
3101
+
'@typescript-eslint/eslint-plugin': 8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
3102
+
'@typescript-eslint/parser': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
3103
+
'@typescript-eslint/utils': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
3104
+
eslint: 9.23.0(jiti@2.4.2)
3105
+
typescript: 5.8.2
2642
3106
transitivePeerDependencies:
2643
-
- eslint
2644
3107
- supports-color
2645
3108
2646
-
typescript@5.3.2: {}
3109
+
typescript@5.8.2: {}
2647
3110
2648
-
unbox-primitive@1.0.2:
3111
+
ufo@1.5.4: {}
3112
+
3113
+
unbox-primitive@1.1.0:
2649
3114
dependencies:
2650
-
call-bind: 1.0.7
2651
-
has-bigints: 1.0.2
2652
-
has-symbols: 1.0.3
2653
-
which-boxed-primitive: 1.0.2
3115
+
call-bound: 1.0.4
3116
+
has-bigints: 1.1.0
3117
+
has-symbols: 1.1.0
3118
+
which-boxed-primitive: 1.1.1
3119
+
3120
+
unconfig@7.3.1:
3121
+
dependencies:
3122
+
'@quansync/fs': 0.1.2
3123
+
defu: 6.1.4
3124
+
jiti: 2.4.2
3125
+
quansync: 0.2.10
2654
3126
2655
3127
undici-types@6.20.0: {}
3128
+
3129
+
undici-types@6.21.0: {}
2656
3130
2657
3131
uri-js@4.4.1:
2658
3132
dependencies:
2659
3133
punycode: 2.3.1
2660
3134
2661
-
utilium@1.1.3:
3135
+
utilium@1.10.1:
2662
3136
dependencies:
2663
3137
eventemitter3: 5.0.1
2664
3138
optionalDependencies:
2665
3139
'@xterm/xterm': 5.5.0
2666
3140
2667
-
which-boxed-primitive@1.0.2:
3141
+
which-boxed-primitive@1.1.1:
2668
3142
dependencies:
2669
-
is-bigint: 1.0.4
2670
-
is-boolean-object: 1.1.2
2671
-
is-number-object: 1.0.7
2672
-
is-string: 1.0.7
2673
-
is-symbol: 1.0.4
3143
+
is-bigint: 1.1.0
3144
+
is-boolean-object: 1.2.2
3145
+
is-number-object: 1.1.1
3146
+
is-string: 1.1.1
3147
+
is-symbol: 1.1.1
2674
3148
2675
-
which-builtin-type@1.1.4:
3149
+
which-builtin-type@1.2.1:
2676
3150
dependencies:
2677
-
function.prototype.name: 1.1.6
3151
+
call-bound: 1.0.4
3152
+
function.prototype.name: 1.1.8
2678
3153
has-tostringtag: 1.0.2
2679
-
is-async-function: 2.0.0
2680
-
is-date-object: 1.0.5
2681
-
is-finalizationregistry: 1.0.2
2682
-
is-generator-function: 1.0.10
2683
-
is-regex: 1.1.4
2684
-
is-weakref: 1.0.2
3154
+
is-async-function: 2.1.1
3155
+
is-date-object: 1.1.0
3156
+
is-finalizationregistry: 1.1.1
3157
+
is-generator-function: 1.1.0
3158
+
is-regex: 1.2.1
3159
+
is-weakref: 1.1.1
2685
3160
isarray: 2.0.5
2686
-
which-boxed-primitive: 1.0.2
3161
+
which-boxed-primitive: 1.1.1
2687
3162
which-collection: 1.0.2
2688
-
which-typed-array: 1.1.15
3163
+
which-typed-array: 1.1.19
2689
3164
2690
3165
which-collection@1.0.2:
2691
3166
dependencies:
2692
3167
is-map: 2.0.3
2693
3168
is-set: 2.0.3
2694
3169
is-weakmap: 2.0.2
2695
-
is-weakset: 2.0.3
3170
+
is-weakset: 2.0.4
2696
3171
2697
-
which-typed-array@1.1.15:
3172
+
which-typed-array@1.1.19:
2698
3173
dependencies:
2699
3174
available-typed-arrays: 1.0.7
2700
-
call-bind: 1.0.7
2701
-
for-each: 0.3.3
2702
-
gopd: 1.0.1
3175
+
call-bind: 1.0.8
3176
+
call-bound: 1.0.4
3177
+
for-each: 0.3.5
3178
+
get-proto: 1.0.1
3179
+
gopd: 1.2.0
2703
3180
has-tostringtag: 1.0.2
2704
3181
2705
3182
which@2.0.2:
2706
3183
dependencies:
2707
3184
isexe: 2.0.0
2708
3185
3186
+
yaml@2.7.1: {}
3187
+
2709
3188
yocto-queue@0.1.0: {}
3189
+
3190
+
zustand@5.0.3(@types/react@18.3.20):
3191
+
optionalDependencies:
3192
+
'@types/react': 18.3.20
+31
-1
pnpm-workspace.yaml
+31
-1
pnpm-workspace.yaml
···
1
1
packages:
2
-
- "packages/*"
2
+
- packages/*
3
+
4
+
catalogs:
5
+
dev:
6
+
esbuild: ^0.19.3
7
+
esbuild-copy-static-files: ^0.1.0
8
+
"@types/node": ^22.14.0
9
+
"@moonlight-mod/eslint-config": "github:moonlight-mod/eslint-config"
10
+
eslint: ^9.12.0
11
+
"@types/chrome": ^0.0.313
12
+
husky: ^8.0.3
13
+
prettier: ^3.1.0
14
+
typescript: ^5.3.3
15
+
taze: ^19.0.4
16
+
prod:
17
+
"@moonlight-mod/lunast": ^1.0.1
18
+
"@moonlight-mod/mappings": ^1.1.25
19
+
"@moonlight-mod/moonmap": ^1.0.5
20
+
microdiff: ^1.5.0
21
+
nanotar: ^0.1.1
22
+
"@zenfs/core": ^2.0.0
23
+
"@zenfs/dom": ^1.1.3
24
+
25
+
onlyBuiltDependencies:
26
+
- esbuild
27
+
28
+
engineStrict: true
29
+
strictSsl: true
30
+
strictDepBuilds: true
31
+
packageManagerStrict: true
32
+
registry: https://registry.npmjs.org/
-78
scripts/link.js
-78
scripts/link.js
···
1
-
// Janky script to get around pnpm link issues
2
-
// Probably don't use this. Probably
3
-
/* eslint-disable no-console */
4
-
const fs = require("fs");
5
-
const path = require("path");
6
-
const child_process = require("child_process");
7
-
8
-
const cwd = process.cwd();
9
-
const onDisk = {
10
-
"@moonlight-mod/lunast": "../lunast",
11
-
"@moonlight-mod/moonmap": "../moonmap",
12
-
"@moonlight-mod/mappings": "../mappings"
13
-
};
14
-
15
-
function exec(cmd, dir) {
16
-
child_process.execSync(cmd, { cwd: dir, stdio: "inherit" });
17
-
}
18
-
19
-
function getDeps(packageJSON) {
20
-
const ret = {};
21
-
Object.assign(ret, packageJSON.dependencies || {});
22
-
Object.assign(ret, packageJSON.devDependencies || {});
23
-
Object.assign(ret, packageJSON.peerDependencies || {});
24
-
return ret;
25
-
}
26
-
27
-
function link(dir) {
28
-
const packageJSONPath = path.join(dir, "package.json");
29
-
if (!fs.existsSync(packageJSONPath)) return;
30
-
const packageJSON = JSON.parse(fs.readFileSync(packageJSONPath, "utf8"));
31
-
const deps = getDeps(packageJSON);
32
-
33
-
for (const [dep, relativePath] of Object.entries(onDisk)) {
34
-
const fullPath = path.join(cwd, relativePath);
35
-
if (deps[dep]) {
36
-
exec(`pnpm link ${fullPath}`, dir);
37
-
}
38
-
}
39
-
}
40
-
41
-
function undo(dir) {
42
-
exec("pnpm unlink", dir);
43
-
try {
44
-
if (fs.existsSync(path.join(dir, "pnpm-lock.yaml"))) {
45
-
exec("git restore pnpm-lock.yaml", dir);
46
-
}
47
-
} catch {
48
-
// ignored
49
-
}
50
-
}
51
-
52
-
const shouldUndo = process.argv.includes("--undo");
53
-
const packages = fs.readdirSync("./packages");
54
-
55
-
for (const path of Object.values(onDisk)) {
56
-
console.log(path);
57
-
if (shouldUndo) {
58
-
undo(path);
59
-
} else {
60
-
link(path);
61
-
}
62
-
}
63
-
64
-
if (shouldUndo) {
65
-
console.log(cwd);
66
-
undo(cwd);
67
-
for (const pkg of packages) {
68
-
const dir = path.join(cwd, "packages", pkg);
69
-
console.log(dir);
70
-
undo(dir);
71
-
}
72
-
} else {
73
-
for (const pkg of packages) {
74
-
const dir = path.join(cwd, "packages", pkg);
75
-
console.log(dir);
76
-
link(dir);
77
-
}
78
-
}
+78
scripts/link.mjs
+78
scripts/link.mjs
···
1
+
// Janky script to get around pnpm link issues
2
+
// Probably don't use this. Probably
3
+
/* eslint-disable no-console */
4
+
const fs = require("fs");
5
+
const path = require("path");
6
+
const child_process = require("child_process");
7
+
8
+
const cwd = process.cwd();
9
+
const onDisk = {
10
+
//"@moonlight-mod/lunast": "../lunast",
11
+
//"@moonlight-mod/moonmap": "../moonmap",
12
+
"@moonlight-mod/mappings": "../mappings"
13
+
};
14
+
15
+
function exec(cmd, dir) {
16
+
child_process.execSync(cmd, { cwd: dir, stdio: "inherit" });
17
+
}
18
+
19
+
function getDeps(packageJSON) {
20
+
const ret = {};
21
+
Object.assign(ret, packageJSON.dependencies || {});
22
+
Object.assign(ret, packageJSON.devDependencies || {});
23
+
Object.assign(ret, packageJSON.peerDependencies || {});
24
+
return ret;
25
+
}
26
+
27
+
function link(dir) {
28
+
const packageJSONPath = path.join(dir, "package.json");
29
+
if (!fs.existsSync(packageJSONPath)) return;
30
+
const packageJSON = JSON.parse(fs.readFileSync(packageJSONPath, "utf8"));
31
+
const deps = getDeps(packageJSON);
32
+
33
+
for (const [dep, relativePath] of Object.entries(onDisk)) {
34
+
const fullPath = path.join(cwd, relativePath);
35
+
if (deps[dep]) {
36
+
exec(`pnpm link ${fullPath}`, dir);
37
+
}
38
+
}
39
+
}
40
+
41
+
function undo(dir) {
42
+
exec("pnpm unlink", dir);
43
+
try {
44
+
if (fs.existsSync(path.join(dir, "pnpm-lock.yaml"))) {
45
+
exec("git restore pnpm-lock.yaml", dir);
46
+
}
47
+
} catch {
48
+
// ignored
49
+
}
50
+
}
51
+
52
+
const shouldUndo = process.argv.includes("--undo");
53
+
const packages = fs.readdirSync("./packages");
54
+
55
+
for (const path of Object.values(onDisk)) {
56
+
console.log(path);
57
+
if (shouldUndo) {
58
+
undo(path);
59
+
} else {
60
+
link(path);
61
+
}
62
+
}
63
+
64
+
if (shouldUndo) {
65
+
console.log(cwd);
66
+
undo(cwd);
67
+
for (const pkg of packages) {
68
+
const dir = path.join(cwd, "packages", pkg);
69
+
console.log(dir);
70
+
undo(dir);
71
+
}
72
+
} else {
73
+
for (const pkg of packages) {
74
+
const dir = path.join(cwd, "packages", pkg);
75
+
console.log(dir);
76
+
link(dir);
77
+
}
78
+
}
-29
scripts/update.js
-29
scripts/update.js
···
1
-
// Update dependencies in all packages
2
-
/* eslint-disable no-console */
3
-
const fs = require("fs");
4
-
const path = require("path");
5
-
const child_process = require("child_process");
6
-
7
-
const packageToUpdate = process.argv[2];
8
-
9
-
function getDeps(packageJSON) {
10
-
const ret = {};
11
-
Object.assign(ret, packageJSON.dependencies || {});
12
-
Object.assign(ret, packageJSON.devDependencies || {});
13
-
Object.assign(ret, packageJSON.peerDependencies || {});
14
-
return ret;
15
-
}
16
-
17
-
function exec(cmd, dir) {
18
-
child_process.execSync(cmd, { cwd: dir, stdio: "inherit" });
19
-
}
20
-
21
-
for (const package of fs.readdirSync("./packages")) {
22
-
const packageJSON = JSON.parse(fs.readFileSync(path.join("./packages", package, "package.json"), "utf8"));
23
-
24
-
const deps = getDeps(packageJSON);
25
-
if (Object.keys(deps).includes(packageToUpdate)) {
26
-
console.log(`Updating ${packageToUpdate} in ${package}`);
27
-
exec(`pnpm update ${packageToUpdate}`, path.join("./packages", package));
28
-
}
29
-
}
+35
tsconfig.base.json
+35
tsconfig.base.json
···
1
+
{
2
+
"$schema": "https://json.schemastore.org/tsconfig.json",
3
+
"display": "Base",
4
+
"_version": "1.0.0",
5
+
"compilerOptions": {
6
+
"incremental": true,
7
+
"target": "ES2022",
8
+
"jsx": "react",
9
+
"lib": ["ESNext", "ESNext.Disposable", "DOM", "DOM.Iterable"],
10
+
"module": "ES2020",
11
+
"moduleResolution": "Bundler",
12
+
"resolveJsonModule": true,
13
+
"allowArbitraryExtensions": false,
14
+
"allowImportingTsExtensions": true,
15
+
"allowJs": true,
16
+
"strict": true,
17
+
"strictNullChecks": true,
18
+
19
+
// disable unreachable code detection because it breaks with esbuild labels
20
+
"allowUnreachableCode": true,
21
+
"noFallthroughCasesInSwitch": true,
22
+
"noImplicitReturns": true,
23
+
"declaration": true,
24
+
"declarationMap": true,
25
+
"outDir": "dist",
26
+
"sourceMap": true,
27
+
"stripInternal": true,
28
+
"esModuleInterop": true,
29
+
"forceConsistentCasingInFileNames": true,
30
+
"noErrorTruncation": true,
31
+
"verbatimModuleSyntax": false,
32
+
// meriyah has a broken import lol
33
+
"skipLibCheck": true
34
+
}
35
+
}
+7
-16
tsconfig.json
+7
-16
tsconfig.json
···
1
1
{
2
+
"extends": ["./tsconfig.base.json"],
2
3
"compilerOptions": {
3
-
"target": "es2022",
4
-
"module": "es2020",
5
-
"esModuleInterop": true,
6
-
"forceConsistentCasingInFileNames": true,
7
-
"strict": true,
8
-
"moduleResolution": "bundler",
9
4
"baseUrl": "./packages/",
10
-
"jsx": "react",
11
-
"noEmit": true,
12
-
13
-
// meriyah has a broken import lol
14
-
"skipLibCheck": true,
15
-
16
-
// disable unreachable code detection because it breaks with esbuild labels
17
-
"allowUnreachableCode": true
5
+
"noEmit": true
18
6
},
19
-
"include": ["./packages/**/*", "./env.d.ts"],
20
-
"exclude": ["node_modules"]
7
+
"exclude": [
8
+
"**/node_modules/**",
9
+
"**/dist/**",
10
+
"**/build/**"
11
+
]
21
12
}