diff --git a/docs/getting-started/add-existing-project.md b/docs/getting-started/add-existing-project.mdx similarity index 90% rename from docs/getting-started/add-existing-project.md rename to docs/getting-started/add-existing-project.mdx index dab247d..2ebd19c 100644 --- a/docs/getting-started/add-existing-project.md +++ b/docs/getting-started/add-existing-project.mdx @@ -9,17 +9,31 @@ tags: - godot-project-setup --- +import ThemedImage from '@theme/ThemedImage'; + # Add an Existing Project If you already have a Godot project, you can bring it into **Godot Launcher** instead of starting fresh. You can add projects in two ways: -![Projects View showing Add button](/img/screenshots/screen_projects_view_dark.webp) + - **Add button**: Click **Add** in the **Projects** screen and select the folder containing your project’s `project.godot` file. -![Projects View - Drop Overlay](/img/screenshots/screen_projects_drop_overlay_dark.webp) + - **Drag and drop**: Open the **Projects** screen and drag one or more `project.godot` files onto the window. Each project imports automatically, and a progress indicator shows how many remain when adding multiple items. diff --git a/docs/getting-started/create-project.md b/docs/getting-started/create-project.md deleted file mode 100644 index bd55a66..0000000 --- a/docs/getting-started/create-project.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -id: create-project -slug: /getting-started/create-project -title: Creating a Project -description: "Learn how to create your first project with Godot Launcher." -tags: - - godot-project-setup - - getting-started - - setup-guide ---- - -# Create Your First Project - -You can create a new project and start editing in seconds, or choose to add an existing project to start using it with Godot Launcher. - -## Create a new Project - -![Godot Launcher - Create New Project](/img/launcher-create-project-ui-anim.gif) - -1. Navigate to the **Projects** section from the left-hand navigation menu. -2. Click **Create Project** and follow the prompts to set up a new project. - -## Add an Existing Project - -Already have a Godot project? Drag its `project.godot` file (or several at once) into the **Projects** screen, or click **Add** and pick the folder that contains `project.godot`. The launcher registers each project without moving any files and shows progress while importing multiple items. Every project then appears in your **Projects** list, ready to launch with the best matching editor. - -For version-selection rules, Mono handling, and integration details, visit [Add an Existing Project](/getting-started/add-existing-project). - -:::tip -Looking for a refresher on setup defaults or editor locations before importing? Review [Launcher Settings](/getting-started/launcher-settings). -::: - -:::important -To open any project, including ones you import, simply click its name in the **Projects** list. -::: diff --git a/docs/getting-started/create-project.mdx b/docs/getting-started/create-project.mdx new file mode 100644 index 0000000..eb8577f --- /dev/null +++ b/docs/getting-started/create-project.mdx @@ -0,0 +1,71 @@ +--- +id: create-project +slug: /getting-started/create-project +title: Creating a Project +description: "Learn how to create your first project with Godot Launcher." +tags: + - godot-project-setup + - getting-started + - setup-guide +--- + +import ThemedImage from '@theme/ThemedImage'; + +# Create Your First Project + +You can create a new project and start editing in seconds, or choose to add an existing project to start using it with Godot Launcher. + +## Create a new Project + +By default, the launcher creates new projects inside the folder set in **Settings -> Projects -> Project Location**. In v1.9.0 you can keep that default and still override the path for one project when needed. + + + +1. Navigate to the **Projects** section from the left-hand navigation menu. +2. Click **Create Project**. +3. Enter a project name and choose the Godot version you want to use. +4. Leave **Overwrite Project Path** off to use your normal default location, or turn it on to pick a different parent folder for this project. +5. Click the folder button to browse, or type a path manually. +6. Click **Create Project** and, if enabled, **Edit now** to launch it immediately. + +When **Overwrite Project Path** is enabled, the launcher still creates a clean project folder using your project name. That means you choose the parent folder, and the launcher creates the final path as `{parent}/{project-name}`. + +Example parent folders: + +- Windows: `D:\Godot\Projects` +- macOS: `/Users/you/Godot/Projects` +- Linux: `/home/you/Godot/Projects` + +:::info +Turning on **Overwrite Project Path** only changes the location for the project you are creating right now. It does not change your default Project Location in Settings. +::: + +## Safety checks + +The launcher will not overwrite an existing project folder full of files. + +- If the target folder already exists and is empty, creation continues. +- If the target folder already contains files, the launcher stops and shows an error. +- If the selected path points to a file instead of a folder, the launcher stops and shows an error. + +If you meant to bring an existing project into the launcher, use [Add an Existing Project](/getting-started/add-existing-project) instead. + +## Add an Existing Project + +Already have a Godot project? Drag its `project.godot` file (or several at once) into the **Projects** screen, or click **Add** and pick the folder that contains `project.godot`. The launcher registers each project without moving any files and shows progress while importing multiple items. Every project then appears in your **Projects** list, ready to launch with the best matching editor. + +For version-selection rules, Mono handling, and integration details, visit [Add an Existing Project](/getting-started/add-existing-project). + +:::tip +Looking for a refresher on setup defaults or editor locations before importing? Review [Launcher Settings](/getting-started/launcher-settings). +::: + +:::important +To open any project, including ones you import, simply click its name in the **Projects** list. +::: diff --git a/docs/getting-started/launcher-settings.md b/docs/getting-started/launcher-settings.mdx similarity index 70% rename from docs/getting-started/launcher-settings.md rename to docs/getting-started/launcher-settings.mdx index 15ef136..b8d7010 100644 --- a/docs/getting-started/launcher-settings.md +++ b/docs/getting-started/launcher-settings.mdx @@ -8,6 +8,8 @@ tags: - launcher-settings --- +import ThemedImage from '@theme/ThemedImage'; + # Launcher Settings The **Godot Launcher** includes a configurable **Settings** section that lets you tailor the launcher to your workflow. This guide covers each settings tab and explains how to adjust default paths, change the appearance, configure behavior, and set up tools like Git and Visual Studio Code. @@ -16,13 +18,20 @@ The **Godot Launcher** includes a configurable **Settings** section that lets yo ## Projects Tab -![Settings - Projects Tab](/img/screenshots/screen_settings_projects_dark.webp) + The **Projects** tab allows you to define the default location where new Godot projects are created. - **Project Location**: Sets the base directory for newly created projects. - This does not affect existing projects already added to the launcher. - You can change this path at any time without impacting existing data. + - Starting with v1.9.0, you can still override this path per project from the **Create Project** dialog by enabling **Overwrite Project Path**. :::info Changing this location only affects _new_ projects created through the launcher. @@ -30,11 +39,21 @@ Changing this location only affects _new_ projects created through the launcher. Adding existing projects will not move them to this location ::: +:::tip +Need one project in a different place without changing your default? Use **Overwrite Project Path** while creating a project. See [Creating a Project](/getting-started/create-project). +::: + --- ## Installs Tab -![Settings - Installs Tab](/img/screenshots/screen_settings_installs_dark.webp) + The **Installs** tab lets you choose where Godot editor versions are stored. @@ -56,7 +75,13 @@ The button have a 1 minute cooldown to prevent your from hitting the GitHub API ## Appearance Tab -![Settings - Appearance Tab Showing the Language Picker](/img/screenshots/screen_settings_appearance_dark.webp) + The **Appearance** tab lets you customize the look and feel of the launcher interface. @@ -87,7 +112,13 @@ Found a string that needs polish or want to help add a new locale? Follow the [t ## Behavior Tab -![Settings - Behavior Tab](/img/screenshots/screen_settings_behavior_dark.webp) + The **Behavior** tab defines how the launcher behaves when launching projects or starting with your system. @@ -116,7 +147,13 @@ The **Behavior** tab defines how the launcher behaves when launching projects or ## Tools Tab -![Settings - Tools Tab](/img/screenshots/screen_settings_tools_dark.webp) + The **Tools** tab manages integration with development tools like Git and Visual Studio Code. @@ -141,16 +178,24 @@ The launcher uses this information to configure external editor support, also fo ## Updates Tab -![Settings - Updates Tab](/img/screenshots/screen_settings_updates_dark.webp) + -The **Updates** tab controls how the launcher checks for updates. +The **Updates** tab controls how the launcher discovers and prepares launcher updates. -- **Automatically check for updates**: Enabled by default. -- **Prerelease updates**: Toggle this if you want the launcher to download beta builds instead of only stable releases. Beta updates may change more often and can be less stable. You can switch back to stable at any time. -- **Manual Check**: Click **Check for updates** to check immediately. +- **Automatically check for updates**: Enabled by default. This checks for a newer launcher version in the background, but it does not download the update automatically. +- **Prerelease updates**: Toggle this if you want the launcher to look for beta builds instead of only stable releases. You can switch back to stable at any time. +- **Manual Check**: Click **Check for updates** to check immediately. This also lets you surface a skipped version again from Settings. +- **Update available**: When a new version is found, you can choose **Download update** or **Skip this version**. +- **Update ready**: After the download finishes, the launcher shows **Restart now** so you can install the update when it suits you. :::tip -Keeping this enabled ensures you always have the latest features and fixes. +Need the full update flow, including skipped versions, manual override, retry states, and sidebar banners? See [Manage Launcher Updates](/guides/manage-launcher-updates). ::: --- diff --git a/docs/guides/editor-settings.md b/docs/guides/editor-settings.mdx similarity index 92% rename from docs/guides/editor-settings.md rename to docs/guides/editor-settings.mdx index 60e36f5..efecc4e 100644 --- a/docs/guides/editor-settings.md +++ b/docs/guides/editor-settings.mdx @@ -11,6 +11,8 @@ tags: - configuration --- +import ThemedImage from '@theme/ThemedImage'; + # Editor Settings Per Project The Godot Launcher supports **per-project editor settings**, allowing each project to maintain its own editor configuration. This helps prevent cross-project conflicts and ensures a consistent development environment across different Godot versions. @@ -47,7 +49,13 @@ The `` portion reflects the Godot version used by the project—for The launcher provides built-in options to **import** or **export** editor settings for each project. This is useful for migrating settings, keeping consistency across machines, or sharing configurations in a team. :::tip -![Launcher Project Menu UI](/img/Per_Project_Editor_Settings_Dark.png) + Use the project dropdown menu in the launcher to access the import and export options. ::: diff --git a/docs/guides/manage-launcher-updates.mdx b/docs/guides/manage-launcher-updates.mdx new file mode 100644 index 0000000..a291c99 --- /dev/null +++ b/docs/guides/manage-launcher-updates.mdx @@ -0,0 +1,180 @@ +--- +id: manage-launcher-updates +title: Manage Launcher Updates +slug: /guides/manage-launcher-updates +description: "Learn how Godot Launcher 1.9.0 checks for updates, lets you download them manually, skip one version, and restart when the update is ready." +tags: + - guides + - launcher-updates + - quality-of-life + - getting-started +--- + +import ThemedImage from '@theme/ThemedImage'; + +# Manage Launcher Updates + +Godot Launcher 1.9.0 uses a clear update flow. The launcher can check for updates automatically in the background, but you decide when to download an update and when to restart to install it. + +## Where to manage updates + +Open **Settings -> Updates** to control how the launcher checks for new versions. + + + +In this tab you can: + +- Turn **Automatically check for updates** on or off. +- Allow **Prerelease updates** if you want beta builds. +- Run **Check for updates** manually. +- Download, skip, or install an update depending on the current state. + +## Automatic checks vs manual updates + +Automatic checks are enabled by default. This helps the launcher notice new versions in the background, but it does not download the update for you. + +When an update is found, the launcher moves to an **available** state. From there, you choose whether to download it now or skip that version. + +If you want to check on demand, use **Check for updates** in **Settings -> Updates**. A manual check can also show a version you previously skipped, so you can still install it later without waiting for a newer release. + +## Checking for updates + +After you start a manual check, the Updates tab shows that the launcher is checking for a newer version. + + + +## Update available + +When a new version is available, the launcher gives you two choices: + +- **Download update** to start the update process. +- **Skip this version** if you do not want reminders for that exact version during regular checks. + +The same status also appears in the main app banner so you can act from the project view without opening Settings. + + + + + +## Downloading the update + +Once you start the download, the launcher shows progress in both the Updates tab and the main app banner. + + + + + +## Update ready to install + +After the download completes, the launcher switches to a ready state. At this point the update is prepared locally, and you can restart the launcher when you are ready to install it. + +- In **Settings -> Updates**, use **Restart now**. +- In the main app banner, use the inline **Restart now** action. + + + + + +## Skip a version + +Skipping is version-specific. If you skip one release, the launcher keeps normal background checks quiet for that version only. + + + +This is useful if you want to stay on your current build for a while without repeated prompts. + +## Manual override after skipping + +A skipped version is not permanent. Go to **Settings -> Updates** and run **Check for updates** manually to surface that version again. You can then download it normally, or clear the skip state and come back later. + + + +## Errors and retry + +If the launcher cannot download or prepare the update, it shows an error state instead of leaving you without feedback. Use the retry action to try again. + + + + + +## Prerelease updates + +If you enable **Prerelease updates**, the launcher can offer beta builds as well as stable releases. This is useful when you want early access to changes, but prerelease versions may change more often and may be less stable. + +## Related + +- [Launcher Settings](/getting-started/launcher-settings) +- [System Tray](/guides/system-tray) +- [Download Godot Launcher](https://godotlauncher.org/download/) diff --git a/docs/guides/system-tray.md b/docs/guides/system-tray.mdx similarity index 84% rename from docs/guides/system-tray.md rename to docs/guides/system-tray.mdx index f83ae18..427680e 100644 --- a/docs/guides/system-tray.md +++ b/docs/guides/system-tray.mdx @@ -10,11 +10,19 @@ tags: - quick-launch --- +import ThemedImage from '@theme/ThemedImage'; + # System Tray The system tray feature in the Godot Launcher provides a convenient way to manage your Godot projects and access the launcher without keeping the main window open. This guide covers how the system tray works, how to customize its behavior, and how to use it to quickly launch recent projects. -> ![Godot Launcher - Quick Launch from System Tray UI Windows](/img/Quick_Edit_From_System_Tray_Dark.webp) +> alt="Godot Launcher - Quick Launch from System Tray UI Windows" +> sources={{ +> light: '/img/Quick_Edit_From_System_Tray_Light.webp', +> dark: '/img/Quick_Edit_From_System_Tray_Dark.webp', +> }} +> /> > _Image: System tray access on Windows_ --- @@ -33,7 +41,13 @@ When the Godot Launcher is running, it places an icon in your system tray. This ## Launcher Behavior Settings -> ![Launcher Settings - Behavior Tab](/img/screenshots/screen_settings_behavior_dark.webp) +> alt="Launcher Settings - Behavior Tab" +> sources={{ +> light: '/img/screenshots/screen_settings_behavior_light.webp', +> dark: '/img/screenshots/screen_settings_behavior_dark.webp', +> }} +> /> > _Image: Behavior tab in settings affecting system tray options_ You can customize how the launcher interacts with the system tray under **Settings > Behavior**. diff --git a/docs/guides/using-git-with-godot-launcher.md b/docs/guides/using-git-with-godot-launcher.mdx similarity index 89% rename from docs/guides/using-git-with-godot-launcher.md rename to docs/guides/using-git-with-godot-launcher.mdx index 98f6230..4438099 100644 --- a/docs/guides/using-git-with-godot-launcher.md +++ b/docs/guides/using-git-with-godot-launcher.mdx @@ -9,6 +9,8 @@ tags: - version-control --- +import ThemedImage from '@theme/ThemedImage'; + # Using Git With Godot Launcher ## What is Git? @@ -43,7 +45,13 @@ git version 2.39.5 (Apple Git-154) ### Create a New Godot Project With Git When Git is detected the `New Project` UI shows an option to enable Git: -![Godot Launcher - New Project With Git UI](/img/screenshots/screen_projects_new_project_dark.webp) + :::info You can see if Git is detected in `Settings` → `Tools`. [More info here](/getting-started/launcher-settings/#tools-tab) @@ -88,7 +96,13 @@ Replace this placeholder with the finalized overflow menu capture when ready. If Git is not installed, Godot Launcher still creates your project, but shows a warning. Git features are disabled, and no Git repository is initialized. This is what the UI looks like when Git is missing: -![Godot Launcher - New Project No Git UI](/img/screenshots/screen_projects_new_project_no_git_dark.webp) + :::info To get the most out of version control in Godot, [install Git using this guide](/guides/install-git). @@ -121,4 +135,3 @@ You can also set these values for just one project by removing `--global`. - [Launcher Settings](/getting-started/launcher-settings) - [VS Code Setup](/guides/vscode-setup-for-godot) - [Editor Settings](/guides/editor-settings) - diff --git a/docs/overview.md b/docs/overview.mdx similarity index 81% rename from docs/overview.md rename to docs/overview.mdx index 47de339..4ef0c5c 100644 --- a/docs/overview.md +++ b/docs/overview.mdx @@ -6,26 +6,35 @@ sidebar_label: Overview slug: / --- +import ThemedImage from '@theme/ThemedImage'; + # Godot Launcher Welcome to the official Godot Launcher documentation. **Godot Launcher** is a standalone app to streamline editor downloads, manage multiple versions, and automate new project setups — so you can focus on building great games. -![Godot Launcher - Create project UI](/img/screenshots/screen_projects_new_project_dark.webp) + --- ## Features at a Glance - **Drag-and-Drop Project Import** – Drop one or many `project.godot` files into the Projects list to add them quickly with visible progress. +- **Flexible Project Location** – Create a new project in your default Projects folder or temporarily override the path for one project when your workflow needs it. - **Git & VSCode Integration** – Instant Git setup and ready-to-use VSCode configurations. - **Project Tool Toggles** – Enable Visual Studio Code integration or initialize Git from any project overflow menu. - **Godot Version Management** – Easily install, switch, and prototype with multiple Godot versions. - **Per-Project Settings** – Isolated editor configurations to avoid conflicts across projects. - **System Tray Access** – Quickly open projects with a single click from the system tray. - **Multilingual Interface** – Detects your OS language and lets you switch between 14 supported locales from settings. -- **Update Control** – Stay up to date automatically or opt into prerelease builds from Settings when you want to test changes early. +- **Update Control** – Check for launcher updates automatically, download them manually, restart when ready, and opt into prerelease builds from Settings. - **Cross-Platform Support** – Windows ready, with Mac and Linux support coming soon. - **Free & Open Source** – Forever free and community-driven. @@ -59,3 +68,5 @@ You can vote, comment, or submit ideas. We review everything. - **Godot Launcher (main app)**: [github.com/godotlauncher/launcher](https://github.com/godotlauncher/launcher) - **Website**: [github.com/godotlauncher/launcher-website](https://github.com/godotlauncher/launcher-website) - **Documentation**: [github.com/godotlauncher/launcher-docs](https://github.com/godotlauncher/launcher-docs) + +--- diff --git a/docs/tags.yml b/docs/tags.yml index 0d9fb94..9c9ea91 100644 --- a/docs/tags.yml +++ b/docs/tags.yml @@ -1,68 +1,68 @@ -community: - label: "Community" - permalink: "/community" - description: Connect, collaborate, and engage with the Godot Launcher user community. - -support: - label: "Support" - permalink: "/support" - description: Get technical support and troubleshooting help for Godot Launcher. - -help: - label: "Help" - permalink: "/help" - description: Find answers, guidance, and step-by-step assistance for using Godot Launcher. - -discord: - label: "Discord" - permalink: "/discord" - description: Join discussions and community support via the official Godot Launcher Discord server. - -open-source: - label: "Open Source" - permalink: "/open-source" - description: Explore Godot Launcher's open-source contributions, codebase, and development efforts. - -contribute: - label: "Contribute" - permalink: "/contribute" - description: Learn how to contribute to Godot Launcher through code, documentation, and community efforts. - -license: - label: "License" - permalink: "/license" - description: View licensing details and usage terms for Godot Launcher. - -legal: - label: "Legal" - permalink: "/legal" - description: Access legal notices, terms, and compliance information about Godot Launcher. - -godot-project-setup: - label: "Project Setup" - permalink: "/godot-project-setup" - description: Detailed guides for setting up and managing Godot projects using Godot Launcher. - -getting-started: - label: "Getting Started" - permalink: "/getting-started" - description: Beginner-friendly resources to quickly start using Godot Launcher. - -setup-guide: - label: "Setup Guide" - permalink: "/setup-guide" - description: Comprehensive instructions for installing and configuring Godot Launcher. - -godot: - label: "Godot" - permalink: "/godot" - description: Articles and resources related to the Godot Engine. - -editor-installation: - label: "Editor Installation" - permalink: "/editor-installation" - description: Step-by-step guides for installing various Godot Engine editor versions. - +community: + label: "Community" + permalink: "/community" + description: Connect, collaborate, and engage with the Godot Launcher user community. + +support: + label: "Support" + permalink: "/support" + description: Get technical support and troubleshooting help for Godot Launcher. + +help: + label: "Help" + permalink: "/help" + description: Find answers, guidance, and step-by-step assistance for using Godot Launcher. + +discord: + label: "Discord" + permalink: "/discord" + description: Join discussions and community support via the official Godot Launcher Discord server. + +open-source: + label: "Open Source" + permalink: "/open-source" + description: Explore Godot Launcher's open-source contributions, codebase, and development efforts. + +contribute: + label: "Contribute" + permalink: "/contribute" + description: Learn how to contribute to Godot Launcher through code, documentation, and community efforts. + +license: + label: "License" + permalink: "/license" + description: View licensing details and usage terms for Godot Launcher. + +legal: + label: "Legal" + permalink: "/legal" + description: Access legal notices, terms, and compliance information about Godot Launcher. + +godot-project-setup: + label: "Project Setup" + permalink: "/godot-project-setup" + description: Detailed guides for setting up and managing Godot projects using Godot Launcher. + +getting-started: + label: "Getting Started" + permalink: "/getting-started" + description: Beginner-friendly resources to quickly start using Godot Launcher. + +setup-guide: + label: "Setup Guide" + permalink: "/setup-guide" + description: Comprehensive instructions for installing and configuring Godot Launcher. + +godot: + label: "Godot" + permalink: "/godot" + description: Articles and resources related to the Godot Engine. + +editor-installation: + label: "Editor Installation" + permalink: "/editor-installation" + description: Step-by-step guides for installing various Godot Engine editor versions. + windows: label: "Windows" permalink: "/windows" @@ -77,123 +77,128 @@ macos: label: "macOS" permalink: "/macos" description: Instructions and support tailored specifically for Godot Launcher on macOS. - -linux: - label: "Linux" - permalink: "/linux" - description: Instructions and support tailored specifically for Godot Launcher on Linux. - -guides: - label: "Guides" - permalink: "/guides" - description: Extensive tutorials and documentation covering various Godot Launcher topics. - -editor-version: - label: "Editor Version" - permalink: "/editor-version" - description: Information on different versions of the Godot Engine editor and their features. - -project-settings: - label: "Project Settings" - permalink: "/project-settings" - description: How to configure and optimize settings for your Godot projects in Godot Launcher. - -dotnet: - label: "DotNet" - permalink: "/dotnet" - description: Guides and resources for developing Godot projects using .NET (C#). - -gdscript: - label: "GDScript" - permalink: "/gdscript" - description: Articles, tutorials, and best practices for programming with GDScript. - -editor-settings: - label: "Editor Settings" - permalink: "/editor-settings" - description: Customize and configure your Godot editor settings effectively. - -configuration: - label: "Configuration" - permalink: "/configuration" - description: General guides on configuring Godot Launcher and its features. - -git: - label: "Git" - permalink: "/git" - description: Manage your Godot projects using Git version control through Godot Launcher. - -version-control: - label: "Version Control" - permalink: "/version-control" - description: Learn about integrating and using version control systems in Godot Launcher. - -launcher-settings: - label: "Launcher Settings" - permalink: "/launcher-settings" - description: Customize and manage Godot Launcher-specific settings and preferences. - -system-tray: - label: "System Tray" - permalink: "/system-tray" - description: Enhance productivity with Godot Launcher's system tray features. - -launcher: - label: "Launcher" - permalink: "/launcher" - description: General information, updates, and news about Godot Launcher. - -quick-launch: - label: "Quick Launch" - permalink: "/quick-launch" - description: Quickly access and manage your Godot projects using quick-launch capabilities. - -vscode: - label: "VSCode" - permalink: "/vscode" - description: Integrate and optimize Visual Studio Code workflows with Godot Launcher. - -editor-setup: - label: "Editor Setup" - permalink: "/editor-setup" - description: Guides on setting up your Godot Engine editor environment for development. - -quality-of-life: - label: "Quality of Life" - permalink: "/quality-of-life" - description: Features and tools that enhance usability and productivity in Godot Launcher. - -project-badges: - label: "Project Badges" - permalink: "/project-badges" - description: Learn about the badges used in Godot Launcher to identify project configurations. - -windows-only: - label: "Windows Only" - permalink: "/windows-only" - description: Features and guides specific to the Windows version of Godot Launcher. - -project-import: - label: "Project Import" - permalink: "/project-import" - description: Instructions for importing existing Godot projects into Godot Launcher. - -troubleshooting: - label: "Troubleshooting" - permalink: "/troubleshooting" - description: Solutions and tips for resolving common issues in Godot Launcher. - -contributing: - label: "Contributing" - permalink: "/contributing" - description: Information on how to contribute to the Godot Launcher project. - -translations: - label: "Translations" - permalink: "/translations" - description: Resources and guides for translating Godot Launcher into different languages. - -localisation: - label: "Localisation" - permalink: "/localisation" + +linux: + label: "Linux" + permalink: "/linux" + description: Instructions and support tailored specifically for Godot Launcher on Linux. + +guides: + label: "Guides" + permalink: "/guides" + description: Extensive tutorials and documentation covering various Godot Launcher topics. + +editor-version: + label: "Editor Version" + permalink: "/editor-version" + description: Information on different versions of the Godot Engine editor and their features. + +project-settings: + label: "Project Settings" + permalink: "/project-settings" + description: How to configure and optimize settings for your Godot projects in Godot Launcher. + +dotnet: + label: "DotNet" + permalink: "/dotnet" + description: Guides and resources for developing Godot projects using .NET (C#). + +gdscript: + label: "GDScript" + permalink: "/gdscript" + description: Articles, tutorials, and best practices for programming with GDScript. + +editor-settings: + label: "Editor Settings" + permalink: "/editor-settings" + description: Customize and configure your Godot editor settings effectively. + +configuration: + label: "Configuration" + permalink: "/configuration" + description: General guides on configuring Godot Launcher and its features. + +git: + label: "Git" + permalink: "/git" + description: Manage your Godot projects using Git version control through Godot Launcher. + +version-control: + label: "Version Control" + permalink: "/version-control" + description: Learn about integrating and using version control systems in Godot Launcher. + +launcher-settings: + label: "Launcher Settings" + permalink: "/launcher-settings" + description: Customize and manage Godot Launcher-specific settings and preferences. + +system-tray: + label: "System Tray" + permalink: "/system-tray" + description: Enhance productivity with Godot Launcher's system tray features. + +launcher: + label: "Launcher" + permalink: "/launcher" + description: General information, updates, and news about Godot Launcher. + +launcher-updates: + label: "Launcher Updates" + permalink: "/launcher-updates" + description: Guides and documentation for managing Godot Launcher application updates. + +quick-launch: + label: "Quick Launch" + permalink: "/quick-launch" + description: Quickly access and manage your Godot projects using quick-launch capabilities. + +vscode: + label: "VSCode" + permalink: "/vscode" + description: Integrate and optimize Visual Studio Code workflows with Godot Launcher. + +editor-setup: + label: "Editor Setup" + permalink: "/editor-setup" + description: Guides on setting up your Godot Engine editor environment for development. + +quality-of-life: + label: "Quality of Life" + permalink: "/quality-of-life" + description: Features and tools that enhance usability and productivity in Godot Launcher. + +project-badges: + label: "Project Badges" + permalink: "/project-badges" + description: Learn about the badges used in Godot Launcher to identify project configurations. + +windows-only: + label: "Windows Only" + permalink: "/windows-only" + description: Features and guides specific to the Windows version of Godot Launcher. + +project-import: + label: "Project Import" + permalink: "/project-import" + description: Instructions for importing existing Godot projects into Godot Launcher. + +troubleshooting: + label: "Troubleshooting" + permalink: "/troubleshooting" + description: Solutions and tips for resolving common issues in Godot Launcher. + +contributing: + label: "Contributing" + permalink: "/contributing" + description: Information on how to contribute to the Godot Launcher project. + +translations: + label: "Translations" + permalink: "/translations" + description: Resources and guides for translating Godot Launcher into different languages. + +localisation: + label: "Localisation" + permalink: "/localisation" description: Best practices for localising Godot Launcher for a global audience. diff --git a/package-lock.json b/package-lock.json index 123c590..fc325e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,32 +1,32 @@ { "name": "launcher-docs", - "version": "1.7.0", + "version": "1.9.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "launcher-docs", - "version": "1.7.0", + "version": "1.9.0", "dependencies": { "@docusaurus/core": "^3.9.2", "@docusaurus/preset-classic": "^3.9.2", - "@mdx-js/react": "^3.1.0", + "@mdx-js/react": "^3.1.1", "clsx": "^2.1.1", - "estree-util-value-to-estree": "^3.4.0", + "estree-util-value-to-estree": "^3.5.0", "image-size": "^2.0.2", - "lucide-react": "^0.546.0", + "lucide-react": "^0.577.0", "prism-react-renderer": "^2.4.1", - "react": "^19.1.0", - "react-dom": "^19.1.0", + "react": "^19.2.4", + "react-dom": "^19.2.4", "search-insights": "^2.17.3" }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.9.2", - "@docusaurus/tsconfig": "^3.9.1", - "@docusaurus/types": "^3.9.1", - "@types/node": "^22.19.1", - "dotenv": "^17.2.0", - "typescript": "~5.8.3" + "@docusaurus/tsconfig": "^3.9.2", + "@docusaurus/types": "^3.9.2", + "@types/node": "^24", + "dotenv": "^17.3.1", + "typescript": "~5.9.3" }, "engines": { "node": ">=22" @@ -238,6 +238,7 @@ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.45.0.tgz", "integrity": "sha512-nxuCid+Nszs4xqwIMDw11pRJPes2c+Th1yup/+LtpjFH8QWXkr3SirNYSD3OXAeM060HgWWPLA8/Fxk+vwxQOA==", "license": "MIT", + "peer": true, "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", @@ -363,6 +364,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -2152,6 +2154,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" }, @@ -2174,6 +2177,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" } @@ -2283,6 +2287,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -2704,6 +2709,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -3590,6 +3596,7 @@ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.9.2.tgz", "integrity": "sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==", "license": "MIT", + "peer": true, "dependencies": { "@docusaurus/core": "3.9.2", "@docusaurus/logger": "3.9.2", @@ -4293,6 +4300,7 @@ "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz", "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==", "license": "MIT", + "peer": true, "dependencies": { "@types/mdx": "^2.0.0" }, @@ -4611,6 +4619,7 @@ "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", @@ -4721,15 +4730,6 @@ "node": ">=14.16" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "license": "ISC", - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/@types/body-parser": { "version": "1.19.6", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", @@ -4942,12 +4942,12 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.19.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.1.tgz", - "integrity": "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==", + "version": "24.11.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.11.0.tgz", + "integrity": "sha512-fPxQqz4VTgPI/IQ+lj9r0h+fDR66bzoeMGHp8ASee+32OSGIkeASsoZuJixsQoVef1QJbeubcPBxKk22QVoWdw==", "license": "MIT", "dependencies": { - "undici-types": "~6.21.0" + "undici-types": "~7.16.0" } }, "node_modules/@types/node-forge": { @@ -4982,6 +4982,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -5328,10 +5329,11 @@ } }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5413,10 +5415,11 @@ } }, "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -5462,6 +5465,7 @@ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.45.0.tgz", "integrity": "sha512-wrj4FGr14heLOYkBKV3Fbq5ZBGuIFeDJkTilYq/G+hH1CSlQBtYvG2X1j67flwv0fUeQJwnWxxRIunSemAZirA==", "license": "MIT", + "peer": true, "dependencies": { "@algolia/abtesting": "1.11.0", "@algolia/client-abtesting": "5.45.0", @@ -5763,12 +5767,15 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.8.31", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.31.tgz", - "integrity": "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", + "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", "license": "Apache-2.0", "bin": { - "baseline-browser-mapping": "dist/cli.js" + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/batch": { @@ -5799,23 +5806,23 @@ } }, "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", "license": "MIT", "dependencies": { - "bytes": "3.1.2", + "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", "type-is": "~1.6.18", - "unpipe": "1.0.0" + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8", @@ -5840,12 +5847,41 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, + "node_modules/body-parser/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/bonjour-service": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", @@ -5907,9 +5943,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", - "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "funding": [ { "type": "opencollective", @@ -5925,12 +5961,13 @@ } ], "license": "MIT", + "peer": true, "dependencies": { - "baseline-browser-mapping": "^2.8.25", - "caniuse-lite": "^1.0.30001754", - "electron-to-chromium": "^1.5.249", + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", "node-releases": "^2.0.27", - "update-browserslist-db": "^1.1.4" + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -6087,9 +6124,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001757", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001757.tgz", - "integrity": "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==", + "version": "1.0.30001776", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001776.tgz", + "integrity": "sha512-sg01JDPzZ9jGshqKSckOQthXnYwOEP50jeVFhaSFbZcOy05TiuuaffDOfcwtCisJ9kNQuLBFibYywv2Bgm9osw==", "funding": [ { "type": "opencollective", @@ -6881,6 +6918,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -7543,9 +7581,9 @@ } }, "node_modules/dotenv": { - "version": "17.2.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz", - "integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==", + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.3.1.tgz", + "integrity": "sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -7588,9 +7626,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.262", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.262.tgz", - "integrity": "sha512-NlAsMteRHek05jRUxUR0a5jpjYq9ykk6+kO0yRaMi5moe7u0fVIOeQ3Y30A8dIiWFBNUoQGi1ljb1i5VtS9WQQ==", + "version": "1.5.307", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.307.tgz", + "integrity": "sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg==", "license": "ISC" }, "node_modules/emoji-regex": { @@ -7634,13 +7672,13 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.18.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", - "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz", + "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==", "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "tapable": "^2.3.0" }, "engines": { "node": ">=10.13.0" @@ -7686,9 +7724,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", "license": "MIT" }, "node_modules/es-object-atoms": { @@ -8023,39 +8061,39 @@ } }, "node_modules/express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "2.4.1", + "on-finished": "~2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", + "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", - "qs": "6.13.0", + "qs": "~6.14.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", + "send": "~0.19.0", + "serve-static": "~1.16.2", "setprototypeof": "1.2.0", - "statuses": "2.0.1", + "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -8263,10 +8301,11 @@ } }, "node_modules/file-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -10058,9 +10097,9 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "license": "MIT" }, "node_modules/lodash.debounce": { @@ -10134,9 +10173,9 @@ } }, "node_modules/lucide-react": { - "version": "0.546.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.546.0.tgz", - "integrity": "sha512-Z94u6fKT43lKeYHiVyvyR8fT7pwCzDu7RyMPpTvh054+xahSgj4HFQ+NmflvzdXsoAjYGdCguGaFKYuvq0ThCQ==", + "version": "0.577.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.577.0.tgz", + "integrity": "sha512-4LjoFv2eEPwYDPg/CUdBJQSDfPyzXCRrVW1X7jrx/trgxnxkHFjnVZINbzvzxjN70dxychOfg+FTYwBiS3pQ5A==", "license": "ISC", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" @@ -12531,9 +12570,9 @@ "license": "ISC" }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -12733,10 +12772,11 @@ } }, "node_modules/null-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -13252,6 +13292,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -14155,6 +14196,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -14826,12 +14868,12 @@ } }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -14891,15 +14933,15 @@ } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8" @@ -14914,6 +14956,35 @@ "node": ">= 0.8" } }, + "node_modules/raw-body/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -14945,24 +15016,26 @@ } }, "node_modules/react": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", - "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", - "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.0" + "react": "^19.2.4" } }, "node_modules/react-fast-compare": { @@ -15013,6 +15086,7 @@ "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", "license": "MIT", + "peer": true, "dependencies": { "@types/react": "*" }, @@ -15041,6 +15115,7 @@ "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.12.13", "history": "^4.9.0", @@ -15714,10 +15789,13 @@ "license": "MIT" }, "node_modules/sax": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz", - "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==", - "license": "BlueOak-1.0.0" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.5.0.tgz", + "integrity": "sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } }, "node_modules/scheduler": { "version": "0.27.0", @@ -15754,7 +15832,8 @@ "version": "2.17.3", "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/section-matter": { "version": "1.0.0", @@ -15882,15 +15961,15 @@ } }, "node_modules/serve-handler": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", - "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.7.tgz", + "integrity": "sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==", "license": "MIT", "dependencies": { "bytes": "3.0.0", "content-disposition": "0.5.2", "mime-types": "2.1.18", - "minimatch": "3.1.2", + "minimatch": "3.1.5", "path-is-inside": "1.0.2", "path-to-regexp": "3.3.0", "range-parser": "1.2.0" @@ -16541,18 +16620,18 @@ "license": "MIT" }, "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.3.tgz", + "integrity": "sha512-+wn7I4p7YgJhHs38k2TNjy1vCfPIfLIJWR5MnCStsN8WuuTcBnRKcMHQLMM2ijxGZmDoZwNv8ipl5aTTen62ng==", "license": "MIT", "dependencies": { - "@trysound/sax": "0.2.0", "commander": "^7.2.0", "css-select": "^5.1.0", "css-tree": "^2.3.1", "css-what": "^6.1.0", "csso": "^5.0.5", - "picocolors": "^1.0.0" + "picocolors": "^1.0.0", + "sax": "^1.5.0" }, "bin": { "svgo": "bin/svgo" @@ -16619,15 +16698,14 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.14", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", - "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.17.tgz", + "integrity": "sha512-YR7PtUp6GMU91BgSJmlaX/rS2lGDbAF7D+Wtq7hRO+MiljNmodYvqslzCFiYVAgW+Qoaaia/QUIP4lGXufjdZw==", "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", "terser": "^5.31.1" }, "engines": { @@ -16812,7 +16890,8 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" + "license": "0BSD", + "peer": true }, "node_modules/type-fest": { "version": "2.19.0", @@ -16870,11 +16949,12 @@ } }, "node_modules/typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "devOptional": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -16884,9 +16964,9 @@ } }, "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { @@ -17072,9 +17152,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", - "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "funding": [ { "type": "opencollective", @@ -17212,10 +17292,11 @@ } }, "node_modules/url-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -17387,9 +17468,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", - "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", @@ -17419,10 +17500,11 @@ } }, "node_modules/webpack": { - "version": "5.103.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.103.0.tgz", - "integrity": "sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==", + "version": "5.105.4", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.4.tgz", + "integrity": "sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==", "license": "MIT", + "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", @@ -17430,12 +17512,12 @@ "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.15.0", + "acorn": "^8.16.0", "acorn-import-phases": "^1.0.3", - "browserslist": "^4.26.3", + "browserslist": "^4.28.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.3", - "es-module-lexer": "^1.2.1", + "enhanced-resolve": "^5.20.0", + "es-module-lexer": "^2.0.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", @@ -17446,9 +17528,9 @@ "neo-async": "^2.6.2", "schema-utils": "^4.3.3", "tapable": "^2.3.0", - "terser-webpack-plugin": "^5.3.11", - "watchpack": "^2.4.4", - "webpack-sources": "^3.3.3" + "terser-webpack-plugin": "^5.3.17", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.4" }, "bin": { "webpack": "bin/webpack.js" @@ -17687,9 +17769,9 @@ } }, "node_modules/webpack-sources": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", - "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.4.tgz", + "integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==", "license": "MIT", "engines": { "node": ">=10.13.0" @@ -18013,6 +18095,7 @@ "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.13.tgz", "integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==", "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/package.json b/package.json index 1a6d980..ba479a4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "launcher-docs", - "version": "1.7.0", + "version": "1.9.0", "private": true, "scripts": { "docusaurus": "docusaurus", @@ -17,23 +17,23 @@ "dependencies": { "@docusaurus/core": "^3.9.2", "@docusaurus/preset-classic": "^3.9.2", - "@mdx-js/react": "^3.1.0", + "@mdx-js/react": "^3.1.1", "clsx": "^2.1.1", - "estree-util-value-to-estree": "^3.4.0", + "estree-util-value-to-estree": "^3.5.0", "image-size": "^2.0.2", - "lucide-react": "^0.546.0", + "lucide-react": "^0.577.0", "prism-react-renderer": "^2.4.1", - "react": "^19.1.0", - "react-dom": "^19.1.0", + "react": "^19.2.4", + "react-dom": "^19.2.4", "search-insights": "^2.17.3" }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.9.2", - "@docusaurus/tsconfig": "^3.9.1", - "@docusaurus/types": "^3.9.1", - "@types/node": "^22.19.1", - "dotenv": "^17.2.0", - "typescript": "~5.8.3" + "@docusaurus/tsconfig": "^3.9.2", + "@docusaurus/types": "^3.9.2", + "@types/node": "^24", + "dotenv": "^17.3.1", + "typescript": "~5.9.3" }, "browserslist": { "production": [ diff --git a/sidebars.ts b/sidebars.ts index e7dc182..47a3039 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -55,6 +55,7 @@ export default { items: [ "guides/launch-godot-project-in-windowed-mode", "guides/system-tray", + "guides/manage-launcher-updates", ], }, { @@ -97,4 +98,4 @@ export default { id: "license", }, ], -}; +} satisfies SidebarsConfig; diff --git a/src/theme/Footer/Copyright/index.module.css b/src/theme/Footer/Copyright/index.module.css new file mode 100644 index 0000000..2d3f792 --- /dev/null +++ b/src/theme/Footer/Copyright/index.module.css @@ -0,0 +1,38 @@ +.copyright { + font-size: 1.2rem; + text-align: left; + + display: flex; + justify-content: space-between; +} + +.socialLinks svg { + opacity: 0.8; + fill: white; +} + +.socialLinks:hover svg { + fill: var(--ifm-color-primary-lightest) +} + +.separator { + margin: 24px 0; + opacity: .25; +} + +.disclaimer { + font-size: 1rem; + opacity: 0.8; + text-align: left; + +} + +@media screen and (max-width: 996px) { + .copyright { + flex-direction: column; + align-items: start; + gap: 18px; + + } + +} diff --git a/src/theme/Footer/Copyright/index.tsx b/src/theme/Footer/Copyright/index.tsx new file mode 100644 index 0000000..c1c7a7a --- /dev/null +++ b/src/theme/Footer/Copyright/index.tsx @@ -0,0 +1,49 @@ +import React, { type ReactNode } from "react"; +import Copyright from "@theme-original/Footer/Copyright"; +import type CopyrightType from "@theme/Footer/Copyright"; +import type { WrapperProps } from "@docusaurus/types"; + +import styles from "./index.module.css"; +import Link from "@docusaurus/Link"; + +type Props = WrapperProps; + +export default function CopyrightWrapper(props: Props): ReactNode { + return ( + <> +
+
+ Godot Launcher is not affiliated with or endorsed by the Godot Engine or the Godot Foundation. +
+
+
+ Copyright © {new Date().getFullYear()} Mario Debono and{" "} + + contributors + + . +
+
+ + + +
+
+ + ); +} diff --git a/static/img/Per_Project_Editor_Settings_Light.webp b/static/img/Per_Project_Editor_Settings_Light.webp new file mode 100644 index 0000000..a176628 Binary files /dev/null and b/static/img/Per_Project_Editor_Settings_Light.webp differ diff --git a/static/img/Quick_Edit_From_System_Tray_Light.webp b/static/img/Quick_Edit_From_System_Tray_Light.webp new file mode 100644 index 0000000..379b5e6 Binary files /dev/null and b/static/img/Quick_Edit_From_System_Tray_Light.webp differ diff --git a/static/img/screenshots/.gitkeep b/static/img/screenshots/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/static/img/screenshots/screen_help_view_dark.webp b/static/img/screenshots/screen_help_view_dark.webp index a4a6a41..a9a4bb9 100644 Binary files a/static/img/screenshots/screen_help_view_dark.webp and b/static/img/screenshots/screen_help_view_dark.webp differ diff --git a/static/img/screenshots/screen_help_view_light.webp b/static/img/screenshots/screen_help_view_light.webp index 793028c..a7d88de 100644 Binary files a/static/img/screenshots/screen_help_view_light.webp and b/static/img/screenshots/screen_help_view_light.webp differ diff --git a/static/img/screenshots/screen_installs_new_version_dark.webp b/static/img/screenshots/screen_installs_new_version_dark.webp index 68b9d24..ed98f6c 100644 Binary files a/static/img/screenshots/screen_installs_new_version_dark.webp and b/static/img/screenshots/screen_installs_new_version_dark.webp differ diff --git a/static/img/screenshots/screen_installs_new_version_light.webp b/static/img/screenshots/screen_installs_new_version_light.webp index 5ac7450..1a51070 100644 Binary files a/static/img/screenshots/screen_installs_new_version_light.webp and b/static/img/screenshots/screen_installs_new_version_light.webp differ diff --git a/static/img/screenshots/screen_installs_view_dark.webp b/static/img/screenshots/screen_installs_view_dark.webp index 52cfc44..f76a2c0 100644 Binary files a/static/img/screenshots/screen_installs_view_dark.webp and b/static/img/screenshots/screen_installs_view_dark.webp differ diff --git a/static/img/screenshots/screen_installs_view_light.webp b/static/img/screenshots/screen_installs_view_light.webp index ff6a484..c7d65eb 100644 Binary files a/static/img/screenshots/screen_installs_view_light.webp and b/static/img/screenshots/screen_installs_view_light.webp differ diff --git a/static/img/screenshots/screen_projects_drop_overlay_dark.webp b/static/img/screenshots/screen_projects_drop_overlay_dark.webp index 4983ce2..d9bec62 100644 Binary files a/static/img/screenshots/screen_projects_drop_overlay_dark.webp and b/static/img/screenshots/screen_projects_drop_overlay_dark.webp differ diff --git a/static/img/screenshots/screen_projects_drop_overlay_light.webp b/static/img/screenshots/screen_projects_drop_overlay_light.webp index 0af0344..9439ac5 100644 Binary files a/static/img/screenshots/screen_projects_drop_overlay_light.webp and b/static/img/screenshots/screen_projects_drop_overlay_light.webp differ diff --git a/static/img/screenshots/screen_projects_new_project_dark.webp b/static/img/screenshots/screen_projects_new_project_dark.webp index efdbc83..8a9f129 100644 Binary files a/static/img/screenshots/screen_projects_new_project_dark.webp and b/static/img/screenshots/screen_projects_new_project_dark.webp differ diff --git a/static/img/screenshots/screen_projects_new_project_light.webp b/static/img/screenshots/screen_projects_new_project_light.webp index 21e6dee..1fa1a7d 100644 Binary files a/static/img/screenshots/screen_projects_new_project_light.webp and b/static/img/screenshots/screen_projects_new_project_light.webp differ diff --git a/static/img/screenshots/screen_projects_new_project_no_git_dark.webp b/static/img/screenshots/screen_projects_new_project_no_git_dark.webp index cbcae05..cf8d930 100644 Binary files a/static/img/screenshots/screen_projects_new_project_no_git_dark.webp and b/static/img/screenshots/screen_projects_new_project_no_git_dark.webp differ diff --git a/static/img/screenshots/screen_projects_new_project_no_git_light.webp b/static/img/screenshots/screen_projects_new_project_no_git_light.webp index a540127..40246eb 100644 Binary files a/static/img/screenshots/screen_projects_new_project_no_git_light.webp and b/static/img/screenshots/screen_projects_new_project_no_git_light.webp differ diff --git a/static/img/screenshots/screen_projects_new_project_no_tools_dark.webp b/static/img/screenshots/screen_projects_new_project_no_tools_dark.webp index b9911c2..efc7350 100644 Binary files a/static/img/screenshots/screen_projects_new_project_no_tools_dark.webp and b/static/img/screenshots/screen_projects_new_project_no_tools_dark.webp differ diff --git a/static/img/screenshots/screen_projects_new_project_no_tools_light.webp b/static/img/screenshots/screen_projects_new_project_no_tools_light.webp index 57fe6dc..e348914 100644 Binary files a/static/img/screenshots/screen_projects_new_project_no_tools_light.webp and b/static/img/screenshots/screen_projects_new_project_no_tools_light.webp differ diff --git a/static/img/screenshots/screen_projects_new_project_no_vscode_dark.webp b/static/img/screenshots/screen_projects_new_project_no_vscode_dark.webp index bd9b073..2123fff 100644 Binary files a/static/img/screenshots/screen_projects_new_project_no_vscode_dark.webp and b/static/img/screenshots/screen_projects_new_project_no_vscode_dark.webp differ diff --git a/static/img/screenshots/screen_projects_new_project_no_vscode_light.webp b/static/img/screenshots/screen_projects_new_project_no_vscode_light.webp index 46714ad..1087120 100644 Binary files a/static/img/screenshots/screen_projects_new_project_no_vscode_light.webp and b/static/img/screenshots/screen_projects_new_project_no_vscode_light.webp differ diff --git a/static/img/screenshots/screen_projects_new_project_overwrite_path_dark.webp b/static/img/screenshots/screen_projects_new_project_overwrite_path_dark.webp new file mode 100644 index 0000000..0ce3287 Binary files /dev/null and b/static/img/screenshots/screen_projects_new_project_overwrite_path_dark.webp differ diff --git a/static/img/screenshots/screen_projects_new_project_overwrite_path_light.webp b/static/img/screenshots/screen_projects_new_project_overwrite_path_light.webp new file mode 100644 index 0000000..c4c60fc Binary files /dev/null and b/static/img/screenshots/screen_projects_new_project_overwrite_path_light.webp differ diff --git a/static/img/screenshots/screen_projects_update_available_dark.webp b/static/img/screenshots/screen_projects_update_available_dark.webp new file mode 100644 index 0000000..212a10b Binary files /dev/null and b/static/img/screenshots/screen_projects_update_available_dark.webp differ diff --git a/static/img/screenshots/screen_projects_update_available_light.webp b/static/img/screenshots/screen_projects_update_available_light.webp new file mode 100644 index 0000000..1926190 Binary files /dev/null and b/static/img/screenshots/screen_projects_update_available_light.webp differ diff --git a/static/img/screenshots/screen_projects_update_downloading_dark.webp b/static/img/screenshots/screen_projects_update_downloading_dark.webp new file mode 100644 index 0000000..e589d71 Binary files /dev/null and b/static/img/screenshots/screen_projects_update_downloading_dark.webp differ diff --git a/static/img/screenshots/screen_projects_update_downloading_light.webp b/static/img/screenshots/screen_projects_update_downloading_light.webp new file mode 100644 index 0000000..e2bdf73 Binary files /dev/null and b/static/img/screenshots/screen_projects_update_downloading_light.webp differ diff --git a/static/img/screenshots/screen_projects_update_error_dark.webp b/static/img/screenshots/screen_projects_update_error_dark.webp new file mode 100644 index 0000000..8b527de Binary files /dev/null and b/static/img/screenshots/screen_projects_update_error_dark.webp differ diff --git a/static/img/screenshots/screen_projects_update_error_light.webp b/static/img/screenshots/screen_projects_update_error_light.webp new file mode 100644 index 0000000..89a8732 Binary files /dev/null and b/static/img/screenshots/screen_projects_update_error_light.webp differ diff --git a/static/img/screenshots/screen_projects_update_ready_dark.webp b/static/img/screenshots/screen_projects_update_ready_dark.webp new file mode 100644 index 0000000..bec063e Binary files /dev/null and b/static/img/screenshots/screen_projects_update_ready_dark.webp differ diff --git a/static/img/screenshots/screen_projects_update_ready_light.webp b/static/img/screenshots/screen_projects_update_ready_light.webp new file mode 100644 index 0000000..c9889e6 Binary files /dev/null and b/static/img/screenshots/screen_projects_update_ready_light.webp differ diff --git a/static/img/screenshots/screen_projects_view_dark.webp b/static/img/screenshots/screen_projects_view_dark.webp index b2740bb..dbf3b53 100644 Binary files a/static/img/screenshots/screen_projects_view_dark.webp and b/static/img/screenshots/screen_projects_view_dark.webp differ diff --git a/static/img/screenshots/screen_projects_view_light.webp b/static/img/screenshots/screen_projects_view_light.webp index 358ca02..1926190 100644 Binary files a/static/img/screenshots/screen_projects_view_light.webp and b/static/img/screenshots/screen_projects_view_light.webp differ diff --git a/static/img/screenshots/screen_settings_appearance_dark.webp b/static/img/screenshots/screen_settings_appearance_dark.webp index 32728dd..fa76bdc 100644 Binary files a/static/img/screenshots/screen_settings_appearance_dark.webp and b/static/img/screenshots/screen_settings_appearance_dark.webp differ diff --git a/static/img/screenshots/screen_settings_appearance_light.webp b/static/img/screenshots/screen_settings_appearance_light.webp index 2b5552c..00ac446 100644 Binary files a/static/img/screenshots/screen_settings_appearance_light.webp and b/static/img/screenshots/screen_settings_appearance_light.webp differ diff --git a/static/img/screenshots/screen_settings_behavior_dark.webp b/static/img/screenshots/screen_settings_behavior_dark.webp index a23ad2d..c108137 100644 Binary files a/static/img/screenshots/screen_settings_behavior_dark.webp and b/static/img/screenshots/screen_settings_behavior_dark.webp differ diff --git a/static/img/screenshots/screen_settings_behavior_light.webp b/static/img/screenshots/screen_settings_behavior_light.webp index f2c9330..2a30468 100644 Binary files a/static/img/screenshots/screen_settings_behavior_light.webp and b/static/img/screenshots/screen_settings_behavior_light.webp differ diff --git a/static/img/screenshots/screen_settings_installs_dark.webp b/static/img/screenshots/screen_settings_installs_dark.webp index d32abfd..c51726e 100644 Binary files a/static/img/screenshots/screen_settings_installs_dark.webp and b/static/img/screenshots/screen_settings_installs_dark.webp differ diff --git a/static/img/screenshots/screen_settings_installs_light.webp b/static/img/screenshots/screen_settings_installs_light.webp index 4df6a74..3398ee7 100644 Binary files a/static/img/screenshots/screen_settings_installs_light.webp and b/static/img/screenshots/screen_settings_installs_light.webp differ diff --git a/static/img/screenshots/screen_settings_projects_dark.webp b/static/img/screenshots/screen_settings_projects_dark.webp index 07ff39c..47d9be5 100644 Binary files a/static/img/screenshots/screen_settings_projects_dark.webp and b/static/img/screenshots/screen_settings_projects_dark.webp differ diff --git a/static/img/screenshots/screen_settings_projects_light.webp b/static/img/screenshots/screen_settings_projects_light.webp index ee10876..fdbcf5b 100644 Binary files a/static/img/screenshots/screen_settings_projects_light.webp and b/static/img/screenshots/screen_settings_projects_light.webp differ diff --git a/static/img/screenshots/screen_settings_tools_dark.webp b/static/img/screenshots/screen_settings_tools_dark.webp index 25d483e..d2f6a4c 100644 Binary files a/static/img/screenshots/screen_settings_tools_dark.webp and b/static/img/screenshots/screen_settings_tools_dark.webp differ diff --git a/static/img/screenshots/screen_settings_tools_light.webp b/static/img/screenshots/screen_settings_tools_light.webp index 3faec35..6956119 100644 Binary files a/static/img/screenshots/screen_settings_tools_light.webp and b/static/img/screenshots/screen_settings_tools_light.webp differ diff --git a/static/img/screenshots/screen_settings_updates_available_dark.webp b/static/img/screenshots/screen_settings_updates_available_dark.webp new file mode 100644 index 0000000..cc9a856 Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_available_dark.webp differ diff --git a/static/img/screenshots/screen_settings_updates_available_light.webp b/static/img/screenshots/screen_settings_updates_available_light.webp new file mode 100644 index 0000000..ba5dfed Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_available_light.webp differ diff --git a/static/img/screenshots/screen_settings_updates_checking_dark.webp b/static/img/screenshots/screen_settings_updates_checking_dark.webp new file mode 100644 index 0000000..e9d962c Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_checking_dark.webp differ diff --git a/static/img/screenshots/screen_settings_updates_checking_light.webp b/static/img/screenshots/screen_settings_updates_checking_light.webp new file mode 100644 index 0000000..3f2f25c Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_checking_light.webp differ diff --git a/static/img/screenshots/screen_settings_updates_dark.webp b/static/img/screenshots/screen_settings_updates_dark.webp index 56f8a24..c0c8cd6 100644 Binary files a/static/img/screenshots/screen_settings_updates_dark.webp and b/static/img/screenshots/screen_settings_updates_dark.webp differ diff --git a/static/img/screenshots/screen_settings_updates_downloading_dark.webp b/static/img/screenshots/screen_settings_updates_downloading_dark.webp new file mode 100644 index 0000000..3347893 Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_downloading_dark.webp differ diff --git a/static/img/screenshots/screen_settings_updates_downloading_light.webp b/static/img/screenshots/screen_settings_updates_downloading_light.webp new file mode 100644 index 0000000..b42ae53 Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_downloading_light.webp differ diff --git a/static/img/screenshots/screen_settings_updates_error_dark.webp b/static/img/screenshots/screen_settings_updates_error_dark.webp new file mode 100644 index 0000000..ab1f1e5 Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_error_dark.webp differ diff --git a/static/img/screenshots/screen_settings_updates_error_light.webp b/static/img/screenshots/screen_settings_updates_error_light.webp new file mode 100644 index 0000000..facd247 Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_error_light.webp differ diff --git a/static/img/screenshots/screen_settings_updates_light.webp b/static/img/screenshots/screen_settings_updates_light.webp index da0dd6f..c80a9d6 100644 Binary files a/static/img/screenshots/screen_settings_updates_light.webp and b/static/img/screenshots/screen_settings_updates_light.webp differ diff --git a/static/img/screenshots/screen_settings_updates_manual_override_dark.webp b/static/img/screenshots/screen_settings_updates_manual_override_dark.webp new file mode 100644 index 0000000..59fe7e0 Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_manual_override_dark.webp differ diff --git a/static/img/screenshots/screen_settings_updates_manual_override_light.webp b/static/img/screenshots/screen_settings_updates_manual_override_light.webp new file mode 100644 index 0000000..8bea695 Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_manual_override_light.webp differ diff --git a/static/img/screenshots/screen_settings_updates_ready_dark.webp b/static/img/screenshots/screen_settings_updates_ready_dark.webp new file mode 100644 index 0000000..77ab46f Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_ready_dark.webp differ diff --git a/static/img/screenshots/screen_settings_updates_ready_light.webp b/static/img/screenshots/screen_settings_updates_ready_light.webp new file mode 100644 index 0000000..5945f89 Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_ready_light.webp differ diff --git a/static/img/screenshots/screen_settings_updates_skipped_dark.webp b/static/img/screenshots/screen_settings_updates_skipped_dark.webp new file mode 100644 index 0000000..57604af Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_skipped_dark.webp differ diff --git a/static/img/screenshots/screen_settings_updates_skipped_light.webp b/static/img/screenshots/screen_settings_updates_skipped_light.webp new file mode 100644 index 0000000..cf26f73 Binary files /dev/null and b/static/img/screenshots/screen_settings_updates_skipped_light.webp differ