mirror of
https://github.com/open-goal/launcher.git
synced 2024-10-19 14:47:36 -04:00
build(deps-dev): bump the frontend-deps group with 8 updates (#289)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
This commit is contained in:
parent
69476e249c
commit
68794258b7
|
@ -1,4 +1,4 @@
|
||||||
<!DOCTYPE html>
|
<!doctype html>
|
||||||
<!-- TODO - perhaps eventually add a lightmode toggle -->
|
<!-- TODO - perhaps eventually add a lightmode toggle -->
|
||||||
<html lang="en" class="dark">
|
<html lang="en" class="dark">
|
||||||
<head>
|
<head>
|
||||||
|
|
20
package.json
20
package.json
|
@ -22,36 +22,36 @@
|
||||||
"@fullhuman/postcss-purgecss": "^5.0.0",
|
"@fullhuman/postcss-purgecss": "^5.0.0",
|
||||||
"@iconify-json/ic": "^1.1.13",
|
"@iconify-json/ic": "^1.1.13",
|
||||||
"@iconify-json/mdi": "^1.1.53",
|
"@iconify-json/mdi": "^1.1.53",
|
||||||
"@octokit/plugin-retry": "^3.0.9",
|
"@octokit/plugin-retry": "^6.0.0",
|
||||||
"@octokit/plugin-throttling": "^7.0.0",
|
"@octokit/plugin-throttling": "^7.0.0",
|
||||||
"@octokit/rest": "^20.0.1",
|
"@octokit/rest": "^20.0.1",
|
||||||
"@popperjs/core": "^2.11.7",
|
"@popperjs/core": "^2.11.7",
|
||||||
"@sveltejs/vite-plugin-svelte": "^2.4.2",
|
"@sveltejs/vite-plugin-svelte": "^2.4.3",
|
||||||
"@tauri-apps/cli": "^1.4.0",
|
"@tauri-apps/cli": "^1.4.0",
|
||||||
"@tauri-apps/tauricon": "github:tauri-apps/tauricon",
|
"@tauri-apps/tauricon": "github:tauri-apps/tauricon",
|
||||||
"@testing-library/svelte": "^4.0.3",
|
"@testing-library/svelte": "^4.0.3",
|
||||||
"@vitest/coverage-v8": "^0.33.0",
|
|
||||||
"@tsconfig/svelte": "^5.0.0",
|
"@tsconfig/svelte": "^5.0.0",
|
||||||
|
"@vitest/coverage-v8": "^0.33.0",
|
||||||
"ansi-to-span": "^0.0.1",
|
"ansi-to-span": "^0.0.1",
|
||||||
"autoprefixer": "^10.4.14",
|
"autoprefixer": "^10.4.14",
|
||||||
"classnames": "^2.3.2",
|
"classnames": "^2.3.2",
|
||||||
"escape-html": "^1.0.3",
|
"escape-html": "^1.0.3",
|
||||||
"execa": "^7.1.1",
|
"execa": "^7.1.1",
|
||||||
"flowbite": "^1.6.5",
|
"flowbite": "^1.6.5",
|
||||||
"flowbite-svelte": "^0.39.2",
|
"flowbite-svelte": "0.39.3",
|
||||||
"jsdom": "^22.1.0",
|
"jsdom": "^22.1.0",
|
||||||
"postcss": "^8.4.26",
|
"postcss": "^8.4.27",
|
||||||
"postcss-load-config": "^4.0.1",
|
"postcss-load-config": "^4.0.1",
|
||||||
"prettier": "^2.8.8",
|
"prettier": "^3.0.0",
|
||||||
"prettier-plugin-svelte": "^2.10.1",
|
"prettier-plugin-svelte": "^3.0.0",
|
||||||
"svelte": "^3.59.1",
|
"svelte": "^4.1.1",
|
||||||
"svelte-i18n": "^3.6.0",
|
"svelte-i18n": "^3.6.0",
|
||||||
"svelte-preprocess": "^5.0.3",
|
"svelte-preprocess": "^5.0.3",
|
||||||
"tailwindcss": "^3.3.3",
|
"tailwindcss": "^3.3.3",
|
||||||
"typescript": "^5.1.3",
|
"typescript": "^5.1.3",
|
||||||
"unplugin-icons": "^0.16.5",
|
"unplugin-icons": "^0.16.5",
|
||||||
"vitest": "^0.33.0",
|
"vite": "^4.4.7",
|
||||||
"vite": "^4.4.4"
|
"vitest": "^0.33.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tauri-apps/api": "^1.4.0",
|
"@tauri-apps/api": "^1.4.0",
|
||||||
|
|
|
@ -21,7 +21,7 @@ const octokit = new Octokit({
|
||||||
throttle: {
|
throttle: {
|
||||||
onRateLimit: (retryAfter, options) => {
|
onRateLimit: (retryAfter, options) => {
|
||||||
octokit.log.warn(
|
octokit.log.warn(
|
||||||
`Request quota exhausted for request ${options.method} ${options.url}`
|
`Request quota exhausted for request ${options.method} ${options.url}`,
|
||||||
);
|
);
|
||||||
|
|
||||||
// Retry twice after hitting a rate limit error, then give up
|
// Retry twice after hitting a rate limit error, then give up
|
||||||
|
@ -33,7 +33,7 @@ const octokit = new Octokit({
|
||||||
onAbuseLimit: (retryAfter, options) => {
|
onAbuseLimit: (retryAfter, options) => {
|
||||||
// does not retry, only logs a warning
|
// does not retry, only logs a warning
|
||||||
octokit.log.warn(
|
octokit.log.warn(
|
||||||
`Abuse detected for request ${options.method} ${options.url}`
|
`Abuse detected for request ${options.method} ${options.url}`,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -17,7 +17,7 @@ const octokit = new Octokit({
|
||||||
throttle: {
|
throttle: {
|
||||||
onRateLimit: (retryAfter, options) => {
|
onRateLimit: (retryAfter, options) => {
|
||||||
octokit.log.warn(
|
octokit.log.warn(
|
||||||
`Request quota exhausted for request ${options.method} ${options.url}`
|
`Request quota exhausted for request ${options.method} ${options.url}`,
|
||||||
);
|
);
|
||||||
|
|
||||||
// Retry twice after hitting a rate limit error, then give up
|
// Retry twice after hitting a rate limit error, then give up
|
||||||
|
@ -29,7 +29,7 @@ const octokit = new Octokit({
|
||||||
onAbuseLimit: (retryAfter, options) => {
|
onAbuseLimit: (retryAfter, options) => {
|
||||||
// does not retry, only logs a warning
|
// does not retry, only logs a warning
|
||||||
octokit.log.warn(
|
octokit.log.warn(
|
||||||
`Abuse detected for request ${options.method} ${options.url}`
|
`Abuse detected for request ${options.method} ${options.url}`,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -178,7 +178,7 @@ const releaseMeta = {
|
||||||
launcherRelease.tag_name
|
launcherRelease.tag_name
|
||||||
}/OpenGOAL-Launcher_${launcherRelease.tag_name.replace(
|
}/OpenGOAL-Launcher_${launcherRelease.tag_name.replace(
|
||||||
"v",
|
"v",
|
||||||
""
|
"",
|
||||||
)}_amd64.AppImage.tar.gz`,
|
)}_amd64.AppImage.tar.gz`,
|
||||||
},
|
},
|
||||||
"windows-x86_64": {
|
"windows-x86_64": {
|
||||||
|
@ -187,14 +187,14 @@ const releaseMeta = {
|
||||||
launcherRelease.tag_name
|
launcherRelease.tag_name
|
||||||
}/OpenGOAL-Launcher_${launcherRelease.tag_name.replace(
|
}/OpenGOAL-Launcher_${launcherRelease.tag_name.replace(
|
||||||
"v",
|
"v",
|
||||||
""
|
"",
|
||||||
)}_x64_en-US.msi.zip`,
|
)}_x64_en-US.msi.zip`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
fs.writeFileSync(
|
fs.writeFileSync(
|
||||||
"./.tauri/latest-release-v2.json",
|
"./.tauri/latest-release-v2.json",
|
||||||
JSON.stringify(releaseMeta, null, 2) + "\n"
|
JSON.stringify(releaseMeta, null, 2) + "\n",
|
||||||
);
|
);
|
||||||
|
|
||||||
// Publish the release
|
// Publish the release
|
||||||
|
|
|
@ -21,7 +21,7 @@ const octokit = new Octokit({
|
||||||
throttle: {
|
throttle: {
|
||||||
onRateLimit: (retryAfter, options) => {
|
onRateLimit: (retryAfter, options) => {
|
||||||
octokit.log.warn(
|
octokit.log.warn(
|
||||||
`Request quota exhausted for request ${options.method} ${options.url}`
|
`Request quota exhausted for request ${options.method} ${options.url}`,
|
||||||
);
|
);
|
||||||
|
|
||||||
// Retry twice after hitting a rate limit error, then give up
|
// Retry twice after hitting a rate limit error, then give up
|
||||||
|
@ -33,7 +33,7 @@ const octokit = new Octokit({
|
||||||
onAbuseLimit: (retryAfter, options) => {
|
onAbuseLimit: (retryAfter, options) => {
|
||||||
// does not retry, only logs a warning
|
// does not retry, only logs a warning
|
||||||
octokit.log.warn(
|
octokit.log.warn(
|
||||||
`Abuse detected for request ${options.method} ${options.url}`
|
`Abuse detected for request ${options.method} ${options.url}`,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -74,7 +74,7 @@ for (const asset of assets.data) {
|
||||||
}
|
}
|
||||||
if (!matchFound) {
|
if (!matchFound) {
|
||||||
console.log(
|
console.log(
|
||||||
`Asset name does not match any of the expected regexes: ${assetName}`
|
`Asset name does not match any of the expected regexes: ${assetName}`,
|
||||||
);
|
);
|
||||||
missingAsset = true;
|
missingAsset = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,10 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-outline {
|
.text-outline {
|
||||||
text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000,
|
text-shadow:
|
||||||
|
-1px -1px 0 #000,
|
||||||
|
1px -1px 0 #000,
|
||||||
|
-1px 1px 0 #000,
|
||||||
1px 1px 0 #000;
|
1px 1px 0 #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -168,14 +168,14 @@ export async function initLocales(async: boolean) {
|
||||||
for (const locale of AVAILABLE_LOCALES) {
|
for (const locale of AVAILABLE_LOCALES) {
|
||||||
register(
|
register(
|
||||||
locale.id,
|
locale.id,
|
||||||
() => import(`../../assets/translations/${locale.id}.json`)
|
() => import(`../../assets/translations/${locale.id}.json`),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (const locale of AVAILABLE_LOCALES) {
|
for (const locale of AVAILABLE_LOCALES) {
|
||||||
addMessages(
|
addMessages(
|
||||||
locale.id,
|
locale.id,
|
||||||
await import(`../../assets/translations/${locale.id}.json`)
|
await import(`../../assets/translations/${locale.id}.json`),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,10 +10,10 @@ function failed(msg: string): InstallationOutput {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function updateDataDirectory(
|
export async function updateDataDirectory(
|
||||||
gameName: string
|
gameName: string,
|
||||||
): Promise<InstallationOutput> {
|
): Promise<InstallationOutput> {
|
||||||
return await invoke_rpc("update_data_directory", { gameName }, () =>
|
return await invoke_rpc("update_data_directory", { gameName }, () =>
|
||||||
failed("Failed to update data directory")
|
failed("Failed to update data directory"),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,48 +23,48 @@ export async function getEndOfLogs(): Promise<string> {
|
||||||
|
|
||||||
export async function extractAndValidateISO(
|
export async function extractAndValidateISO(
|
||||||
pathToIso: string,
|
pathToIso: string,
|
||||||
gameName: string
|
gameName: string,
|
||||||
): Promise<InstallationOutput> {
|
): Promise<InstallationOutput> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"extract_and_validate_iso",
|
"extract_and_validate_iso",
|
||||||
{ pathToIso, gameName },
|
{ pathToIso, gameName },
|
||||||
() => failed("Failed to extract and validate ISO")
|
() => failed("Failed to extract and validate ISO"),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function runDecompiler(
|
export async function runDecompiler(
|
||||||
pathToIso: string,
|
pathToIso: string,
|
||||||
gameName: string,
|
gameName: string,
|
||||||
truncateLogs: boolean = false
|
truncateLogs: boolean = false,
|
||||||
): Promise<InstallationOutput> {
|
): Promise<InstallationOutput> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"run_decompiler",
|
"run_decompiler",
|
||||||
{ pathToIso, gameName, truncateLogs },
|
{ pathToIso, gameName, truncateLogs },
|
||||||
() => failed("Failed to run decompiler")
|
() => failed("Failed to run decompiler"),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function runCompiler(
|
export async function runCompiler(
|
||||||
pathToIso: string,
|
pathToIso: string,
|
||||||
gameName: string,
|
gameName: string,
|
||||||
truncateLogs: boolean = false
|
truncateLogs: boolean = false,
|
||||||
): Promise<InstallationOutput> {
|
): Promise<InstallationOutput> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"run_compiler",
|
"run_compiler",
|
||||||
{ pathToIso, gameName, truncateLogs },
|
{ pathToIso, gameName, truncateLogs },
|
||||||
() => failed("Failed to run compiler")
|
() => failed("Failed to run compiler"),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function launchGame(
|
export async function launchGame(
|
||||||
gameName: string,
|
gameName: string,
|
||||||
inDebug: boolean
|
inDebug: boolean,
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"launch_game",
|
"launch_game",
|
||||||
{ gameName, inDebug },
|
{ gameName, inDebug },
|
||||||
() => {},
|
() => {},
|
||||||
"Unable to launch game"
|
"Unable to launch game",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,6 +73,6 @@ export async function openREPL(gameName: string): Promise<void> {
|
||||||
"open_repl",
|
"open_repl",
|
||||||
{ gameName },
|
{ gameName },
|
||||||
() => {},
|
() => {},
|
||||||
"Unable to open REPL"
|
"Unable to open REPL",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ export async function resetLauncherSettingsToDefaults(): Promise<boolean> {
|
||||||
"reset_to_defaults",
|
"reset_to_defaults",
|
||||||
{},
|
{},
|
||||||
() => false,
|
() => false,
|
||||||
"Unable to reset settings"
|
"Unable to reset settings",
|
||||||
);
|
);
|
||||||
return success != false;
|
return success != false;
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ export async function getInstallationDirectory(): Promise<string | null> {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function setInstallationDirectory(
|
export async function setInstallationDirectory(
|
||||||
newDir: string
|
newDir: string,
|
||||||
): Promise<string | null> {
|
): Promise<string | null> {
|
||||||
// TODO - not insanely crazy about this pattern (message in the response instead of the error)
|
// TODO - not insanely crazy about this pattern (message in the response instead of the error)
|
||||||
// consider changing it
|
// consider changing it
|
||||||
|
@ -36,7 +36,7 @@ export async function setInstallationDirectory(
|
||||||
"set_install_directory",
|
"set_install_directory",
|
||||||
{ newDir },
|
{ newDir },
|
||||||
() => "Unexpected error occurred",
|
() => "Unexpected error occurred",
|
||||||
"Invalid installation directory"
|
"Invalid installation directory",
|
||||||
);
|
);
|
||||||
|
|
||||||
if (errMsg !== null) {
|
if (errMsg !== null) {
|
||||||
|
@ -50,18 +50,18 @@ export async function setInstallationDirectory(
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function isAVXRequirementMet(
|
export async function isAVXRequirementMet(
|
||||||
force: boolean
|
force: boolean,
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
return await invoke_rpc("is_avx_requirement_met", { force }, () => undefined);
|
return await invoke_rpc("is_avx_requirement_met", { force }, () => undefined);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function isOpenGLRequirementMet(
|
export async function isOpenGLRequirementMet(
|
||||||
force: boolean
|
force: boolean,
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
const result = await invoke_rpc(
|
const result = await invoke_rpc(
|
||||||
"is_opengl_requirement_met",
|
"is_opengl_requirement_met",
|
||||||
{ force },
|
{ force },
|
||||||
() => undefined
|
() => undefined,
|
||||||
);
|
);
|
||||||
|
|
||||||
if (typeof result !== "boolean") {
|
if (typeof result !== "boolean") {
|
||||||
|
@ -84,20 +84,20 @@ export async function getInstalledVersion(gameName: string): Promise<String> {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getInstalledVersionFolder(
|
export async function getInstalledVersionFolder(
|
||||||
gameName: string
|
gameName: string,
|
||||||
): Promise<String> {
|
): Promise<String> {
|
||||||
return invoke_rpc("get_installed_version_folder", { gameName }, () => null);
|
return invoke_rpc("get_installed_version_folder", { gameName }, () => null);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function saveActiveVersionChange(
|
export async function saveActiveVersionChange(
|
||||||
versionFolder: VersionFolders,
|
versionFolder: VersionFolders,
|
||||||
newActiveVersion: String
|
newActiveVersion: String,
|
||||||
): Promise<boolean> {
|
): Promise<boolean> {
|
||||||
return invoke_rpc(
|
return invoke_rpc(
|
||||||
"save_active_version_change",
|
"save_active_version_change",
|
||||||
{ versionFolder, newActiveVersion },
|
{ versionFolder, newActiveVersion },
|
||||||
() => false,
|
() => false,
|
||||||
"Couldn't save active version change"
|
"Couldn't save active version change",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,20 +115,20 @@ export async function setLocale(localeId: string): Promise<void> {
|
||||||
svelteLocale.set(localeId);
|
svelteLocale.set(localeId);
|
||||||
// Update CSS variable if needed
|
// Update CSS variable if needed
|
||||||
let localeInfo = AVAILABLE_LOCALES.find(
|
let localeInfo = AVAILABLE_LOCALES.find(
|
||||||
(locale) => locale.id === localeId
|
(locale) => locale.id === localeId,
|
||||||
);
|
);
|
||||||
if (localeInfo !== undefined && localeInfo.fontFamily !== undefined) {
|
if (localeInfo !== undefined && localeInfo.fontFamily !== undefined) {
|
||||||
document.documentElement.style.setProperty(
|
document.documentElement.style.setProperty(
|
||||||
"--launcher-font-family",
|
"--launcher-font-family",
|
||||||
localeInfo.fontFamily
|
localeInfo.fontFamily,
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
document.documentElement.style.setProperty(
|
document.documentElement.style.setProperty(
|
||||||
"--launcher-font-family",
|
"--launcher-font-family",
|
||||||
"Noto Sans"
|
"Noto Sans",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,18 +141,18 @@ export async function getBypassRequirements(): Promise<boolean> {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getEnabledTexturePacks(
|
export async function getEnabledTexturePacks(
|
||||||
gameName: string
|
gameName: string,
|
||||||
): Promise<string[]> {
|
): Promise<string[]> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"get_enabled_texture_packs",
|
"get_enabled_texture_packs",
|
||||||
{ gameName: gameName },
|
{ gameName: gameName },
|
||||||
() => []
|
() => [],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function cleanupEnabledTexturePacks(
|
export async function cleanupEnabledTexturePacks(
|
||||||
gameName: string,
|
gameName: string,
|
||||||
cleanupList: string[]
|
cleanupList: string[],
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"cleanup_enabled_texture_packs",
|
"cleanup_enabled_texture_packs",
|
||||||
|
@ -160,7 +160,7 @@ export async function cleanupEnabledTexturePacks(
|
||||||
gameName: gameName,
|
gameName: gameName,
|
||||||
cleanupList: cleanupList,
|
cleanupList: cleanupList,
|
||||||
},
|
},
|
||||||
() => {}
|
() => {},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ function failed(msg: string): FeatureJobOutput {
|
||||||
|
|
||||||
export async function setEnabledTexturePacks(
|
export async function setEnabledTexturePacks(
|
||||||
gameName: string,
|
gameName: string,
|
||||||
packs: string[]
|
packs: string[],
|
||||||
): Promise<FeatureJobOutput> {
|
): Promise<FeatureJobOutput> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"set_enabled_texture_packs",
|
"set_enabled_texture_packs",
|
||||||
|
@ -188,6 +188,6 @@ export async function setEnabledTexturePacks(
|
||||||
undefined,
|
undefined,
|
||||||
() => {
|
() => {
|
||||||
return { success: true, msg: null };
|
return { success: true, msg: null };
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,20 +12,20 @@ function failed(msg: string): FeatureJobOutput {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function listExtractedTexturePackInfo(
|
export async function listExtractedTexturePackInfo(
|
||||||
gameName: string
|
gameName: string,
|
||||||
): Promise<any> {
|
): Promise<any> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"list_extracted_texture_pack_info",
|
"list_extracted_texture_pack_info",
|
||||||
{
|
{
|
||||||
gameName: gameName,
|
gameName: gameName,
|
||||||
},
|
},
|
||||||
() => []
|
() => [],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function extractNewTexturePack(
|
export async function extractNewTexturePack(
|
||||||
gameName: string,
|
gameName: string,
|
||||||
pathToZip: string
|
pathToZip: string,
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"extract_new_texture_pack",
|
"extract_new_texture_pack",
|
||||||
|
@ -33,12 +33,12 @@ export async function extractNewTexturePack(
|
||||||
gameName: gameName,
|
gameName: gameName,
|
||||||
zipPath: pathToZip,
|
zipPath: pathToZip,
|
||||||
},
|
},
|
||||||
() => undefined
|
() => undefined,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function updateTexturePackData(
|
export async function updateTexturePackData(
|
||||||
gameName: string
|
gameName: string,
|
||||||
): Promise<FeatureJobOutput> {
|
): Promise<FeatureJobOutput> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"update_texture_pack_data",
|
"update_texture_pack_data",
|
||||||
|
@ -49,13 +49,13 @@ export async function updateTexturePackData(
|
||||||
undefined,
|
undefined,
|
||||||
() => {
|
() => {
|
||||||
return { success: true, msg: null };
|
return { success: true, msg: null };
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function deleteTexturePacks(
|
export async function deleteTexturePacks(
|
||||||
gameName: string,
|
gameName: string,
|
||||||
packs: string[]
|
packs: string[],
|
||||||
): Promise<FeatureJobOutput> {
|
): Promise<FeatureJobOutput> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"delete_texture_packs",
|
"delete_texture_packs",
|
||||||
|
@ -67,6 +67,6 @@ export async function deleteTexturePacks(
|
||||||
undefined,
|
undefined,
|
||||||
() => {
|
() => {
|
||||||
return { success: true, msg: null };
|
return { success: true, msg: null };
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ export async function uninstallGame(gameName: string): Promise<boolean> {
|
||||||
"uninstall_game",
|
"uninstall_game",
|
||||||
{ gameName },
|
{ gameName },
|
||||||
() => false,
|
() => false,
|
||||||
"Unable to uninstall game"
|
"Unable to uninstall game",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,6 +14,6 @@ export async function resetGameSettings(gameName: string): Promise<void> {
|
||||||
"reset_game_settings",
|
"reset_game_settings",
|
||||||
{ gameName },
|
{ gameName },
|
||||||
() => {},
|
() => {},
|
||||||
"Unable to reset game settings"
|
"Unable to reset game settings",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ async function genericLog(level: string, log: String): Promise<void> {
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(
|
console.log(
|
||||||
"[opengoal_launcher]: Unexpected error encountered when trying to log",
|
"[opengoal_launcher]: Unexpected error encountered when trying to log",
|
||||||
e
|
e,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ export async function errorLog(log: String): Promise<void> {
|
||||||
export async function exceptionLog(log: String, error: any): Promise<void> {
|
export async function exceptionLog(log: String, error: any): Promise<void> {
|
||||||
if (error instanceof Error) {
|
if (error instanceof Error) {
|
||||||
errorLog(
|
errorLog(
|
||||||
`${log} | Exception: ${error.name}:${error.message}, Stack: ${error.stack}, Cause: ${error.cause}`
|
`${log} | Exception: ${error.name}:${error.message}, Stack: ${error.stack}, Cause: ${error.cause}`,
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
errorLog(`${log} | ${error}`);
|
errorLog(`${log} | ${error}`);
|
||||||
|
|
|
@ -16,7 +16,7 @@ export async function invoke_rpc<T>(
|
||||||
args: InvokeArgs,
|
args: InvokeArgs,
|
||||||
handleError: (error: unknown) => T,
|
handleError: (error: unknown) => T,
|
||||||
toastOnError?: string,
|
toastOnError?: string,
|
||||||
onSuccess?: (result: T) => T
|
onSuccess?: (result: T) => T,
|
||||||
): Promise<T> {
|
): Promise<T> {
|
||||||
try {
|
try {
|
||||||
// this assumes the call is made in a way that does not trick the type inference
|
// this assumes the call is made in a way that does not trick the type inference
|
||||||
|
|
|
@ -5,12 +5,12 @@ export async function generateSupportPackage(): Promise<void> {
|
||||||
const userPath = await saveFilePrompt(
|
const userPath = await saveFilePrompt(
|
||||||
"ZIP",
|
"ZIP",
|
||||||
["zip"],
|
["zip"],
|
||||||
"opengoal-support-package.zip"
|
"opengoal-support-package.zip",
|
||||||
);
|
);
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"generate_support_package",
|
"generate_support_package",
|
||||||
{ userPath },
|
{ userPath },
|
||||||
() => {},
|
() => {},
|
||||||
"Unable to create support package"
|
"Unable to create support package",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,38 +3,38 @@ import { invoke_rpc } from "./rpc";
|
||||||
export type VersionFolders = null | "official" | "unofficial" | "devel";
|
export type VersionFolders = null | "official" | "unofficial" | "devel";
|
||||||
|
|
||||||
export async function listDownloadedVersions(
|
export async function listDownloadedVersions(
|
||||||
versionFolder: VersionFolders
|
versionFolder: VersionFolders,
|
||||||
): Promise<string[]> {
|
): Promise<string[]> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"list_downloaded_versions",
|
"list_downloaded_versions",
|
||||||
{ versionFolder },
|
{ versionFolder },
|
||||||
() => []
|
() => [],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function downloadOfficialVersion(
|
export async function downloadOfficialVersion(
|
||||||
version: String,
|
version: String,
|
||||||
url: String
|
url: String,
|
||||||
): Promise<boolean> {
|
): Promise<boolean> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"download_version",
|
"download_version",
|
||||||
{ version, url, versionFolder: "official" },
|
{ version, url, versionFolder: "official" },
|
||||||
() => false,
|
() => false,
|
||||||
"Unable to download official version",
|
"Unable to download official version",
|
||||||
() => true
|
() => true,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function removeVersion(
|
export async function removeVersion(
|
||||||
version: String,
|
version: String,
|
||||||
versionFolder: String
|
versionFolder: String,
|
||||||
): Promise<boolean> {
|
): Promise<boolean> {
|
||||||
return await invoke_rpc(
|
return await invoke_rpc(
|
||||||
"remove_version",
|
"remove_version",
|
||||||
{ version, versionFolder },
|
{ version, versionFolder },
|
||||||
() => false,
|
() => false,
|
||||||
"Unable to remove version",
|
"Unable to remove version",
|
||||||
() => true
|
() => true,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ export async function openVersionFolder(versionFolder: VersionFolders) {
|
||||||
"go_to_version_folder",
|
"go_to_version_folder",
|
||||||
{ versionFolder },
|
{ versionFolder },
|
||||||
() => {},
|
() => {},
|
||||||
"Unable to open version folder"
|
"Unable to open version folder",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,6 +60,6 @@ export async function ensureActiveVersionStillExists(): Promise<boolean> {
|
||||||
"ensure_active_version_still_exists",
|
"ensure_active_version_still_exists",
|
||||||
{},
|
{},
|
||||||
() => false,
|
() => false,
|
||||||
"Error checking that active version exists"
|
"Error checking that active version exists",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ export async function openDir(directory: string): Promise<void> {
|
||||||
"open_dir_in_os",
|
"open_dir_in_os",
|
||||||
{ directory },
|
{ directory },
|
||||||
() => {},
|
() => {},
|
||||||
"Unable to open directory"
|
"Unable to open directory",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ import { open, save } from "@tauri-apps/api/dialog";
|
||||||
export async function filePrompt(
|
export async function filePrompt(
|
||||||
extensions: string[],
|
extensions: string[],
|
||||||
name: string,
|
name: string,
|
||||||
title: string
|
title: string,
|
||||||
): Promise<string | null> {
|
): Promise<string | null> {
|
||||||
const path = await open({
|
const path = await open({
|
||||||
title: title,
|
title: title,
|
||||||
|
@ -22,7 +22,7 @@ export async function filePrompt(
|
||||||
export async function saveFilePrompt(
|
export async function saveFilePrompt(
|
||||||
fileType: string,
|
fileType: string,
|
||||||
fileExtensions: string[],
|
fileExtensions: string[],
|
||||||
fileName: string
|
fileName: string,
|
||||||
): Promise<string | null> {
|
): Promise<string | null> {
|
||||||
return await save({
|
return await save({
|
||||||
filters: [{ name: fileType, extensions: fileExtensions }],
|
filters: [{ name: fileType, extensions: fileExtensions }],
|
||||||
|
@ -32,7 +32,7 @@ export async function saveFilePrompt(
|
||||||
|
|
||||||
export async function saveFolderPrompt(
|
export async function saveFolderPrompt(
|
||||||
fileType: string,
|
fileType: string,
|
||||||
fileExtensions: string[]
|
fileExtensions: string[],
|
||||||
): Promise<string | null> {
|
): Promise<string | null> {
|
||||||
return await save({
|
return await save({
|
||||||
filters: [{ name: fileType, extensions: fileExtensions }],
|
filters: [{ name: fileType, extensions: fileExtensions }],
|
||||||
|
@ -43,7 +43,7 @@ export async function isoPrompt(): Promise<string | undefined> {
|
||||||
const path = await filePrompt(
|
const path = await filePrompt(
|
||||||
["ISO", "iso"],
|
["ISO", "iso"],
|
||||||
"Jak ISO File",
|
"Jak ISO File",
|
||||||
"Select your legitimately obtained ISO File"
|
"Select your legitimately obtained ISO File",
|
||||||
);
|
);
|
||||||
if (path === null) {
|
if (path === null) {
|
||||||
return undefined;
|
return undefined;
|
||||||
|
|
|
@ -137,12 +137,12 @@ describe("listOfficialReleases", () => {
|
||||||
"opengoal-windows-v0.0.1.zip",
|
"opengoal-windows-v0.0.1.zip",
|
||||||
"opengoal-linux-v0.0.1.tar.gz",
|
"opengoal-linux-v0.0.1.tar.gz",
|
||||||
]),
|
]),
|
||||||
])
|
]),
|
||||||
);
|
);
|
||||||
const releases = await listOfficialReleases();
|
const releases = await listOfficialReleases();
|
||||||
expect(releases.length).toBe(1);
|
expect(releases.length).toBe(1);
|
||||||
expect(
|
expect(
|
||||||
releases[0].downloadUrl.endsWith("opengoal-macos-intel-v0.0.1.tar.gz")
|
releases[0].downloadUrl.endsWith("opengoal-macos-intel-v0.0.1.tar.gz"),
|
||||||
).toBeTruthy();
|
).toBeTruthy();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ describe("listOfficialReleases", () => {
|
||||||
"opengoal-windows-v0.0.1.zip",
|
"opengoal-windows-v0.0.1.zip",
|
||||||
"opengoal-linux-v0.0.1.tar.gz",
|
"opengoal-linux-v0.0.1.tar.gz",
|
||||||
]),
|
]),
|
||||||
])
|
]),
|
||||||
);
|
);
|
||||||
const releases = await listOfficialReleases();
|
const releases = await listOfficialReleases();
|
||||||
expect(releases.length).toBe(1);
|
expect(releases.length).toBe(1);
|
||||||
|
@ -173,12 +173,12 @@ describe("listOfficialReleases", () => {
|
||||||
"opengoal-windows-v0.0.1.zip",
|
"opengoal-windows-v0.0.1.zip",
|
||||||
"opengoal-linux-v0.0.1.tar.gz",
|
"opengoal-linux-v0.0.1.tar.gz",
|
||||||
]),
|
]),
|
||||||
])
|
]),
|
||||||
);
|
);
|
||||||
const releases = await listOfficialReleases();
|
const releases = await listOfficialReleases();
|
||||||
expect(releases.length).toBe(1);
|
expect(releases.length).toBe(1);
|
||||||
expect(
|
expect(
|
||||||
releases[0].downloadUrl.endsWith("opengoal-windows-v0.0.1.zip")
|
releases[0].downloadUrl.endsWith("opengoal-windows-v0.0.1.zip"),
|
||||||
).toBeTruthy();
|
).toBeTruthy();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -192,12 +192,12 @@ describe("listOfficialReleases", () => {
|
||||||
"opengoal-windows-v0.0.1.zip",
|
"opengoal-windows-v0.0.1.zip",
|
||||||
"opengoal-linux-v0.0.1.tar.gz",
|
"opengoal-linux-v0.0.1.tar.gz",
|
||||||
]),
|
]),
|
||||||
])
|
]),
|
||||||
);
|
);
|
||||||
const releases = await listOfficialReleases();
|
const releases = await listOfficialReleases();
|
||||||
expect(releases.length).toBe(1);
|
expect(releases.length).toBe(1);
|
||||||
expect(
|
expect(
|
||||||
releases[0].downloadUrl.endsWith("opengoal-linux-v0.0.1.tar.gz")
|
releases[0].downloadUrl.endsWith("opengoal-linux-v0.0.1.tar.gz"),
|
||||||
).toBeTruthy();
|
).toBeTruthy();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -218,12 +218,12 @@ describe("getLatestOfficialRelease", () => {
|
||||||
"opengoal-windows-v0.0.1.zip",
|
"opengoal-windows-v0.0.1.zip",
|
||||||
"opengoal-linux-v0.0.1.tar.gz",
|
"opengoal-linux-v0.0.1.tar.gz",
|
||||||
]),
|
]),
|
||||||
])
|
]),
|
||||||
);
|
);
|
||||||
const releases = await listOfficialReleases();
|
const releases = await listOfficialReleases();
|
||||||
expect(releases.length).toBe(1);
|
expect(releases.length).toBe(1);
|
||||||
expect(
|
expect(
|
||||||
releases[0].downloadUrl.endsWith("opengoal-macos-intel-v0.0.1.tar.gz")
|
releases[0].downloadUrl.endsWith("opengoal-macos-intel-v0.0.1.tar.gz"),
|
||||||
).toBeTruthy();
|
).toBeTruthy();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -237,7 +237,7 @@ describe("getLatestOfficialRelease", () => {
|
||||||
"opengoal-windows-v0.0.1.zip",
|
"opengoal-windows-v0.0.1.zip",
|
||||||
"opengoal-linux-v0.0.1.tar.gz",
|
"opengoal-linux-v0.0.1.tar.gz",
|
||||||
]),
|
]),
|
||||||
])
|
]),
|
||||||
);
|
);
|
||||||
const releases = await listOfficialReleases();
|
const releases = await listOfficialReleases();
|
||||||
expect(releases.length).toBe(1);
|
expect(releases.length).toBe(1);
|
||||||
|
@ -254,12 +254,12 @@ describe("getLatestOfficialRelease", () => {
|
||||||
"opengoal-windows-v0.0.1.zip",
|
"opengoal-windows-v0.0.1.zip",
|
||||||
"opengoal-linux-v0.0.1.tar.gz",
|
"opengoal-linux-v0.0.1.tar.gz",
|
||||||
]),
|
]),
|
||||||
])
|
]),
|
||||||
);
|
);
|
||||||
const releases = await listOfficialReleases();
|
const releases = await listOfficialReleases();
|
||||||
expect(releases.length).toBe(1);
|
expect(releases.length).toBe(1);
|
||||||
expect(
|
expect(
|
||||||
releases[0].downloadUrl.endsWith("opengoal-windows-v0.0.1.zip")
|
releases[0].downloadUrl.endsWith("opengoal-windows-v0.0.1.zip"),
|
||||||
).toBeTruthy();
|
).toBeTruthy();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -273,12 +273,12 @@ describe("getLatestOfficialRelease", () => {
|
||||||
"opengoal-windows-v0.0.1.zip",
|
"opengoal-windows-v0.0.1.zip",
|
||||||
"opengoal-linux-v0.0.1.tar.gz",
|
"opengoal-linux-v0.0.1.tar.gz",
|
||||||
]),
|
]),
|
||||||
])
|
]),
|
||||||
);
|
);
|
||||||
const releases = await listOfficialReleases();
|
const releases = await listOfficialReleases();
|
||||||
expect(releases.length).toBe(1);
|
expect(releases.length).toBe(1);
|
||||||
expect(
|
expect(
|
||||||
releases[0].downloadUrl.endsWith("opengoal-linux-v0.0.1.tar.gz")
|
releases[0].downloadUrl.endsWith("opengoal-linux-v0.0.1.tar.gz"),
|
||||||
).toBeTruthy();
|
).toBeTruthy();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -13,7 +13,7 @@ export interface ReleaseInfo {
|
||||||
function isIntelMacOsRelease(
|
function isIntelMacOsRelease(
|
||||||
platform: string,
|
platform: string,
|
||||||
architecture: string,
|
architecture: string,
|
||||||
assetName: string
|
assetName: string,
|
||||||
): boolean {
|
): boolean {
|
||||||
return (
|
return (
|
||||||
platform === "darwin" &&
|
platform === "darwin" &&
|
||||||
|
@ -26,7 +26,7 @@ function isIntelMacOsRelease(
|
||||||
function isWindowsRelease(
|
function isWindowsRelease(
|
||||||
platform: string,
|
platform: string,
|
||||||
architecture: string,
|
architecture: string,
|
||||||
assetName: string
|
assetName: string,
|
||||||
): boolean {
|
): boolean {
|
||||||
return (
|
return (
|
||||||
platform === "win32" &&
|
platform === "win32" &&
|
||||||
|
@ -38,7 +38,7 @@ function isWindowsRelease(
|
||||||
function isLinuxRelease(
|
function isLinuxRelease(
|
||||||
platform: string,
|
platform: string,
|
||||||
architecture: string,
|
architecture: string,
|
||||||
assetName: string
|
assetName: string,
|
||||||
): boolean {
|
): boolean {
|
||||||
return (
|
return (
|
||||||
platform === "linux" &&
|
platform === "linux" &&
|
||||||
|
@ -48,7 +48,7 @@ function isLinuxRelease(
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getDownloadLinkForCurrentPlatform(
|
async function getDownloadLinkForCurrentPlatform(
|
||||||
release: any
|
release: any,
|
||||||
): Promise<string | undefined> {
|
): Promise<string | undefined> {
|
||||||
const platformName = await platform();
|
const platformName = await platform();
|
||||||
const archName = await arch();
|
const archName = await arch();
|
||||||
|
@ -69,7 +69,7 @@ export async function listOfficialReleases(): Promise<ReleaseInfo[]> {
|
||||||
// TODO - handle rate limiting
|
// TODO - handle rate limiting
|
||||||
// TODO - long term - handle pagination (more than 100 releases)
|
// TODO - long term - handle pagination (more than 100 releases)
|
||||||
const resp = await fetch(
|
const resp = await fetch(
|
||||||
"https://api.github.com/repos/open-goal/jak-project/releases?per_page=100"
|
"https://api.github.com/repos/open-goal/jak-project/releases?per_page=100",
|
||||||
);
|
);
|
||||||
// TODO - handle error
|
// TODO - handle error
|
||||||
const githubReleases = await resp.json();
|
const githubReleases = await resp.json();
|
||||||
|
@ -92,7 +92,7 @@ export async function listOfficialReleases(): Promise<ReleaseInfo[]> {
|
||||||
export async function getLatestOfficialRelease(): Promise<ReleaseInfo> {
|
export async function getLatestOfficialRelease(): Promise<ReleaseInfo> {
|
||||||
// TODO - handle rate limiting
|
// TODO - handle rate limiting
|
||||||
const resp = await fetch(
|
const resp = await fetch(
|
||||||
"https://api.github.com/repos/open-goal/jak-project/releases/latest"
|
"https://api.github.com/repos/open-goal/jak-project/releases/latest",
|
||||||
);
|
);
|
||||||
// TODO - handle error
|
// TODO - handle error
|
||||||
const githubRelease = await resp.json();
|
const githubRelease = await resp.json();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<!DOCTYPE html>
|
<!doctype html>
|
||||||
<html lang="en" class="dark">
|
<html lang="en" class="dark">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
|
|
|
@ -54,7 +54,7 @@ describe("Splash.svelte", () => {
|
||||||
});
|
});
|
||||||
render(Splash, {});
|
render(Splash, {});
|
||||||
const localeSelect = (await screen.findByTestId(
|
const localeSelect = (await screen.findByTestId(
|
||||||
"locale-select"
|
"locale-select",
|
||||||
)) as HTMLSelectElement;
|
)) as HTMLSelectElement;
|
||||||
expect(localeSelect).toBeTruthy();
|
expect(localeSelect).toBeTruthy();
|
||||||
fireEvent.change(localeSelect, { target: { value: "en-US" } });
|
fireEvent.change(localeSelect, { target: { value: "en-US" } });
|
||||||
|
@ -80,14 +80,14 @@ describe("Splash.svelte", () => {
|
||||||
});
|
});
|
||||||
render(Splash, {});
|
render(Splash, {});
|
||||||
const deleteOldDataDirButton = await screen.findByTestId(
|
const deleteOldDataDirButton = await screen.findByTestId(
|
||||||
"delete-old-data-dir-button"
|
"delete-old-data-dir-button",
|
||||||
);
|
);
|
||||||
expect(deleteOldDataDirButton).toBeTruthy();
|
expect(deleteOldDataDirButton).toBeTruthy();
|
||||||
// delete the dir, it'll go away
|
// delete the dir, it'll go away
|
||||||
fireEvent.click(deleteOldDataDirButton);
|
fireEvent.click(deleteOldDataDirButton);
|
||||||
expect(oldDataDirDeleted).toBeTruthy();
|
expect(oldDataDirDeleted).toBeTruthy();
|
||||||
const pickInstallFolderButton = await screen.findByTestId(
|
const pickInstallFolderButton = await screen.findByTestId(
|
||||||
"pick-install-folder-button"
|
"pick-install-folder-button",
|
||||||
);
|
);
|
||||||
expect(pickInstallFolderButton).toBeTruthy();
|
expect(pickInstallFolderButton).toBeTruthy();
|
||||||
});
|
});
|
||||||
|
@ -109,13 +109,13 @@ describe("Splash.svelte", () => {
|
||||||
vi.mocked(folderPrompt).mockResolvedValue(undefined);
|
vi.mocked(folderPrompt).mockResolvedValue(undefined);
|
||||||
render(Splash, {});
|
render(Splash, {});
|
||||||
let pickInstallFolderButton = await screen.findByTestId(
|
let pickInstallFolderButton = await screen.findByTestId(
|
||||||
"pick-install-folder-button"
|
"pick-install-folder-button",
|
||||||
);
|
);
|
||||||
expect(pickInstallFolderButton).toBeTruthy();
|
expect(pickInstallFolderButton).toBeTruthy();
|
||||||
fireEvent.click(pickInstallFolderButton);
|
fireEvent.click(pickInstallFolderButton);
|
||||||
// It's still there since the user didn't pick a folder
|
// It's still there since the user didn't pick a folder
|
||||||
pickInstallFolderButton = await screen.findByTestId(
|
pickInstallFolderButton = await screen.findByTestId(
|
||||||
"pick-install-folder-button"
|
"pick-install-folder-button",
|
||||||
);
|
);
|
||||||
expect(pickInstallFolderButton).toBeTruthy();
|
expect(pickInstallFolderButton).toBeTruthy();
|
||||||
});
|
});
|
||||||
|
@ -145,7 +145,7 @@ describe("Splash.svelte", () => {
|
||||||
vi.mocked(folderPrompt).mockResolvedValue("/wow/good/job/nice/folder");
|
vi.mocked(folderPrompt).mockResolvedValue("/wow/good/job/nice/folder");
|
||||||
render(Splash, {});
|
render(Splash, {});
|
||||||
let pickInstallFolderButton = await screen.findByTestId(
|
let pickInstallFolderButton = await screen.findByTestId(
|
||||||
"pick-install-folder-button"
|
"pick-install-folder-button",
|
||||||
);
|
);
|
||||||
expect(pickInstallFolderButton).toBeTruthy();
|
expect(pickInstallFolderButton).toBeTruthy();
|
||||||
fireEvent.click(pickInstallFolderButton);
|
fireEvent.click(pickInstallFolderButton);
|
||||||
|
@ -156,7 +156,7 @@ describe("Splash.svelte", () => {
|
||||||
() => {
|
() => {
|
||||||
expect(mainWindowOpened).toBeTruthy();
|
expect(mainWindowOpened).toBeTruthy();
|
||||||
},
|
},
|
||||||
{ timeout: 5000 }
|
{ timeout: 5000 },
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -183,7 +183,7 @@ describe("Splash.svelte", () => {
|
||||||
vi.mocked(folderPrompt).mockResolvedValue("/wow/good/job/nice/folder");
|
vi.mocked(folderPrompt).mockResolvedValue("/wow/good/job/nice/folder");
|
||||||
render(Splash, {});
|
render(Splash, {});
|
||||||
let pickInstallFolderButton = await screen.findByTestId(
|
let pickInstallFolderButton = await screen.findByTestId(
|
||||||
"pick-install-folder-button"
|
"pick-install-folder-button",
|
||||||
);
|
);
|
||||||
expect(pickInstallFolderButton).toBeTruthy();
|
expect(pickInstallFolderButton).toBeTruthy();
|
||||||
fireEvent.click(pickInstallFolderButton);
|
fireEvent.click(pickInstallFolderButton);
|
||||||
|
@ -191,7 +191,7 @@ describe("Splash.svelte", () => {
|
||||||
screen.findByText("wow that was a terrible directory");
|
screen.findByText("wow that was a terrible directory");
|
||||||
});
|
});
|
||||||
pickInstallFolderButton = await screen.findByTestId(
|
pickInstallFolderButton = await screen.findByTestId(
|
||||||
"pick-install-folder-button"
|
"pick-install-folder-button",
|
||||||
);
|
);
|
||||||
expect(pickInstallFolderButton).toBeTruthy();
|
expect(pickInstallFolderButton).toBeTruthy();
|
||||||
});
|
});
|
||||||
|
|
|
@ -28,7 +28,7 @@ export default defineConfig({
|
||||||
input: {
|
input: {
|
||||||
main: fileURLToPath(new URL("./index.html", import.meta.url)),
|
main: fileURLToPath(new URL("./index.html", import.meta.url)),
|
||||||
splash: fileURLToPath(
|
splash: fileURLToPath(
|
||||||
new URL("./src/splash/index.html", import.meta.url)
|
new URL("./src/splash/index.html", import.meta.url),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
171
yarn.lock
171
yarn.lock
|
@ -592,7 +592,7 @@
|
||||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
|
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
|
||||||
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
|
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
|
||||||
|
|
||||||
"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.9":
|
"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9":
|
||||||
version "0.3.18"
|
version "0.3.18"
|
||||||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6"
|
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6"
|
||||||
integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==
|
integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==
|
||||||
|
@ -657,11 +657,6 @@
|
||||||
"@octokit/types" "^11.0.0"
|
"@octokit/types" "^11.0.0"
|
||||||
universal-user-agent "^6.0.0"
|
universal-user-agent "^6.0.0"
|
||||||
|
|
||||||
"@octokit/openapi-types@^12.11.0":
|
|
||||||
version "12.11.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0"
|
|
||||||
integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==
|
|
||||||
|
|
||||||
"@octokit/openapi-types@^18.0.0":
|
"@octokit/openapi-types@^18.0.0":
|
||||||
version "18.0.0"
|
version "18.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-18.0.0.tgz#f43d765b3c7533fd6fb88f3f25df079c24fccf69"
|
resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-18.0.0.tgz#f43d765b3c7533fd6fb88f3f25df079c24fccf69"
|
||||||
|
@ -686,12 +681,13 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@octokit/types" "^11.0.0"
|
"@octokit/types" "^11.0.0"
|
||||||
|
|
||||||
"@octokit/plugin-retry@^3.0.9":
|
"@octokit/plugin-retry@^6.0.0":
|
||||||
version "3.0.9"
|
version "6.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz#ae625cca1e42b0253049102acd71c1d5134788fe"
|
resolved "https://registry.yarnpkg.com/@octokit/plugin-retry/-/plugin-retry-6.0.0.tgz#4a83ca5d531bbd56e0822a644ab0ba4a3215f87a"
|
||||||
integrity sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==
|
integrity sha512-a1/A4A+PB1QoAHQfLJxGHhLfSAT03bR1jJz3GgQJZvty2ozawFWs93MiBQXO7SL2YbO7CIq0Goj4qLOBj8JeMQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@octokit/types" "^6.0.3"
|
"@octokit/request-error" "^5.0.0"
|
||||||
|
"@octokit/types" "^11.0.0"
|
||||||
bottleneck "^2.15.3"
|
bottleneck "^2.15.3"
|
||||||
|
|
||||||
"@octokit/plugin-throttling@^7.0.0":
|
"@octokit/plugin-throttling@^7.0.0":
|
||||||
|
@ -739,13 +735,6 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@octokit/openapi-types" "^18.0.0"
|
"@octokit/openapi-types" "^18.0.0"
|
||||||
|
|
||||||
"@octokit/types@^6.0.3":
|
|
||||||
version "6.41.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04"
|
|
||||||
integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==
|
|
||||||
dependencies:
|
|
||||||
"@octokit/openapi-types" "^12.11.0"
|
|
||||||
|
|
||||||
"@popperjs/core@^2.11.7", "@popperjs/core@^2.11.8", "@popperjs/core@^2.9.3":
|
"@popperjs/core@^2.11.7", "@popperjs/core@^2.11.8", "@popperjs/core@^2.9.3":
|
||||||
version "2.11.8"
|
version "2.11.8"
|
||||||
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
|
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
|
||||||
|
@ -778,16 +767,16 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
|
|
||||||
"@sveltejs/vite-plugin-svelte@^2.4.2":
|
"@sveltejs/vite-plugin-svelte@^2.4.3":
|
||||||
version "2.4.2"
|
version "2.4.3"
|
||||||
resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.4.2.tgz#04f9fb698853a6a681a2a7d32016487316c30917"
|
resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.4.3.tgz#ef865d7c2553ec06406b0be3b8da851aac07a03a"
|
||||||
integrity sha512-ePfcC48ftMKhkT0OFGdOyycYKnnkT6i/buzey+vHRTR/JpQvuPzzhf1PtKqCDQfJRgoPSN2vscXs6gLigx/zGw==
|
integrity sha512-NY2h+B54KHZO3kDURTdARqthn6D4YSIebtfW75NvZ/fwyk4G+AJw3V/i0OBjyN4406Ht9yZcnNWMuRUFnDNNiA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@sveltejs/vite-plugin-svelte-inspector" "^1.0.3"
|
"@sveltejs/vite-plugin-svelte-inspector" "^1.0.3"
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
deepmerge "^4.3.1"
|
deepmerge "^4.3.1"
|
||||||
kleur "^4.1.5"
|
kleur "^4.1.5"
|
||||||
magic-string "^0.30.0"
|
magic-string "^0.30.1"
|
||||||
svelte-hmr "^0.15.2"
|
svelte-hmr "^0.15.2"
|
||||||
vitefu "^0.2.4"
|
vitefu "^0.2.4"
|
||||||
|
|
||||||
|
@ -965,6 +954,11 @@
|
||||||
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.5.tgz#ae69bcbb1bebb68c4ac0b11e9d8ed04526b3562b"
|
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.5.tgz#ae69bcbb1bebb68c4ac0b11e9d8ed04526b3562b"
|
||||||
integrity sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==
|
integrity sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==
|
||||||
|
|
||||||
|
"@types/estree@*", "@types/estree@^1.0.0":
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194"
|
||||||
|
integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==
|
||||||
|
|
||||||
"@types/http-cache-semantics@*":
|
"@types/http-cache-semantics@*":
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812"
|
resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812"
|
||||||
|
@ -1186,6 +1180,13 @@ aria-query@5.1.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
deep-equal "^2.0.5"
|
deep-equal "^2.0.5"
|
||||||
|
|
||||||
|
aria-query@^5.3.0:
|
||||||
|
version "5.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e"
|
||||||
|
integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==
|
||||||
|
dependencies:
|
||||||
|
dequal "^2.0.3"
|
||||||
|
|
||||||
array-buffer-byte-length@^1.0.0:
|
array-buffer-byte-length@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead"
|
resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead"
|
||||||
|
@ -1231,6 +1232,13 @@ available-typed-arrays@^1.0.5:
|
||||||
resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
|
resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
|
||||||
integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
|
integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
|
||||||
|
|
||||||
|
axobject-query@^3.2.1:
|
||||||
|
version "3.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a"
|
||||||
|
integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==
|
||||||
|
dependencies:
|
||||||
|
dequal "^2.0.3"
|
||||||
|
|
||||||
balanced-match@^1.0.0:
|
balanced-match@^1.0.0:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
||||||
|
@ -1646,6 +1654,17 @@ clone@^1.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
|
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
|
||||||
integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
|
integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
|
||||||
|
|
||||||
|
code-red@^1.0.3:
|
||||||
|
version "1.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/code-red/-/code-red-1.0.3.tgz#bbd3b0a27dc53c9af13f6756120a9dbcdd68a5f2"
|
||||||
|
integrity sha512-kVwJELqiILQyG5aeuyKFbdsI1fmQy1Cmf7dQ8eGmVuJoaRVdwey7WaMknr2ZFeVSYSKT0rExsa8EGw0aoI/1QQ==
|
||||||
|
dependencies:
|
||||||
|
"@jridgewell/sourcemap-codec" "^1.4.14"
|
||||||
|
"@types/estree" "^1.0.0"
|
||||||
|
acorn "^8.8.2"
|
||||||
|
estree-walker "^3.0.3"
|
||||||
|
periscopic "^3.1.0"
|
||||||
|
|
||||||
color-convert@^1.9.0:
|
color-convert@^1.9.0:
|
||||||
version "1.9.3"
|
version "1.9.3"
|
||||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
|
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
|
||||||
|
@ -1803,6 +1822,14 @@ crypto-random-string@^2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
|
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
|
||||||
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
|
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
|
||||||
|
|
||||||
|
css-tree@^2.3.1:
|
||||||
|
version "2.3.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20"
|
||||||
|
integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==
|
||||||
|
dependencies:
|
||||||
|
mdn-data "2.0.30"
|
||||||
|
source-map-js "^1.0.1"
|
||||||
|
|
||||||
cssesc@^3.0.0:
|
cssesc@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
|
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
|
||||||
|
@ -2009,6 +2036,11 @@ deprecation@^2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
|
resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
|
||||||
integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
|
integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
|
||||||
|
|
||||||
|
dequal@^2.0.3:
|
||||||
|
version "2.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
|
||||||
|
integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
|
||||||
|
|
||||||
detect-indent@^6.1.0:
|
detect-indent@^6.1.0:
|
||||||
version "6.1.0"
|
version "6.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6"
|
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6"
|
||||||
|
@ -2258,6 +2290,13 @@ estree-walker@^2:
|
||||||
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
|
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
|
||||||
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
|
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
|
||||||
|
|
||||||
|
estree-walker@^3.0.0, estree-walker@^3.0.3:
|
||||||
|
version "3.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d"
|
||||||
|
integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==
|
||||||
|
dependencies:
|
||||||
|
"@types/estree" "^1.0.0"
|
||||||
|
|
||||||
event-emitter@^0.3.5:
|
event-emitter@^0.3.5:
|
||||||
version "0.3.5"
|
version "0.3.5"
|
||||||
resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
|
resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
|
||||||
|
@ -2507,7 +2546,7 @@ find-versions@^3.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
semver-regex "^2.0.0"
|
semver-regex "^2.0.0"
|
||||||
|
|
||||||
flowbite-svelte@^0.39.2:
|
flowbite-svelte@0.39.3:
|
||||||
version "0.39.3"
|
version "0.39.3"
|
||||||
resolved "https://registry.yarnpkg.com/flowbite-svelte/-/flowbite-svelte-0.39.3.tgz#7c9d3905e24dbf89e66faac9a7fa43ca109c9191"
|
resolved "https://registry.yarnpkg.com/flowbite-svelte/-/flowbite-svelte-0.39.3.tgz#7c9d3905e24dbf89e66faac9a7fa43ca109c9191"
|
||||||
integrity sha512-7w87mcDy0E/KKqj8UgkeBY7T/m5q1YDhfXmIELZdeLf8E+80a+DpMY3+yjgxX/WYyI0QAQC2ggDECHV2o91ATA==
|
integrity sha512-7w87mcDy0E/KKqj8UgkeBY7T/m5q1YDhfXmIELZdeLf8E+80a+DpMY3+yjgxX/WYyI0QAQC2ggDECHV2o91ATA==
|
||||||
|
@ -3350,6 +3389,13 @@ is-promise@^2.2.2:
|
||||||
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
|
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
|
||||||
integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
|
integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
|
||||||
|
|
||||||
|
is-reference@^3.0.0, is-reference@^3.0.1:
|
||||||
|
version "3.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.1.tgz#d400f4260f7e55733955e60d361d827eb4d3b831"
|
||||||
|
integrity sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==
|
||||||
|
dependencies:
|
||||||
|
"@types/estree" "*"
|
||||||
|
|
||||||
is-regex@^1.1.4:
|
is-regex@^1.1.4:
|
||||||
version "1.1.4"
|
version "1.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
|
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
|
||||||
|
@ -3665,6 +3711,11 @@ local-pkg@^0.4.3:
|
||||||
resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.3.tgz#0ff361ab3ae7f1c19113d9bb97b98b905dbc4963"
|
resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.3.tgz#0ff361ab3ae7f1c19113d9bb97b98b905dbc4963"
|
||||||
integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==
|
integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==
|
||||||
|
|
||||||
|
locate-character@^3.0.0:
|
||||||
|
version "3.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/locate-character/-/locate-character-3.0.0.tgz#0305c5b8744f61028ef5d01f444009e00779f974"
|
||||||
|
integrity sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==
|
||||||
|
|
||||||
locate-path@^6.0.0:
|
locate-path@^6.0.0:
|
||||||
version "6.0.0"
|
version "6.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
|
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
|
||||||
|
@ -3824,6 +3875,11 @@ matcher@^3.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
escape-string-regexp "^4.0.0"
|
escape-string-regexp "^4.0.0"
|
||||||
|
|
||||||
|
mdn-data@2.0.30:
|
||||||
|
version "2.0.30"
|
||||||
|
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc"
|
||||||
|
integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
|
||||||
|
|
||||||
memoizee@^0.4.15:
|
memoizee@^0.4.15:
|
||||||
version "0.4.15"
|
version "0.4.15"
|
||||||
resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72"
|
resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72"
|
||||||
|
@ -4457,6 +4513,15 @@ pend@~1.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
|
resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
|
||||||
integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==
|
integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==
|
||||||
|
|
||||||
|
periscopic@^3.1.0:
|
||||||
|
version "3.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.1.0.tgz#7e9037bf51c5855bd33b48928828db4afa79d97a"
|
||||||
|
integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==
|
||||||
|
dependencies:
|
||||||
|
"@types/estree" "^1.0.0"
|
||||||
|
estree-walker "^3.0.0"
|
||||||
|
is-reference "^3.0.0"
|
||||||
|
|
||||||
phin@^2.9.1:
|
phin@^2.9.1:
|
||||||
version "2.9.3"
|
version "2.9.3"
|
||||||
resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c"
|
resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c"
|
||||||
|
@ -4588,10 +4653,10 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
|
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
|
||||||
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
|
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
|
||||||
|
|
||||||
postcss@^8.4.23, postcss@^8.4.25, postcss@^8.4.26, postcss@^8.4.4:
|
postcss@^8.4.23, postcss@^8.4.26, postcss@^8.4.27, postcss@^8.4.4:
|
||||||
version "8.4.26"
|
version "8.4.27"
|
||||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.26.tgz#1bc62ab19f8e1e5463d98cf74af39702a00a9e94"
|
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.27.tgz#234d7e4b72e34ba5a92c29636734349e0d9c3057"
|
||||||
integrity sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==
|
integrity sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
nanoid "^3.3.6"
|
nanoid "^3.3.6"
|
||||||
picocolors "^1.0.0"
|
picocolors "^1.0.0"
|
||||||
|
@ -4625,15 +4690,15 @@ prepend-http@^2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
|
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
|
||||||
integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==
|
integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==
|
||||||
|
|
||||||
prettier-plugin-svelte@^2.10.1:
|
prettier-plugin-svelte@^3.0.0:
|
||||||
version "2.10.1"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/prettier-plugin-svelte/-/prettier-plugin-svelte-2.10.1.tgz#e1abbe5689e8a926c60b8bc42e61233556ca90d1"
|
resolved "https://registry.yarnpkg.com/prettier-plugin-svelte/-/prettier-plugin-svelte-3.0.0.tgz#1e6d98b465bb81db06efca43ed55abb2b3daec64"
|
||||||
integrity sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==
|
integrity sha512-l3RQcPty2UBCoRh3yb9c5XCAmxkrc4BptAnbd5acO1gmSJtChOWkiEjnOvh7hvmtT4V80S8gXCOKAq8RNeIzSw==
|
||||||
|
|
||||||
prettier@^2.8.8:
|
prettier@^3.0.0:
|
||||||
version "2.8.8"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
|
resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.0.tgz#e7b19f691245a21d618c68bc54dc06122f6105ae"
|
||||||
integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
|
integrity sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==
|
||||||
|
|
||||||
pretty-format@^27.0.2:
|
pretty-format@^27.0.2:
|
||||||
version "27.5.1"
|
version "27.5.1"
|
||||||
|
@ -5188,7 +5253,7 @@ sort-keys@^2.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
is-plain-obj "^1.0.0"
|
is-plain-obj "^1.0.0"
|
||||||
|
|
||||||
source-map-js@^1.0.2:
|
source-map-js@^1.0.1, source-map-js@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
|
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
|
||||||
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
|
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
|
||||||
|
@ -5447,10 +5512,24 @@ svelte2tsx@^0.1.151:
|
||||||
dedent-js "^1.0.1"
|
dedent-js "^1.0.1"
|
||||||
pascal-case "^3.1.1"
|
pascal-case "^3.1.1"
|
||||||
|
|
||||||
svelte@^3.59.1:
|
svelte@^4.1.1:
|
||||||
version "3.59.2"
|
version "4.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.59.2.tgz#a137b28e025a181292b2ae2e3dca90bf8ec73aec"
|
resolved "https://registry.yarnpkg.com/svelte/-/svelte-4.1.1.tgz#468ed0377d3cae542b35df8a22a3ca188d93272a"
|
||||||
integrity sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==
|
integrity sha512-Enick5fPFISLoVy0MFK45cG+YlQt6upw8skEK9zzTpJnH1DqEv8xOZwizCGSo3Q6HZ7KrZTM0J18poF7aQg5zw==
|
||||||
|
dependencies:
|
||||||
|
"@ampproject/remapping" "^2.2.1"
|
||||||
|
"@jridgewell/sourcemap-codec" "^1.4.15"
|
||||||
|
"@jridgewell/trace-mapping" "^0.3.18"
|
||||||
|
acorn "^8.9.0"
|
||||||
|
aria-query "^5.3.0"
|
||||||
|
axobject-query "^3.2.1"
|
||||||
|
code-red "^1.0.3"
|
||||||
|
css-tree "^2.3.1"
|
||||||
|
estree-walker "^3.0.3"
|
||||||
|
is-reference "^3.0.1"
|
||||||
|
locate-character "^3.0.0"
|
||||||
|
magic-string "^0.30.0"
|
||||||
|
periscopic "^3.1.0"
|
||||||
|
|
||||||
symbol-tree@^3.2.4:
|
symbol-tree@^3.2.4:
|
||||||
version "3.2.4"
|
version "3.2.4"
|
||||||
|
@ -5890,13 +5969,13 @@ vite-node@0.33.0:
|
||||||
picocolors "^1.0.0"
|
picocolors "^1.0.0"
|
||||||
vite "^3.0.0 || ^4.0.0"
|
vite "^3.0.0 || ^4.0.0"
|
||||||
|
|
||||||
"vite@^3.0.0 || ^4.0.0", vite@^4.4.4:
|
"vite@^3.0.0 || ^4.0.0", vite@^4.4.7:
|
||||||
version "4.4.4"
|
version "4.4.7"
|
||||||
resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.4.tgz#b76e6049c0e080cb54e735ad2d18287753752118"
|
resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.7.tgz#71b8a37abaf8d50561aca084dbb77fa342824154"
|
||||||
integrity sha512-4mvsTxjkveWrKDJI70QmelfVqTm+ihFAb6+xf4sjEU2TmUCTlVX87tmg/QooPEMQb/lM9qGHT99ebqPziEd3wg==
|
integrity sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild "^0.18.10"
|
esbuild "^0.18.10"
|
||||||
postcss "^8.4.25"
|
postcss "^8.4.26"
|
||||||
rollup "^3.25.2"
|
rollup "^3.25.2"
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents "~2.3.2"
|
fsevents "~2.3.2"
|
||||||
|
|
Loading…
Reference in a new issue