From 223fd310eb4cb3cfb372c6a945c179cc3c93a54f Mon Sep 17 00:00:00 2001 From: owjs3901 Date: Wed, 24 Dec 2025 19:30:31 +0900 Subject: [PATCH 01/17] Fix dep --- src/codegen/props/layout.ts | 7 +++-- src/codegen/responsive/ResponsiveCodegen.ts | 1 + src/codegen/responsive/index.ts | 31 +++++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/codegen/props/layout.ts b/src/codegen/props/layout.ts index b186633..49d2aa0 100644 --- a/src/codegen/props/layout.ts +++ b/src/codegen/props/layout.ts @@ -53,7 +53,8 @@ function _getLayoutProps( (node.parent && 'width' in node.parent && node.parent.width > node.width) - ? checkAssetNode(node) + ? checkAssetNode(node) || + ('children' in node && node.children.length === 0) ? addPx(node.width) : undefined : '100%', @@ -61,7 +62,9 @@ function _getLayoutProps( h: ('children' in node && node.children.length > 0) || node.type === 'TEXT' ? undefined - : '100%', + : 'children' in node && node.children.length === 0 + ? addPx(node.height) + : '100%', } } const hType = diff --git a/src/codegen/responsive/ResponsiveCodegen.ts b/src/codegen/responsive/ResponsiveCodegen.ts index 5c4d472..0cb29bc 100644 --- a/src/codegen/responsive/ResponsiveCodegen.ts +++ b/src/codegen/responsive/ResponsiveCodegen.ts @@ -57,6 +57,7 @@ export class ResponsiveCodegen { const tree = await codegen.getTree() breakpointTrees.set(bp, tree) } + console.log('breakpointTrees', breakpointTrees) // Merge trees and generate code. return this.generateMergedCode(breakpointTrees, 0) diff --git a/src/codegen/responsive/index.ts b/src/codegen/responsive/index.ts index e1df774..f45b145 100644 --- a/src/codegen/responsive/index.ts +++ b/src/codegen/responsive/index.ts @@ -73,6 +73,37 @@ const SPECIAL_PROPS_WITH_INITIAL = new Set([ 'w', 'h', 'textAlign', + // layout related + 'flexDir', + 'flexWrap', + 'justify', + 'alignItems', + 'alignContent', + 'alignSelf', + 'gap', + 'rowGap', + 'columnGap', + 'flex', + 'flexGrow', + 'flexShrink', + 'flexBasis', + 'order', + // grid layout + 'gridTemplateColumns', + 'gridTemplateRows', + 'gridColumn', + 'gridRow', + 'gridArea', + // position related + 'top', + 'right', + 'bottom', + 'left', + 'zIndex', + // overflow + 'overflow', + 'overflowX', + 'overflowY', ]) /** From c5654223cad701a7523a833a3e6321af8be73b72 Mon Sep 17 00:00:00 2001 From: owjs3901 Date: Wed, 24 Dec 2025 19:30:41 +0900 Subject: [PATCH 02/17] Fix dep --- src/codegen/responsive/ResponsiveCodegen.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/codegen/responsive/ResponsiveCodegen.ts b/src/codegen/responsive/ResponsiveCodegen.ts index 0cb29bc..5c4d472 100644 --- a/src/codegen/responsive/ResponsiveCodegen.ts +++ b/src/codegen/responsive/ResponsiveCodegen.ts @@ -57,7 +57,6 @@ export class ResponsiveCodegen { const tree = await codegen.getTree() breakpointTrees.set(bp, tree) } - console.log('breakpointTrees', breakpointTrees) // Merge trees and generate code. return this.generateMergedCode(breakpointTrees, 0) From 341a4022ca28355e56c7d9b60ecf50fc5a8de09c Mon Sep 17 00:00:00 2001 From: owjs3901 Date: Wed, 24 Dec 2025 19:32:46 +0900 Subject: [PATCH 03/17] Add specital --- src/codegen/responsive/index.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/codegen/responsive/index.ts b/src/codegen/responsive/index.ts index f45b145..3dd89ff 100644 --- a/src/codegen/responsive/index.ts +++ b/src/codegen/responsive/index.ts @@ -104,6 +104,20 @@ const SPECIAL_PROPS_WITH_INITIAL = new Set([ 'overflow', 'overflowX', 'overflowY', + 'p', + 'pt', + 'pr', + 'pb', + 'pl', + 'px', + 'py', + 'm', + 'mt', + 'mr', + 'mb', + 'ml', + 'mx', + 'my', ]) /** From 022247ddfe51f5bf8b3146b4a8517f86a9a62146 Mon Sep 17 00:00:00 2001 From: owjs3901 Date: Wed, 24 Dec 2025 19:41:32 +0900 Subject: [PATCH 04/17] Fix interface indent --- src/codegen/render/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/codegen/render/index.ts b/src/codegen/render/index.ts index 47c21e5..4dd4855 100644 --- a/src/codegen/render/index.ts +++ b/src/codegen/render/index.ts @@ -45,9 +45,9 @@ export function renderComponent( const hasVariants = Object.keys(variants).length > 0 const interfaceCode = hasVariants ? `export interface ${component}Props { - ${Object.entries(variants) - .map(([key, value]) => `${key}: ${value}`) - .join('\n')} +${Object.entries(variants) + .map(([key, value]) => ` ${key}: ${value}`) + .join('\n')} }\n\n` : '' return `${interfaceCode}export function ${component}() { From d2f9ead9277d38e7b5408eceb8aa869d0b7cea61 Mon Sep 17 00:00:00 2001 From: owjs3901 Date: Wed, 24 Dec 2025 19:47:31 +0900 Subject: [PATCH 05/17] add props with interface --- src/__tests__/__snapshots__/code.test.ts.snap | 6 +++--- src/codegen/__tests__/codegen.test.ts | 14 +++++++------- src/codegen/__tests__/render.test.ts | 6 +++--- src/codegen/render/index.ts | 5 +++-- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/__tests__/__snapshots__/code.test.ts.snap b/src/__tests__/__snapshots__/code.test.ts.snap index 5830663..c61256e 100644 --- a/src/__tests__/__snapshots__/code.test.ts.snap +++ b/src/__tests__/__snapshots__/code.test.ts.snap @@ -6,7 +6,7 @@ exports[`registerCodegen should register codegen 1`] = ` "code": "export function Test() { return - }" +}" , "language": "TYPESCRIPT", "title": "Test - Components", @@ -19,7 +19,7 @@ echo 'import { Box } from \\'@devup-ui/react\\' export function Test() { return - }' > src/components/Test.tsx" +}' > src/components/Test.tsx" , "language": "BASH", "title": "Test - Components CLI (Bash)", @@ -33,7 +33,7 @@ import { Box } from '@devup-ui/react' export function Test() { return - } +} '@ | Out-File -FilePath src\\components\\Test.tsx -Encoding UTF8" , "language": "BASH", diff --git a/src/codegen/__tests__/codegen.test.ts b/src/codegen/__tests__/codegen.test.ts index f24f1aa..c5bfd06 100644 --- a/src/codegen/__tests__/codegen.test.ts +++ b/src/codegen/__tests__/codegen.test.ts @@ -3047,9 +3047,9 @@ describe('Codegen', () => { state: 'default' | 'hover' } -export function Button() { +export function Button(props: ButtonProps) { return - }`, +}`, ], ], }, @@ -3092,7 +3092,7 @@ export function Button() { 'Button', `export function Button() { return - }`, +}`, ], ], }, @@ -3158,7 +3158,7 @@ export function Button() { 'Button', `export function Button() { return - }`, +}`, ], ], }, @@ -3234,7 +3234,7 @@ export function Button() { transitionProperty="opacity" /> ) - }`, +}`, ], ], }, @@ -3335,7 +3335,7 @@ export function Button() { 'Button', `export function Button() { return - }`, +}`, ], ], }, @@ -3352,7 +3352,7 @@ export function Button() { 'Icon', `export function Icon() { return - }`, +}`, ], ], }, diff --git a/src/codegen/__tests__/render.test.ts b/src/codegen/__tests__/render.test.ts index a18450b..9363a1b 100644 --- a/src/codegen/__tests__/render.test.ts +++ b/src/codegen/__tests__/render.test.ts @@ -46,7 +46,7 @@ describe('renderComponent', () => { variants: {} as Record, expected: `export function Button() { return