$ biome check . .agents/skills/shadcn/assets/showcase/color-pair.tsx:81:17 lint/style/noNegationElse FIXABLE ━━━━━━━━━━ ! Invert blocks when performing a negation test. 79 │ }, []) 80 │ > 81 │ const level = !info │ ^^^^^ > 82 │ ? "" ... > 88 │ ? "AA Large" > 89 │ : "Fail" │ ^^^^^^^^ 90 │ 91 │ return ( i Safe fix: Invert the condition and the blocks. 79 79 │ }, []) 80 80 │ 81 │ - ··const·level·=·!info 82 │ - ····?·"" 83 │ - ····:·info.ratio·>=·7 81 │ + ··const·level·=·info 82 │ + ····?·info.ratio·>=·7 84 83 │ ? "AAA" 85 84 │ : info.ratio >= 4.5 ······· │ 87 86 │ : info.ratio >= 3 88 87 │ ? "AA Large" 89 │ - ··········:·"Fail" 88 │ + ··········:·"Fail" 89 │ + ····:·"" 90 90 │ 91 91 │ return ( .agents/skills/shadcn/assets/showcase/color-pair.tsx:98:7 assist/source/useSortedAttributes FIXABLE ━━━━━━━━━━ × The attributes are not sorted. 96 │ )} 97 │ > > 98 │
99 │ ref={ref} ... > 104 │ className="flex h-24 items-end justify-between p-4" > 105 │ > │ ^ 106 │ Aa 107 │ {info && ( i Safe fix: Sort the JSX props. 97 97 │ > 98 98 │
106 106 │ Aa .agents/skills/shadcn/assets/showcase/color-pair.tsx format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Formatter would have printed the following content: 1 │ - import·*·as·React·from·"react" 1 │ + import·*·as·React·from·"react"; 2 2 │ 3 │ - import·{·cn·}·from·"@/lib/utils" 3 │ + import·{·cn·}·from·"@/lib/utils"; 4 4 │ 5 5 │ // Resolves any CSS color (hex, rgb, oklch, color-mix) to sRGB by painting one pixel. 6 6 │ // Translucent colors are composited over the backdrop, as the browser would. 7 7 │ function toRgb(color: string, backdrop = "#fff") { 8 │ - ··const·canvas·=·document.createElement("canvas") 9 │ - ··canvas.width·=·canvas.height·=·1 10 │ - ··const·context·=·canvas.getContext("2d",·{·willReadFrequently:·true·}) 8 │ + ··const·canvas·=·document.createElement("canvas"); 9 │ + ··canvas.width·=·canvas.height·=·1; 10 │ + ··const·context·=·canvas.getContext("2d",·{·willReadFrequently:·true·}); 11 11 │ if (!context) { 12 │ - ····return·null 12 │ + ····return·null; 13 13 │ } 14 │ - ··context.fillStyle·=·backdrop 15 │ - ··context.fillRect(0,·0,·1,·1) 16 │ - ··context.fillStyle·=·color 17 │ - ··context.fillRect(0,·0,·1,·1) 18 │ - ··const·[r,·g,·b]·=·context.getImageData(0,·0,·1,·1).data 19 │ - ··return·[r,·g,·b] 14 │ + ··context.fillStyle·=·backdrop; 15 │ + ··context.fillRect(0,·0,·1,·1); 16 │ + ··context.fillStyle·=·color; 17 │ + ··context.fillRect(0,·0,·1,·1); 18 │ + ··const·[r,·g,·b]·=·context.getImageData(0,·0,·1,·1).data; 19 │ + ··return·[r,·g,·b]; 20 20 │ } 21 21 │ 22 22 │ function toHex(rgb: number[]) { 23 │ - ··return·`#${rgb.map((value)·=>·value.toString(16).padStart(2,·"0")).join("")}` 23 │ + ··return·`#${rgb.map((value)·=>·value.toString(16).padStart(2,·"0")).join("")}`; 24 24 │ } 25 25 │ 26 26 │ function luminance([r, g, b]: number[]) { 27 27 │ const [R, G, B] = [r, g, b].map((value) => { 28 │ - ····const·channel·=·value·/·255 29 │ - ····return·channel·<=·0.03928 30 │ - ······?·channel·/·12.92 31 │ - ······:·((channel·+·0.055)·/·1.055)·**·2.4 32 │ - ··}) 33 │ - ··return·0.2126·*·R·+·0.7152·*·G·+·0.0722·*·B 28 │ + ····const·channel·=·value·/·255; 29 │ + ····return·channel·<=·0.03928·?·channel·/·12.92·:·((channel·+·0.055)·/·1.055)·**·2.4; 30 │ + ··}); 31 │ + ··return·0.2126·*·R·+·0.7152·*·G·+·0.0722·*·B; 34 32 │ } 35 33 │ 36 34 │ function contrast(a: number[], b: number[]) { 37 │ - ··const·[light,·dark]·=·[luminance(a),·luminance(b)].sort((x,·y)·=>·y·-·x) 38 │ - ··return·(light·+·0.05)·/·(dark·+·0.05) 35 │ + ··const·[light,·dark]·=·[luminance(a),·luminance(b)].sort((x,·y)·=>·y·-·x); 36 │ + ··return·(light·+·0.05)·/·(dark·+·0.05); 39 37 │ } 40 38 │ ······· │ 45 43 │ className, 46 44 │ }: { 47 │ - ··name:·string 48 │ - ··background:·string 49 │ - ··foreground:·string 50 │ - ··className?:·string 45 │ + ··name:·string; 46 │ + ··background:·string; 47 │ + ··foreground:·string; 48 │ + ··className?:·string; 51 49 │ }) { 52 │ - ··const·ref·=·React.useRef(null) 53 │ - ··const·[info,·setInfo]·=·React.useState<{·ratio:·number;·bg:·string·}·|·null>( 54 │ - ····null 55 │ - ··) 50 │ + ··const·ref·=·React.useRef(null); 51 │ + ··const·[info,·setInfo]·=·React.useState<{·ratio:·number;·bg:·string·}·|·null>(null); 56 52 │ 57 53 │ React.useEffect(() => { 58 │ - ····const·element·=·ref.current 54 │ + ····const·element·=·ref.current; 59 55 │ if (!element) { 60 │ - ······return 56 │ + ······return; 61 57 │ } 62 58 │ // Re-measure when the theme class on changes. 63 59 │ const measure = () => { 64 │ - ······const·style·=·getComputedStyle(element) 65 │ - ······const·page·=·getComputedStyle(document.body).backgroundColor 66 │ - ······const·bg·=·toRgb(style.backgroundColor,·page) 60 │ + ······const·style·=·getComputedStyle(element); 61 │ + ······const·page·=·getComputedStyle(document.body).backgroundColor; 62 │ + ······const·bg·=·toRgb(style.backgroundColor,·page); 67 63 │ if (!bg) { 68 │ - ········return 64 │ + ········return; 69 65 │ } 70 │ - ······const·fg·=·toRgb(style.color,·toHex(bg)) 66 │ + ······const·fg·=·toRgb(style.color,·toHex(bg)); 71 67 │ if (fg) { 72 │ - ········setInfo({·ratio:·contrast(bg,·fg),·bg:·toHex(bg)·}) 68 │ + ········setInfo({·ratio:·contrast(bg,·fg),·bg:·toHex(bg)·}); 73 69 │ } 74 │ - ····} 75 │ - ····measure() 76 │ - ····const·observer·=·new·MutationObserver(measure) 77 │ - ····observer.observe(document.documentElement,·{·attributes:·true·}) 78 │ - ····return·()·=>·observer.disconnect() 79 │ - ··},·[]) 70 │ + ····}; 71 │ + ····measure(); 72 │ + ····const·observer·=·new·MutationObserver(measure); 73 │ + ····observer.observe(document.documentElement,·{·attributes:·true·}); 74 │ + ····return·()·=>·observer.disconnect(); 75 │ + ··},·[]); 80 76 │ 81 77 │ const level = !info ······· │ 87 83 │ : info.ratio >= 3 88 84 │ ? "AA Large" 89 │ - ··········:·"Fail" 85 │ + ··········:·"Fail"; 90 86 │ 91 87 │ return ( 92 │ - ····
88 │ + ···· 98 89 │
118 │ - ········{info·&&·( 119 │ - ·········· 120 │ - ············{info.bg} 121 │ - ·········· 122 │ - ········)} 109 │ + ········{info·&&·{info.bg}} 123 110 │
124 111 │
125 │ - ··) 112 │ + ··); 126 113 │ } 127 114 │ .agents/skills/shadcn/assets/showcase/preview-states.css format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Formatter would have printed the following content: 11 11 │ } 12 12 │ } 13 │ - @custom-variant·focus-visible·(&:focus-visible,·&[data-preview~="focus"]); 14 │ - @custom-variant·active·(&:active,·&[data-preview~="active"]); 13 │ + @custom-variant·focus-visible·(&:focus-visible, 14 │ + &[data-preview~="focus"]); 15 │ + @custom-variant·active·(&:active, 16 │ + &[data-preview~="active"]); 15 17 │ .agents/skills/shadcn/assets/showcase/state-matrix.tsx:31:15 assist/source/useSortedAttributes FIXABLE ━━━━━━━━━━ × The attributes are not sorted. 29 │ 30 │ {states.map((state) => ( > 31 │ 32 │ key={state} > 33 │ scope="col" > 34 │ className="text-left font-mono text-xs font-normal text-muted-foreground" > 35 │ > │ ^ 36 │ {state} 37 │ i Safe fix: Sort the JSX props. 30 30 │ {states.map((state) => ( 31 31 │ 36 36 │ {state} .agents/skills/shadcn/assets/showcase/state-matrix.tsx:44:15 assist/source/useSortedAttributes FIXABLE ━━━━━━━━━━ × The attributes are not sorted. 42 │ {rows.map((row) => ( 43 │ > 44 │ 45 │ scope="row" > 46 │ className="pr-4 text-left font-mono text-xs font-normal text-muted-foreground" > 47 │ > │ ^ 48 │ {row} 49 │ i Safe fix: Sort the JSX props. 43 43 │ 44 44 │ 48 48 │ {row} .agents/skills/shadcn/assets/showcase/state-matrix.tsx:1:8 lint/style/useImportType FIXABLE ━━━━━━━━━━ × All these imports are only used as types. > 1 │ import * as React from "react" │ ^^^^^^^^^^^^^^^^^^^^^^^ 2 │ 3 │ import { cn } from "@/lib/utils" i Importing the types with import type ensures that they are removed by the compilers and avoids loading unnecessary modules. i Safe fix: Use import type. 1 │ import·type·*·as·React·from·"react" │ +++++ .agents/skills/shadcn/scripts/showcase-coverage.mjs:4:1 assist/source/organizeImports FIXABLE ━━━━━━━━━━ × The imports and exports are not sorted. 2 │ // Lists installed UI components that no file in the showcase imports. 3 │ // Usage: node showcase-coverage.mjs > 4 │ import { readdirSync, readFileSync, statSync } from "node:fs" │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 5 │ import { basename, extname, join, resolve } from "node:path" 6 │ i Safe fix: Organize Imports (Biome) 1 1 │ #!/usr/bin/env node 2 │ + 2 3 │ // Lists installed UI components that no file in the showcase imports. 3 4 │ // Usage: node showcase-coverage.mjs 4 │ - import·{·readdirSync,·readFileSync,·statSync·}·from·"node:fs" 5 │ + import·{·readFileSync,·readdirSync,·statSync·}·from·"node:fs" 5 6 │ import { basename, extname, join, resolve } from "node:path" 6 7 │ .agents/skills/shadcn/scripts/showcase-coverage.mjs format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Formatter would have printed the following content: 2 2 │ // Lists installed UI components that no file in the showcase imports. 3 3 │ // Usage: node showcase-coverage.mjs 4 │ - import·{·readdirSync,·readFileSync,·statSync·}·from·"node:fs" 5 │ - import·{·basename,·extname,·join,·resolve·}·from·"node:path" 4 │ + import·{·readdirSync,·readFileSync,·statSync·}·from·"node:fs"; 5 │ + import·{·basename,·extname,·join,·resolve·}·from·"node:path"; 6 6 │ 7 │ - const·[uiArg,·...roots]·=·process.argv.slice(2) 7 │ + const·[uiArg,·...roots]·=·process.argv.slice(2); 8 8 │ 9 9 │ if (!uiArg || roots.length === 0) { 10 │ - ··console.error("Usage:·node·showcase-coverage.mjs··") 11 │ - ··process.exit(1) 10 │ + ··console.error("Usage:·node·showcase-coverage.mjs··"); 11 │ + ··process.exit(1); 12 12 │ } 13 13 │ 14 │ - const·uiDir·=·resolve(uiArg) 14 │ + const·uiDir·=·resolve(uiArg); 15 15 │ 16 16 │ const components = readdirSync(uiDir) 17 17 │ .filter((file) => [".tsx", ".ts"].includes(extname(file))) 18 │ - ··.map((file)·=>·basename(file,·extname(file))) 18 │ + ··.map((file)·=>·basename(file,·extname(file))); 19 19 │ 20 20 │ function walk(path) { 21 21 │ if (statSync(path).isFile()) { 22 │ - ····return·[path] 22 │ + ····return·[path]; 23 23 │ } 24 24 │ 25 25 │ return readdirSync(path).flatMap((entry) => { 26 │ - ····const·child·=·join(path,·entry) 26 │ + ····const·child·=·join(path,·entry); 27 27 │ // Skip the ui directory so components don't count as using each other. 28 28 │ if (entry === "node_modules" || child === uiDir) { 29 │ - ······return·[] 29 │ + ······return·[]; 30 30 │ } 31 │ - ····return·walk(child) 32 │ - ··}) 31 │ + ····return·walk(child); 32 │ + ··}); 33 33 │ } 34 34 │ ····· │ 38 38 │ .filter((file) => /\.(tsx?|jsx?)$/.test(file)) 39 39 │ .map((file) => readFileSync(file, "utf8")) 40 │ - ··.join("\n") 40 │ + ··.join("\n"); 41 41 │ 42 │ - const·missing·=·components.filter( 43 │ - ··(name)·=>·!new·RegExp(`/ui/${name}["']`).test(source) 44 │ - ) 42 │ + const·missing·=·components.filter((name)·=>·!new·RegExp(`/ui/${name}["']`).test(source)); 45 43 │ 46 │ - console.log( 47 │ - ··`${components.length·-·missing.length}/${components.length}·components·shown.` 48 │ - ) 44 │ + console.log(`${components.length·-·missing.length}/${components.length}·components·shown.`); 49 45 │ 50 46 │ if (missing.length > 0) { 51 │ - ··console.log(`Missing:·${missing.join(",·")}`) 52 │ - ··process.exit(1) 47 │ + ··console.log(`Missing:·${missing.join(",·")}`); 48 │ + ··process.exit(1); 53 49 │ } 54 50 │ .agents/skills/ui-ux-pro-max/data/data-provenance.json format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Formatter would have printed the following content: 17 17 │ "verifiedAt": "2026-08-12", 18 18 │ "sla": "needs-review", 19 │ - ······"appliesTo":·[ 20 │ - ········"design-system" 21 │ - ······], 19 │ + ······"appliesTo":·["design-system"], 22 20 │ "confidence": 0.88, 23 21 │ "sources": [ ········· │ 42 40 │ "verifiedAt": "2026-08-12", 43 41 │ "sla": "needs-review", 44 │ - ······"appliesTo":·[ 45 │ - ········"design-system" 46 │ - ······], 42 │ + ······"appliesTo":·["design-system"], 47 43 │ "confidence": 0.92, 48 44 │ "sources": [ ········· │ 67 63 │ "verifiedAt": "2026-08-12", 68 64 │ "sla": "needs-review", 69 │ - ······"appliesTo":·[ 70 │ - ········"design-system" 71 │ - ······], 65 │ + ······"appliesTo":·["design-system"], 72 66 │ "confidence": 0.93, 73 67 │ "sources": [ ········· │ 92 86 │ "verifiedAt": "2026-08-12", 93 87 │ "sla": "needs-review", 94 │ - ······"appliesTo":·[ 95 │ - ········"design-system" 96 │ - ······], 88 │ + ······"appliesTo":·["design-system"], 97 89 │ "confidence": 0.93, 98 90 │ "sources": [ ········· │ 117 109 │ "verifiedAt": "2026-08-12", 118 110 │ "sla": "needs-review", 119 │ - ······"appliesTo":·[ 120 │ - ········"design-system" 121 │ - ······], 111 │ + ······"appliesTo":·["design-system"], 122 112 │ "confidence": 0.94, 123 113 │ "sources": [ ········· │ 142 132 │ "verifiedAt": "2026-08-12", 143 133 │ "sla": "needs-review", 144 │ - ······"appliesTo":·[ 145 │ - ········"design-system" 146 │ - ······], 134 │ + ······"appliesTo":·["design-system"], 147 135 │ "confidence": 0.91, 148 136 │ "sources": [ ········· │ 167 155 │ "verifiedAt": "2026-08-12", 168 156 │ "sla": "needs-review", 169 │ - ······"appliesTo":·[ 170 │ - ········"design-system" 171 │ - ······], 157 │ + ······"appliesTo":·["design-system"], 172 158 │ "confidence": 0.93, 173 159 │ "sources": [ ········· │ 192 178 │ "verifiedAt": "2026-08-12", 193 179 │ "sla": "needs-review", 194 │ - ······"appliesTo":·[ 195 │ - ········"design-system" 196 │ - ······], 180 │ + ······"appliesTo":·["design-system"], 197 181 │ "confidence": 0.9, 198 182 │ "sources": [ ········· │ 217 201 │ "verifiedAt": "2026-08-12", 218 202 │ "sla": "needs-review", 219 │ - ······"appliesTo":·[ 220 │ - ········"design-system" 221 │ - ······], 203 │ + ······"appliesTo":·["design-system"], 222 204 │ "confidence": 0.89, 223 205 │ "sources": [ ········· │ 242 224 │ "verifiedAt": "2026-08-12", 243 225 │ "sla": "needs-review", 244 │ - ······"appliesTo":·[ 245 │ - ········"design-system" 246 │ - ······], 226 │ + ······"appliesTo":·["design-system"], 247 227 │ "confidence": 0.93, 248 228 │ "sources": [ ········· │ 267 247 │ "verifiedAt": "2026-08-12", 268 248 │ "sla": "needs-review", 269 │ - ······"appliesTo":·[ 270 │ - ········"design-system" 271 │ - ······], 249 │ + ······"appliesTo":·["design-system"], 272 250 │ "confidence": 0.9, 273 251 │ "sources": [ ········· │ 292 270 │ "verifiedAt": "2026-08-12", 293 271 │ "sla": "needs-review", 294 │ - ······"appliesTo":·[ 295 │ - ········"design-system" 296 │ - ······], 272 │ + ······"appliesTo":·["design-system"], 297 273 │ "confidence": 0.92, 298 274 │ "sources": [ ········· │ 317 293 │ "verifiedAt": "2026-08-12", 318 294 │ "sla": "needs-review", 319 │ - ······"appliesTo":·[ 320 │ - ········"design-system" 321 │ - ······], 295 │ + ······"appliesTo":·["design-system"], 322 296 │ "confidence": 0.88, 323 297 │ "sources": [ ········· │ 342 316 │ "verifiedAt": "2026-08-12", 343 317 │ "sla": "needs-review", 344 │ - ······"appliesTo":·[ 345 │ - ········"design-system" 346 │ - ······], 318 │ + ······"appliesTo":·["design-system"], 347 319 │ "confidence": 0.93, 348 320 │ "sources": [ ········· │ 367 339 │ "verifiedAt": "2026-08-12", 368 340 │ "sla": "needs-review", 369 │ - ······"appliesTo":·[ 370 │ - ········"design-system" 371 │ - ······], 341 │ + ······"appliesTo":·["design-system"], 372 342 │ "confidence": 0.91, 373 343 │ "sources": [ ········· │ 392 362 │ "verifiedAt": "2026-08-12", 393 363 │ "sla": "needs-review", 394 │ - ······"appliesTo":·[ 395 │ - ········"design-system" 396 │ - ······], 364 │ + ······"appliesTo":·["design-system"], 397 365 │ "confidence": 0.95, 398 366 │ "sources": [ ········· │ 417 385 │ "verifiedAt": "2026-08-12", 418 386 │ "sla": "needs-review", 419 │ - ······"appliesTo":·[ 420 │ - ········"design-system" 421 │ - ······], 387 │ + ······"appliesTo":·["design-system"], 422 388 │ "confidence": 0.92, 423 389 │ "sources": [ ········· │ 442 408 │ "verifiedAt": "2026-08-12", 443 409 │ "sla": "needs-review", 444 │ - ······"appliesTo":·[ 445 │ - ········"design-system" 446 │ - ······], 410 │ + ······"appliesTo":·["design-system"], 447 411 │ "confidence": 0.93, 448 412 │ "sources": [ ········· │ 467 431 │ "verifiedAt": "2026-08-12", 468 432 │ "sla": "needs-review", 469 │ - ······"appliesTo":·[ 470 │ - ········"design-system" 471 │ - ······], 433 │ + ······"appliesTo":·["design-system"], 278 more lines truncated .agents/skills/ui-ux-pro-max/scripts/tests/fixtures/catalogs/google-api.json format ━━━━━━━━━━━━━━━━ × Formatter would have printed the following content: 29 29 │ "category": "sans-serif", 30 30 │ "kind": "webfonts#webfont", 31 │ - ······"axes":·[ 32 │ - ········{"tag":·"wght",·"start":·100,·"end":·900} 33 │ - ······] 31 │ + ······"axes":·[{·"tag":·"wght",·"start":·100,·"end":·900·}] 34 32 │ } 35 33 │ ] .agents/skills/ui-ux-pro-max/scripts/tests/fixtures/catalogs/google-catalog.json format ━━━━━━━━━━━━ × Formatter would have printed the following content: 3 3 │ "familyMetadataList": [ 4 4 │ { 5 │ - ······"family":·"Zeta·Serif",·"displayName":·null,·"category":·"Serif",·"stroke":·"Serif", 6 │ - ······"classifications":·["Display"],·"size":·1000,·"subsets":·["menu",·"latin-ext",·"latin"], 5 │ + ······"family":·"Zeta·Serif", 6 │ + ······"displayName":·null, 7 │ + ······"category":·"Serif", 8 │ + ······"stroke":·"Serif", 9 │ + ······"classifications":·["Display"], 10 │ + ······"size":·1000, 11 │ + ······"subsets":·["menu",·"latin-ext",·"latin"], 7 12 │ "fonts": { 8 │ - ········"400":·{"thickness":·5,·"slant":·1,·"width":·7,·"lineHeight":·1.2}, 9 │ - ········"700":·{"thickness":·7,·"slant":·1,·"width":·7,·"lineHeight":·1.2}, 10 │ - ········"700i":·{"thickness":·7,·"slant":·4,·"width":·7,·"lineHeight":·1.2} 11 │ - ······},·"axes":·[],·"designers":·["Zeta·Studio"], 12 │ - ······"lastModified":·"2025-06-02",·"dateAdded":·"2018-04-09",·"popularity":·90, 13 │ - ······"trending":·11,·"defaultSort":·9,·"androidFragment":·null,·"isNoto":·false, 14 │ - ······"colorCapabilities":·[],·"primaryScript":·"",·"primaryLanguage":·"",·"isOpenSource":·true, 15 │ - ······"isBrandFont":·false,·"languages":·[] 13 │ + ········"400":·{·"thickness":·5,·"slant":·1,·"width":·7,·"lineHeight":·1.2·}, 14 │ + ········"700":·{·"thickness":·7,·"slant":·1,·"width":·7,·"lineHeight":·1.2·}, 15 │ + ········"700i":·{·"thickness":·7,·"slant":·4,·"width":·7,·"lineHeight":·1.2·} 16 │ + ······}, 17 │ + ······"axes":·[], 18 │ + ······"designers":·["Zeta·Studio"], 19 │ + ······"lastModified":·"2025-06-02", 20 │ + ······"dateAdded":·"2018-04-09", 21 │ + ······"popularity":·90, 22 │ + ······"trending":·11, 23 │ + ······"defaultSort":·9, 24 │ + ······"androidFragment":·null, 25 │ + ······"isNoto":·false, 26 │ + ······"colorCapabilities":·[], 27 │ + ······"primaryScript":·"", 28 │ + ······"primaryLanguage":·"", 29 │ + ······"isOpenSource":·true, 30 │ + ······"isBrandFont":·false, 31 │ + ······"languages":·[] 16 32 │ }, 17 33 │ { 18 │ - ······"family":·"Alpha·Sans",·"displayName":·null,·"category":·"Sans·Serif",·"stroke":·"Sans·Serif", 19 │ - ······"classifications":·["Geometric"],·"size":·2000,·"subsets":·["menu",·"vietnamese",·"latin"], 34 │ + ······"family":·"Alpha·Sans", 35 │ + ······"displayName":·null, 36 │ + ······"category":·"Sans·Serif", 37 │ + ······"stroke":·"Sans·Serif", 38 │ + ······"classifications":·["Geometric"], 39 │ + ······"size":·2000, 40 │ + ······"subsets":·["menu",·"vietnamese",·"latin"], 20 41 │ "fonts": { 21 │ - ········"400":·{"thickness":·5,·"slant":·1,·"width":·7,·"lineHeight":·1.2}, 22 │ - ········"400i":·{"thickness":·5,·"slant":·4,·"width":·7,·"lineHeight":·1.2}, 23 │ - ········"500":·{"thickness":·6,·"slant":·1,·"width":·7,·"lineHeight":·1.2} 42 │ + ········"400":·{·"thickness":·5,·"slant":·1,·"width":·7,·"lineHeight":·1.2·}, 43 │ + ········"400i":·{·"thickness":·5,·"slant":·4,·"width":·7,·"lineHeight":·1.2·}, 44 │ + ········"500":·{·"thickness":·6,·"slant":·1,·"width":·7,·"lineHeight":·1.2·} 24 45 │ }, 25 │ - ······"axes":·[{"tag":·"wght",·"min":·100.0,·"max":·900.0,·"defaultValue":·400.0}], 26 │ - ······"designers":·["Ada·Type",·"Binh·Fonts"],·"lastModified":·"2025-01-03", 27 │ - ······"dateAdded":·"2020-02-20",·"popularity":·42,·"trending":·7,·"defaultSort":·4, 28 │ - ······"androidFragment":·null,·"isNoto":·false,·"colorCapabilities":·[],·"primaryScript":·"", 29 │ - ······"primaryLanguage":·"",·"isOpenSource":·true,·"isBrandFont":·false,·"languages":·[] 46 │ + ······"axes":·[{·"tag":·"wght",·"min":·100.0,·"max":·900.0,·"defaultValue":·400.0·}], 47 │ + ······"designers":·["Ada·Type",·"Binh·Fonts"], 48 │ + ······"lastModified":·"2025-01-03", 49 │ + ······"dateAdded":·"2020-02-20", 50 │ + ······"popularity":·42, 51 │ + ······"trending":·7, 52 │ + ······"defaultSort":·4, 53 │ + ······"androidFragment":·null, 54 │ + ······"isNoto":·false, 55 │ + ······"colorCapabilities":·[], 56 │ + ······"primaryScript":·"", 57 │ + ······"primaryLanguage":·"", 58 │ + ······"isOpenSource":·true, 59 │ + ······"isBrandFont":·false, 60 │ + ······"languages":·[] 30 61 │ } 31 62 │ ], .agents/skills/ui-ux-pro-max/scripts/tests/fixtures/catalogs/phosphor-core.json format ━━━━━━━━━━━━━ × Formatter would have printed the following content: 15 │ ····"alias":·{·"name":·"back-arrow",·"pascal_name":·"BackArrow"·}, │ + + .artifacts/account-deletion/cleanup-test.mts:1:1 assist/source/organizeImports FIXABLE ━━━━━━━━━━━ × The imports and exports are not sorted. > 1 │ import { createDatabase, readDatabaseEnvironment } from '../../apps/server/src/config/database'; │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 │ const env=readDatabaseEnvironment(process.env); 3 │ if(env.DB_NAME!=='metis_desk_test'||env.NODE_ENV!=='test')throw Error('Solo pruebas'); i Safe fix: Organize Imports (Biome) 1 1 │ import { createDatabase, readDatabaseEnvironment } from '../../apps/server/src/config/database'; 2 │ + 2 3 │ const env=readDatabaseEnvironment(process.env); 3 4 │ if(env.DB_NAME!=='metis_desk_test'||env.NODE_ENV!=='test')throw Error('Solo pruebas'); .artifacts/account-deletion/cleanup-test.mts:3:1 lint/style/useBlockStatements FIXABLE ━━━━━━━━━━━ × Block statements are preferred in this position. 1 │ import { createDatabase, readDatabaseEnvironment } from '../../apps/server/src/config/database'; 2 │ const env=readDatabaseEnvironment(process.env); > 3 │ if(env.DB_NAME!=='metis_desk_test'||env.NODE_ENV!=='test')throw Error('Solo pruebas'); │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 │ const db=createDatabase(env); 5 │ const company='01a17cae-4bba-7070-a394-13f9009c5cfb'; i Unsafe fix: Wrap the statement with a `JsBlockStatement` 3 │ if(env.DB_NAME!=='metis_desk_test'||env.NODE_ENV!=='test')·{·throw·Error('Solo·pruebas');·} │ +++ ++ .artifacts/account-deletion/cleanup-test.mts:11:2 lint/style/useBlockStatements FIXABLE ━━━━━━━━━━ × Block statements are preferred in this position. 9 │ const rows=await db.query('SELECT i.kind,i.id FROM access_items i JOIN access_workspaces w ON w.id=i.workspaceId WHERE w.companyId=:company',{replacements,transaction,type:'SELECT'}); 10 │ console.info({fixtureCompany:company,items:rows}); > 11 │ for(const table of ['access_references','access_person_references']) await db.query(`DELETE r FROM ${table} r JOIN access_items i ON i.id=r.itemId JOIN access_workspaces w ON w.id=i.workspaceId WHERE w.companyId=:company`,{replacements,transaction}); │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12 │ await db.query('DELETE r FROM access_revisions r JOIN access_items i ON i.id=r.itemId JOIN access_workspaces w ON w.id=i.workspaceId WHERE w.companyId=:company',{replacements,transaction}); 13 │ for(const table of ['access_account_values','access_system_values']) await db.query(`DELETE v FROM ${table} v JOIN access_items i ON i.id=v.ownerId JOIN access_workspaces w ON w.id=i.workspaceId WHERE w.companyId=:company`,{replacements,transaction}); i Unsafe fix: Wrap the statement with a `JsBlockStatement` 11 │ ·for(const·table·of·['access_references','access_person_references'])·{·await·db.query(`DELETE·r·FROM·${table}·r·JOIN·access_items·i·ON·i.id=r.itemId·JOIN·access_workspaces·w·ON·w.id=i.workspaceId·WHERE·w.companyId=:company`,{replacements,transaction});·} │ ++ ++ .artifacts/account-deletion/cleanup-test.mts:13:2 lint/style/useBlockStatements FIXABLE ━━━━━━━━━━ × Block statements are preferred in this position. 11 │ for(const table of ['access_references','access_person_references']) await db.query(`DELETE r FROM ${table} r JOIN access_items i ON i.id=r.itemId JOIN access_workspaces w ON w.id=i.workspaceId WHERE w.companyId=:company`,{replacements,transaction}); 12 │ await db.query('DELETE r FROM access_revisions r JOIN access_items i ON i.id=r.itemId JOIN access_workspaces w ON w.id=i.workspaceId WHERE w.companyId=:company',{replacements,transaction}); > 13 │ for(const table of ['access_account_values','access_system_values']) await db.query(`DELETE v FROM ${table} v JOIN access_items i ON i.id=v.ownerId JOIN access_workspaces w ON w.id=i.workspaceId WHERE w.companyId=:company`,{replacements,transaction}); │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 14 │ await db.query('DELETE i FROM access_items i JOIN access_workspaces w ON w.id=i.workspaceId WHERE w.companyId=:company',{replacements,transaction}); 15 │ await db.query('DELETE FROM access_workspaces WHERE companyId=:company',{replacements,transaction}); i Unsafe fix: Wrap the statement with a `JsBlockStatement` 13 │ ·for(const·table·of·['access_account_values','access_system_values'])·{·await·db.query(`DELETE·v·FROM·${table}·v·JOIN·access_items·i·ON·i.id=v.ownerId·JOIN·access_workspaces·w·ON·w.id=i.workspaceId·WHERE·w.companyId=:company`,{replacements,transaction});·} │ ++ ++ .artifacts/account-deletion/cleanup-test.mts format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Formatter would have printed the following content: 1 │ - import·{·createDatabase,·readDatabaseEnvironment·}·from·'../../apps/server/src/config/database'; 2 │ - const·env=readDatabaseEnvironment(process.env); 3 │ - if(env.DB_NAME!=='metis_desk_test'||env.NODE_ENV!=='test')throw·Error('Solo·pruebas'); 4 │ - const·db=createDatabase(env); 5 │ - const·company='01a17cae-4bba-7070-a394-13f9009c5cfb'; 1 │ + import·{·createDatabase,·readDatabaseEnvironment·}·from·"../../apps/server/src/config/database"; 2 │ + const·env·=·readDatabaseEnvironment(process.env); 3 │ + if·(env.DB_NAME·!==·"metis_desk_test"·||·env.NODE_ENV·!==·"test")·throw·Error("Solo·pruebas"); 4 │ + const·db·=·createDatabase(env); 5 │ + const·company·=·"01a17cae-4bba-7070-a394-13f9009c5cfb"; 6 6 │ try { 7 │ - ·await·db.transaction(async·transaction=>{ 8 │ - ·const·replacements={company}; 9 │ - ·const·rows=await·db.query('SELECT·i.kind,i.id·FROM·access_items·i·JOIN·access_workspaces·w·ON·w.id=i.workspaceId·WHERE·w.companyId=:company',{replacements,transaction,type:'SELECT'}); 10 │ - ·console.info({fixtureCompany:company,items:rows}); 11 │ - ·for(const·table·of·['access_references','access_person_references'])·await·db.query(`DELETE·r·FROM·${table}·r·JOIN·access_items·i·ON·i.id=r.itemId·JOIN·access_workspaces·w·ON·w.id=i.workspaceId·WHERE·w.companyId=:company`,{replacements,transaction}); 12 │ - ·await·db.query('DELETE·r·FROM·access_revisions·r·JOIN·access_items·i·ON·i.id=r.itemId·JOIN·access_workspaces·w·ON·w.id=i.workspaceId·WHERE·w.companyId=:company',{replacements,transaction}); 13 │ - ·for(const·table·of·['access_account_values','access_system_values'])·await·db.query(`DELETE·v·FROM·${table}·v·JOIN·access_items·i·ON·i.id=v.ownerId·JOIN·access_workspaces·w·ON·w.id=i.workspaceId·WHERE·w.companyId=:company`,{replacements,transaction}); 14 │ - ·await·db.query('DELETE·i·FROM·access_items·i·JOIN·access_workspaces·w·ON·w.id=i.workspaceId·WHERE·w.companyId=:company',{replacements,transaction}); 15 │ - ·await·db.query('DELETE·FROM·access_workspaces·WHERE·companyId=:company',{replacements,transaction}); 16 │ - ·await·db.query('DELETE·FROM·companies·WHERE·id=:company',{replacements,transaction}); 17 │ - ·}); 18 │ - }finally·{await·db.close();} 7 │ + ··await·db.transaction(async·(transaction)·=>·{ 8 │ + ····const·replacements·=·{·company·}; 9 │ + ····const·rows·=·await·db.query( 10 │ + ······"SELECT·i.kind,i.id·FROM·access_items·i·JOIN·access_workspaces·w·ON·w.id=i.workspaceId·WHERE·w.companyId=:company", 11 │ + ······{·replacements,·transaction,·type:·"SELECT"·} 12 │ + ····); 13 │ + ····console.info({·fixtureCompany:·company,·items:·rows·}); 14 │ + ····for·(const·table·of·["access_references",·"access_person_references"]) 15 │ + ······await·db.query( 16 │ + ········`DELETE·r·FROM·${table}·r·JOIN·access_items·i·ON·i.id=r.itemId·JOIN·access_workspaces·w·ON·w.id=i.workspaceId·WHERE·w.companyId=:company`, 17 │ + ········{·replacements,·transaction·} 18 │ + ······); 19 │ + ····await·db.query( 20 │ + ······"DELETE·r·FROM·access_revisions·r·JOIN·access_items·i·ON·i.id=r.itemId·JOIN·access_workspaces·w·ON·w.id=i.workspaceId·WHERE·w.companyId=:company", 21 │ + ······{·replacements,·transaction·} 22 │ + ····); 23 │ + ····for·(const·table·of·["access_account_values",·"access_system_values"]) 24 │ + ······await·db.query( 25 │ + ········`DELETE·v·FROM·${table}·v·JOIN·access_items·i·ON·i.id=v.ownerId·JOIN·access_workspaces·w·ON·w.id=i.workspaceId·WHERE·w.companyId=:company`, 26 │ + ········{·replacements,·transaction·} 27 │ + ······); 28 │ + ····await·db.query( 29 │ + ······"DELETE·i·FROM·access_items·i·JOIN·access_workspaces·w·ON·w.id=i.workspaceId·WHERE·w.companyId=:company", 30 │ + ······{·replacements,·transaction·} 31 │ + ····); 32 │ + ····await·db.query("DELETE·FROM·access_workspaces·WHERE·companyId=:company",·{ 33 │ + ······replacements, 34 │ + ······transaction, 35 │ + ····}); 36 │ + ····await·db.query("DELETE·FROM·companies·WHERE·id=:company",·{·replacements,·transaction·}); 37 │ + ··}); 38 │ + }·finally·{ 39 │ + ··await·db.close(); 40 │ + } 19 41 │ .artifacts/resources-global-operating-systems-closure/closure-results.json format ━━━━━━━━━━━━━━━━━━ × Formatter would have printed the following content: 8 8 │ "id": "DB-SO-01", 9 9 │ "result": "pass", 10 │ - ······"http":·[ 11 │ - ········201 12 │ - ······] 10 │ + ······"http":·[201] 13 11 │ }, 14 12 │ { 15 13 │ "id": "DB-SO-02", 16 14 │ "result": "pass", 17 │ - ······"http":·[ 18 │ - ········201 19 │ - ······] 15 │ + ······"http":·[201] 20 16 │ }, 21 17 │ { 22 18 │ "id": "DB-SO-03", 23 19 │ "result": "pass", 24 │ - ······"http":·[ 25 │ - ········409 26 │ - ······] 20 │ + ······"http":·[409] 27 21 │ }, 28 22 │ { 29 23 │ "id": "DB-SO-04", 30 24 │ "result": "pass", 31 │ - ······"http":·[ 32 │ - ········201 33 │ - ······] 25 │ + ······"http":·[201] 34 26 │ }, 35 27 │ { 36 28 │ "id": "DB-SO-05", 37 29 │ "result": "pass", 38 │ - ······"http":·[ 39 │ - ········201 40 │ - ······] 30 │ + ······"http":·[201] 41 31 │ }, 42 32 │ { 43 33 │ "id": "DB-SO-06", 44 34 │ "result": "pass", 45 │ - ······"http":·[ 46 │ - ········201 47 │ - ······] 35 │ + ······"http":·[201] 48 36 │ }, 49 37 │ { 50 38 │ "id": "DB-SO-07", 51 39 │ "result": "pass", 52 │ - ······"http":·[ 53 │ - ········201, 54 │ - ········200 55 │ - ······] 40 │ + ······"http":·[201,·200] 56 41 │ }, 57 42 │ { 58 43 │ "id": "DB-SO-08", 59 44 │ "result": "pass", 60 │ - ······"http":·[ 61 │ - ········200 62 │ - ······] 45 │ + ······"http":·[200] 63 46 │ }, 64 47 │ { 65 48 │ "id": "DB-SO-09", 66 49 │ "result": "pass", 67 │ - ······"http":·[ 68 │ - ········404 69 │ - ······] 50 │ + ······"http":·[404] 70 51 │ }, 71 52 │ { 72 53 │ "id": "DB-SO-10", 73 54 │ "result": "pass", 74 │ - ······"http":·[ 75 │ - ········404 76 │ - ······] 55 │ + ······"http":·[404] 77 56 │ }, 78 57 │ { 79 58 │ "id": "DB-SO-11", 80 59 │ "result": "pass", 81 │ - ······"http":·[ 82 │ - ········200 83 │ - ······] 60 │ + ······"http":·[200] 84 61 │ }, 85 62 │ { 86 63 │ "id": "DB-SO-12", 87 64 │ "result": "pass", 88 │ - ······"http":·[ 89 │ - ········409 90 │ - ······] 65 │ + ······"http":·[409] 91 66 │ }, 92 67 │ { 93 68 │ "id": "DB-SO-13", 94 69 │ "result": "pass", 95 │ - ······"http":·[ 96 │ - ········200, 97 │ - ········200 98 │ - ······] 70 │ + ······"http":·[200,·200] 99 71 │ }, 100 72 │ { 101 73 │ "id": "DB-SO-14", 102 74 │ "result": "pass", 103 │ - ······"http":·[ 104 │ - ········200, 105 │ - ········200 106 │ - ······] 75 │ + ······"http":·[200,·200] 107 76 │ }, 108 77 │ { 109 78 │ "id": "DB-SO-15", 110 79 │ "result": "pass", 111 │ - ······"http":·[ 112 │ - ········409 113 │ - ······] 80 │ + ······"http":·[409] 114 81 │ }, 115 82 │ { 116 83 │ "id": "DB-SO-16", 117 84 │ "result": "pass", 118 │ - ······"http":·[ 119 │ - ········200, 120 │ - ········200 121 │ - ······] 85 │ + ······"http":·[200,·200] 122 86 │ }, 123 87 │ { 124 88 │ "id": "DB-SO-17", 125 89 │ "result": "pass", 126 │ - ······"http":·[ 127 │ - ········200 128 │ - ······] 90 │ + ······"http":·[200] 129 91 │ }, 130 92 │ { 131 93 │ "id": "DB-SO-18", 132 94 │ "result": "pass", 133 │ - ······"http":·[ 134 │ - ········200, 135 │ - ········200 136 │ - ······] 95 │ + ······"http":·[200,·200] 137 96 │ }, 138 97 │ { 139 98 │ "id": "DB-SO-19", 87 more lines truncated .artifacts/resources-global-operating-systems-closure/legacy-evolution.json format ━━━━━━━━━━━━━━━━━ × Formatter would have printed the following content: 99 99 │ "customizationPreserved": true, 100 100 │ "availabilityPreserved": true 101 │ - } 101 │ + } 102 │ + The number of diagnostics exceeds the limit allowed. Use --max-diagnostics to increase it. Diagnostics not shown: 166. Checked 2283 files in 2s. No fixes applied. Found 179 errors. Found 2 warnings. Found 5 infos. check ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Some errors were emitted while running checks. [ELIFECYCLE] Command failed with exit code 1.