diff --git a/package-lock.json b/package-lock.json index 14a772d..24c3259 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@melt-ui/svelte": "^0.86.6", "@oddbird/popover-polyfill": "^0.6.1", "@projectwallace/css-analyzer": "^7.6.0", - "@projectwallace/css-code-coverage": "^0.7.0", + "@projectwallace/css-code-coverage": "^0.8.0", "@projectwallace/css-code-quality": "^3.0.2", "@projectwallace/css-design-tokens": "^0.10.0", "@projectwallace/css-layer-tree": "^2.0.0", @@ -1364,9 +1364,9 @@ } }, "node_modules/@projectwallace/css-code-coverage": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@projectwallace/css-code-coverage/-/css-code-coverage-0.7.0.tgz", - "integrity": "sha512-N3DOkwz9rOqnG1oc4QGGsQOZDqz0Hd9PWTTdHWZiJquDUHAKB390thXMf7qCYHjDQlMbsGMbiLSDKMlOR+E44Q==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@projectwallace/css-code-coverage/-/css-code-coverage-0.8.0.tgz", + "integrity": "sha512-IerDWNiCFUgET9ibx7VNcCmS9KrMxk8j/g583nF8TdBP6d04CQjMAwVIXRIs68QSPoOrONz3F6lPLizP8WLvQw==", "license": "EUPL-1.2", "dependencies": { "@projectwallace/format-css": "^2.1.1", diff --git a/package.json b/package.json index 388f1e6..317d534 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "lint": "oxlint --config oxlintrc.json", "stylelint": "stylelint \"src/**/*.{css,svelte}\" --ignore-path .gitignore", - "css-coverage": "css-coverage --coverage-dir=./css-coverage --min-line-coverage=.8 --min-file-line-coverage=.62 --show-uncovered=all" + "css-coverage": "css-coverage --coverage-dir=./css-coverage --min-coverage=.8 --min-file-coverage=.66 --show-uncovered=all" }, "dependencies": { "@bramus/specificity": "^2.4.2", @@ -23,7 +23,7 @@ "@melt-ui/svelte": "^0.86.6", "@oddbird/popover-polyfill": "^0.6.1", "@projectwallace/css-analyzer": "^7.6.0", - "@projectwallace/css-code-coverage": "^0.7.0", + "@projectwallace/css-code-coverage": "^0.8.0", "@projectwallace/css-code-quality": "^3.0.2", "@projectwallace/css-design-tokens": "^0.10.0", "@projectwallace/css-layer-tree": "^2.0.0", diff --git a/src/lib/components/Pre.svelte b/src/lib/components/Pre.svelte index 6be16f6..54898db 100644 --- a/src/lib/components/Pre.svelte +++ b/src/lib/components/Pre.svelte @@ -328,7 +328,6 @@ overflow: auto hidden; max-height: 100%; height: 100%; - scroll-margin: var(--space-4); color: var(--fg-200); /* Regular outline not visible because of scroll containers */ diff --git a/src/lib/components/coverage/Coverage.svelte b/src/lib/components/coverage/Coverage.svelte index db14c7c..2c1d775 100644 --- a/src/lib/components/coverage/Coverage.svelte +++ b/src/lib/components/coverage/Coverage.svelte @@ -6,7 +6,7 @@ import Panel from '$components/Panel.svelte' import Meter from '$components/Meter.svelte' import Pre from '$components/Pre.svelte' - import { calculate_coverage, type Coverage, type CoverageResult } from '@projectwallace/css-code-coverage' + import { calculate_coverage, type Coverage } from '@projectwallace/css-code-coverage' import Empty from '$components/Empty.svelte' import Table from '$components/Table.svelte' import { string_sort } from '$lib/string-sort' @@ -21,13 +21,8 @@ elements: { root, item } } = create_keyboard_list() let selected_index = $state(0) - let calculated: CoverageResult | undefined = $state(undefined) - - // TODO: this should be a $derived() but apparently the library isn't side-effect free - // https://github.com/projectwallace/css-code-coverage/issues/28 - $effect(() => { - calculated = calculate_coverage(browser_coverage) - }) + // $state.snapshot() necessary to avoid "unsafe state mutation" errors + let calculated = $derived(calculate_coverage($state.snapshot(browser_coverage))) let max_lines = $derived.by(() => { if (!calculated) return 0