@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.
- package/CHANGELOG.md +25 -0
- package/{src/__tests__/mocks/scm-mock.ts → dist/base/src/__tests__/mocks/scm-mock.d.ts} +3 -1
- package/dist/base/src/__tests__/mocks/scm-mock.d.ts.map +1 -0
- package/dist/base/src/__tests__/setup.d.ts +2 -0
- package/dist/base/src/__tests__/setup.d.ts.map +1 -0
- package/dist/base/src/__tests__/utils/factories.d.ts +67 -0
- package/dist/base/src/__tests__/utils/factories.d.ts.map +1 -0
- package/dist/base/src/__tests__/utils/render-utils.d.ts +21 -0
- package/dist/base/src/__tests__/utils/render-utils.d.ts.map +1 -0
- package/dist/base/src/__tests__/utils/test-container.d.ts +20 -0
- package/dist/base/src/__tests__/utils/test-container.d.ts.map +1 -0
- package/dist/base/src/adapters/interface.d.ts +9 -2
- package/dist/base/src/adapters/interface.d.ts.map +1 -1
- package/dist/base/src/overrides/missing-adapter.override.d.ts +10 -0
- package/dist/base/src/overrides/missing-adapter.override.d.ts.map +1 -1
- package/dist/base/src/schemas/logger-options.d.ts +1 -1
- package/dist/base/src/services/index.d.ts +1 -0
- package/dist/base/src/services/index.d.ts.map +1 -1
- package/dist/base/src/services/logger.d.ts.map +1 -1
- package/dist/base/src/services/readline_prompt.d.ts +27 -0
- package/dist/base/src/services/readline_prompt.d.ts.map +1 -0
- package/dist/base/src/services/screen.d.ts +14 -8
- package/dist/base/src/services/screen.d.ts.map +1 -1
- package/dist/base/src/services/screen_manager.d.ts +62 -12
- package/dist/base/src/services/screen_manager.d.ts.map +1 -1
- package/dist/base/src/types/events.types.d.ts +40 -0
- package/dist/base/src/types/events.types.d.ts.map +1 -0
- package/dist/base/src/types/index.d.ts +1 -0
- package/dist/base/src/types/index.d.ts.map +1 -1
- package/dist/base/src/types/screen.types.d.ts +28 -0
- package/dist/base/src/types/screen.types.d.ts.map +1 -1
- package/dist/base/src/utils/colors/helpers.d.ts +0 -16
- package/dist/base/src/utils/colors/helpers.d.ts.map +1 -1
- package/dist/base/src/utils/index.d.ts +2 -0
- package/dist/base/src/utils/index.d.ts.map +1 -1
- package/dist/base/src/utils/prompt.d.ts +7 -0
- package/dist/base/src/utils/prompt.d.ts.map +1 -0
- package/dist/base/src/utils/runtime.d.ts +10 -0
- package/dist/base/src/utils/runtime.d.ts.map +1 -0
- package/dist/base/src/utils/stdout-printer.d.ts +5 -0
- package/dist/base/src/utils/stdout-printer.d.ts.map +1 -1
- package/dist/base/tsconfig.base.tsbuildinfo +1 -1
- package/dist/base/tsconfig.tsbuildinfo +1 -0
- package/dist/ink/src/adapters/ink/components/file/file_log.d.ts +28 -0
- package/dist/ink/src/adapters/ink/components/file/file_log.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/file/index.d.ts +2 -0
- package/dist/ink/src/adapters/ink/components/file/index.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/filter/filter_bar.d.ts +7 -0
- package/dist/ink/src/adapters/ink/components/filter/filter_bar.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/filter/index.d.ts +2 -0
- package/dist/ink/src/adapters/ink/components/filter/index.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/help/help_overlay.d.ts +6 -0
- package/dist/ink/src/adapters/ink/components/help/help_overlay.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/help/index.d.ts +2 -0
- package/dist/ink/src/adapters/ink/components/help/index.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/index.d.ts +9 -0
- package/dist/ink/src/adapters/ink/components/index.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/log/index.d.ts +2 -0
- package/dist/ink/src/adapters/ink/components/log/index.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/log/log_message.d.ts +15 -0
- package/dist/ink/src/adapters/ink/components/log/log_message.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/prompt/index.d.ts +2 -0
- package/dist/ink/src/adapters/ink/components/prompt/index.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/prompt/prompt_renderer.d.ts +6 -0
- package/dist/ink/src/adapters/ink/components/prompt/prompt_renderer.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/screen/group_renderer.d.ts +14 -0
- package/dist/ink/src/adapters/ink/components/screen/group_renderer.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/screen/index.d.ts +7 -0
- package/dist/ink/src/adapters/ink/components/screen/index.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/screen/loading_message.d.ts +6 -0
- package/dist/ink/src/adapters/ink/components/screen/loading_message.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/screen/message_renderer.d.ts +6 -0
- package/dist/ink/src/adapters/ink/components/screen/message_renderer.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/screen/progress_message.d.ts +6 -0
- package/dist/ink/src/adapters/ink/components/screen/progress_message.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/screen/screen_bridge.d.ts +14 -0
- package/dist/ink/src/adapters/ink/components/screen/screen_bridge.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/screen/table_message.d.ts +6 -0
- package/dist/ink/src/adapters/ink/components/screen/table_message.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/screen_manager_bridge.d.ts +8 -0
- package/dist/ink/src/adapters/ink/components/screen_manager_bridge.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/sidebar/index.d.ts +4 -0
- package/dist/ink/src/adapters/ink/components/sidebar/index.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/sidebar/sidebar.d.ts +11 -0
- package/dist/ink/src/adapters/ink/components/sidebar/sidebar.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/sidebar/sidebar_item.d.ts +9 -0
- package/dist/ink/src/adapters/ink/components/sidebar/sidebar_item.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/components/sidebar/sidebar_separator.d.ts +2 -0
- package/dist/ink/src/adapters/ink/components/sidebar/sidebar_separator.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/context/index.d.ts +2 -0
- package/dist/ink/src/adapters/ink/context/index.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/context/logger_context.d.ts +33 -0
- package/dist/ink/src/adapters/ink/context/logger_context.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/hooks/index.d.ts +2 -0
- package/dist/ink/src/adapters/ink/hooks/index.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/hooks/use_theme.d.ts +7 -0
- package/dist/ink/src/adapters/ink/hooks/use_theme.d.ts.map +1 -0
- package/dist/ink/src/adapters/ink/index.d.ts +18 -0
- package/dist/ink/src/adapters/ink/index.d.ts.map +1 -0
- package/dist/ink/src/adapters/react-shared/hooks/index.d.ts +4 -0
- package/dist/ink/src/adapters/react-shared/hooks/index.d.ts.map +1 -0
- package/dist/ink/src/adapters/react-shared/hooks/use_filter_state.d.ts +18 -0
- package/dist/ink/src/adapters/react-shared/hooks/use_filter_state.d.ts.map +1 -0
- package/dist/ink/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts +26 -0
- package/dist/ink/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts.map +1 -0
- package/dist/ink/src/adapters/react-shared/hooks/use_manager_subscription.d.ts +7 -0
- package/dist/ink/src/adapters/react-shared/hooks/use_manager_subscription.d.ts.map +1 -0
- package/dist/ink/src/adapters/react-shared/index.d.ts +2 -0
- package/dist/ink/src/adapters/react-shared/index.d.ts.map +1 -0
- package/dist/ink/tsconfig.ink.tsbuildinfo +1 -0
- package/dist/react/src/adapters/react-shared/hooks/index.d.ts +4 -0
- package/dist/react/src/adapters/react-shared/hooks/index.d.ts.map +1 -0
- package/dist/react/src/adapters/react-shared/hooks/use_filter_state.d.ts +18 -0
- package/dist/react/src/adapters/react-shared/hooks/use_filter_state.d.ts.map +1 -0
- package/dist/react/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts +26 -0
- package/dist/react/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts.map +1 -0
- package/dist/react/src/adapters/react-shared/hooks/use_manager_subscription.d.ts +7 -0
- package/dist/react/src/adapters/react-shared/hooks/use_manager_subscription.d.ts.map +1 -0
- package/dist/react/src/adapters/react-shared/index.d.ts +2 -0
- package/dist/react/src/adapters/react-shared/index.d.ts.map +1 -0
- package/dist/react/tsconfig.react.tsbuildinfo +1 -1
- package/dist/solid/tsconfig.solid.tsbuildinfo +1 -1
- package/lib/index.cjs +2177 -178
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +942 -78
- package/lib/index.d.cts.map +1 -0
- package/lib/index.d.mts +902 -38
- package/lib/index.d.mts.map +1 -0
- package/lib/index.mjs +2098 -135
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -31
- package/src/__tests__/services/logger.spec.ts +32 -0
- package/src/__tests__/services/screen.spec.ts +106 -95
- package/src/__tests__/utils/factories.ts +2 -0
- package/src/adapters/interface.ts +10 -2
- package/src/overrides/missing-adapter.override.ts +16 -6
- package/src/services/index.ts +1 -0
- package/src/services/logger.ts +7 -1
- package/src/services/readline_prompt.ts +194 -0
- package/src/services/screen.ts +106 -54
- package/src/services/screen_manager.ts +282 -74
- package/src/types/events.types.ts +84 -0
- package/src/types/index.ts +3 -0
- package/src/types/screen.types.ts +34 -0
- package/src/utils/colors/helpers.ts +0 -25
- package/src/utils/index.ts +6 -0
- package/src/utils/prompt.ts +18 -0
- package/src/utils/runtime.ts +14 -0
- package/src/utils/stdout-printer.ts +16 -5
- package/tsconfig.base.json +1 -17
- package/tsconfig.json +1 -6
- package/tsdown.config.mts +13 -70
- package/lib/adapters/react/index.cjs +0 -1768
- package/lib/adapters/react/index.cjs.map +0 -1
- package/lib/adapters/react/index.d.cts +0 -80
- package/lib/adapters/react/index.d.mts +0 -80
- package/lib/adapters/react/index.mjs +0 -1760
- package/lib/adapters/react/index.mjs.map +0 -1
- package/lib/adapters/solid/index.cjs +0 -3855
- package/lib/adapters/solid/index.cjs.map +0 -1
- package/lib/adapters/solid/index.d.cts +0 -74
- package/lib/adapters/solid/index.d.mts +0 -74
- package/lib/adapters/solid/index.mjs +0 -3847
- package/lib/adapters/solid/index.mjs.map +0 -1
- package/lib/filter_engine-DXqu9Vaq.cjs +0 -1836
- package/lib/filter_engine-DXqu9Vaq.cjs.map +0 -1
- package/lib/filter_engine-DmqhEhpA.mjs +0 -1609
- package/lib/filter_engine-DmqhEhpA.mjs.map +0 -1
- package/lib/interface-CTHQ08aY.d.mts +0 -699
- package/lib/interface-DQEIz9Mb.d.cts +0 -699
- package/src/__tests__/components/__snapshots__/filter_bar.spec.tsx.snap +0 -2293
- package/src/__tests__/components/__snapshots__/loading_message.spec.tsx.snap +0 -1414
- package/src/__tests__/components/__snapshots__/log_message.spec.tsx.snap +0 -3245
- package/src/__tests__/components/__snapshots__/progress_message.spec.tsx.snap +0 -1783
- package/src/__tests__/components/__snapshots__/prompt_renderer.spec.tsx.snap +0 -3203
- package/src/__tests__/components/__snapshots__/sidebar.spec.tsx.snap +0 -2857
- package/src/__tests__/components/filter_bar.spec.tsx +0 -190
- package/src/__tests__/components/loading_message.spec.tsx +0 -110
- package/src/__tests__/components/log_message.spec.tsx +0 -166
- package/src/__tests__/components/progress_message.spec.tsx +0 -147
- package/src/__tests__/components/prompt_renderer.spec.tsx +0 -274
- package/src/__tests__/components/sidebar.spec.tsx +0 -322
- package/src/__tests__/utils/render-utils.tsx +0 -39
- package/src/adapters/react/components/file/file_log.tsx +0 -241
- package/src/adapters/react/components/file/index.ts +0 -1
- package/src/adapters/react/components/filter/filter_bar.tsx +0 -79
- package/src/adapters/react/components/filter/index.ts +0 -1
- package/src/adapters/react/components/help/help_overlay.tsx +0 -100
- package/src/adapters/react/components/help/index.ts +0 -1
- package/src/adapters/react/components/log/index.ts +0 -1
- package/src/adapters/react/components/log/log_message.tsx +0 -102
- package/src/adapters/react/components/prompt/index.ts +0 -2
- package/src/adapters/react/components/prompt/prompt_renderer.tsx +0 -346
- package/src/adapters/react/components/screen/group_renderer.tsx +0 -64
- package/src/adapters/react/components/screen/index.ts +0 -6
- package/src/adapters/react/components/screen/loading_message.tsx +0 -43
- package/src/adapters/react/components/screen/message_renderer.tsx +0 -108
- package/src/adapters/react/components/screen/progress_message.tsx +0 -60
- package/src/adapters/react/components/screen/screen_bridge.tsx +0 -149
- package/src/adapters/react/components/screen/table_message.tsx +0 -57
- package/src/adapters/react/components/screen_manager_bridge.tsx +0 -245
- package/src/adapters/react/components/sidebar/index.ts +0 -3
- package/src/adapters/react/components/sidebar/sidebar.tsx +0 -102
- package/src/adapters/react/components/sidebar/sidebar_item.tsx +0 -50
- package/src/adapters/react/components/sidebar/sidebar_separator.tsx +0 -13
- package/src/adapters/react/context/index.ts +0 -1
- package/src/adapters/react/context/logger_context.tsx +0 -109
- package/src/adapters/react/hooks/index.ts +0 -1
- package/src/adapters/react/hooks/use_theme.ts +0 -12
- package/src/adapters/react/index.ts +0 -39
- package/src/adapters/solid/components/file/file_log.tsx +0 -221
- package/src/adapters/solid/components/file/index.ts +0 -1
- package/src/adapters/solid/components/filter/filter_bar.tsx +0 -84
- package/src/adapters/solid/components/filter/index.ts +0 -1
- package/src/adapters/solid/components/help/help_overlay.tsx +0 -106
- package/src/adapters/solid/components/help/index.ts +0 -1
- package/src/adapters/solid/components/log/index.ts +0 -1
- package/src/adapters/solid/components/log/log_message.tsx +0 -92
- package/src/adapters/solid/components/prompt/index.ts +0 -2
- package/src/adapters/solid/components/prompt/prompt_renderer.tsx +0 -350
- package/src/adapters/solid/components/screen/group_renderer.tsx +0 -61
- package/src/adapters/solid/components/screen/index.ts +0 -6
- package/src/adapters/solid/components/screen/loading_message.tsx +0 -39
- package/src/adapters/solid/components/screen/message_renderer.tsx +0 -122
- package/src/adapters/solid/components/screen/progress_message.tsx +0 -61
- package/src/adapters/solid/components/screen/screen_bridge.tsx +0 -155
- package/src/adapters/solid/components/screen/table_message.tsx +0 -58
- package/src/adapters/solid/components/screen_manager_bridge.tsx +0 -243
- package/src/adapters/solid/components/sidebar/index.ts +0 -3
- package/src/adapters/solid/components/sidebar/sidebar.tsx +0 -108
- package/src/adapters/solid/components/sidebar/sidebar_item.tsx +0 -55
- package/src/adapters/solid/components/sidebar/sidebar_separator.tsx +0 -13
- package/src/adapters/solid/context/index.ts +0 -2
- package/src/adapters/solid/context/logger_context.tsx +0 -95
- package/src/adapters/solid/hooks/index.ts +0 -1
- package/src/adapters/solid/hooks/use_theme.ts +0 -12
- package/src/adapters/solid/index.tsx +0 -43
- package/src/adapters/solid/jsx.d.ts +0 -98
- package/tsconfig.react.json +0 -16
- 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
|
*
|
package/src/utils/index.ts
CHANGED
|
@@ -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
|
package/tsconfig.base.json
CHANGED
|
@@ -9,23 +9,7 @@
|
|
|
9
9
|
"composite": true
|
|
10
10
|
},
|
|
11
11
|
"include": [
|
|
12
|
-
"src
|
|
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
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'
|
|
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', '@
|
|
52
|
-
alias: solidResolveAliases,
|
|
53
|
-
noExternal: ['solid-js', 'solid-js/store', 'solid-js/web'],
|
|
14
|
+
external: ['@opentui/core', '@navios/core'],
|
|
54
15
|
plugins: [
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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
|
-
|
|
78
|
-
|
|
79
|
-
generate: 'universal',
|
|
24
|
+
transform: {
|
|
25
|
+
decoratorVersion: '2022-03',
|
|
80
26
|
},
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
),
|
|
84
|
-
// Default transform for non-adapter files (no JSX)
|
|
85
|
-
swc.rolldown(baseSwcConfig),
|
|
27
|
+
},
|
|
28
|
+
}),
|
|
86
29
|
],
|
|
87
30
|
})
|