From 3e700dfbb653a005bc959e2cf4c1c12769c89174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oscar=20Bolan=CC=83os?= Date: Wed, 9 Jun 2021 14:10:55 +0200 Subject: [PATCH 1/3] aria-haspopup no-incompatible-type-binding false alarm * Updated underlying vscode-web-customdata that exposes the type for aria-haspopup. * Added test to make sure setting a non-boolean value is correct. --- packages/lit-analyzer/package.json | 6 +++--- .../test/rules/no-incompatible-type-binding.ts | 10 ++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/lit-analyzer/package.json b/packages/lit-analyzer/package.json index 521aebde..1d76af42 100644 --- a/packages/lit-analyzer/package.json +++ b/packages/lit-analyzer/package.json @@ -45,8 +45,8 @@ "fast-glob": "^2.2.6", "parse5": "5.1.0", "ts-simple-type": "~1.0.5", - "vscode-css-languageservice": "4.3.0", - "vscode-html-languageservice": "3.1.0", + "vscode-css-languageservice": "4.4.0", + "vscode-html-languageservice": "3.2.0", "web-component-analyzer": "~1.1.1" }, "devDependencies": { @@ -67,7 +67,7 @@ "typescript-3.7": "npm:typescript@~3.7.4", "typescript-3.8": "npm:typescript@~3.8.3", "typescript-3.9": "npm:typescript@~3.9.3", - "vscode-web-custom-data": "0.3.0" + "vscode-web-custom-data": "0.3.4" }, "ava": { "cache": true, diff --git a/packages/lit-analyzer/test/rules/no-incompatible-type-binding.ts b/packages/lit-analyzer/test/rules/no-incompatible-type-binding.ts index 51a96a7f..6c1c77e2 100644 --- a/packages/lit-analyzer/test/rules/no-incompatible-type-binding.ts +++ b/packages/lit-analyzer/test/rules/no-incompatible-type-binding.ts @@ -115,6 +115,16 @@ tsTest("Attribute binding: Boolean type expression (false) is assignable to 'tru hasNoDiagnostics(t, diagnostics); }); +tsTest("Attribute binding: Non boolean expression (dialog) is assignable to aria-haspopup", t => { + const { diagnostics } = getDiagnostics('html``', { rules: { "no-boolean-in-attribute-binding": false } }); + hasNoDiagnostics(t, diagnostics); +}); + +tsTest("Attribute binding: Random string literal is not assignable to aria-haspopup", t => { + const { diagnostics } = getDiagnostics('html``', { rules: { "no-boolean-in-attribute-binding": false } }); + hasDiagnostic(t, diagnostics, "no-incompatible-type-binding"); +}); + tsTest("Attribute binding: Union of 'string | Directive' type expression is assignable to string", t => { const { diagnostics } = getDiagnostics('type DirectiveFn = {}; html``'); hasNoDiagnostics(t, diagnostics); From 64b02f1ddfc4f473fa24c36610829601dfb47f50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oscar=20Bolan=CC=83os?= Date: Wed, 30 Jun 2021 19:42:48 +0200 Subject: [PATCH 2/3] aria-haspopup no-incompatible-type-binding false alarm * Removed custom rule since we are not testing boolean attributes. --- .../lit-analyzer/test/rules/no-incompatible-type-binding.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/lit-analyzer/test/rules/no-incompatible-type-binding.ts b/packages/lit-analyzer/test/rules/no-incompatible-type-binding.ts index 6c1c77e2..ba1917d9 100644 --- a/packages/lit-analyzer/test/rules/no-incompatible-type-binding.ts +++ b/packages/lit-analyzer/test/rules/no-incompatible-type-binding.ts @@ -116,12 +116,12 @@ tsTest("Attribute binding: Boolean type expression (false) is assignable to 'tru }); tsTest("Attribute binding: Non boolean expression (dialog) is assignable to aria-haspopup", t => { - const { diagnostics } = getDiagnostics('html``', { rules: { "no-boolean-in-attribute-binding": false } }); + const { diagnostics } = getDiagnostics('html``'); hasNoDiagnostics(t, diagnostics); }); tsTest("Attribute binding: Random string literal is not assignable to aria-haspopup", t => { - const { diagnostics } = getDiagnostics('html``', { rules: { "no-boolean-in-attribute-binding": false } }); + const { diagnostics } = getDiagnostics('html``'); hasDiagnostic(t, diagnostics, "no-incompatible-type-binding"); }); From 5e678af5886becb9ac0be8e59364971bfe38d7ac Mon Sep 17 00:00:00 2001 From: Oscar Bolanos Date: Fri, 25 Feb 2022 16:00:47 +0100 Subject: [PATCH 3/3] Updated to latest vscode-web-custom-data dependency. --- packages/lit-analyzer/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/lit-analyzer/package.json b/packages/lit-analyzer/package.json index 9e859113..19ba7d36 100644 --- a/packages/lit-analyzer/package.json +++ b/packages/lit-analyzer/package.json @@ -49,7 +49,7 @@ "ts-simple-type": "~1.0.5", "vscode-css-languageservice": "4.4.0", "vscode-html-languageservice": "3.2.0", - "vscode-web-custom-data": "0.3.4", + "vscode-web-custom-data": "^0.3.6", "web-component-analyzer": "~1.1.1" }, "devDependencies": {