Skip to content

Commit a3311b7

Browse files
committed
fix(ci): add complete stub package with JS implementation for iocraft
1 parent e90c3f9 commit a3311b7

File tree

1 file changed

+68
-12
lines changed

1 file changed

+68
-12
lines changed

.github/workflows/ci.yml

Lines changed: 68 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,9 @@ jobs:
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
@@ -96,7 +97,20 @@ jobs:
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+
export const renderToString = (tree) => tree?.content || ''
106+
export const renderToStringWithWidth = (tree, width) => tree?.content || ''
107+
export const printComponent = (tree) => console.log(renderToString(tree))
108+
export const eprintComponent = (tree) => console.error(renderToString(tree))
109+
export const getTerminalSize = () => [80, 24]
110+
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() } }
111+
export const init = () => {}
112+
export default { text, view, renderToString, renderToStringWithWidth, printComponent, eprintComponent, getTerminalSize, TuiRenderer, init }
113+
CODE
100114
101115
- name: Install dependencies
102116
run: pnpm install --frozen-lockfile
@@ -130,8 +144,9 @@ jobs:
130144
- name: Create stub packages
131145
run: |
132146
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 }
147+
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
148+
cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.d.ts << 'TYPES'
149+
export interface ComponentNode { type: string; children?: ComponentNode[]; content?: string; [key: string]: any }
135150
export function text(content: string): ComponentNode
136151
export function view(children: ComponentNode[]): ComponentNode
137152
export function renderToString(tree: ComponentNode): string
@@ -142,7 +157,20 @@ jobs:
142157
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> }
143158
export function init(): void
144159
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
160+
export default iocraft
161+
TYPES
162+
cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.mjs << 'CODE'
163+
export const text = (content) => ({ type: 'Text', content })
164+
export const view = (children) => ({ type: 'View', children })
165+
export const renderToString = (tree) => tree?.content || ''
166+
export const renderToStringWithWidth = (tree, width) => tree?.content || ''
167+
export const printComponent = (tree) => console.log(renderToString(tree))
168+
export const eprintComponent = (tree) => console.error(renderToString(tree))
169+
export const getTerminalSize = () => [80, 24]
170+
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() } }
171+
export const init = () => {}
172+
export default { text, view, renderToString, renderToStringWithWidth, printComponent, eprintComponent, getTerminalSize, TuiRenderer, init }
173+
CODE
146174
147175
- name: Install dependencies
148176
run: pnpm install --frozen-lockfile
@@ -183,8 +211,9 @@ jobs:
183211
- name: Create stub packages
184212
run: |
185213
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 }
214+
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
215+
cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.d.ts << 'TYPES'
216+
export interface ComponentNode { type: string; children?: ComponentNode[]; content?: string; [key: string]: any }
188217
export function text(content: string): ComponentNode
189218
export function view(children: ComponentNode[]): ComponentNode
190219
export function renderToString(tree: ComponentNode): string
@@ -195,7 +224,20 @@ jobs:
195224
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> }
196225
export function init(): void
197226
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
227+
export default iocraft
228+
TYPES
229+
cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.mjs << 'CODE'
230+
export const text = (content) => ({ type: 'Text', content })
231+
export const view = (children) => ({ type: 'View', children })
232+
export const renderToString = (tree) => tree?.content || ''
233+
export const renderToStringWithWidth = (tree, width) => tree?.content || ''
234+
export const printComponent = (tree) => console.log(renderToString(tree))
235+
export const eprintComponent = (tree) => console.error(renderToString(tree))
236+
export const getTerminalSize = () => [80, 24]
237+
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() } }
238+
export const init = () => {}
239+
export default { text, view, renderToString, renderToStringWithWidth, printComponent, eprintComponent, getTerminalSize, TuiRenderer, init }
240+
CODE
199241
200242
- name: Install dependencies
201243
run: pnpm install --frozen-lockfile
@@ -241,8 +283,9 @@ jobs:
241283
- name: Create stub packages
242284
run: |
243285
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 }
286+
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
287+
cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.d.ts << 'TYPES'
288+
export interface ComponentNode { type: string; children?: ComponentNode[]; content?: string; [key: string]: any }
246289
export function text(content: string): ComponentNode
247290
export function view(children: ComponentNode[]): ComponentNode
248291
export function renderToString(tree: ComponentNode): string
@@ -253,7 +296,20 @@ jobs:
253296
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> }
254297
export function init(): void
255298
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
299+
export default iocraft
300+
TYPES
301+
cat > packages/package-builder/build/dev/out/socketaddon-iocraft/index.mjs << 'CODE'
302+
export const text = (content) => ({ type: 'Text', content })
303+
export const view = (children) => ({ type: 'View', children })
304+
export const renderToString = (tree) => tree?.content || ''
305+
export const renderToStringWithWidth = (tree, width) => tree?.content || ''
306+
export const printComponent = (tree) => console.log(renderToString(tree))
307+
export const eprintComponent = (tree) => console.error(renderToString(tree))
308+
export const getTerminalSize = () => [80, 24]
309+
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() } }
310+
export const init = () => {}
311+
export default { text, view, renderToString, renderToStringWithWidth, printComponent, eprintComponent, getTerminalSize, TuiRenderer, init }
312+
CODE
257313
258314
- name: Install dependencies
259315
run: pnpm install --frozen-lockfile

0 commit comments

Comments
 (0)