Skip to content

feat(SW-1370): enforce JSDoc, export conventions, and barrel file patterns#36

Open
darwinboersma wants to merge 1 commit intomainfrom
SW-1370-eslint-jsdoc-export-conventions
Open

feat(SW-1370): enforce JSDoc, export conventions, and barrel file patterns#36
darwinboersma wants to merge 1 commit intomainfrom
SW-1370-eslint-jsdoc-export-conventions

Conversation

@darwinboersma
Copy link
Contributor

@darwinboersma darwinboersma commented Feb 24, 2026

Summary

Enforces code quality conventions across the UI kit: JSDoc documentation, consistent export patterns, and barrel file standards.

Changes

ESLint Rules

  • Added eslint-plugin-jsdoc with require-jsdoc rule for Props interfaces/types and component declarations
  • Added barrel file enforcement: index.ts files must use export * (no named re-exports)
  • Added inline export enforcement: component files must not use bottom-of-file export { Foo } patterns
  • Storybook files exempted from JSDoc requirements

Export Pattern Refactoring

  • Converted all 54 component source files to inline named exports (export const ComponentName)
  • Kept export default at bottom of each component for backward compatibility
  • Converted all 56 component index.ts files to export * from "./ComponentName"
  • Converted src/index.ts to use export * for utils/colors and theme (removed redundant explicit type re-exports)
  • Converted server and theme barrel files to export *
  • Removed TaskScripts stub from src/index.ts

JSDoc

  • Added JSDoc comments to all Props interfaces/types and component declarations

Other

  • Added generate:catalog script to package.json
  • Updated .augment-guidelines with Storybook testing conventions

Jira

SW-1370 (parent epic: SW-1173)


Pull Request opened by Augment Code with guidance from the PR author

…terns

- Add eslint-plugin-jsdoc and require JSDoc on Props interfaces/types and components
- Convert all component source files to inline named exports (export const)
- Keep export default for backward compatibility
- Convert all barrel files (index.ts) to use export * pattern
- Add ESLint rules enforcing export * in barrel files
- Add ESLint rules banning bottom-of-file export { Foo } in component files
- Remove redundant explicit type re-exports from src/index.ts
- Remove TaskScripts stub from src/index.ts
- Convert server, theme, and utils barrel files to export *
- Update .augment-guidelines with Storybook testing conventions
@darwinboersma darwinboersma requested a review from a team as a code owner February 24, 2026 21:11
@vercel
Copy link

vercel bot commented Feb 24, 2026

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

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
ts-lib-ui-kit-storybook Ignored Ignored Feb 24, 2026 9:11pm

Request Review

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