From 67da64bc02d53e832fe279c32f58389956122165 Mon Sep 17 00:00:00 2001 From: runem Date: Wed, 15 Jul 2020 20:39:00 +0200 Subject: [PATCH] Update changelog --- CHANGELOG.md | 82 +++++++++++++++++++++--- packages/vscode-lit-plugin/CHANGELOG.md | 83 ++++++++++++++++++++++--- 2 files changed, 145 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21b71add..dcdba57b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,14 +2,76 @@ All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](http://keepachangelog.com/) - -## [1.1.11] - 2020-05-21 +## [1.2.0] - 15/7/2020 + +### Added + +- Added new rule `no-property-visibility-mismatch`. This rule will ensure public properties use `@property` and non-public properties use `@internalProperty` ([#100](https://github.com/runem/lit-analyzer/pull/100)) +- Added new rule `no-missing-element-type-definition` This rule will ensure that custom elements are registered on the + `HTMLElementTagNameMap` Typescript interface ([#73](https://github.com/runem/lit-analyzer/issues/73)) +- It's now possible to configure how many modules deep dependencies are followed to determine whether a custom element is available in the current file. When `-1` is used, dependencies will be followed infinitely deep. This can be configured for both external dependencies and project dependencies with `maxNodeModuleImportDepth` & `maxProjectImportDepth` ([#116](https://github.com/runem/lit-analyzer/pull/116)) +- In addition to extending `HTMLElementTagNameMap` it's now also possible extend the `HTMLElementEventMap` interface and the `HTMLElement` interface ([#53](https://github.com/runem/lit-analyzer/issues/53)) + +**Example:** + +``` +declare global { + interface HTMLElementTagNameMap { + "my-element": HTMLElement; + } + interface HTMLElementEventMap { + "my-event": Event; + } +} + +/** + * @attr my-attr + */ +interface HTMLElement { + myProperty: string; +} +``` + +- Added autocompletion for CSS shadow parts and CSS custom properties in CSS. It's possible to document those using JSDoc ([dd1ffc78](https://github.com/runem/lit-analyzer/pull/112/commits/dd1ffc78d4fb6ccbe49b7cf91c11ba02d8b0dfa5)) +- The [role](https://www.w3.org/TR/role-attribute/) and [controlslist](https://wicg.github.io/controls-list/html-output/multipage/embedded-content.html#attr-media-controlslist) attributes are now correctly type checked ([#89](https://github.com/runem/lit-analyzer/issues/89)) + +**Example:** + +``` +/** + * @cssprop {Color} --border-color - Sets the color of the border + * @csspart content - The content of my element + */ +class MyElement extends HTMLElement { +} +``` + +### Fixed and changed + +- Quick fix for missing imports now generates correct path on Windows ([#110](https://github.com/runem/lit-analyzer/pull/110)) +- **Type checking is now up to 15 times faster** +- `is-assignable-in-boolean-binding` now also accepts "null" and "undefined" types in boolean bindings. Example: `` +- "Fix message" is now included in the output for the CLI -`no-unknown-property-converter` has been removed and `no-incompatible-property-type` can be used instead. +- Improved JSDoc support +- Improved mixin support +- Private and protected members are now also analyzed +- All diagnostics in vscode are now reported as `lit-plugin([RULE_ID])` and have unique diagnostic codes ([#108](https://github.com/runem/lit-analyzer/issues/108)) +- When resolving imports for a given module, facade modules are always followed and do not increase depth ([#114](https://github.com/runem/lit-analyzer/pull/114)) +- Improve codefix for 'no-missing-import' rule ([#117](https://github.com/runem/lit-analyzer/pull/117)) + +### Project + +- Refactoring of rule modules +- Added more tests +- `lit-analyzer` now uses data from `vscode-web-custom-data` +- `cancellationToken` is now supported to prevent long running operations + +## [1.1.11] - 21/5/2020 ### Added @@ -22,7 +84,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - Better performance when using the `no-missing-imports` rule. `lit-analyzer` will still check imported modules in your project as usual, however, it will only follow imports 2 levels deep into any imported module from an external dependency (see [#93](https://github.com/runem/lit-analyzer/pull/93)) - The CLI-option `maxWarnings` defaults to `-1` to avoid failing when the analysis found only warnings (see [#96](https://github.com/runem/lit-analyzer/pull/96)) -## [1.1.10] - 2020-03-02 +## [1.1.10] - 2/3/2020 ### Added @@ -35,7 +97,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - Fixed problem where when input type is date, min and max should accept date string ([#77](https://github.com/runem/lit-analyzer/issues/77)) - Fixed `no-boolean-in-attribute-binding` to allow assigning booleans that are coerced to string to 'true'|'false' where appropriate ([#dc6cdc6db](https://github.com/runem/lit-analyzer/commit/dc6cdc6dbf5388e55d2d0b93fce21074deceeaad)) -## [1.1.9] - 2019-10-17 +## [1.1.9] - 17/10/2019 ### Added @@ -48,7 +110,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - Fixed problem where closing tags weren't auto-completed properly ([#37cba351](https://github.com/runem/lit-analyzer/commit/37cba3519762a1b8c6f6522baa40842e1b5ac504)) - Fixed problem where lit-analyzer would crash when running with a newer version of Typescript ([#58](https://github.com/runem/lit-analyzer/issues/58)) -## [1.1.8] - 2019-08-13 +## [1.1.8] - 13/8/2019 ### Added @@ -59,7 +121,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - Fix problem where the value of attributes on the form attr='val' could get parsed incorrectly. ([#36](https://github.com/runem/lit-analyzer/issues/36)) -## [1.1.4] - 2019-08-05 +## [1.1.4] - 5/8/2019 ### Added @@ -77,7 +139,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - The analyzer has been updated and should now be much more robust (see [web-component-analyzer](https://github.com/runem/web-component-analyzer)). - The type checker has been updated and should now be much more robust (see [ts-simple-type](https://github.com/runem/ts-simple-type)). -## [1.0.0] - 2019-04-01 +## [1.0.0] - 1/4/2019 ### Added @@ -99,7 +161,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - Temporarily disabled code formatting until issues with nested templates are solved. -## [0.1.0] - 2019-02-22 +## [0.1.0] - 22/2/2019 ### Added @@ -116,7 +178,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - Added various missing global built in elements. - Added various missing global built in attributes like 'aria-\*' attributes. -## [0.0.24] - 2019-02-08 +## [0.0.24] - 8/2/2019 ### Added diff --git a/packages/vscode-lit-plugin/CHANGELOG.md b/packages/vscode-lit-plugin/CHANGELOG.md index ea1218a5..dcdba57b 100644 --- a/packages/vscode-lit-plugin/CHANGELOG.md +++ b/packages/vscode-lit-plugin/CHANGELOG.md @@ -2,14 +2,76 @@ All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](http://keepachangelog.com/) - -## [1.1.11] - 2020-05-21 +## [1.2.0] - 15/7/2020 + +### Added + +- Added new rule `no-property-visibility-mismatch`. This rule will ensure public properties use `@property` and non-public properties use `@internalProperty` ([#100](https://github.com/runem/lit-analyzer/pull/100)) +- Added new rule `no-missing-element-type-definition` This rule will ensure that custom elements are registered on the + `HTMLElementTagNameMap` Typescript interface ([#73](https://github.com/runem/lit-analyzer/issues/73)) +- It's now possible to configure how many modules deep dependencies are followed to determine whether a custom element is available in the current file. When `-1` is used, dependencies will be followed infinitely deep. This can be configured for both external dependencies and project dependencies with `maxNodeModuleImportDepth` & `maxProjectImportDepth` ([#116](https://github.com/runem/lit-analyzer/pull/116)) +- In addition to extending `HTMLElementTagNameMap` it's now also possible extend the `HTMLElementEventMap` interface and the `HTMLElement` interface ([#53](https://github.com/runem/lit-analyzer/issues/53)) + +**Example:** + +``` +declare global { + interface HTMLElementTagNameMap { + "my-element": HTMLElement; + } + interface HTMLElementEventMap { + "my-event": Event; + } +} + +/** + * @attr my-attr + */ +interface HTMLElement { + myProperty: string; +} +``` + +- Added autocompletion for CSS shadow parts and CSS custom properties in CSS. It's possible to document those using JSDoc ([dd1ffc78](https://github.com/runem/lit-analyzer/pull/112/commits/dd1ffc78d4fb6ccbe49b7cf91c11ba02d8b0dfa5)) +- The [role](https://www.w3.org/TR/role-attribute/) and [controlslist](https://wicg.github.io/controls-list/html-output/multipage/embedded-content.html#attr-media-controlslist) attributes are now correctly type checked ([#89](https://github.com/runem/lit-analyzer/issues/89)) + +**Example:** + +``` +/** + * @cssprop {Color} --border-color - Sets the color of the border + * @csspart content - The content of my element + */ +class MyElement extends HTMLElement { +} +``` + +### Fixed and changed + +- Quick fix for missing imports now generates correct path on Windows ([#110](https://github.com/runem/lit-analyzer/pull/110)) +- **Type checking is now up to 15 times faster** +- `is-assignable-in-boolean-binding` now also accepts "null" and "undefined" types in boolean bindings. Example: `` +- "Fix message" is now included in the output for the CLI -`no-unknown-property-converter` has been removed and `no-incompatible-property-type` can be used instead. +- Improved JSDoc support +- Improved mixin support +- Private and protected members are now also analyzed +- All diagnostics in vscode are now reported as `lit-plugin([RULE_ID])` and have unique diagnostic codes ([#108](https://github.com/runem/lit-analyzer/issues/108)) +- When resolving imports for a given module, facade modules are always followed and do not increase depth ([#114](https://github.com/runem/lit-analyzer/pull/114)) +- Improve codefix for 'no-missing-import' rule ([#117](https://github.com/runem/lit-analyzer/pull/117)) + +### Project + +- Refactoring of rule modules +- Added more tests +- `lit-analyzer` now uses data from `vscode-web-custom-data` +- `cancellationToken` is now supported to prevent long running operations + +## [1.1.11] - 21/5/2020 ### Added @@ -20,8 +82,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) ### Fixed - Better performance when using the `no-missing-imports` rule. `lit-analyzer` will still check imported modules in your project as usual, however, it will only follow imports 2 levels deep into any imported module from an external dependency (see [#93](https://github.com/runem/lit-analyzer/pull/93)) +- The CLI-option `maxWarnings` defaults to `-1` to avoid failing when the analysis found only warnings (see [#96](https://github.com/runem/lit-analyzer/pull/96)) -## [1.1.10] - 2020-03-02 +## [1.1.10] - 2/3/2020 ### Added @@ -34,7 +97,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - Fixed problem where when input type is date, min and max should accept date string ([#77](https://github.com/runem/lit-analyzer/issues/77)) - Fixed `no-boolean-in-attribute-binding` to allow assigning booleans that are coerced to string to 'true'|'false' where appropriate ([#dc6cdc6db](https://github.com/runem/lit-analyzer/commit/dc6cdc6dbf5388e55d2d0b93fce21074deceeaad)) -## [1.1.9] - 2019-10-17 +## [1.1.9] - 17/10/2019 ### Added @@ -47,7 +110,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - Fixed problem where closing tags weren't auto-completed properly ([#37cba351](https://github.com/runem/lit-analyzer/commit/37cba3519762a1b8c6f6522baa40842e1b5ac504)) - Fixed problem where lit-analyzer would crash when running with a newer version of Typescript ([#58](https://github.com/runem/lit-analyzer/issues/58)) -## [1.1.8] - 2019-08-13 +## [1.1.8] - 13/8/2019 ### Added @@ -58,7 +121,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - Fix problem where the value of attributes on the form attr='val' could get parsed incorrectly. ([#36](https://github.com/runem/lit-analyzer/issues/36)) -## [1.1.4] - 2019-08-05 +## [1.1.4] - 5/8/2019 ### Added @@ -76,7 +139,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - The analyzer has been updated and should now be much more robust (see [web-component-analyzer](https://github.com/runem/web-component-analyzer)). - The type checker has been updated and should now be much more robust (see [ts-simple-type](https://github.com/runem/ts-simple-type)). -## [1.0.0] - 2019-04-01 +## [1.0.0] - 1/4/2019 ### Added @@ -98,7 +161,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - Temporarily disabled code formatting until issues with nested templates are solved. -## [0.1.0] - 2019-02-22 +## [0.1.0] - 22/2/2019 ### Added @@ -115,7 +178,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) - Added various missing global built in elements. - Added various missing global built in attributes like 'aria-\*' attributes. -## [0.0.24] - 2019-02-08 +## [0.0.24] - 8/2/2019 ### Added