8484 - name : Create stub packages
8585 run : |
8686 mkdir -p packages/package-builder/build/dev/out/socketaddon-iocraft
87- echo '{"name":"@socketaddon/iocraft","version":"0.0.0","types":"./index.d.ts"}' > packages/package-builder/build/dev/out/socketaddon-iocraft/package.json
88- echo 'export interface ComponentNode { type: string; children?: ComponentNode[]; content?: string; [key: string]: any }
87+ echo '{"name":"@socketaddon/iocraft","version":"0.0.0","type":"module","main":"./index.mjs","types":"./index.d.ts"}' > packages/package-builder/build/dev/out/socketaddon-iocraft/package.json
88+ cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.d.ts << 'TYPES'
89+ export interface ComponentNode { type: string; children?: ComponentNode[]; content?: string; [key: string]: any }
8990 export function text(content: string): ComponentNode
9091 export function view(children: ComponentNode[]): ComponentNode
9192 export function renderToString(tree: ComponentNode): string
9697 export class TuiRenderer { constructor(); setTree(tree: ComponentNode): Promise<void>; isRunning(): boolean; getSize(): [number, number]; renderOnce(): Promise<string>; renderWithWidth(maxWidth: number): Promise<string>; print(): Promise<void>; eprint(): Promise<void> }
9798 export function init(): void
9899 declare const iocraft: { text: typeof text; view: typeof view; renderToString: typeof renderToString; renderToStringWithWidth: typeof renderToStringWithWidth; printComponent: typeof printComponent; eprintComponent: typeof eprintComponent; getTerminalSize: typeof getTerminalSize; TuiRenderer: typeof TuiRenderer; init: typeof init }
99- export default iocraft' > packages/package-builder/build/dev/out/socketaddon-iocraft/index.d.ts
100+ export default iocraft
101+ TYPES
102+ cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.mjs << 'CODE'
103+ export const text = (content) => ({ type: 'Text', content })
104+ export const view = (children) => ({ type: 'View', children })
105+ const extractText = (node) => {
106+ if (!node) return ''
107+ if (node.type === 'Text') return node.content || ''
108+ if (node.children) return node.children.map(extractText).join('')
109+ return ''
110+ }
111+ export const renderToString = (tree) => extractText(tree)
112+ export const renderToStringWithWidth = (tree, width) => extractText(tree)
113+ export const printComponent = (tree) => console.log(renderToString(tree))
114+ export const eprintComponent = (tree) => console.error(renderToString(tree))
115+ export const getTerminalSize = () => [80, 24]
116+ export class TuiRenderer { setTree(t) { return Promise.resolve() } isRunning() { return false } getSize() { return [80, 24] } renderOnce() { return Promise.resolve('') } renderWithWidth(w) { return Promise.resolve('') } print() { return Promise.resolve() } eprint() { return Promise.resolve() } }
117+ export const init = () => {}
118+ export default { text, view, renderToString, renderToStringWithWidth, printComponent, eprintComponent, getTerminalSize, TuiRenderer, init }
119+ CODE
100120
101121 - name : Install dependencies
102122 run : pnpm install --frozen-lockfile
@@ -130,8 +150,9 @@ jobs:
130150 - name : Create stub packages
131151 run : |
132152 mkdir -p packages/package-builder/build/dev/out/socketaddon-iocraft
133- echo '{"name":"@socketaddon/iocraft","version":"0.0.0","types":"./index.d.ts"}' > packages/package-builder/build/dev/out/socketaddon-iocraft/package.json
134- echo 'export interface ComponentNode { type: string; children?: ComponentNode[]; content?: string; [key: string]: any }
153+ echo '{"name":"@socketaddon/iocraft","version":"0.0.0","type":"module","main":"./index.mjs","types":"./index.d.ts"}' > packages/package-builder/build/dev/out/socketaddon-iocraft/package.json
154+ cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.d.ts << 'TYPES'
155+ export interface ComponentNode { type: string; children?: ComponentNode[]; content?: string; [key: string]: any }
135156 export function text(content: string): ComponentNode
136157 export function view(children: ComponentNode[]): ComponentNode
137158 export function renderToString(tree: ComponentNode): string
@@ -142,7 +163,26 @@ jobs:
142163 export class TuiRenderer { constructor(); setTree(tree: ComponentNode): Promise<void>; isRunning(): boolean; getSize(): [number, number]; renderOnce(): Promise<string>; renderWithWidth(maxWidth: number): Promise<string>; print(): Promise<void>; eprint(): Promise<void> }
143164 export function init(): void
144165 declare const iocraft: { text: typeof text; view: typeof view; renderToString: typeof renderToString; renderToStringWithWidth: typeof renderToStringWithWidth; printComponent: typeof printComponent; eprintComponent: typeof eprintComponent; getTerminalSize: typeof getTerminalSize; TuiRenderer: typeof TuiRenderer; init: typeof init }
145- export default iocraft' > packages/package-builder/build/dev/out/socketaddon-iocraft/index.d.ts
166+ export default iocraft
167+ TYPES
168+ cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.mjs << 'CODE'
169+ export const text = (content) => ({ type: 'Text', content })
170+ export const view = (children) => ({ type: 'View', children })
171+ const extractText = (node) => {
172+ if (!node) return ''
173+ if (node.type === 'Text') return node.content || ''
174+ if (node.children) return node.children.map(extractText).join('')
175+ return ''
176+ }
177+ export const renderToString = (tree) => extractText(tree)
178+ export const renderToStringWithWidth = (tree, width) => extractText(tree)
179+ export const printComponent = (tree) => console.log(renderToString(tree))
180+ export const eprintComponent = (tree) => console.error(renderToString(tree))
181+ export const getTerminalSize = () => [80, 24]
182+ export class TuiRenderer { setTree(t) { return Promise.resolve() } isRunning() { return false } getSize() { return [80, 24] } renderOnce() { return Promise.resolve('') } renderWithWidth(w) { return Promise.resolve('') } print() { return Promise.resolve() } eprint() { return Promise.resolve() } }
183+ export const init = () => {}
184+ export default { text, view, renderToString, renderToStringWithWidth, printComponent, eprintComponent, getTerminalSize, TuiRenderer, init }
185+ CODE
146186
147187 - name : Install dependencies
148188 run : pnpm install --frozen-lockfile
@@ -183,8 +223,9 @@ jobs:
183223 - name : Create stub packages
184224 run : |
185225 mkdir -p packages/package-builder/build/dev/out/socketaddon-iocraft
186- echo '{"name":"@socketaddon/iocraft","version":"0.0.0","types":"./index.d.ts"}' > packages/package-builder/build/dev/out/socketaddon-iocraft/package.json
187- echo 'export interface ComponentNode { type: string; children?: ComponentNode[]; content?: string; [key: string]: any }
226+ echo '{"name":"@socketaddon/iocraft","version":"0.0.0","type":"module","main":"./index.mjs","types":"./index.d.ts"}' > packages/package-builder/build/dev/out/socketaddon-iocraft/package.json
227+ cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.d.ts << 'TYPES'
228+ export interface ComponentNode { type: string; children?: ComponentNode[]; content?: string; [key: string]: any }
188229 export function text(content: string): ComponentNode
189230 export function view(children: ComponentNode[]): ComponentNode
190231 export function renderToString(tree: ComponentNode): string
@@ -195,7 +236,26 @@ jobs:
195236 export class TuiRenderer { constructor(); setTree(tree: ComponentNode): Promise<void>; isRunning(): boolean; getSize(): [number, number]; renderOnce(): Promise<string>; renderWithWidth(maxWidth: number): Promise<string>; print(): Promise<void>; eprint(): Promise<void> }
196237 export function init(): void
197238 declare const iocraft: { text: typeof text; view: typeof view; renderToString: typeof renderToString; renderToStringWithWidth: typeof renderToStringWithWidth; printComponent: typeof printComponent; eprintComponent: typeof eprintComponent; getTerminalSize: typeof getTerminalSize; TuiRenderer: typeof TuiRenderer; init: typeof init }
198- export default iocraft' > packages/package-builder/build/dev/out/socketaddon-iocraft/index.d.ts
239+ export default iocraft
240+ TYPES
241+ cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.mjs << 'CODE'
242+ export const text = (content) => ({ type: 'Text', content })
243+ export const view = (children) => ({ type: 'View', children })
244+ const extractText = (node) => {
245+ if (!node) return ''
246+ if (node.type === 'Text') return node.content || ''
247+ if (node.children) return node.children.map(extractText).join('')
248+ return ''
249+ }
250+ export const renderToString = (tree) => extractText(tree)
251+ export const renderToStringWithWidth = (tree, width) => extractText(tree)
252+ export const printComponent = (tree) => console.log(renderToString(tree))
253+ export const eprintComponent = (tree) => console.error(renderToString(tree))
254+ export const getTerminalSize = () => [80, 24]
255+ export class TuiRenderer { setTree(t) { return Promise.resolve() } isRunning() { return false } getSize() { return [80, 24] } renderOnce() { return Promise.resolve('') } renderWithWidth(w) { return Promise.resolve('') } print() { return Promise.resolve() } eprint() { return Promise.resolve() } }
256+ export const init = () => {}
257+ export default { text, view, renderToString, renderToStringWithWidth, printComponent, eprintComponent, getTerminalSize, TuiRenderer, init }
258+ CODE
199259
200260 - name : Install dependencies
201261 run : pnpm install --frozen-lockfile
@@ -241,8 +301,9 @@ jobs:
241301 - name : Create stub packages
242302 run : |
243303 mkdir -p packages/package-builder/build/dev/out/socketaddon-iocraft
244- echo '{"name":"@socketaddon/iocraft","version":"0.0.0","types":"./index.d.ts"}' > packages/package-builder/build/dev/out/socketaddon-iocraft/package.json
245- echo 'export interface ComponentNode { type: string; children?: ComponentNode[]; content?: string; [key: string]: any }
304+ echo '{"name":"@socketaddon/iocraft","version":"0.0.0","type":"module","main":"./index.mjs","types":"./index.d.ts"}' > packages/package-builder/build/dev/out/socketaddon-iocraft/package.json
305+ cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.d.ts << 'TYPES'
306+ export interface ComponentNode { type: string; children?: ComponentNode[]; content?: string; [key: string]: any }
246307 export function text(content: string): ComponentNode
247308 export function view(children: ComponentNode[]): ComponentNode
248309 export function renderToString(tree: ComponentNode): string
@@ -253,7 +314,26 @@ jobs:
253314 export class TuiRenderer { constructor(); setTree(tree: ComponentNode): Promise<void>; isRunning(): boolean; getSize(): [number, number]; renderOnce(): Promise<string>; renderWithWidth(maxWidth: number): Promise<string>; print(): Promise<void>; eprint(): Promise<void> }
254315 export function init(): void
255316 declare const iocraft: { text: typeof text; view: typeof view; renderToString: typeof renderToString; renderToStringWithWidth: typeof renderToStringWithWidth; printComponent: typeof printComponent; eprintComponent: typeof eprintComponent; getTerminalSize: typeof getTerminalSize; TuiRenderer: typeof TuiRenderer; init: typeof init }
256- export default iocraft' > packages/package-builder/build/dev/out/socketaddon-iocraft/index.d.ts
317+ export default iocraft
318+ TYPES
319+ cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.mjs << 'CODE'
320+ export const text = (content) => ({ type: 'Text', content })
321+ export const view = (children) => ({ type: 'View', children })
322+ const extractText = (node) => {
323+ if (!node) return ''
324+ if (node.type === 'Text') return node.content || ''
325+ if (node.children) return node.children.map(extractText).join('')
326+ return ''
327+ }
328+ export const renderToString = (tree) => extractText(tree)
329+ export const renderToStringWithWidth = (tree, width) => extractText(tree)
330+ export const printComponent = (tree) => console.log(renderToString(tree))
331+ export const eprintComponent = (tree) => console.error(renderToString(tree))
332+ export const getTerminalSize = () => [80, 24]
333+ export class TuiRenderer { setTree(t) { return Promise.resolve() } isRunning() { return false } getSize() { return [80, 24] } renderOnce() { return Promise.resolve('') } renderWithWidth(w) { return Promise.resolve('') } print() { return Promise.resolve() } eprint() { return Promise.resolve() } }
334+ export const init = () => {}
335+ export default { text, view, renderToString, renderToStringWithWidth, printComponent, eprintComponent, getTerminalSize, TuiRenderer, init }
336+ CODE
257337
258338 - name : Install dependencies
259339 run : pnpm install --frozen-lockfile
0 commit comments