All notable changes to the "svelte-intellisense" extension will be documented in this file.
Check Keep a Changelog for recommendations on how to structure this file.
- 🔒 [Fixed] Upgrade all dependecies to latest version to solve known vulnarability issues.
- ✔ [Added] Add support ES6 default value assignment for method parameter Issue #75. Thanks for @ekhaled.
- ✔ [Added] Add support of method parsing when it assigned to identifier Issue #78. Thanks for @ekhaled.
- ✔ [Added] Extend typings to support
self
andtrusted
event modifiers [Issue #80]. - ✔ [Added] Introduce
JSDocTypeFunction
to support functions types in variable definitions and provide details about function parameters and methods. - ✔ [Added] Extend
JSDocType
to support newJSDocTypeFunction
- ✔ [Added] Improve type infering from assigned value. Currently support simple infering:
array
,object
,function
. - 🛠 [Fixed] Fix the Issue #67, Issue #69: specifier comments are not parsed properly; Thanks to @ekhaled
- 🛠 [Fixed] Fix the Issue #72: Module context scripts look for the wrong attribute
- 🛠 [Fixed] Fix the Issue #83: Default value and keywords of exported aliases not merged.
- 🎉 [Misc] Update the ReadMe by @soft-decay.
- ✔ [Added] Implement support of imported types parsing, f.ex.
@type {import('../typings.d.ts').ExternalTypeClass}
. In order to do this, new fieldimportPath
introduced toJSDocType
, in the name property now it returns imported class name, f.ex.:ExternalTypeClass
. - 🛠 [Fixed] Complete fix of Issue #1: Support parsing event names from top-level constant objects with accessing to their properties by naming strings. Introduce the new issue Issue #48 about supporting parse of event names by external references.
- 🛠 [Fixed] Fix the Issue #47, now all comments in markup are parsed correctly and attached to required items in document. Support JSDoc comment markup parsing in all places where comment can be used.
- 🛠 [Fixed] Fix the Issue #61, now slot parameter items enrich with all detailed information that was parsed from markup comment.
- 🛠 [Fixed] Spec: add the module definition typings to
typings.d.ts
file. - 🛠 [Fixed] Fix some edge-cases in script parsing logic.
- 🛠 [Tech] Refactor internal parser logic to make it easy to introduce new features, moves forward to TS support! ;)
- 🔥 [Breaking] Spec: change the
SvelteSlotParameter
definition, to supportname
,description
,type
fields, instead of many not relevant fields that was inherited fromISvelteItem
interface. - 🔥 [Breaking] Spec: change the
SvelteSlotItem
definition, to improve consistency:- Rename
parameters
property toparams
to be most likely the same asSvelteMethodItem
. Old field still available until 5.* release.
- Rename
Thanks a lot @soft-decay for contributing in this release!
- 🛠 [Fixed] Fix Issue #42
- 🛠 [Fixed] Partially fixed Issue #1. Now event name correcly parsed if it provided by top-level constant of the same file. Thanks for @soft-decay
- ✔ [Added] Support to complete parsing of component method arguments Issue #39. Thanks for @soft-decay
- ✔ [Added] Support to parse return types and description for methods in component Issue #37. Thanks for @soft-decay
- ✔ [Added] Options validation, thanks for @soft-decay
- 🔥 [Breaking] API rework for component methods description:
args
property was renamed toparams
;- Change the structure of
return
item for methods:desc
property was renamed todescription
;type
property now contains theJSDocType
object, instead ofstring
type with text representation of type. This can be gets fromtext
property ofJSDocType
object;
- [Svelte2]: method arguments was presented with plain array with names, now that replaced with objects of
SvelteMethodParamItem
type;
- 🔥 [Breaking] Cleanup depricated code:
loc
property was removed, please uselocations
instead, if you late with upgrade;value
property ofSvelteComponentItem
was removed, please useimportPath
instead
- 🛠 [Fixed] Fix Issue #35: Object literals not supported in @type keyword. Thanks for @soft-decay
- 🛠 [Fixed] Fix issue #5 (slots items have a private access level by default)
- 🛠 [Fixed] Fix issue #28 (Inline event handlers in markup cause errors when used without quotes)
- Change dependency from
htmlparser2
to htmlparser2-svelte special fork of htmlparser2 to handle Svelte specific cases to parse markup
- Change dependency from
- 🛠 [Fixed] Fix issue #6 (Build a correct component name from a file name)
round.button.svelte -> RoundButton
- 🛠 [Fixed] Fix issue #27 (Events is not exposed from exported functions and arrow functions)
- 🛠 [Fixed] Fix issue #31 (Propogated events in markup should be parsed even it was before handled)
- 🛠 [Fixed] Fix issue #32 (Event is not registered when dispatched from functions used as a parameters of another functions)
- [Fixed] Solve issue #26, support
export { variables as var }
statement. - [Added] now interface
SvelteDataItem
provides a new propertylocalName
with information about internal name of component property.
- [Fixed] Solve vulnerability issues:
- Update
espree
to7.2.0
- Update
htmlparser2
to3.9.2
- Add dependency to
eslint
to fix issues after upgrading to new versions
- Update
- [Breaking] Increase requirement of Node.js to
10.0.0
, Node.js v8 now is not supported, this is related with security isssues above. Please let me know if it still required.
- [Fixed] Now
keywords
feature correctly supported.
Thanks to hontas for following changes:
- [Fixed] Svelte V3: Fix parsing of types for data items, defined by
@type
keyword.
Thanks to hontas for following changes:
- [Added] Svelte V3: Implement component documentation parsing provided by top level comment in HTML markup or in the JS section, marked with
@component
JSDoc attribute.
Thanks to Hostas for following fixes:
- [Fixed] Svelte V3: Improve type parsing for properties with default values.
- [Fixed] Svelte V3: In some cases
type
property was setup with wrong structure and data, now it fixed.
- [Fixed] Svelte V3: Fix parsing issues when anonymous functions are used in event handlers at markup (Issue #18)
- [Added] Svelte V3: Implement support of script element locations
- [Fixed] Svelte V3: Fix parsing when component have multiple
<script>
blocks - [Added] Spec: Property
locations
was added to items and presents the list of item code locations - [Changed] Spec: Property
loc
for items marked as depricated, seelocations
property instead
- [Added] Svelte V3: Add a new properties for data items:
originalName
andimportPath
- [Changed] Svelte V3: Add support for multiple bindings to one data item, now
bind
property of the item are array - [Changed] Property
value
for component items marked as depricated and new proprtyimportPath
are used now - [Fixed] Issues with parsing
- [Added] Svelte V3: Implement support for property binding parsing (
bind:property={...}
) - [Added] Svelte V3: Implement support for event parsing which dispatched from code (
dispatch(...)
) - [Added] Svelte V3: Implement support for event parsing which dispatched from markup expressions (
<button on:click="{() => dispatch(....)}">
) - [Added] Svelte V3: Implement support for ref parsing (
bind:this={...}
) - [Fixed] Spec: Property
SvelteDataItem.let
changed toSvelteDateItem.kind
, that was named aslet
by mistake
- [Added] Support for V3 syntax
- [Added] Implement source locations provider for most of component symbols
- [Fixed] Fix and refactor param keyword parsing to handle some wrong cases (fix and close issue #7)
- [Fixed] Improve crash handling in parser logic, now all errors fall into
reject(...)
method instead throwing up
- [Fixed] Fix issue when parsing types from JSDoc, cover more cases. Previously type
@type {('plain'|'plain-negative')}
was not supported in case of-
symbol
- [Fix] Fix
typings.d.ts
file to be importable
- [Fix] Fix issue with component name parsing with default features set (Missing feature
name
in defaults features list) - [Added] Implement parsing of js types for data properties from
@type
keyword and from default value
- Initial release