From 915a344a05ebef8fd68ff1579e3991b6a653aac8 Mon Sep 17 00:00:00 2001 From: Keavon Chambers Date: Sat, 17 Jan 2026 01:50:14 -0800 Subject: [PATCH] Bump frontend dependencies to Svelte 5 (#3648) * Add more recommended VS Code default configs * Upgrade frontend dependencies including Svelte 5 * Fix derived_references_self runtime error * Fix lint warnings --- .nix/pkgs/graphite.nix | 2 +- .vscode/extensions.json | 3 +- .vscode/settings.json | 25 +- frontend/eslint.config.js | 3 - frontend/package-installer.js | 6 +- frontend/package-lock.json | 1590 +++++++++-------- frontend/package.json | 34 +- .../floating-menus/ColorPicker.svelte | 10 +- .../floating-menus/EyedropperPreview.svelte | 4 +- .../components/floating-menus/MenuList.svelte | 25 +- .../floating-menus/NodeCatalog.svelte | 3 +- .../src/components/layout/FloatingMenu.svelte | 2 +- .../src/components/panels/Document.svelte | 2 +- frontend/src/components/panels/Layers.svelte | 5 +- frontend/src/components/views/Graph.svelte | 8 +- .../components/widgets/WidgetSection.svelte | 2 +- .../widgets/buttons/TextButton.svelte | 5 +- .../widgets/inputs/FieldInput.svelte | 2 +- .../widgets/inputs/NumberInput.svelte | 4 +- .../widgets/inputs/ReferencePointInput.svelte | 18 +- .../widgets/inputs/ScrollbarInput.svelte | 2 +- .../widgets/labels/Separator.svelte | 2 +- frontend/src/main.ts | 3 +- frontend/vite.config.ts | 3 + 24 files changed, 971 insertions(+), 792 deletions(-) diff --git a/.nix/pkgs/graphite.nix b/.nix/pkgs/graphite.nix index 88faec4f..8a4fa782 100644 --- a/.nix/pkgs/graphite.nix +++ b/.nix/pkgs/graphite.nix @@ -48,7 +48,7 @@ let npmDeps = pkgs.fetchNpmDeps { inherit (info) pname version; src = "${info.src}/frontend"; - hash = "sha256-D8VCNK+Ca3gxO+5wriBn8FszG8/x8n/zM6/MPo9E2j4="; + hash = "sha256-WlwzWGoFi3hjRuM5ucrgavko/gg4iFAwMc6uMLjT/FI="; }; npmRoot = "frontend"; diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 25148f72..dd8c135e 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -11,9 +11,10 @@ // Code quality "wayou.vscode-todo-highlight", "streetsidesoftware.code-spell-checker", - // Helpful + // Git "mhutchie.git-graph", "qezhu.gitlink", + // Helpful "wmaurer.change-case" ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index a9ae6079..a7531b59 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -32,6 +32,7 @@ "editor.formatOnSave": false }, // Rust Analyzer config + "rust-analyzer.check.command": "clippy", "rust-analyzer.cargo.allTargets": false, "rust-analyzer.procMacro.ignored": { "serde_derive": ["Serialize", "Deserialize"], @@ -47,13 +48,33 @@ "vite-plugin-svelte-css-no-scopable-elements": "ignore", // NOTICE: Keep this list in sync with the list in `frontend/vite.config.ts` "a11y-no-static-element-interactions": "ignore", // NOTICE: Keep this list in sync with the list in `frontend/vite.config.ts` "a11y-no-noninteractive-element-interactions": "ignore", // NOTICE: Keep this list in sync with the list in `frontend/vite.config.ts` - "a11y-click-events-have-key-events": "ignore" // NOTICE: Keep this list in sync with the list in `frontend/vite.config.ts` + "a11y-click-events-have-key-events": "ignore", // NOTICE: Keep this list in sync with the list in `frontend/vite.config.ts` + "a11y_consider_explicit_label": "ignore", // NOTICE: Keep this list in sync with the list in `frontend/vite.config.ts` + "a11y_click_events_have_key_events": "ignore", // NOTICE: Keep this list in sync with the list in `frontend/vite.config.ts` + "a11y_no_noninteractive_element_interactions": "ignore" // NOTICE: Keep this list in sync with the list in `frontend/vite.config.ts` }, + // Git Graph config + "git-graph.repository.fetchAndPrune": true, + "git-graph.repository.showRemoteHeads": false, + "git-graph.repository.commits.fetchAvatars": true, + // VS Code Git config + "git.autofetch": true, + "git.enableStatusBarSync": false, + "git.showActionButton": { + "sync": false + }, + // CSpell config + "cSpell.language": "en-US", + "cSpell.logLevel": "Information", + "cSpell.allowCompoundWords": true, // VS Code config "html.format.wrapLineLength": 200, "files.eol": "\n", "files.insertFinalNewline": true, "files.associations": { "*.graphite": "json" - } + }, + "editor.renderWhitespace": "boundary", + "editor.minimap.markSectionHeaderRegex": "// ===+\\n\\s*//\\s*(?