Skip to content

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

Merged
Zih0 merged 2 commits intov0.0.2from
fix/barrel-re-export-multiple-file-name
Mar 24, 2026
Merged

fix(parser): preserve multiple non-barrel exports for same symbol#24
Zih0 merged 2 commits intov0.0.2from
fix/barrel-re-export-multiple-file-name

Conversation

@Zih0
Copy link
Copy Markdown
Collaborator

@Zih0 Zih0 commented Mar 24, 2026

  • When the same symbol is exported from multiple non-barrel files (e.g. a.ts and b.ts), only the
    first was kept and the rest were silently dropped
  • Changed mapflatMap to return all non-barrel declarations instead of picking just one
  • Updated test to verify barrel re-exports are removed only when a non-barrel source exists, rather than
    asserting unique symbol names

@Zih0 Zih0 merged commit 275f2d9 into v0.0.2 Mar 24, 2026
3 checks passed
@Zih0 Zih0 deleted the fix/barrel-re-export-multiple-file-name branch March 24, 2026 14:03
@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 2:03pm

Request Review

@Zih0 Zih0 changed the title Fix/barrel re export multiple file name fix(parser): preserve multiple non-barrel exports for same symbol Mar 24, 2026
@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