Skip to content

feat: Improve extractSignature to include JSDoc comments#22

Merged
Zih0 merged 4 commits intov0.0.2from
extract-signature
Mar 24, 2026
Merged

feat: Improve extractSignature to include JSDoc comments#22
Zih0 merged 4 commits intov0.0.2from
extract-signature

Conversation

@Zih0
Copy link
Copy Markdown
Collaborator

@Zih0 Zih0 commented Mar 24, 2026

  • Include JSDoc comments and member signatures in class/interface signature output, using a shared
    formatMembersWithJsDoc helper that preserves JSDoc and strips method bodies
  • Fix getText() resolving types to absolute file paths (e.g. typeof import("/Users/.../index")) by
    passing the enclosing node for context-relative formatting
  • Add test coverage for JSDoc preservation in interfaces, classes, and type aliases, and for
    cross-package return type resolution

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docflow-docs Ready Ready Preview, Comment Mar 24, 2026 11:26am

Request Review

@Zih0 Zih0 merged commit 0d56b5f into v0.0.2 Mar 24, 2026
2 of 3 checks passed
@Zih0 Zih0 deleted the extract-signature branch March 24, 2026 11:26
@Zih0 Zih0 mentioned this pull request Mar 25, 2026
Zih0 added a commit that referenced this pull request Mar 25, 2026
* fix: remove root tsconfig fallback and add error handling for package tsconfig resolution (#14)

* fix: remove root tsconfig fallback and add error handling for package tsconfig resolution

* empty commit

* test: update getTsConfigPath test to throw error for non-existent package tsconfig

* feat: support running commands from subdirectories in monorepo (#15)

* feat: replace process.cwd() with INIT_CWD

* fix: resolve package paths relative to cwd

* test: update package-manager tests to include correct package locations

* refactor: update project path resolution to use projectRoot in commands

* fix: resolve symlink in temp path

* refactor: use find-up package

* chore: Prettier Setup (#18)

* setup prettier

* format all

* ci format

* fix: JSDoc parameter parsing for deeply nested parameters (#16)

* fix: enhance JSDoc parameter parsing for deeply nested properties

* add test cases

* refactor: mutable -> immutable

* fix: duplicate jsdoc tag case

* fix: format

* refactor: simplify logic

* refactor: enhance JSDoc parameter extraction and tree building logic

* feat(check): add @param, @Property, @returns validation to check command (#20)

* feat: check command -@param/@returns tag validation (#19)

* feat(check): add validation types and Validator base class

Add ValidationError/ValidationResult types and abstract Validator<T>
base class using Template Method pattern (validate -> collectErrors).

* feat(check): add JSDoc utility functions

Add EMPTY_PARSED_JSDOC constant and getJSDocParameterNames helper
for centralized JSDoc parameter name extraction with nested support.

* feat(check): add common validator utility functions

Add findMissingDocs, findUnusedDocs (difference-based detection)
and collectPropertySignaturePaths (recursive path collection).

* feat(check): add InterfaceValidator with tests

Validate interface property/method JSDoc coverage including nested
properties, optional/readonly modifiers. 13 test cases.

* fix: remove 'as const' assertion from missing and unused docs types

* refactor(check): unify findUnusedDocs parameter order

Swap findUnusedDocs(jsDocNames, validTargets) to
findUnusedDocs(validTargets, jsDocNames) so both find*Docs functions
take (codeSymbols, jsDocNames) consistently.

* fix(check): include interface methods in missing docs check

* fix: format

* feat(check): add validator utility functions

Add collectParameterPaths and collectPropertyAssignmentPaths utilities
for resolving nested dot-separated paths from function parameters and
object literal assignments. Add JSDoc to existing collectPropertySignaturePaths.

* feat(check): add TypeAliasValidator with tests

* feat(check): add ObjectLiteralValidator with tests

* feat(check): add FunctionValidator with tests

* feat(check): add validation pipeline with tests

* refactor(check): integrate validation pipeline into check command

* docs(check): enhance documentation for check command to include validation of @param and @returns tags

* feat(check): add @Property tag parsing to JSDocParser

* feat(check): validate @Property tags for interface, type alias, and object literal

* docs(check): update documentation to reflect @Property validation

* feat: support `@property` tag for JSDoc parsing (#21)

* feat: parse JSDoc `@property`

* feat: add support for JSDoc `@property` rendering in VitePress generator

* feat: add 'properties' label support for JSDoc in English and Korean docflow Config

* feat: export PropertyData type

* feat:  add GeneratorConfig label.properties type

* feat: update JSDoc comments to use @Property syntax for improved clarity and consistency

* feat: rename ParameterData to PropertyData in JSDoc utility functions for consistency

* refactor: update JSDoc comments to use @Property syntax for improved clarity and consistency across multiple interfaces

* feat: update JSDoc references to use 'properties'

* refactor: update documentation to replace '매개변수' with '속성' for consistency across multiple interfaces

* fix: add shebang (#8)

* fix: add cli.js with shebang

* package.json files

* feat: improve config usability (#9)

* feat: separate `Config` and `ResolvedConfig`

This allows user configs to omit fields with defaults

* feat: default `project.workspace.exclude` with `[]`

* feat: make object options with default values optional

---------

Co-authored-by: Jiho Shin <ziho.dev@gmail.com>

* format

* fix yarn.lock

* fix: jsdoc and generated docs

* feat: Improve extractSignature to include JSDoc comments (#22)

* feat(cli): include JSDoc and members in class/interface signatures

* test(cli): add JSDoc signature extraction tests

* fix(cli): resolve absolute file paths in type signatures

* test(cli): add cross-package return type path test

* fix(jsdoc): merge name and description for jsdoc tag (#23)

* test: move validation for plugin configuration in config schema

* fix(jsdoc): merge name and description for jsdoc tag

* Fix/barrel re export multiple file name (#24)

* test: move validation for plugin configuration in config schema

* fix(parser): preserve multiple non-barrel exports for same symbol

* fix: tag value trim

* fix:  Escape `<`, `>` inside backtick content (#25)

* changeset

* feat: docflow build docs

* feat: add properties and typedef labels to build schema and generator config

* add docs

* format

---------

Co-authored-by: Iha Shin (신의하) <me@xiniha.dev>
@github-actions github-actions bot mentioned this pull request Mar 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant