Skip to content

[master] Michijs Dependabot changes#108

Closed
michijs[bot] wants to merge 1 commit into
masterfrom
michijs/dependabot
Closed

[master] Michijs Dependabot changes#108
michijs[bot] wants to merge 1 commit into
masterfrom
michijs/dependabot

chore: Dependabot changes

4cf6faf
Select commit
Loading
Failed to load commit list.
Michijs / Format and safe fixes check required action Nov 18, 2025 in 5s

Quality checks

Job ID: 019a97de-cc9c-4b52-928d-25b6c28d4579

Details

Checked 13 files in 551ms. No fixes applied.
Found 16 errors.
Found 3 warnings.
Found 6 infos.

dist/svg.json ci ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

i The size of the file is 3.2 MiB, which exceeds the configured maximum of 1.0 MiB for this project.
Use the files.maxSize configuration to change the maximum size of files processed, or files.includes to ignore the file.

tasks/attributes.ts:122:28 lint/style/useArrayLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

i Use an array literal instead of the Array constructor.

120 │         const amount = ["Min", "Mid", "Max"];
121 │         const meetOrSlice = ["meet", "slice"];

122 │ const arrayWithX = new Array();
│ ^^^^^^^^^^^^^^^^^^^
123 │ amount.forEach((y) => {
124 │ arrayWithX.push(x${y});

i The Array constructor is misleading because it can be used to preallocate an array of a given length or to create an array with a given list of elements.

i Safe fix: Use an array literal.

120 120 │           const amount = ["Min", "Mid", "Max"];
121 121 │           const meetOrSlice = ["meet", "slice"];
122     │ - ········const·arrayWithX·=·new·Array<string>();
    122 │ + ········const·arrayWithX:·string[]·=·[];
123 123 │           amount.forEach((y) => {
124 124 │             arrayWithX.push(`x${y}`);

tasks/attributes.ts:126:32 lint/style/useArrayLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

i Use an array literal instead of the Array constructor.

124 │           arrayWithX.push(`x${y}`);
125 │         });

126 │ const arrayWithXAndY = new Array();
│ ^^^^^^^^^^^^^^^^^^^
127 │ arrayWithX.forEach((x) => {
128 │ amount.forEach((y) => {

i The Array constructor is misleading because it can be used to preallocate an array of a given length or to create an array with a given list of elements.

i Safe fix: Use an array literal.

124 124 │             arrayWithX.push(`x${y}`);
125 125 │           });
126     │ - ········const·arrayWithXAndY·=·new·Array<string>();
    126 │ + ········const·arrayWithXAndY:·string[]·=·[];
127 127 │           arrayWithX.forEach((x) => {
128 128 │             amount.forEach((y) => {

tasks/attributes.ts:132:28 lint/style/useArrayLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

i Use an array literal instead of the Array constructor.

130 │           });
131 │         });

132 │ const finalArray = new Array();
│ ^^^^^^^^^^^^^^^^^^^
133 │ arrayWithXAndY.forEach((x) => {
134 │ meetOrSlice.forEach((y) => {

i The Array constructor is misleading because it can be used to preallocate an array of a given length or to create an array with a given list of elements.

i Safe fix: Use an array literal.

130 130 │             });
131 131 │           });
132     │ - ········const·finalArray·=·new·Array<string>();
    132 │ + ········const·finalArray:·string[]·=·[];
133 133 │           arrayWithXAndY.forEach((x) => {
134 134 │             meetOrSlice.forEach((y) => {

tasks/attributes.ts:161:8 lint/style/useArrayLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

i Use an array literal instead of the Array constructor.

159 │         `${currentValue} slice`,
160 │       );

161 │ }, new Array()),
│ ^^^^^^^^^^^^^^^^^^^
162 │ ),
163 │ rotate: attribute(

i The Array constructor is misleading because it can be used to preallocate an array of a given length or to create an array with a given list of elements.

i Safe fix: Use an array literal.

159 159 │           `${currentValue} slice`,
160 160 │         );
161     │ - ····},·new·Array<string>()),
    161 │ + ····},·[]·as·string[]),
162 162 │     ),
163 163 │     rotate: attribute(

tasks/generateTypes.ts:1:21 lint/style/useNodejsImportProtocol FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━

i A Node.js builtin module should be imported with the node: protocol.

1 │ import * as fs from "fs";
│ ^^^^
2 │ import type { HTMLDataV1, IAttributeData } from "vscode-html-languageservice";
3 │ import { attributes } from "./attributes";

i Using the node: protocol is more explicit and signals that the imported module belongs to Node.js.

i Unsafe fix: Add the node: protocol.

  1     │ - import·*·as·fs·from·"fs";
      1 │ + import·*·as·fs·from·"node:fs";
  2   2 │   import type { HTMLDataV1, IAttributeData } from "vscode-html-languageservice";
  3   3 │   import { attributes } from "./attributes";

tasks/generateTypes.ts:921:8 lint/style/useArrayLiterals FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

i Use an array literal instead of the Array constructor.

919 │       ]);
920 │       return prevValue;

921 │ }, new Array<[string, IAttributeData[]]>())
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
922 │ .sort(),
923 │ );

i The Array constructor is misleading because it can be used to preallocate an array of a given length or to create an array with a given list of elements.

i Safe fix: Use an array literal.

919 919 │         ]);
920 920 │         return prevValue;
921     │ - ····},·new·Array<[string,·IAttributeData[]]>())
    921 │ + ····},·[]·as·([string,·IAttributeData[]])[])
922 922 │       .sort(),
923 923 │   );

tasks/compatData.ts:7:4 lint/suspicious/noTsIgnore FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

! Unsafe use of the @ts-ignore directive found in this comment.

5 │   type SupportStatement,
6 │ } from "@mdn/browser-compat-data";

7 │ // @ts-ignore
│ ^^^^^^^^^^
8 │ import { getStatus } from "compute-baseline";
9 │ import type { IAttributeData, ITagData } from "vscode-html-languageservice";

i The directive is applied to this line.

 6 │ } from "@mdn/browser-compat-data";
 7 │ // @ts-ignore

8 │ import { getStatus } from "compute-baseline";
│ ^^^^^^
9 │ import type { IAttributeData, ITagData } from "vscode-html-languageservice";
10 │ import { attributeSets } from "./attributeSets";

i The @ts-ignore directive suppresses any kind of error, even possible errors that might be fixed by upstream libraries or the compiler itself.

i Safe fix: Use the @ts-expect-error directive instead.

  5   5 │     type SupportStatement,
  6   6 │   } from "@mdn/browser-compat-data";
  7     │ - //·@ts-ignore
      7 │ + //·@ts-expect-error
  8   8 │   import { getStatus } from "compute-baseline";
  9   9 │   import type { IAttributeData, ITagData } from "vscode-html-languageservice";

tasks/compatData.ts:149:6 lint/suspicious/noTsIgnore FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

! Unsafe use of the @ts-ignore directive found in this comment.

147 │   }
148 │   t.browsers = getBrowserCompatString(status.support) as string[] | undefined;

149 │ // @ts-ignore
│ ^^^^^^^^^^
150 │ delete status.support;
151 │ t.status = status;

i The directive is applied to this line.

148 │   t.browsers = getBrowserCompatString(status.support) as string[] | undefined;
149 │   // @ts-ignore

150 │ delete status.support;
│ ^^^^^^
151 │ t.status = status;
152 │

i The @ts-ignore directive suppresses any kind of error, even possible errors that might be fixed by upstream libraries or the compiler itself.

i Safe fix: Use the @ts-expect-error directive instead.

147 147 │     }
148 148 │     t.browsers = getBrowserCompatString(status.support) as string[] | undefined;
149     │ - ··//·@ts-ignore
    149 │ + ··//·@ts-expect-error
150 150 │     delete status.support;
151 151 │     t.status = status;

tasks/compatData.ts:116:13 lint/correctness/noUnusedVariables ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

! This variable support is unused.

114 │     a.browsers = getBrowserCompatString(attrStatus.support);
115 │ 

116 │ const { support, ...status } = attrStatus;
│ ^^^^^^^
117 │ a.status = status;
118 │ });

i Unused variables are often the result of an incomplete refactoring, typos, or other sources of bugs.

i You can use the ignoreRestSiblings option to ignore unused variables in an object destructuring with a spread.

.vscode/launch.json format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× File content differs from formatting output

 4  4 │   // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
 5  5 │   {
 6    │ - → "version":·"0.2.0",
 7    │ - ····"configurations":·[
 8    │ - ········{
 9    │ - ············"name":·"Extension",
10    │ - ············"type":·"extensionHost",
11    │ - ············"request":·"launch",
12    │ - ············"args":·[
13    │ - ················"--extensionDevelopmentPath=${workspaceFolder}"
14    │ - ············]
15    │ - ········}
16    │ - ····]
17    │ - }
    6 │ + ··"version":·"0.2.0",
    7 │ + ··"configurations":·[
    8 │ + ····{
    9 │ + ······"name":·"Extension",
   10 │ + ······"type":·"extensionHost",
   11 │ + ······"request":·"launch",
   12 │ + ······"args":·["--extensionDevelopmentPath=${workspaceFolder}"]
   13 │ + ····}
   14 │ + ··]
   15 │ + }
   16 │ + 

.vscode/settings.json:7:3 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× Expected a property but instead found '}'.

5 │     "package.json": "bun.lockb, README.md,.gitignore, *tsconfig.json, rome.json, dist.tsconfig.json, LICENSE.md, package-lock.json, jest-puppeteer.config.js, michi.config.ts",
6 │     "*.tsx": "$(capture).css, $(capture).css.ts, $(capture).html, $(capture).spec.ts, $(capture).spec.tsx",

7 │ }
│ ^
8 │ }
9 │

i Expected a property here.

5 │     "package.json": "bun.lockb, README.md,.gitignore, *tsconfig.json, rome.json, dist.tsconfig.json, LICENSE.md, package-lock.json, jest-puppeteer.config.js, michi.config.ts",
6 │     "*.tsx": "$(capture).css, $(capture).css.ts, $(capture).html, $(capture).spec.ts, $(capture).spec.tsx",

7 │ }
│ ^
8 │ }
9 │

.vscode/settings.json:7:3 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× Expected a property but instead found '}'.

5 │     "package.json": "bun.lockb, README.md,.gitignore, *tsconfig.json, rome.json, dist.tsconfig.json, LICENSE.md, package-lock.json, jest-puppeteer.config.js, michi.config.ts",
6 │     "*.tsx": "$(capture).css, $(capture).css.ts, $(capture).html, $(capture).spec.ts, $(capture).spec.tsx",

7 │ }
│ ^
8 │ }
9 │

i Expected a property here.

5 │     "package.json": "bun.lockb, README.md,.gitignore, *tsconfig.json, rome.json, dist.tsconfig.json, LICENSE.md, package-lock.json, jest-puppeteer.config.js, michi.config.ts",
6 │     "*.tsx": "$(capture).css, $(capture).css.ts, $(capture).html, $(capture).spec.ts, $(capture).spec.tsx",

7 │ }
│ ^
8 │ }
9 │

.vscode/settings.json format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× File content differs from formatting output

6 │ ····"*.tsx":·"$(capture).css,·$(capture).css.ts,·$(capture).html,·$(capture).spec.ts,·$(capture).spec.tsx",
  │                                                                                                           -

.vscode/tasks.json:12:9 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× Expected a property but instead found '}'.

10 │                 "isDefault": true
11 │             },

12 │ },
│ ^
13 │ ]
14 │ }

i Expected a property here.

10 │                 "isDefault": true
11 │             },

12 │ },
│ ^
13 │ ]
14 │ }

.vscode/tasks.json:13:5 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× Expected an array, an object, or a literal but instead found ']'.

11 │             },
12 │         },

13 │ ]
│ ^
14 │ }

i Expected an array, an object, or a literal here.

11 │             },
12 │         },

13 │ ]
│ ^
14 │ }

.vscode/tasks.json:12:9 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× Expected a property but instead found '}'.

10 │                 "isDefault": true
11 │             },

12 │ },
│ ^
13 │ ]
14 │ }

i Expected a property here.

10 │                 "isDefault": true
11 │             },

12 │ },
│ ^
13 │ ]
14 │ }

.vscode/tasks.json:13:5 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× Expected an array, an object, or a literal but instead found ']'.

11 │             },
12 │         },

13 │ ]
│ ^
14 │ }

i Expected an array, an object, or a literal here.

11 │             },
12 │         },

13 │ ]
│ ^
14 │ }

.vscode/tasks.json format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× File content differs from formatting output

 1  1 │   {
 2    │ - ····"version":·"2.0.0",
 3    │ - ····"tasks":·[
 4    │ - ········{
 5    │ - ············"label":·"run",
 6    │ - ············"type":·"npm",
 7    │ - ············"script":·"start",
 8    │ - ············"group":·{
 9    │ - ················"kind":·"test",
10    │ - ················"isDefault":·true
11    │ - ············},
12    │ - ········},
13    │ - ····]
14    │ - }
    2 │ + ··"version":·"2.0.0",
    3 │ + ··"tasks":·[
    4 │ + ····{
    5 │ + ······"label":·"run",
    6 │ + ······"type":·"npm",
    7 │ + ······"script":·"start",
    8 │ + ······"group":·{
    9 │ + ········"kind":·"test",
   10 │ + ········"isDefault":·true
   11 │ + ······}
   12 │ + ····}
   13 │ + ··]
   14 │ + }
   15 │ + 

biome.json format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× File content differs from formatting output

1 1 │   {
2   │ - ··"extends":·[
3   │ - ····"@michijs/shared-configs/biome"
4   │ - ··]
5   │ - }
  2 │ + ··"extends":·["@michijs/shared-configs/biome"]
  3 │ + }
  4 │ + 

dist/attributeSets.json format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× File content differs from formatting output

  48   48 │           }
  49   49 │         ],
  50      │ - ······"browsers":·[
  51      │ - ········"C2",
  52      │ - ········"CA18",
  53      │ - ········"E79",
  54      │ - ········"FF4",
  55      │ - ········"FFA4",
  56      │ - ········"S4",
  57      │ - ········"SM3.2"
  58      │ - ······],
       50 │ + ······"browsers":·["C2",·"CA18",·"E79",·"FF4",·"FFA4",·"S4",·"SM3.2"],
  59   51 │         "status": {
  60   52 │           "baseline": "high",
········· │ 
  83   75 │           }
  84   76 │         ],
  85      │ - ······"browsers":·[
  86      │ - ········"C2",
  87      │ - ········"CA18",
  88      │ - ········"E79",
  89      │ - ········"FF4",
  90      │ - ········"FFA4",
  91      │ - ········"S4",
  92      │ - ········"SM3.2"
  93      │ - ······],
       77 │ + ······"browsers":·["C2",·"CA18",·"E79",·"FF4",·"FFA4",·"S4",·"SM3.2"],
  94   78 │         "status": {
  95   79 │           "baseline": "high",
········· │ 
 109   93 │           }
 110   94 │         ],
 111      │ - ······"browsers":·[
 112      │ - ········"C50",
 113      │ - ········"CA50",
 114      │ - ········"E12",
 115      │ - ········"FF1.5",
 116      │ - ········"FFA4",
 117      │ - ········"S12.1",
 118      │ - ········"SM12.2"
 119      │ - ······],
       95 │ + ······"browsers":·["C50",·"CA50",·"E12",·"FF1.5",·"FFA4",·"S12.1",·"SM12.2"],
 120   96 │         "status": {
 121   97 │           "baseline": "high",
········· │ 
 145  121 │           }
 146  122 │         ],
 147      │ - ······"browsers":·[
 148      │ - ········"C2",
 149      │ - ········"CA18",
 150      │ - ········"E79",
 151      │ - ········"FF4",
 152      │ - ········"FFA4",
 153      │ - ········"S4",
 154      │ - ········"SM3.2"
 155      │ - ······],
      123 │ + ······"browsers":·["C2",·"CA18",·"E79",·"FF4",·"FFA4",·"S4",·"SM3.2"],
 156  124 │         "status": {
 157  125 │           "baseline": "high",
········· │ 
 179  147 │           }
 180  148 │         ],
 181      │ - ······"browsers":·[
 182      │ - ········"C2",
 183      │ - ········"CA18",
 184      │ - ········"E79",
 185      │ - ········"FF4",
 186      │ - ········"FFA4",
 187      │ - ········"S3",
 188      │ - ········"SM2"
 189      │ - ······],
      149 │ + ······"browsers":·["C2",·"CA18",·"E79",·"FF4",·"FFA4",·"S3",·"SM2"],
 190  150 │         "status": {
 191  151 │           "baseline": "high",
········· │ 
 223  183 │           }
 224  184 │         ],
 225      │ - ······"browsers":·[
 226      │ - ········"C2",
 227      │ - ········"CA18",
 228      │ - ········"E79",
 229      │ - ········"FF4",
 230      │ - ········"FFA4",
 231      │ - ········"S4",
 232      │ - ········"SM3.2"
 233      │ - ······],
      185 │ + ······"browsers":·["C2",·"CA18",·"E79",·"FF4",·"FFA4",·"S4",·"SM3.2"],
 234  186 │         "status": {
 235  187 │           "baseline": "high",
········· │ 
 285  237 │           }
 286  238 │         ],
 287      │ - ······"browsers":·[
 288      │ - ········"C2",
 289      │ - ········"CA18",
 290      │ - ········"E79",
 291      │ - ········"FF4",
 292      │ - ········"FFA4",
 293      │ - ········"S3",
 294      │ - ········"SM2"
 295      │ - ······],
      239 │ + ······"browsers":·["C2",·"CA18",·"E79",·"FF4",·"FFA4",·"S3",·"SM2"],
 296  240 │         "status": {
 297  241 │           "baseline": "high",
········· │ 
 323  267 │           }
 324  268 │         ],
 325      │ - ······"browsers":·[
 326      │ - ········"C19",
 327      │ - ········"CA25",
 328      │ - ········"E79",
 329      │ - ········"FF4",
 330      │ - ········"FFA4",
 331      │ - ········"S6",
 332      │ - ········"SM6"
 333      │ - ······],
      269 │ + ······"browsers":·["C19",·"CA25",·"E79",·"FF4",·"FFA4",·"S6",·"SM6"],
 334  270 │         "status": {
 335  271 │           "baseline": "high",
········· │ 
 347  283 │           }
 348  284 │         ],
 349      │ - ······"browsers":·[
 350      │ - ········"C2",
 351      │ - ········"CA18",
 352      │ - ········"E79",
 353      │ - ········"FF4",
 354      │ - ········"FFA4",
 355      │ - ········"S3",
 356      │ - ········"SM2"
 357      │ - ······],
      285 │ + ······"browsers":·["C2",·"CA18",·"E79",·"FF4",·"FFA4",·"S3",·"SM2"],
 358  286 │         "status": {
 359  287 │           "baseline": "high",
········· │ 
 391  319 │           }
 392  320 │         ],
 393      │ - ······"browsers":·[
 394      │ - ········"C2",
 395      │ - ········"CA18",
 396      │ - ········"E≤79",
 397      │ - ········"FF4",
 398      │ - ········"FFA4",
 399      │ - ········"S3",
 400      │ - ········"SM1"
 401      │ - ······],
      321 │ + ······"browsers":·["C2",·"CA18",·"E≤79",·"FF4",·"FFA4",·"S3",·"SM1"],
 402  322 │         "status": {
 403  323 │           "baseline": "high",
········· │ 
1086 1006 │           }
1087 1007 │         ],
1088      │ - ······"browsers":·[
1089      │ - ········"C1",
1090      │ - ········"CA18",
1091      │ - ········"E79",
1092      │ - ········"FF1.5",
1093      │ - ········"FFA4",
1094      │ - ········"S3",
1095      │ - ········"SM2"

630 more lines truncated

tasks/compatData.ts:15:17 lint/style/noUnusedTemplateLiteral FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× Do not use template literals if interpolation and special-character handling are not needed.

13 │ export const featureBcd = bcd[namespace];
14 │ export const bcdElements = featureBcd.elements;

15 │ const baseMDN = https://developer.mozilla.org/en-US/docs/Web/SVG;
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
16 │ const elementsMDN = ${baseMDN}/Element;
17 │ const attributesMDN = ${baseMDN}/Attribute;

i Safe fix: Replace with string literal

 13  13 │   export const featureBcd = bcd[namespace];
 14  14 │   export const bcdElements = featureBcd.elements;
 15     │ - const·baseMDN·=·`https://developer.mozilla.org/en-US/docs/Web/SVG`;
     15 │ + const·baseMDN·=·"https://developer.mozilla.org/en-US/docs/Web/SVG";
 16  16 │   const elementsMDN = `${baseMDN}/Element`;
 17  17 │   const attributesMDN = `${baseMDN}/Attribute`;

tasks/compatData.ts:52:7 lint/suspicious/noImplicitAnyLet ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× This variable implicitly has the any type.

50 │   browserAbbrev: string,
51 │ ): string {

52 │ let version_added;
│ ^^^^^^^^^^^^^
53 │ if (Array.isArray(support) && support[0] && support[0].version_added) {
54 │ version_added = support[0].version_added;

i Variable declarations without type annotation and initialization implicitly have the any type. Declare a type or initialize the variable with some value.

tasks/compatData.ts:62:7 lint/style/noUselessElse FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× This else clause can be omitted because previous branches break early.

60 │     if (typeof version_added === "boolean") {
61 │       return browserAbbrev;

62 │ } else {
│ ^^^^^^
63 │ return ${browserAbbrev}${version_added};
64 │ }
│ ^
65 │ }
66 │

i Safe fix: Omit the else clause.

 60  60 │       if (typeof version_added === "boolean") {
 61  61 │         return browserAbbrev;
 62     │ - ····}·else·{
     62 │ + ····}
 63  63 │         return `${browserAbbrev}${version_added}`;
 64     │ - ····}
 65  64 │     }
 66  65 │   

tasks/compatData.ts:87:9 lint/suspicious/noImplicitAnyLet ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× This variable implicitly has the any type.

85 │   // Add the Baseline status to each attribute
86 │   attributes.forEach((a) => {

87 │ let attributeNamespace, bcdMatchingAttr;
│ ^^^^^^^^^^^^^^^^^^
88 │ if (t) {
89 │ attributeNamespace = elements.${t.name};

i Variable declarations without type annotation and initialization implicitly have the any type. Declare a type or initialize the variable with some value.

tsconfig.json format ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× File content differs from formatting output

12 12 │       "experimentalDecorators": true,
13 13 │       "noErrorTruncation": true,
14    │ - ····"lib":·[
15    │ - ······"dom",
16    │ - ······"esnext"
17    │ - ····],
   14 │ + ····"lib":·["dom",·"esnext"],
18 15 │       "incremental": true,
19 16 │       "outDir": "bin",
····· │ 
24 21 │       "noUnusedParameters": false
25 22 │     },
26    │ - ··"include":·[
27    │ - ····"./tasks"
28    │ - ··],
29    │ - ··"exclude":·[
30    │ - ····"node_modules"
31    │ - ··]
32    │ - }
   23 │ + ··"include":·["./tasks"],
   24 │ + ··"exclude":·["node_modules"]
   25 │ + }
   26 │ + 

ci ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

× Some errors were emitted while running checks.