Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
9671187
docs-extractor first commit
MaxLee-dev Dec 19, 2025
a608a38
feat: Add SprinklesTypeIntrospector for dynamic CSS value extraction
MaxLee-dev Dec 22, 2025
c3cbbf3
feat: Enhance component data fetching and JSON rendering for compound…
MaxLee-dev Dec 23, 2025
83d944d
Merge branch 'main' of https://github.com/goorm-dev/vapor-ui into doc…
MaxLee-dev Jan 2, 2026
2a00a93
feat: add docs-extractor module for vanilla-extract recipes
MaxLee-dev Jan 2, 2026
d37480b
feat: add Avatar component JSON definitions and update props table to…
MaxLee-dev Jan 2, 2026
67dc61b
feat: update Avatar component JSON definitions and enhance props extr…
MaxLee-dev Jan 2, 2026
b39bf6a
feat: enhance Avatar component documentation and extraction logic
MaxLee-dev Jan 2, 2026
51f8d4d
docs: Improve avatar component description
MaxLee-dev Jan 2, 2026
e90ee9d
refactor: remove unused source detection and classification modules
MaxLee-dev Jan 2, 2026
90b8d2e
style: add background color to table header in ComponentPropsTable
MaxLee-dev Jan 2, 2026
1117efd
feat: add Avatar component JSON definitions for FallbackPrimitive, Im…
MaxLee-dev Jan 2, 2026
847edb4
feat: update Avatar component JSON structure and enhance documentatio…
MaxLee-dev Jan 2, 2026
abfbeef
feat: enhance avatar component variants with required flag and descri…
MaxLee-dev Jan 2, 2026
7f3eeda
feat: add required flag and description to variant definition in Comp…
MaxLee-dev Jan 2, 2026
5348507
feat: add eslint as a dependency and update json-renderer for improve…
MaxLee-dev Jan 5, 2026
6d9ffaa
feat: refactor type handling in PropsFilter and TypeResolver for impr…
MaxLee-dev Jan 5, 2026
56d8e14
feat: Add VariantsExtractor for extracting vanilla-extract variants f…
MaxLee-dev Jan 5, 2026
00023d0
feat: Remove descriptions from avatar component JSON files for clarity
MaxLee-dev Jan 5, 2026
21bf601
feat: cli code refactored
MaxLee-dev Jan 5, 2026
0e772ec
feat: update comments for clarity in CLI and PropsExtractor
MaxLee-dev Jan 5, 2026
0eed78c
feat: update loadFiles documentation to clarify support for glob patt…
MaxLee-dev Jan 5, 2026
1f209ac
Merge branch 'main' of https://github.com/goorm-dev/vapor-ui into doc…
MaxLee-dev Jan 9, 2026
e1f1631
feat: add TypeScript API extractor tool
MaxLee-dev Jan 9, 2026
a9a4ec4
feat: implement component file scanning and update TypeScript API ext…
MaxLee-dev Jan 9, 2026
9f688c4
feat: update TypeScript API extractor with new dependencies and CLI i…
MaxLee-dev Jan 9, 2026
2a271c6
feat: add getExportedNodes function and update tests for TypeScript A…
MaxLee-dev Jan 9, 2026
6f58d1c
feat: enhance TypeScript API extractor with new CLI options and file …
MaxLee-dev Jan 9, 2026
58eb5a7
feat: add getNamespaces function and update CLI to display namespaces
MaxLee-dev Jan 9, 2026
26d742d
feat: add component selection prompts and file lookup by component na…
MaxLee-dev Jan 9, 2026
04a62d5
feat: implement props extraction functionality and update CLI commands
MaxLee-dev Jan 12, 2026
d60fb31
feat: enhance props extraction with new filtering options and resolve…
MaxLee-dev Jan 12, 2026
6c3aec7
feat: add type cleaning functionality to simplify state callback types
MaxLee-dev Jan 12, 2026
c6ea210
feat: add type resolver module and integrate with props extraction
MaxLee-dev Jan 12, 2026
14cccc5
feat: simplify render prop types in cleanType function
MaxLee-dev Jan 12, 2026
305400b
feat: add output directory option and improve props extraction structure
MaxLee-dev Jan 12, 2026
570b18d
feat: add default variants and HTML attributes extraction, enhance pr…
MaxLee-dev Jan 12, 2026
016e3bb
feat: Refactor component documentation extraction and improve TypeScr…
MaxLee-dev Jan 12, 2026
88437bb
feat: enhance props extraction with default values and improve type c…
MaxLee-dev Jan 12, 2026
ee3fc00
feat: update Avatar documentation for clarity and consistency
MaxLee-dev Jan 12, 2026
1520c1f
refactor: remove unused type resolver, variants extractor, and relate…
MaxLee-dev Jan 12, 2026
9fe4457
fix: reorder and restore TypeScript API extractor dependencies and sc…
MaxLee-dev Jan 12, 2026
c42b5b1
refactor: remove unused Avatar component references and related utili…
MaxLee-dev Jan 12, 2026
ad2658a
refactor: remove tools/docs-extractor dependencies and devDependencie…
MaxLee-dev Jan 12, 2026
efaa831
Merge branch 'main' of https://github.com/goorm-dev/vapor-ui into doc…
MaxLee-dev Jan 12, 2026
1b29276
fix: add eslint-config dependency and update tsconfig for JSX support
MaxLee-dev Jan 12, 2026
cb68243
refactor: update TypeScript API extractor structure and CLI options
MaxLee-dev Jan 13, 2026
c8f9466
refactor: rename ignore options to exclude and update related logic
MaxLee-dev Jan 13, 2026
e3ae457
refactor: remove output option and related logic from CLI options
MaxLee-dev Jan 13, 2026
50e2def
refactor: simplify extract script by removing tsconfig option
MaxLee-dev Jan 13, 2026
664993b
feat: base-ui type-resolver
MaxLee-dev Jan 13, 2026
0c906e8
refactor: enhance type handling in props extraction and simplify node…
MaxLee-dev Jan 13, 2026
01d3071
refactor: improve type handling and enhance default variants extracti…
MaxLee-dev Jan 14, 2026
b258a43
feat: implement defaultVariants extraction for compound components an…
MaxLee-dev Jan 14, 2026
5b9b30d
feat: extract component description from JSDoc and update tests for s…
MaxLee-dev Jan 14, 2026
8a77173
feat: add shouldIncludeSymbol function to streamline symbol inclusion…
MaxLee-dev Jan 14, 2026
ef7451b
feat: add declaration source filtering module and related tests
MaxLee-dev Jan 14, 2026
036080f
feat: preserve React type aliases in props extraction and add related…
MaxLee-dev Jan 14, 2026
b86a55d
feat: update formatVaporTypePath to improve namespace path conversion…
MaxLee-dev Jan 14, 2026
91c9dcf
feat: refactor props extraction functions for improved clarity and ad…
MaxLee-dev Jan 15, 2026
887e742
feat: enhance type resolution and simplify import paths in type handling
MaxLee-dev Jan 15, 2026
7d3f2ae
feat: update package.json dependencies and refactor test imports for …
MaxLee-dev Jan 15, 2026
2a46094
feat: add Tabs components with context support for improved usability
MaxLee-dev Jan 15, 2026
38aa34a
feat: add new components and styles for Tabs and Button with TypeScri…
MaxLee-dev Jan 26, 2026
d96ca4e
feat: update props extraction logic to categorize and sort props by t…
MaxLee-dev Jan 26, 2026
94a4b5e
Merge branch 'main' of https://github.com/goorm-dev/vapor-ui into doc…
MaxLee-dev Jan 30, 2026
e588742
feat: enhance configuration system and add i18n support
MaxLee-dev Jan 30, 2026
f73e60c
Merge branch 'main' of https://github.com/goorm-dev/vapor-ui into doc…
MaxLee-dev Feb 3, 2026
5e04d0b
refactor: rename docs-extractor to ts-api-extractor in package.json a…
MaxLee-dev Feb 3, 2026
87b2694
refactor: reorganize code structure and improve formatting in various…
MaxLee-dev Feb 3, 2026
5d11cb7
refactor: rename docs-extractor to ts-api-extractor and update relate…
MaxLee-dev Feb 3, 2026
f172223
feat: enhance sprinkles metadata generation with display type names
MaxLee-dev Feb 3, 2026
87b86cc
feat: enhance props extraction with diagnostics and component hierarc…
MaxLee-dev Feb 6, 2026
2131e80
feat: implement language configuration and improve error handling in …
MaxLee-dev Feb 6, 2026
ef3c228
fix: update language codes from 'kr' to 'ko' for consistency
MaxLee-dev Feb 6, 2026
84eac6c
Add unit tests for core functionalities in docs-extractor
MaxLee-dev Feb 6, 2026
89f6eb8
fix: standardize formatting in sprinkles metadata JSON
MaxLee-dev Feb 6, 2026
7be6f6c
fix: clean up comments in vitest configuration for clarity
MaxLee-dev Feb 6, 2026
6a982c8
fix: update comments for clarity and consistency in tsup configuration
MaxLee-dev Feb 6, 2026
70b13f9
fix: update comments for clarity and consistency in props-extractor a…
MaxLee-dev Feb 6, 2026
499319e
refactor: rename DefaultVariants to DefaultValues for consistency acr…
MaxLee-dev Feb 9, 2026
19cb693
fix: update variable names for clarity in extractProps and extractDes…
MaxLee-dev Feb 9, 2026
5779bee
feat: implement style import analysis and destructuring defaults extr…
MaxLee-dev Feb 9, 2026
faf8df7
feat: add prop classification and filtering modules
MaxLee-dev Feb 9, 2026
e3267dc
refactor: remove unused functions and types from props-extractor and …
MaxLee-dev Feb 9, 2026
9fbda92
feat: Added AST-based base-ui type path extraction functionality and …
MaxLee-dev Feb 10, 2026
71b06d2
feat: add verbose output option to CLI and enhance prop extraction lo…
MaxLee-dev Feb 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions apps/website/docs-extractor.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { defineConfig } from '@vapor-ui/ts-api-extractor';

export default defineConfig({
global: {
outputDir: './public/components/generated',
languages: ['ko', 'en'],
defaultLanguage: 'ko',
filterExternal: true,
filterSprinkles: true,
filterHtml: true,
includeHtml: ['className', 'style'],
},

sprinkles: {
metaPath: '../../scripts/docs-extractor/generated/sprinkles-meta.json',
include: ['padding', 'paddingX', 'paddingY', 'margin', 'gap', 'color'],
},

components: {
'box/box.tsx': {
sprinklesAll: true,
},
'flex/flex.tsx': {
sprinkles: ['gap', 'alignItems', 'justifyContent', 'flexDirection', 'alignContent'],
},
'v-stack/v-stack.tsx': {
sprinkles: ['gap', 'alignItems', 'justifyContent'],
},
'h-stack/h-stack.tsx': {
sprinkles: ['gap', 'alignItems', 'justifyContent'],
},
},
});
3 changes: 3 additions & 0 deletions apps/website/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@
"name": "website",
"version": "1.0.0-beta.6",
"private": true,
"type": "module",
"scripts": {
"build": "next build",
"clean": "rm -rf node_modules .next .turbo .source",
"dev": "next dev --turbo",
"extract": "ts-api-extractor ../../packages/core/src/components",
"format": "prettier --write \"./src/**/*.{ts,tsx,md}\"",
"format:check": "prettier --check \"./src/**/*.{ts,tsx,md}\"",
"postinstall": "fumadocs-mdx",
Expand Down Expand Up @@ -59,6 +61,7 @@
"@types/node": "^22.15.4",
"@types/react": "^18.3.27",
"@types/react-dom": "^18.3.7",
"@vapor-ui/ts-api-extractor": "workspace:*",
"eslint": "^9.20.1",
"postcss": "^8.5.4",
"shiki": "^3.7.0",
Expand Down
31 changes: 31 additions & 0 deletions apps/website/public/components/generated/ko/button.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"name": "Button",
"displayName": "Button",
"props": [
{
"name": "colorPalette",
"type": ["primary", "secondary", "success", "warning", "danger", "contrast"],
"required": false,
"defaultValue": "primary"
},
{
"name": "size",
"type": ["sm", "md", "lg", "xl"],
"required": false,
"defaultValue": "md"
},
{
"name": "variant",
"type": ["outline", "fill", "ghost"],
"required": false,
"defaultValue": "fill"
},
{
"name": "render",
"type": ["ReactElement", "(props: HTMLProps) => ReactElement"],
"required": false,
"description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render."
}
],
"defaultElement": "button"
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ import { Badge, Flex, HStack, Text, VStack } from '@vapor-ui/core';

import { InfoPopover } from '~/components/info';

// TODO: When i18n routing is implemented, derive language from URL path or context
const DEFAULT_LANGUAGE = 'ko';

interface PropDefinition {
name: string;
type: string | string[];
Expand Down Expand Up @@ -36,7 +39,9 @@ export const ComponentPropsTable = ({ componentName }: ComponentPropsTableProps)
React.useEffect(() => {
const loadComponentData = async () => {
try {
const response = await fetch(`/components/generated/${componentName}.json`);
const response = await fetch(
`/components/generated/${DEFAULT_LANGUAGE}/${componentName}.json`,
);
if (!response.ok) {
throw new Error(`Failed to load component data for ${componentName}`);
}
Expand Down
9 changes: 8 additions & 1 deletion apps/website/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,13 @@
}
]
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", "global.d.ts"],
"include": [
"next-env.d.ts",
"**/*.ts",
"**/*.tsx",
".next/types/**/*.ts",
"global.d.ts",
"docs-extractor.config.mjs"
],
"exclude": ["node_modules"]
}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
"test": "turbo run test",
"test:regressions": "turbo run test:regressions",
"test:update-snapshots": "turbo run test:regressions -- --update-snapshots",
"ts-api-extractor": "pnpm --filter @vapor-ui/ts-api-extractor",
"typecheck": "turbo typecheck",
"update-releases": "node scripts/update-releases.mjs",
"version": "changeset version && pnpm version:changelog && pnpm install --lockfile-only",
Expand Down
Loading
Loading