@navios/commander-tui 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/{src/__tests__/mocks/scm-mock.ts → dist/base/src/__tests__/mocks/scm-mock.d.ts} +3 -1
  3. package/dist/base/src/__tests__/mocks/scm-mock.d.ts.map +1 -0
  4. package/dist/base/src/__tests__/setup.d.ts +2 -0
  5. package/dist/base/src/__tests__/setup.d.ts.map +1 -0
  6. package/dist/base/src/__tests__/utils/factories.d.ts +67 -0
  7. package/dist/base/src/__tests__/utils/factories.d.ts.map +1 -0
  8. package/dist/base/src/__tests__/utils/render-utils.d.ts +21 -0
  9. package/dist/base/src/__tests__/utils/render-utils.d.ts.map +1 -0
  10. package/dist/base/src/__tests__/utils/test-container.d.ts +20 -0
  11. package/dist/base/src/__tests__/utils/test-container.d.ts.map +1 -0
  12. package/dist/base/src/adapters/interface.d.ts +9 -2
  13. package/dist/base/src/adapters/interface.d.ts.map +1 -1
  14. package/dist/base/src/overrides/missing-adapter.override.d.ts +10 -0
  15. package/dist/base/src/overrides/missing-adapter.override.d.ts.map +1 -1
  16. package/dist/base/src/schemas/logger-options.d.ts +1 -1
  17. package/dist/base/src/services/index.d.ts +1 -0
  18. package/dist/base/src/services/index.d.ts.map +1 -1
  19. package/dist/base/src/services/logger.d.ts.map +1 -1
  20. package/dist/base/src/services/readline_prompt.d.ts +27 -0
  21. package/dist/base/src/services/readline_prompt.d.ts.map +1 -0
  22. package/dist/base/src/services/screen.d.ts +14 -8
  23. package/dist/base/src/services/screen.d.ts.map +1 -1
  24. package/dist/base/src/services/screen_manager.d.ts +62 -12
  25. package/dist/base/src/services/screen_manager.d.ts.map +1 -1
  26. package/dist/base/src/types/events.types.d.ts +40 -0
  27. package/dist/base/src/types/events.types.d.ts.map +1 -0
  28. package/dist/base/src/types/index.d.ts +1 -0
  29. package/dist/base/src/types/index.d.ts.map +1 -1
  30. package/dist/base/src/types/screen.types.d.ts +28 -0
  31. package/dist/base/src/types/screen.types.d.ts.map +1 -1
  32. package/dist/base/src/utils/colors/helpers.d.ts +0 -16
  33. package/dist/base/src/utils/colors/helpers.d.ts.map +1 -1
  34. package/dist/base/src/utils/index.d.ts +2 -0
  35. package/dist/base/src/utils/index.d.ts.map +1 -1
  36. package/dist/base/src/utils/prompt.d.ts +7 -0
  37. package/dist/base/src/utils/prompt.d.ts.map +1 -0
  38. package/dist/base/src/utils/runtime.d.ts +10 -0
  39. package/dist/base/src/utils/runtime.d.ts.map +1 -0
  40. package/dist/base/src/utils/stdout-printer.d.ts +5 -0
  41. package/dist/base/src/utils/stdout-printer.d.ts.map +1 -1
  42. package/dist/base/tsconfig.base.tsbuildinfo +1 -1
  43. package/dist/base/tsconfig.tsbuildinfo +1 -0
  44. package/dist/ink/src/adapters/ink/components/file/file_log.d.ts +28 -0
  45. package/dist/ink/src/adapters/ink/components/file/file_log.d.ts.map +1 -0
  46. package/dist/ink/src/adapters/ink/components/file/index.d.ts +2 -0
  47. package/dist/ink/src/adapters/ink/components/file/index.d.ts.map +1 -0
  48. package/dist/ink/src/adapters/ink/components/filter/filter_bar.d.ts +7 -0
  49. package/dist/ink/src/adapters/ink/components/filter/filter_bar.d.ts.map +1 -0
  50. package/dist/ink/src/adapters/ink/components/filter/index.d.ts +2 -0
  51. package/dist/ink/src/adapters/ink/components/filter/index.d.ts.map +1 -0
  52. package/dist/ink/src/adapters/ink/components/help/help_overlay.d.ts +6 -0
  53. package/dist/ink/src/adapters/ink/components/help/help_overlay.d.ts.map +1 -0
  54. package/dist/ink/src/adapters/ink/components/help/index.d.ts +2 -0
  55. package/dist/ink/src/adapters/ink/components/help/index.d.ts.map +1 -0
  56. package/dist/ink/src/adapters/ink/components/index.d.ts +9 -0
  57. package/dist/ink/src/adapters/ink/components/index.d.ts.map +1 -0
  58. package/dist/ink/src/adapters/ink/components/log/index.d.ts +2 -0
  59. package/dist/ink/src/adapters/ink/components/log/index.d.ts.map +1 -0
  60. package/dist/ink/src/adapters/ink/components/log/log_message.d.ts +15 -0
  61. package/dist/ink/src/adapters/ink/components/log/log_message.d.ts.map +1 -0
  62. package/dist/ink/src/adapters/ink/components/prompt/index.d.ts +2 -0
  63. package/dist/ink/src/adapters/ink/components/prompt/index.d.ts.map +1 -0
  64. package/dist/ink/src/adapters/ink/components/prompt/prompt_renderer.d.ts +6 -0
  65. package/dist/ink/src/adapters/ink/components/prompt/prompt_renderer.d.ts.map +1 -0
  66. package/dist/ink/src/adapters/ink/components/screen/group_renderer.d.ts +14 -0
  67. package/dist/ink/src/adapters/ink/components/screen/group_renderer.d.ts.map +1 -0
  68. package/dist/ink/src/adapters/ink/components/screen/index.d.ts +7 -0
  69. package/dist/ink/src/adapters/ink/components/screen/index.d.ts.map +1 -0
  70. package/dist/ink/src/adapters/ink/components/screen/loading_message.d.ts +6 -0
  71. package/dist/ink/src/adapters/ink/components/screen/loading_message.d.ts.map +1 -0
  72. package/dist/ink/src/adapters/ink/components/screen/message_renderer.d.ts +6 -0
  73. package/dist/ink/src/adapters/ink/components/screen/message_renderer.d.ts.map +1 -0
  74. package/dist/ink/src/adapters/ink/components/screen/progress_message.d.ts +6 -0
  75. package/dist/ink/src/adapters/ink/components/screen/progress_message.d.ts.map +1 -0
  76. package/dist/ink/src/adapters/ink/components/screen/screen_bridge.d.ts +14 -0
  77. package/dist/ink/src/adapters/ink/components/screen/screen_bridge.d.ts.map +1 -0
  78. package/dist/ink/src/adapters/ink/components/screen/table_message.d.ts +6 -0
  79. package/dist/ink/src/adapters/ink/components/screen/table_message.d.ts.map +1 -0
  80. package/dist/ink/src/adapters/ink/components/screen_manager_bridge.d.ts +8 -0
  81. package/dist/ink/src/adapters/ink/components/screen_manager_bridge.d.ts.map +1 -0
  82. package/dist/ink/src/adapters/ink/components/sidebar/index.d.ts +4 -0
  83. package/dist/ink/src/adapters/ink/components/sidebar/index.d.ts.map +1 -0
  84. package/dist/ink/src/adapters/ink/components/sidebar/sidebar.d.ts +11 -0
  85. package/dist/ink/src/adapters/ink/components/sidebar/sidebar.d.ts.map +1 -0
  86. package/dist/ink/src/adapters/ink/components/sidebar/sidebar_item.d.ts +9 -0
  87. package/dist/ink/src/adapters/ink/components/sidebar/sidebar_item.d.ts.map +1 -0
  88. package/dist/ink/src/adapters/ink/components/sidebar/sidebar_separator.d.ts +2 -0
  89. package/dist/ink/src/adapters/ink/components/sidebar/sidebar_separator.d.ts.map +1 -0
  90. package/dist/ink/src/adapters/ink/context/index.d.ts +2 -0
  91. package/dist/ink/src/adapters/ink/context/index.d.ts.map +1 -0
  92. package/dist/ink/src/adapters/ink/context/logger_context.d.ts +33 -0
  93. package/dist/ink/src/adapters/ink/context/logger_context.d.ts.map +1 -0
  94. package/dist/ink/src/adapters/ink/hooks/index.d.ts +2 -0
  95. package/dist/ink/src/adapters/ink/hooks/index.d.ts.map +1 -0
  96. package/dist/ink/src/adapters/ink/hooks/use_theme.d.ts +7 -0
  97. package/dist/ink/src/adapters/ink/hooks/use_theme.d.ts.map +1 -0
  98. package/dist/ink/src/adapters/ink/index.d.ts +18 -0
  99. package/dist/ink/src/adapters/ink/index.d.ts.map +1 -0
  100. package/dist/ink/src/adapters/react-shared/hooks/index.d.ts +4 -0
  101. package/dist/ink/src/adapters/react-shared/hooks/index.d.ts.map +1 -0
  102. package/dist/ink/src/adapters/react-shared/hooks/use_filter_state.d.ts +18 -0
  103. package/dist/ink/src/adapters/react-shared/hooks/use_filter_state.d.ts.map +1 -0
  104. package/dist/ink/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts +26 -0
  105. package/dist/ink/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts.map +1 -0
  106. package/dist/ink/src/adapters/react-shared/hooks/use_manager_subscription.d.ts +7 -0
  107. package/dist/ink/src/adapters/react-shared/hooks/use_manager_subscription.d.ts.map +1 -0
  108. package/dist/ink/src/adapters/react-shared/index.d.ts +2 -0
  109. package/dist/ink/src/adapters/react-shared/index.d.ts.map +1 -0
  110. package/dist/ink/tsconfig.ink.tsbuildinfo +1 -0
  111. package/dist/react/src/adapters/react-shared/hooks/index.d.ts +4 -0
  112. package/dist/react/src/adapters/react-shared/hooks/index.d.ts.map +1 -0
  113. package/dist/react/src/adapters/react-shared/hooks/use_filter_state.d.ts +18 -0
  114. package/dist/react/src/adapters/react-shared/hooks/use_filter_state.d.ts.map +1 -0
  115. package/dist/react/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts +26 -0
  116. package/dist/react/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts.map +1 -0
  117. package/dist/react/src/adapters/react-shared/hooks/use_manager_subscription.d.ts +7 -0
  118. package/dist/react/src/adapters/react-shared/hooks/use_manager_subscription.d.ts.map +1 -0
  119. package/dist/react/src/adapters/react-shared/index.d.ts +2 -0
  120. package/dist/react/src/adapters/react-shared/index.d.ts.map +1 -0
  121. package/dist/react/tsconfig.react.tsbuildinfo +1 -1
  122. package/dist/solid/tsconfig.solid.tsbuildinfo +1 -1
  123. package/lib/index.cjs +2177 -178
  124. package/lib/index.cjs.map +1 -1
  125. package/lib/index.d.cts +942 -78
  126. package/lib/index.d.cts.map +1 -0
  127. package/lib/index.d.mts +902 -38
  128. package/lib/index.d.mts.map +1 -0
  129. package/lib/index.mjs +2098 -135
  130. package/lib/index.mjs.map +1 -1
  131. package/package.json +1 -31
  132. package/src/__tests__/services/logger.spec.ts +32 -0
  133. package/src/__tests__/services/screen.spec.ts +106 -95
  134. package/src/__tests__/utils/factories.ts +2 -0
  135. package/src/adapters/interface.ts +10 -2
  136. package/src/overrides/missing-adapter.override.ts +16 -6
  137. package/src/services/index.ts +1 -0
  138. package/src/services/logger.ts +7 -1
  139. package/src/services/readline_prompt.ts +194 -0
  140. package/src/services/screen.ts +106 -54
  141. package/src/services/screen_manager.ts +282 -74
  142. package/src/types/events.types.ts +84 -0
  143. package/src/types/index.ts +3 -0
  144. package/src/types/screen.types.ts +34 -0
  145. package/src/utils/colors/helpers.ts +0 -25
  146. package/src/utils/index.ts +6 -0
  147. package/src/utils/prompt.ts +18 -0
  148. package/src/utils/runtime.ts +14 -0
  149. package/src/utils/stdout-printer.ts +16 -5
  150. package/tsconfig.base.json +1 -17
  151. package/tsconfig.json +1 -6
  152. package/tsdown.config.mts +13 -70
  153. package/lib/adapters/react/index.cjs +0 -1768
  154. package/lib/adapters/react/index.cjs.map +0 -1
  155. package/lib/adapters/react/index.d.cts +0 -80
  156. package/lib/adapters/react/index.d.mts +0 -80
  157. package/lib/adapters/react/index.mjs +0 -1760
  158. package/lib/adapters/react/index.mjs.map +0 -1
  159. package/lib/adapters/solid/index.cjs +0 -3855
  160. package/lib/adapters/solid/index.cjs.map +0 -1
  161. package/lib/adapters/solid/index.d.cts +0 -74
  162. package/lib/adapters/solid/index.d.mts +0 -74
  163. package/lib/adapters/solid/index.mjs +0 -3847
  164. package/lib/adapters/solid/index.mjs.map +0 -1
  165. package/lib/filter_engine-DXqu9Vaq.cjs +0 -1836
  166. package/lib/filter_engine-DXqu9Vaq.cjs.map +0 -1
  167. package/lib/filter_engine-DmqhEhpA.mjs +0 -1609
  168. package/lib/filter_engine-DmqhEhpA.mjs.map +0 -1
  169. package/lib/interface-CTHQ08aY.d.mts +0 -699
  170. package/lib/interface-DQEIz9Mb.d.cts +0 -699
  171. package/src/__tests__/components/__snapshots__/filter_bar.spec.tsx.snap +0 -2293
  172. package/src/__tests__/components/__snapshots__/loading_message.spec.tsx.snap +0 -1414
  173. package/src/__tests__/components/__snapshots__/log_message.spec.tsx.snap +0 -3245
  174. package/src/__tests__/components/__snapshots__/progress_message.spec.tsx.snap +0 -1783
  175. package/src/__tests__/components/__snapshots__/prompt_renderer.spec.tsx.snap +0 -3203
  176. package/src/__tests__/components/__snapshots__/sidebar.spec.tsx.snap +0 -2857
  177. package/src/__tests__/components/filter_bar.spec.tsx +0 -190
  178. package/src/__tests__/components/loading_message.spec.tsx +0 -110
  179. package/src/__tests__/components/log_message.spec.tsx +0 -166
  180. package/src/__tests__/components/progress_message.spec.tsx +0 -147
  181. package/src/__tests__/components/prompt_renderer.spec.tsx +0 -274
  182. package/src/__tests__/components/sidebar.spec.tsx +0 -322
  183. package/src/__tests__/utils/render-utils.tsx +0 -39
  184. package/src/adapters/react/components/file/file_log.tsx +0 -241
  185. package/src/adapters/react/components/file/index.ts +0 -1
  186. package/src/adapters/react/components/filter/filter_bar.tsx +0 -79
  187. package/src/adapters/react/components/filter/index.ts +0 -1
  188. package/src/adapters/react/components/help/help_overlay.tsx +0 -100
  189. package/src/adapters/react/components/help/index.ts +0 -1
  190. package/src/adapters/react/components/log/index.ts +0 -1
  191. package/src/adapters/react/components/log/log_message.tsx +0 -102
  192. package/src/adapters/react/components/prompt/index.ts +0 -2
  193. package/src/adapters/react/components/prompt/prompt_renderer.tsx +0 -346
  194. package/src/adapters/react/components/screen/group_renderer.tsx +0 -64
  195. package/src/adapters/react/components/screen/index.ts +0 -6
  196. package/src/adapters/react/components/screen/loading_message.tsx +0 -43
  197. package/src/adapters/react/components/screen/message_renderer.tsx +0 -108
  198. package/src/adapters/react/components/screen/progress_message.tsx +0 -60
  199. package/src/adapters/react/components/screen/screen_bridge.tsx +0 -149
  200. package/src/adapters/react/components/screen/table_message.tsx +0 -57
  201. package/src/adapters/react/components/screen_manager_bridge.tsx +0 -245
  202. package/src/adapters/react/components/sidebar/index.ts +0 -3
  203. package/src/adapters/react/components/sidebar/sidebar.tsx +0 -102
  204. package/src/adapters/react/components/sidebar/sidebar_item.tsx +0 -50
  205. package/src/adapters/react/components/sidebar/sidebar_separator.tsx +0 -13
  206. package/src/adapters/react/context/index.ts +0 -1
  207. package/src/adapters/react/context/logger_context.tsx +0 -109
  208. package/src/adapters/react/hooks/index.ts +0 -1
  209. package/src/adapters/react/hooks/use_theme.ts +0 -12
  210. package/src/adapters/react/index.ts +0 -39
  211. package/src/adapters/solid/components/file/file_log.tsx +0 -221
  212. package/src/adapters/solid/components/file/index.ts +0 -1
  213. package/src/adapters/solid/components/filter/filter_bar.tsx +0 -84
  214. package/src/adapters/solid/components/filter/index.ts +0 -1
  215. package/src/adapters/solid/components/help/help_overlay.tsx +0 -106
  216. package/src/adapters/solid/components/help/index.ts +0 -1
  217. package/src/adapters/solid/components/log/index.ts +0 -1
  218. package/src/adapters/solid/components/log/log_message.tsx +0 -92
  219. package/src/adapters/solid/components/prompt/index.ts +0 -2
  220. package/src/adapters/solid/components/prompt/prompt_renderer.tsx +0 -350
  221. package/src/adapters/solid/components/screen/group_renderer.tsx +0 -61
  222. package/src/adapters/solid/components/screen/index.ts +0 -6
  223. package/src/adapters/solid/components/screen/loading_message.tsx +0 -39
  224. package/src/adapters/solid/components/screen/message_renderer.tsx +0 -122
  225. package/src/adapters/solid/components/screen/progress_message.tsx +0 -61
  226. package/src/adapters/solid/components/screen/screen_bridge.tsx +0 -155
  227. package/src/adapters/solid/components/screen/table_message.tsx +0 -58
  228. package/src/adapters/solid/components/screen_manager_bridge.tsx +0 -243
  229. package/src/adapters/solid/components/sidebar/index.ts +0 -3
  230. package/src/adapters/solid/components/sidebar/sidebar.tsx +0 -108
  231. package/src/adapters/solid/components/sidebar/sidebar_item.tsx +0 -55
  232. package/src/adapters/solid/components/sidebar/sidebar_separator.tsx +0 -13
  233. package/src/adapters/solid/context/index.ts +0 -2
  234. package/src/adapters/solid/context/logger_context.tsx +0 -95
  235. package/src/adapters/solid/hooks/index.ts +0 -1
  236. package/src/adapters/solid/hooks/use_theme.ts +0 -12
  237. package/src/adapters/solid/index.tsx +0 -43
  238. package/src/adapters/solid/jsx.d.ts +0 -98
  239. package/tsconfig.react.json +0 -16
  240. package/tsconfig.solid.json +0 -16
@@ -1,34 +1,9 @@
1
- import { RGBA } from '@opentui/core'
2
-
3
1
  import type { LogLevel } from '@navios/core'
4
2
 
5
3
  import type { LogLevelColorMap, LogLevelColors } from '../../types/index.ts'
6
4
 
7
5
  import { DEFAULT_LOG_LEVEL_COLORS } from './log-colors.ts'
8
6
 
9
- /**
10
- * Creates a tinted (subtle) version of a color by setting alpha.
11
- *
12
- * @param color - The base color (hex string or RGBA)
13
- * @param alpha - Target alpha value (0-1), default 0.08 for subtle tinting
14
- * @returns New RGBA with adjusted alpha
15
- */
16
- export function createTintedColor(color: string | RGBA, alpha: number = 0.08): RGBA {
17
- const rgba = typeof color === 'string' ? RGBA.fromHex(color) : color
18
- return RGBA.fromValues(rgba.r, rgba.g, rgba.b, alpha)
19
- }
20
-
21
- /**
22
- * Creates a more prominent version of a color for borders.
23
- *
24
- * @param color - The base color
25
- * @param alpha - Target alpha, default 1.0 for solid borders
26
- */
27
- export function createBorderColor(color: string | RGBA, alpha: number = 1.0): RGBA {
28
- const rgba = typeof color === 'string' ? RGBA.fromHex(color) : color
29
- return RGBA.fromValues(rgba.r, rgba.g, rgba.b, alpha)
30
- }
31
-
32
7
  /**
33
8
  * Gets colors for a specific log level.
34
9
  *
@@ -9,3 +9,9 @@ export * from './stdout-printer.ts'
9
9
 
10
10
  // Format utilities
11
11
  export * from './format.ts'
12
+
13
+ // Runtime detection
14
+ export * from './runtime.ts'
15
+
16
+ // Prompt utilities
17
+ export * from './prompt.ts'
@@ -0,0 +1,18 @@
1
+ import type { PromptData } from '../types/prompt.types.ts'
2
+
3
+ /**
4
+ * Get the default value for a prompt based on its type.
5
+ * Used for resolving prompts when no interaction is possible.
6
+ */
7
+ export function getPromptDefaultValue(prompt: PromptData): string | boolean | string[] {
8
+ switch (prompt.type) {
9
+ case 'choice':
10
+ return prompt.defaultChoice
11
+ case 'confirm':
12
+ return prompt.defaultValue
13
+ case 'input':
14
+ return prompt.defaultValue
15
+ case 'multiChoice':
16
+ return prompt.choices.filter((_, i) => prompt.selectedIndices.has(i)).map((c) => c.value)
17
+ }
18
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Detect if running in Bun environment (OpenTUI is not supported in Bun)
3
+ */
4
+ export function isBunRuntime(): boolean {
5
+ return typeof (globalThis as Record<string, unknown>).Bun !== 'undefined'
6
+ }
7
+
8
+ /**
9
+ * Dynamic import that bypasses bundler static analysis.
10
+ * Uses Function constructor to prevent bundlers from resolving the import at build time.
11
+ */
12
+ export function dynamicImport<T = unknown>(modulePath: string): Promise<T> {
13
+ return new Function('modulePath', 'return import(modulePath)')(modulePath) as Promise<T>
14
+ }
@@ -231,14 +231,25 @@ function printMessage(message: MessageData, stream: NodeJS.WriteStream): void {
231
231
  }
232
232
  }
233
233
 
234
+ /**
235
+ * Print a single message to stdout with optional screen name prefix.
236
+ * Used for immediate output in stdout mode (when OpenTUI is not active).
237
+ */
238
+ export function printSingleMessage(message: MessageData, screenName?: string, isError: boolean = false): void {
239
+ const stream = isError ? process.stderr : process.stdout
240
+
241
+ // Add screen name prefix for context (dimmed)
242
+ if (screenName) {
243
+ stream.write(`${DIM}[${screenName}]${RESET} `)
244
+ }
245
+
246
+ printMessage(message, stream)
247
+ }
248
+
234
249
  /**
235
250
  * Print all messages to stdout (or stderr if isError)
236
251
  */
237
- export function printMessagesToStdout(
238
- messages: MessageData[],
239
- screenName: string,
240
- isError: boolean = false,
241
- ): void {
252
+ export function printMessagesToStdout(messages: MessageData[], screenName: string, isError: boolean = false): void {
242
253
  const stream = isError ? process.stderr : process.stdout
243
254
 
244
255
  // Print screen header
@@ -9,23 +9,7 @@
9
9
  "composite": true
10
10
  },
11
11
  "include": [
12
- "src/types/**/*",
13
- "src/utils/**/*",
14
- "src/themes/**/*",
15
- "src/tokens/**/*",
16
- "src/services/**/*",
17
- "src/schemas/**/*",
18
- "src/filter/**/*",
19
- "src/keyboard/**/*",
20
- "src/interfaces/**/*",
21
- "src/factories/**/*",
22
- "src/context/**/*",
23
- "src/hooks/**/*",
24
- "src/components/**/*",
25
- "src/overrides/**/*",
26
- "src/adapters/index.ts",
27
- "src/adapters/interface.ts",
28
- "src/index.ts"
12
+ "src/**/*",
29
13
  ],
30
14
  "exclude": ["src/**/*.spec.ts", "src/**/*.spec.tsx"]
31
15
  }
package/tsconfig.json CHANGED
@@ -1,8 +1,3 @@
1
1
  {
2
- "files": [],
3
- "references": [
4
- { "path": "./tsconfig.base.json" },
5
- { "path": "./tsconfig.react.json" },
6
- { "path": "./tsconfig.solid.json" }
7
- ]
2
+ "extends": "./tsconfig.base.json"
8
3
  }
package/tsdown.config.mts CHANGED
@@ -1,45 +1,8 @@
1
- import { createRequire } from 'node:module'
2
- import { dirname, join } from 'node:path'
3
-
4
- import solid from 'rolldown-plugin-solid'
5
- import { withFilter } from 'rolldown/filter'
6
1
  import { defineConfig } from 'tsdown'
7
2
  import swc from 'unplugin-swc'
8
3
 
9
- const require = createRequire(import.meta.url)
10
- const solidJsPath = dirname(require.resolve('solid-js/package.json'))
11
-
12
- /**
13
- * Resolve aliases to redirect solid-js server.js imports to client-side versions.
14
- * This is needed because solid-js uses conditional exports that resolve to
15
- * server.js in Node.js environment, but we need the client-side versions.
16
- */
17
- const solidResolveAliases: Record<string, string> = {
18
- 'solid-js/dist/server.js': join(solidJsPath, 'dist/solid.js'),
19
- 'solid-js/store/dist/server.js': join(solidJsPath, 'store/dist/store.js'),
20
- 'solid-js/web/dist/server.js': join(solidJsPath, 'web/dist/web.js'),
21
- // Also handle the bare module specifiers
22
- 'solid-js': join(solidJsPath, 'dist/solid.js'),
23
- 'solid-js/store': join(solidJsPath, 'store/dist/store.js'),
24
- 'solid-js/web': join(solidJsPath, 'web/dist/web.js'),
25
- }
26
-
27
- const baseSwcConfig = {
28
- jsc: {
29
- target: 'es2022' as const,
30
- parser: {
31
- tsx: true,
32
- syntax: 'typescript' as const,
33
- decorators: true,
34
- },
35
- transform: {
36
- decoratorVersion: '2022-03' as const,
37
- },
38
- },
39
- }
40
-
41
4
  export default defineConfig({
42
- entry: ['src/index.ts', 'src/adapters/react/index.ts', 'src/adapters/solid/index.tsx'],
5
+ entry: ['src/index.ts'],
43
6
  outDir: 'lib',
44
7
  format: ['esm', 'cjs'],
45
8
  clean: true,
@@ -48,40 +11,20 @@ export default defineConfig({
48
11
  platform: 'node',
49
12
  dts: true,
50
13
  target: 'es2022',
51
- external: ['@opentui/core', '@opentui/react', 'react', '@navios/core'],
52
- alias: solidResolveAliases,
53
- noExternal: ['solid-js', 'solid-js/store', 'solid-js/web'],
14
+ external: ['@opentui/core', '@navios/core'],
54
15
  plugins: [
55
- // React adapter JSX transform
56
- withFilter(
57
- swc.rolldown({
58
- jsc: {
59
- ...baseSwcConfig.jsc,
60
- transform: {
61
- ...baseSwcConfig.jsc.transform,
62
- react: {
63
- runtime: 'automatic',
64
- importSource: '@opentui/react',
65
- },
66
- },
67
- },
68
- }),
69
- { transform: { id: '**/adapters/react/**' } },
70
- ),
71
- // Solid adapter JSX transform using babel-preset-solid
72
- withFilter(
73
- solid({
74
- babel: {
75
- plugins: [['@babel/plugin-proposal-decorators', { version: '2023-11' }]],
16
+ swc.rolldown({
17
+ jsc: {
18
+ target: 'es2022',
19
+ parser: {
20
+ tsx: false,
21
+ syntax: 'typescript',
22
+ decorators: true,
76
23
  },
77
- solid: {
78
- moduleName: '@opentui/solid',
79
- generate: 'universal',
24
+ transform: {
25
+ decoratorVersion: '2022-03',
80
26
  },
81
- }),
82
- { transform: { id: '**/adapters/solid/**' } },
83
- ),
84
- // Default transform for non-adapter files (no JSX)
85
- swc.rolldown(baseSwcConfig),
27
+ },
28
+ }),
86
29
  ],
87
30
  })