590 lines
13 KiB
Markdown
590 lines
13 KiB
Markdown
|
# CHANGES for `@es-joy/jsdoccomment`
|
||
|
|
||
|
## 0.46.0
|
||
|
|
||
|
- chore: update esquery, drop bundling of types, update devDeps
|
||
|
|
||
|
## 0.45.0
|
||
|
|
||
|
- feat: get following comment (experimental)
|
||
|
|
||
|
## 0.44.0
|
||
|
|
||
|
- feat: add `getNonJsdocComment` for getting non-JSDoc comments above node
|
||
|
|
||
|
## 0.43.1
|
||
|
|
||
|
- fix: for `@template` name parsing, ensure (default-)bracketed name is not broken with internal spaces.
|
||
|
|
||
|
## 0.43.0
|
||
|
|
||
|
This release brings surgical round trip parsing to generated AST and reconstruction of JSDoc comment blocks via: `parseComment` ->
|
||
|
`commentParserToESTree` -> `estreeToString`.
|
||
|
|
||
|
- feat: new option `spacing` for `commentParserToESTree`; the default is `compact` removing empty description lines.
|
||
|
Set to `preserve` to retain empty description lines.
|
||
|
- feat: new properties in the `JsdocBlock` generated AST `delimiterLineBreak` and `preterminalLineBreak` that encode
|
||
|
any line break after the opening `delimiter` and before the closing `terminal` string. Values are either `\n` or an
|
||
|
empty string.
|
||
|
|
||
|
- chore: update devDeps / switch to Vitest.
|
||
|
|
||
|
- New [API documentation](https://es-joy.github.io/jsdoccomment/).
|
||
|
|
||
|
Thanks:
|
||
|
- [@typhonrt](https://github.com/typhonrt)
|
||
|
|
||
|
## 0.42.0
|
||
|
|
||
|
- feat: expand argument for `parseComment` to accept a comment token string ([@typhonrt](https://github.com/typhonrt))
|
||
|
- chore: update devDeps.
|
||
|
|
||
|
## 0.41.0
|
||
|
|
||
|
- feat: look above surrounding parenthesis tokens for comment blocks, even if on a higher line than the corresponding AST structure
|
||
|
- chore: update comment-parser and devDeps.
|
||
|
|
||
|
## 0.40.1
|
||
|
|
||
|
- chore(TS): fix path issue
|
||
|
|
||
|
## 0.40.0
|
||
|
|
||
|
- chore: update comment-parser and devDeps.
|
||
|
- chore(TS): switch to NodeNext
|
||
|
|
||
|
## 0.39.4
|
||
|
|
||
|
- fix: include type exports for full inlineTags (and line) property support on blocks and tags
|
||
|
|
||
|
## 0.39.3
|
||
|
|
||
|
- fix: add type details for Node range and settings
|
||
|
|
||
|
## 0.39.2
|
||
|
|
||
|
- fix: export additional typedefs from index.js
|
||
|
|
||
|
## 0.39.1
|
||
|
|
||
|
- fix: typing export
|
||
|
|
||
|
## 0.39.0
|
||
|
|
||
|
- feat: types for test files and emit declaration files
|
||
|
- fix(estreeToString): add `JsdodInlineTag` stringify support
|
||
|
- refactor: lint
|
||
|
- docs: add `JsdocInlineTag` to README
|
||
|
- chore: update devDeps.
|
||
|
|
||
|
## 0.38.0
|
||
|
|
||
|
- feat: add parsing inline tags (#12); fixes #11
|
||
|
|
||
|
## 0.37.1
|
||
|
|
||
|
- chore: support Node 20
|
||
|
- chore: update esquery, devDeps.
|
||
|
|
||
|
## 0.37.0
|
||
|
## 0.37.0-pre.0
|
||
|
|
||
|
- fix: update `jsdoc-type-pratt-parser` (supports bracket indexes)
|
||
|
|
||
|
## 0.36.1
|
||
|
|
||
|
- fix(`getReducedASTNode`): stop checking for comment blocks at return
|
||
|
statement
|
||
|
|
||
|
## 0.36.0
|
||
|
|
||
|
- feat: add `hasPreterminalTagDescription` property
|
||
|
- fix: avoid description line properties if tag is present
|
||
|
- fix: ensure description and description lines added to terminal multi-line tag
|
||
|
|
||
|
## 0.35.0
|
||
|
|
||
|
- feat: add `hasPreterminalDescription` property
|
||
|
- fix: allow newline even for 1st line (after 0th)
|
||
|
|
||
|
## 0.34.0
|
||
|
|
||
|
- feat: add `descriptionStartLine` and `descriptionEndLine` properties
|
||
|
- fix: avoid duplication with 0 line comments
|
||
|
- chore: update devDeps.
|
||
|
|
||
|
## 0.33.4
|
||
|
|
||
|
- chore: republish as npm seems to have missed the release
|
||
|
|
||
|
## 0.33.3
|
||
|
|
||
|
- fix: ensure multi-line `description` includes newline except for
|
||
|
initial line descriptions
|
||
|
|
||
|
## 0.33.2
|
||
|
|
||
|
- fix: avoid repetition within multi-line descriptions
|
||
|
|
||
|
## 0.33.1
|
||
|
|
||
|
- fix: add to default no types: `description`, `example`, `file`,
|
||
|
`fileoverview`, `license`, `overview`, `see`, `summary`
|
||
|
- fix: add to no names: `file`, `fileoverview, `overview`
|
||
|
|
||
|
## 0.33.0
|
||
|
|
||
|
- chore: add Node 19 to `engines` (@RodEsp)
|
||
|
- chore: update devDeps. and build file accordingly
|
||
|
|
||
|
## 0.32.0
|
||
|
|
||
|
- feat: have comment checking stop at assignment patterns (comments for
|
||
|
defaults should not rise to function itself)
|
||
|
- chore: bump devDeps.
|
||
|
|
||
|
## 0.31.0
|
||
|
|
||
|
- feat: support default values with `@template` per
|
||
|
<https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html#template>
|
||
|
|
||
|
## 0.30.0
|
||
|
|
||
|
- chore: bump `jsdoc-type-pratt-parser` and devDeps.
|
||
|
|
||
|
## 0.29.0
|
||
|
|
||
|
- fix: update `engines` as per current `getJSDocComment` behavior
|
||
|
- chore: update devDeps.
|
||
|
|
||
|
## 0.28.1
|
||
|
|
||
|
- fix(`getReducedASTNode`): token checking
|
||
|
- build: add Node 18 support (@WikiRik)
|
||
|
|
||
|
## 0.28.0
|
||
|
|
||
|
- chore: bump `engines` to support Node 18
|
||
|
|
||
|
## 0.27.0
|
||
|
|
||
|
- chore: bump `jsdoc-type-pratt-parser` and devDeps.
|
||
|
|
||
|
## 0.26.1
|
||
|
|
||
|
- fix(`estreeToString`): ensure `typeLines` may be picked up
|
||
|
|
||
|
## 0.26.0
|
||
|
|
||
|
- feat(`getJSDocComment`): allow function to detect comments just preceding a
|
||
|
parenthesized expression (these have no special AST but their tokens
|
||
|
have to be overpassed)
|
||
|
|
||
|
## 0.25.0
|
||
|
|
||
|
- feat(`parseComment`): properly support whitespace
|
||
|
- fix(`estreeToString`): carriage return placement for ending of JSDoc block
|
||
|
- fix(`commentParserToESTree`): avoid adding initial space before a tag if on
|
||
|
a single line
|
||
|
- test: make tests more accurate to jsdoc semantically
|
||
|
|
||
|
## 0.24.0
|
||
|
|
||
|
- feat(`estreeToString`): support stringification of `parsedType` but with
|
||
|
a new `preferRawType` option allowing the old behavior of using `rawType`
|
||
|
|
||
|
## 0.23.6
|
||
|
|
||
|
- fix(`commentParserToESTree`): ensure `postType` added after multi-line type
|
||
|
- fix(`estreeToString`): ensure `JsdocTypeLine` stringified with `initial` and
|
||
|
that they are joined together with newlines
|
||
|
|
||
|
## 0.23.5
|
||
|
|
||
|
- fix(`commentParserToESTree`): avoid duplicating tag names
|
||
|
|
||
|
## 0.23.4
|
||
|
|
||
|
- fix(`estreeToString`): add `delimiter`, etc. if adding `JsdocDescriptionLine`
|
||
|
for `JsdocBlock`
|
||
|
- fix(`estreeToString`): add line break when tags are present (unless already
|
||
|
ending in newline)
|
||
|
|
||
|
## 0.23.3
|
||
|
|
||
|
- fix(`estreeToString`): handle multi-line block descriptions followed by
|
||
|
tags with line break
|
||
|
|
||
|
## 0.23.2
|
||
|
|
||
|
- fix: ensure JsdocBlock stringifier has any initial whitespace on end line
|
||
|
|
||
|
## 0.23.1
|
||
|
|
||
|
- docs(README): update
|
||
|
|
||
|
## 0.23.0
|
||
|
|
||
|
- BREAKING CHANGE(`commentParserToESTree`): rename `start` and `end` to
|
||
|
`initial` and `terminal` to avoid any conflicts with Acorn-style parsers
|
||
|
- feat: add `initial` and `terminal` on `JsdocBlock`
|
||
|
|
||
|
## 0.22.2
|
||
|
|
||
|
- fix: preserve type tokens
|
||
|
- perf: cache tokenizers
|
||
|
|
||
|
## 0.22.1
|
||
|
|
||
|
- fix: ensure `getJSDocComment` does not treat block comments as JSDoc unless
|
||
|
their first asterisk is followed by whitespace
|
||
|
|
||
|
## 0.22.0
|
||
|
|
||
|
- fix: update dep. `jsdoc-type-pratt-parser`
|
||
|
- chore: update `comment-parser` and simplify as possible
|
||
|
|
||
|
## 0.21.2
|
||
|
|
||
|
- fix: only throw if the raw type is not empty
|
||
|
|
||
|
## 0.21.1
|
||
|
|
||
|
- fix: provide clearer error message for `throwOnTypeParsingErrors`
|
||
|
|
||
|
## 0.21.0
|
||
|
|
||
|
- feat: add `throwOnTypeParsingErrors` to receive run-time type parsing errors
|
||
|
for `parsedType`
|
||
|
- chore: update jsdoc-type-pratt-parser and devDeps.; also lints
|
||
|
|
||
|
## 0.20.1
|
||
|
|
||
|
- fix: resume catching bad parsed type (at least until
|
||
|
`jsdoc-type-pratt-parser` may support all expected types)
|
||
|
|
||
|
## 0.20.0
|
||
|
|
||
|
- feat: add estree stringifer
|
||
|
- fix: properly supports `name`/`postName` for multi-line type
|
||
|
- fix: allow pratt parser to fail (unless empty)
|
||
|
- fix: don't add tag postDelimiter when on 0 description line
|
||
|
- fix: avoid adding extra line when only name and no succeeding description
|
||
|
- docs: clarify re: `kind`
|
||
|
- test: add `parsedType` with correct mode; add tests
|
||
|
- chore: updates jsdoc-type-pratt-parser
|
||
|
- chore: updates devDeps.
|
||
|
|
||
|
## 0.19.0
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- feat: treat `@kind` as having no name
|
||
|
|
||
|
### Dev-impacting
|
||
|
|
||
|
- docs: jsdoc
|
||
|
- test: begin checking `jsdoccomment`
|
||
|
- test: adds lcov reporter and open script for it
|
||
|
- chore: update devDeps.
|
||
|
|
||
|
## 0.18.0
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- feat: add non-visitable `endLine` property (so can detect line number
|
||
|
when no description present)
|
||
|
- feat: supply `indent` default for `parseComment`
|
||
|
- fix: ensure `postName` gets a space for `@template` with a description
|
||
|
- fix: converting JSDoc comment with tag on same line as end (e.g., single
|
||
|
line) to AST
|
||
|
- chore: update `jsdoc-type-pratt-parser`
|
||
|
|
||
|
### Dev-impacting
|
||
|
|
||
|
- docs: add jsdoc blocks internally
|
||
|
- chore: update devDeps.
|
||
|
- test: avoid need for `expect`
|
||
|
- test: complete coverage for `commentHandler`, `parseComment` tests
|
||
|
|
||
|
## 0.17.0
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- Enhancement: Re-export `jsdoc-type-pratt-parser`
|
||
|
- Update: `jsdoc-type-pratt-parser` to 2.2.1
|
||
|
|
||
|
### Dev-impacting
|
||
|
|
||
|
- npm: Update devDeps.
|
||
|
|
||
|
## 0.16.0
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- Update: `jsdoc-type-pratt-parser` to 2.2.0
|
||
|
|
||
|
### Dev-impacting
|
||
|
|
||
|
- npm: Update devDeps.
|
||
|
|
||
|
## 0.15.0
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- Update: `jsdoc-type-pratt-parser` to 2.1.0
|
||
|
|
||
|
### Dev-impacting
|
||
|
|
||
|
- npm: Update devDeps.
|
||
|
|
||
|
## 0.14.2
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- Fix: Find comments previous to parentheses (used commonly in TypeScript)
|
||
|
|
||
|
### Dev-impacting
|
||
|
|
||
|
- npm: Update devDeps.
|
||
|
|
||
|
## 0.14.1
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- Update: `jsdoc-type-pratt-parser` to 2.0.2
|
||
|
|
||
|
## 0.14.0
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- Update: `jsdoc-type-pratt-parser` to 2.0.1
|
||
|
|
||
|
### Dev-impacting
|
||
|
|
||
|
- npm: Update devDeps.
|
||
|
|
||
|
## 0.13.0
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- Update: `comment-parser` to 1.3.0
|
||
|
- Fix: Allow comment on `ExportDefaultDeclaration`
|
||
|
|
||
|
## 0.12.0
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- Update: `jsdoc-type-pratt-parser` to 2.0.0
|
||
|
- Enhancement: Support Node 17 (@timgates42)
|
||
|
- Docs: Typo (@timgates42)
|
||
|
|
||
|
### Dev-impacting
|
||
|
|
||
|
- Linting: As per latest ash-nazg
|
||
|
- npm: Update devDeps.
|
||
|
|
||
|
## 0.11.0
|
||
|
|
||
|
- Update: For `@typescript/eslint-parser@5`, add `PropertyDefinition`
|
||
|
|
||
|
## 0.10.8
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- npm: Liberalize `engines` as per `comment-parser` change
|
||
|
- npm: Bump `comment-parser`
|
||
|
|
||
|
### Dev-impacting
|
||
|
|
||
|
- Linting: As per latest ash-nazg
|
||
|
- npm: Update devDeps.
|
||
|
|
||
|
## 0.10.7
|
||
|
|
||
|
- npm: Update comment-parser with CJS fix and re-exports
|
||
|
- npm: Update devDeps.
|
||
|
|
||
|
## 0.10.6
|
||
|
|
||
|
- Fix: Ensure copying latest build of `comment-parser`'s ESM utils
|
||
|
|
||
|
## 0.10.5
|
||
|
|
||
|
- npm: Bump fixed `jsdoc-type-pratt-parser` and devDeps.
|
||
|
|
||
|
## 0.10.4
|
||
|
|
||
|
- Fix: Bundle `comment-parser` nested imports so that IDEs (like Atom)
|
||
|
bundling older Node versions can still work. Still mirroring the
|
||
|
stricter `comment-parser` `engines` for now, however.
|
||
|
|
||
|
## 0.10.3
|
||
|
|
||
|
- npm: Avoid exporting nested subpaths for sake of older Node versions
|
||
|
|
||
|
## 0.10.2
|
||
|
|
||
|
- npm: Specify exact supported range: `^12.20 || ^14.14.0 || ^16`
|
||
|
|
||
|
## 0.10.1
|
||
|
|
||
|
- npm: Apply patch version of `comment-parser`
|
||
|
|
||
|
## 0.10.0
|
||
|
|
||
|
- npm: Point to stable `comment-parser`
|
||
|
|
||
|
## 0.9.0-alpha.6
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- Update: For `comment-parser` update, add `lineEnd`
|
||
|
|
||
|
## 0.9.0-alpha.5
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- npm: Bump `comment-parser` (for true ESM)
|
||
|
- Update: Remove extensions for packages for native ESM in `comment-parser` fix
|
||
|
|
||
|
### Dev-impacting
|
||
|
|
||
|
- npm: Update devDeps.
|
||
|
|
||
|
## 0.9.0-alpha.4
|
||
|
|
||
|
- Docs: Update repo info in `package.json`
|
||
|
|
||
|
## 0.9.0-alpha.3
|
||
|
|
||
|
- Fix: Due to `comment-parser` still needing changes, revert for now to alpha.1
|
||
|
|
||
|
## 0.9.0-alpha.2
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- npm: Bump `comment-parser` (for true ESM)
|
||
|
- Update: Remove extensions for packages for native ESM in `comment-parser` fix
|
||
|
|
||
|
### Dev-impacting
|
||
|
|
||
|
- npm: Update devDeps.
|
||
|
|
||
|
## 0.9.0-alpha.1
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- Breaking change: Indicate minimum for `engines` as Node >= 12
|
||
|
- npm: Bump `comment-parser`
|
||
|
|
||
|
### Dev-impacting
|
||
|
|
||
|
- npm: Lint cjs files
|
||
|
- npm: Fix eslint script
|
||
|
- npm: Update devDeps.
|
||
|
|
||
|
## 0.8.0
|
||
|
|
||
|
### User-impacting
|
||
|
|
||
|
- npm: Update `jsdoc-type-pratt-parser` (prerelease to stable patch)
|
||
|
|
||
|
### Dev-impacting
|
||
|
|
||
|
- npm: Update devDeps.
|
||
|
|
||
|
## 0.8.0-alpha.2
|
||
|
|
||
|
- Fix: Avoid erring with missing `typeLines`
|
||
|
|
||
|
## 0.8.0-alpha.1
|
||
|
|
||
|
- Breaking change: Export globally as `JsdocComment`
|
||
|
- Breaking change: Change `JSDoc` prefixes of all node types to `Jsdoc`
|
||
|
- Breaking change: Drop `jsdoctypeparserToESTree`
|
||
|
- Breaking enhancement: Switch to `jsdoc-type-pratt-parser` (toward greater
|
||
|
TypeScript expressivity and compatibility/support with catharsis)
|
||
|
- Enhancement: Export `jsdocTypeVisitorKeys` (from `jsdoc-type-pratt-parser`)
|
||
|
|
||
|
## 0.7.2
|
||
|
|
||
|
- Fix: Add `@description` to `noNames`
|
||
|
|
||
|
## 0.7.1
|
||
|
|
||
|
- Fix: Add `@summary` to `noNames`
|
||
|
|
||
|
## 0.7.0
|
||
|
|
||
|
- Enhancement: Allow specifying `noNames` and `noTypes` on `parseComment`
|
||
|
to override (or add to) tags which should have no names or types.
|
||
|
- Enhancement: Export `hasSeeWithLink` utility and `defaultNoTypes` and
|
||
|
`defaultNoNames`.
|
||
|
|
||
|
## 0.6.0
|
||
|
|
||
|
- Change `comment-parser` `tag` AST to avoid initial `@`
|
||
|
|
||
|
## 0.5.1
|
||
|
|
||
|
- Fix: Avoid setting `variation` name (just the description) (including in
|
||
|
dist)
|
||
|
- npm: Add `prepublishOnly` script
|
||
|
|
||
|
## 0.5.0
|
||
|
|
||
|
- Fix: Avoid setting `variation` name (just the description)
|
||
|
|
||
|
## 0.4.4
|
||
|
|
||
|
- Fix: Avoid setting `name` and `description` for simple `@template SomeName`
|
||
|
|
||
|
## 0.4.3
|
||
|
|
||
|
- npm: Ignores Github file
|
||
|
|
||
|
## 0.4.2
|
||
|
|
||
|
- Fix: Ensure replacement of camel-casing (used in `jsdoctypeparser` nodes and
|
||
|
visitor keys is global. The practical effect is that
|
||
|
`JSDocTypeNamed_parameter` -> `JSDocTypeNamedParameter`,
|
||
|
`JSDocTypeRecord_entry` -> `JSDocTypeRecordEntry`
|
||
|
`JSDocTypeNot_nullable` -> `JSDocTypeNotNullable`
|
||
|
`JSDocTypeInner_member` -> `JSDocTypeInnerMember`
|
||
|
`JSDocTypeInstance_member` -> `JSDocTypeInstanceMember`
|
||
|
`JSDocTypeString_value` -> `JSDocTypeStringValue`
|
||
|
`JSDocTypeNumber_value` -> `JSDocTypeNumberValue`
|
||
|
`JSDocTypeFile_path` -> `JSDocTypeFilePath`
|
||
|
`JSDocTypeType_query` -> `JSDocTypeTypeQuery`
|
||
|
`JSDocTypeKey_query` -> `JSDocTypeKeyQuery`
|
||
|
- Fix: Add missing `JSDocTypeLine` to visitor keys
|
||
|
- Docs: Explain AST structure/differences
|
||
|
|
||
|
## 0.4.1
|
||
|
|
||
|
- Docs: Indicate available methods with brief summary on README
|
||
|
|
||
|
## 0.4.0
|
||
|
|
||
|
- Enhancement: Expose `parseComment` and `getTokenizers`.
|
||
|
|
||
|
## 0.3.0
|
||
|
|
||
|
- Enhancement: Expose `toCamelCase` as new method rather than within a
|
||
|
utility file.
|
||
|
|
||
|
## 0.2.0
|
||
|
|
||
|
- Enhancement: Exposes new methods: `commentHandler`,
|
||
|
`commentParserToESTree`, `jsdocVisitorKeys`, `jsdoctypeparserToESTree`,
|
||
|
`jsdocTypeVisitorKeys`,
|
||
|
|
||
|
## 0.1.1
|
||
|
|
||
|
- Build: Add Babel to work with earlier Node
|
||
|
|
||
|
## 0.1.0
|
||
|
|
||
|
- Initial version
|