Radish alpha
r
Radicle desktop app
Radicle
Git (anonymous pull)
Log in to clone via SSH
Bump eslint-plugin-svelte 3.5 -> 3.17
Rūdolfs Ošiņš committed 7 days ago
commit be725412720a03668ab3da068816973db429a5b2
parent 7e0f3a478fbe3a16f2022227680f76daa42ffbbd
8 files changed +54 -58
modified package-lock.json
@@ -45,7 +45,7 @@
        "eslint": "^9.39.4",
        "eslint-config-prettier": "^10.1.8",
        "eslint-plugin-simple-import-sort": "^12.1.1",
-
        "eslint-plugin-svelte": "^3.5.1",
+
        "eslint-plugin-svelte": "^3.17.1",
        "execa": "^9.6.1",
        "fuzzysort": "^3.1.0",
        "get-port": "^7.2.0",
@@ -67,7 +67,7 @@
        "prettier-plugin-svelte": "^3.5.2",
        "svelte": "^5.28.2",
        "svelte-check": "^4.1.7",
-
        "svelte-eslint-parser": "^1.1.3",
+
        "svelte-eslint-parser": "^1.6.1",
        "tslib": "^2.8.1",
        "twemoji": "^14.0.2",
        "typescript": "^5.9.3",
@@ -2422,6 +2422,7 @@
      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
      "dev": true,
+
      "license": "MIT",
      "bin": {
        "cssesc": "bin/cssesc"
      },
@@ -2724,20 +2725,22 @@
      }
    },
    "node_modules/eslint-plugin-svelte": {
-
      "version": "3.5.1",
-
      "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.5.1.tgz",
-
      "integrity": "sha512-Qn1slddZHfqYiDO6IN8/iN3YL+VuHlgYjm30FT+hh0Jf/TX0jeZMTJXQMajFm5f6f6hURi+XO8P+NPYD+T4jkg==",
+
      "version": "3.17.1",
+
      "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.17.1.tgz",
+
      "integrity": "sha512-NyiXHtS3Ni7e532RBwS9OXlMKDIrENg3gY+/+ODjZzQx2xhU3NlJ+nIl1a93iUUQeiJL3lS8KLmY+W8hklzweQ==",
      "dev": true,
+
      "license": "MIT",
      "dependencies": {
-
        "@eslint-community/eslint-utils": "^4.4.1",
+
        "@eslint-community/eslint-utils": "^4.6.1",
        "@jridgewell/sourcemap-codec": "^1.5.0",
        "esutils": "^2.0.3",
-
        "known-css-properties": "^0.35.0",
+
        "globals": "^16.0.0",
+
        "known-css-properties": "^0.37.0",
        "postcss": "^8.4.49",
        "postcss-load-config": "^3.1.4",
        "postcss-safe-parser": "^7.0.0",
        "semver": "^7.6.3",
-
        "svelte-eslint-parser": "^1.1.1"
+
        "svelte-eslint-parser": "^1.4.0"
      },
      "engines": {
        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2746,7 +2749,7 @@
        "url": "https://github.com/sponsors/ota-meshi"
      },
      "peerDependencies": {
-
        "eslint": "^8.57.1 || ^9.0.0",
+
        "eslint": "^8.57.1 || ^9.0.0 || ^10.0.0",
        "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0"
      },
      "peerDependenciesMeta": {
@@ -3652,10 +3655,11 @@
      }
    },
    "node_modules/known-css-properties": {
-
      "version": "0.35.0",
-
      "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.35.0.tgz",
-
      "integrity": "sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==",
-
      "dev": true
+
      "version": "0.37.0",
+
      "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz",
+
      "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==",
+
      "dev": true,
+
      "license": "MIT"
    },
    "node_modules/levn": {
      "version": "0.4.1",
@@ -4332,6 +4336,7 @@
          "url": "https://github.com/sponsors/ai"
        }
      ],
+
      "license": "MIT",
      "engines": {
        "node": ">=12.0"
      },
@@ -4340,10 +4345,11 @@
      }
    },
    "node_modules/postcss-selector-parser": {
-
      "version": "7.1.0",
-
      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz",
-
      "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==",
+
      "version": "7.1.1",
+
      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+
      "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
      "dev": true,
+
      "license": "MIT",
      "dependencies": {
        "cssesc": "^3.0.0",
        "util-deprecate": "^1.0.2"
@@ -4731,20 +4737,23 @@
      }
    },
    "node_modules/svelte-eslint-parser": {
-
      "version": "1.1.3",
-
      "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.1.3.tgz",
-
      "integrity": "sha512-DUc/z/vk+AFVoxGv54+BOBFqUrmUgNg2gSO2YqrE3OL6ro19/0azPmQj/4wN3s9RxuF5l7G0162q/Ddk4LJhZA==",
+
      "version": "1.6.1",
+
      "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.6.1.tgz",
+
      "integrity": "sha512-hhvSH6kRj46UzrBVO5TaotD+Iuvruj5ccKBcO4wAhVcPTLmIc/c32D8UllBTYO0on4LzYuM0rNzf1lM/gBlkSQ==",
      "dev": true,
+
      "license": "MIT",
      "dependencies": {
        "eslint-scope": "^8.2.0",
        "eslint-visitor-keys": "^4.0.0",
        "espree": "^10.0.0",
        "postcss": "^8.4.49",
        "postcss-scss": "^4.0.9",
-
        "postcss-selector-parser": "^7.0.0"
+
        "postcss-selector-parser": "^7.0.0",
+
        "semver": "^7.7.2"
      },
      "engines": {
-
        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+
        "node": "^18.18.0 || ^20.9.0 || >=21.1.0",
+
        "pnpm": "10.33.0"
      },
      "funding": {
        "url": "https://github.com/sponsors/ota-meshi"
@@ -5030,7 +5039,8 @@
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
-
      "dev": true
+
      "dev": true,
+
      "license": "MIT"
    },
    "node_modules/vfile": {
      "version": "6.0.3",
modified package.json
@@ -61,7 +61,7 @@
    "eslint": "^9.39.4",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-simple-import-sort": "^12.1.1",
-
    "eslint-plugin-svelte": "^3.5.1",
+
    "eslint-plugin-svelte": "^3.17.1",
    "execa": "^9.6.1",
    "fuzzysort": "^3.1.0",
    "get-port": "^7.2.0",
@@ -83,7 +83,7 @@
    "prettier-plugin-svelte": "^3.5.2",
    "svelte": "^5.28.2",
    "svelte-check": "^4.1.7",
-
    "svelte-eslint-parser": "^1.1.3",
+
    "svelte-eslint-parser": "^1.6.1",
    "tslib": "^2.8.1",
    "twemoji": "^14.0.2",
    "typescript": "^5.9.3",
modified src/components/CommentToggleInput.svelte
@@ -28,11 +28,9 @@
  }: Props = $props();
  /* eslint-enable prefer-const */

-
  let state: "collapsed" | "expanded" | "submit" | undefined = $state();
-

-
  $effect(() => {
-
    state = onclose !== undefined ? "expanded" : "collapsed";
-
  });
+
  let state: "collapsed" | "expanded" | "submit" | undefined = $derived(
+
    onclose !== undefined ? "expanded" : "collapsed",
+
  );
</script>

<style>
modified src/components/Diff.svelte
@@ -203,13 +203,8 @@
    }
  }

-
  let threadExpandedStates: Record<string, boolean> = $state(
-
    codeComments
-
      ? Object.fromEntries(
-
          codeComments.threads.map(t => [t.root.id, t.root.resolved]),
-
        )
-
      : {},
-
  );
+
  // eslint-disable-next-line svelte/prefer-writable-derived -- needs a $state proxy so toggleCommentExpand's property mutation triggers reactivity
+
  let threadExpandedStates: Record<string, boolean> = $state({});

  $effect(() => {
    threadExpandedStates = codeComments
modified src/components/ExtendedTextarea.svelte
@@ -7,6 +7,7 @@
  import { open } from "@tauri-apps/plugin-dialog";
  import debounce from "lodash/debounce";
  import { onDestroy, onMount } from "svelte";
+
  import { SvelteMap } from "svelte/reactivity";

  import { invoke } from "@app/lib/invoke";
  import * as utils from "@app/lib/utils";
@@ -63,7 +64,7 @@
    focus = false,
    inline = false,
    body = $bindable(""),
-
    embeds = new Map(),
+
    embeds = new SvelteMap<string, Embed>(),
    submitInProgress = false,
    disableSubmit = false,
    disallowEmptyBody = false,
modified src/components/SidebarRepoList.svelte
@@ -36,22 +36,14 @@
    activeRepo = undefined,
  }: Props = $props();

-
  let repos = $state<RepoSummary[]>(initialRepos);
-
  let seededNotReplicated = $state<string[]>(initialSeededNotReplicated);
+
  let repos: RepoSummary[] = $derived(initialRepos);
+
  let seededNotReplicated: string[] = $derived(initialSeededNotReplicated);
  let activeCommitCount = $state<number | undefined>(undefined);
  let filterOpen = $state(false);
  let filterQuery = $state("");
  let filterInputElement: HTMLInputElement | undefined = $state(undefined);

  $effect(() => {
-
    repos = initialRepos;
-
  });
-

-
  $effect(() => {
-
    seededNotReplicated = initialSeededNotReplicated;
-
  });
-

-
  $effect(() => {
    const rid = activeRepo?.rid;
    const head = activeRepo?.payloads["xyz.radicle.project"]?.meta.head;

modified src/views/repo/RepoCommits.svelte
@@ -113,8 +113,11 @@
  function dayLabel(timestamp: number) {
    const date = new Date(timestamp);
    const today = new Date();
-
    const yesterday = new Date();
-
    yesterday.setDate(today.getDate() - 1);
+
    const yesterday = new Date(
+
      today.getFullYear(),
+
      today.getMonth(),
+
      today.getDate() - 1,
+
    );

    if (dayKey(date.getTime()) === dayKey(today.getTime())) {
      return "Today";
@@ -151,25 +154,25 @@
  const filteredCommits = $derived(searchResults.map(r => r.obj.commit));

  const groupedCommits = $derived.by<CommitGroup[]>(() => {
-
    const groups = new Map<string, CommitGroup>();
+
    const groups: Record<string, CommitGroup> = {};

    for (const commit of filteredCommits) {
      const timestamp = commit.committer.time * 1000;
      const key = dayKey(timestamp);
-
      const current = groups.get(key);
+
      const current = groups[key];

      if (current) {
        current.commits.push(commit);
      } else {
-
        groups.set(key, {
+
        groups[key] = {
          key,
          label: dayLabel(timestamp),
          commits: [commit],
-
        });
+
        };
      }
    }

-
    return [...groups.values()];
+
    return Object.values(groups);
  });
</script>

modified src/views/repo/RepoHome.svelte
@@ -34,7 +34,6 @@

  let currentPath = $state("");
  let codeElement: HTMLElement | undefined = $state();
-
  let preview = $state(true);
  let error: InvokeError | undefined = $state();

  $effect(() => {
@@ -77,9 +76,7 @@
    }
  });

-
  $effect(() => {
-
    preview = isMarkdownPath(currentPath);
-
  });
+
  let preview = $derived(isMarkdownPath(currentPath));

  let blob: Blob | Readme | null = $state(readme);
  const showLineNumbers = $derived(