@navios/commander 1.5.0 → 1.6.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/.turbo/turbo-build.log +48 -0
- package/.turbo/turbo-check.log +0 -0
- package/.turbo/turbo-lint.log +2 -0
- package/.turbo/turbo-test$colon$ci.log +109 -0
- package/.turbo/turbo-test.log +107 -0
- package/CHANGELOG.md +15 -3
- package/README.md +8 -16
- package/dist/src/commander.factory.d.mts +126 -122
- package/dist/src/commander.factory.d.mts.map +1 -1
- package/dist/src/commands/help.command.d.mts +15 -11
- package/dist/src/commands/help.command.d.mts.map +1 -1
- package/dist/src/commands/index.d.mts +2 -2
- package/dist/src/decorators/cli-module.decorator.d.mts +51 -40
- package/dist/src/decorators/cli-module.decorator.d.mts.map +1 -1
- package/dist/src/decorators/command.decorator.d.mts +49 -37
- package/dist/src/decorators/command.decorator.d.mts.map +1 -1
- package/dist/src/decorators/index.d.mts +3 -3
- package/dist/src/define-environment.d.mts +9 -8
- package/dist/src/define-environment.d.mts.map +1 -1
- package/dist/src/index.d.mts +10 -10
- package/dist/src/interfaces/abstract-cli-adapter.interface.d.mts +45 -45
- package/dist/src/interfaces/command-handler.interface.d.mts +14 -10
- package/dist/src/interfaces/command-handler.interface.d.mts.map +1 -1
- package/dist/src/interfaces/commander-execution-context.interface.d.mts +40 -30
- package/dist/src/interfaces/commander-execution-context.interface.d.mts.map +1 -1
- package/dist/src/interfaces/environment.interface.d.mts +7 -7
- package/dist/src/interfaces/index.d.mts +5 -5
- package/dist/src/legacy-compat/decorators/cli-module.decorator.d.mts +6 -5
- package/dist/src/legacy-compat/decorators/cli-module.decorator.d.mts.map +1 -1
- package/dist/src/legacy-compat/decorators/command.decorator.d.mts +7 -6
- package/dist/src/legacy-compat/decorators/command.decorator.d.mts.map +1 -1
- package/dist/src/legacy-compat/decorators/index.d.mts +3 -3
- package/dist/src/legacy-compat/index.d.mts +3 -3
- package/dist/src/metadata/command-entry.metadata.d.mts +5 -5
- package/dist/src/metadata/command-entry.metadata.d.mts.map +1 -1
- package/dist/src/metadata/command.metadata.d.mts +30 -24
- package/dist/src/metadata/command.metadata.d.mts.map +1 -1
- package/dist/src/metadata/index.d.mts +3 -3
- package/dist/src/overrides/help.command.d.mts +15 -11
- package/dist/src/overrides/help.command.d.mts.map +1 -1
- package/dist/src/services/cli-parser.service.d.mts +54 -54
- package/dist/src/services/cli-parser.service.d.mts.map +1 -1
- package/dist/src/services/command-registry.service.d.mts +75 -74
- package/dist/src/services/command-registry.service.d.mts.map +1 -1
- package/dist/src/services/commander-adapter.service.d.mts +53 -48
- package/dist/src/services/commander-adapter.service.d.mts.map +1 -1
- package/dist/src/services/index.d.mts +4 -4
- package/dist/src/tokens/execution-context.token.d.mts +9 -4
- package/dist/src/tokens/execution-context.token.d.mts.map +1 -1
- package/dist/src/tokens/help-command.token.d.mts +5 -4
- package/dist/src/tokens/index.d.mts +2 -2
- package/dist/src/utils/index.d.mts +2 -2
- package/dist/src/utils/runtime.d.mts +2 -2
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/tsdown.config.d.mts +3 -3
- package/dist/vitest.config.d.mts +3 -3
- package/lib/{cli-module.decorator-CRaNGvgl.d.cts → cli-module.decorator-BV3vVKlR.d.cts} +60 -55
- package/lib/cli-module.decorator-BV3vVKlR.d.cts.map +1 -0
- package/lib/{cli-module.decorator-CkP22084.cjs → cli-module.decorator-CXt38aqF.cjs} +2 -2
- package/lib/cli-module.decorator-CXt38aqF.cjs.map +1 -0
- package/lib/{cli-module.decorator-UGbtkRYc.mjs → cli-module.decorator-DAjf_r_W.mjs} +2 -2
- package/lib/cli-module.decorator-DAjf_r_W.mjs.map +1 -0
- package/lib/{cli-module.decorator-bsP5gEn7.d.mts → cli-module.decorator-DDlgpTgI.d.mts} +133 -118
- package/lib/cli-module.decorator-DDlgpTgI.d.mts.map +1 -0
- package/lib/{command.decorator-UrNJmQN0.cjs → command.decorator-HziankUv.cjs} +3 -3
- package/lib/command.decorator-HziankUv.cjs.map +1 -0
- package/lib/{command.decorator-DVLSAqYZ.mjs → command.decorator-QiRU7ny3.mjs} +3 -3
- package/lib/command.decorator-QiRU7ny3.mjs.map +1 -0
- package/lib/{help-command.token-CMWYI6em.cjs → help-command.token-DamE31Aw.cjs} +4 -4
- package/lib/{help-command.token-CMWYI6em.cjs.map → help-command.token-DamE31Aw.cjs.map} +1 -1
- package/lib/{help-command.token-C0Kgj60o.mjs → help-command.token-XHx3WkoD.mjs} +4 -4
- package/lib/{help-command.token-C0Kgj60o.mjs.map → help-command.token-XHx3WkoD.mjs.map} +1 -1
- package/lib/{help.command-dtZbhq0w.mjs → help.command-Bynoll_7.mjs} +5 -8
- package/lib/help.command-Bynoll_7.mjs.map +1 -0
- package/lib/{help.command-DQyv6ali.cjs → help.command-DvKmMpB7.cjs} +6 -9
- package/lib/help.command-DvKmMpB7.cjs.map +1 -0
- package/lib/index.cjs +118 -106
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +294 -284
- package/lib/index.d.cts.map +1 -1
- package/lib/index.d.mts +221 -221
- package/lib/index.d.mts.map +1 -1
- package/lib/index.mjs +117 -105
- package/lib/index.mjs.map +1 -1
- package/lib/legacy-compat/index.cjs +6 -28
- package/lib/legacy-compat/index.cjs.map +1 -1
- package/lib/legacy-compat/index.d.cts +3 -2
- package/lib/legacy-compat/index.d.cts.map +1 -1
- package/lib/legacy-compat/index.d.mts +3 -2
- package/lib/legacy-compat/index.d.mts.map +1 -1
- package/lib/legacy-compat/index.mjs +4 -25
- package/lib/legacy-compat/index.mjs.map +1 -1
- package/package.json +26 -16
- package/src/__tests__/commander.factory.e2e.spec.mts +127 -79
- package/src/commands/help.command.mts +1 -1
- package/src/decorators/cli-module.decorator.mts +4 -9
- package/src/decorators/command.decorator.mts +4 -4
- package/src/define-environment.mts +4 -4
- package/src/interfaces/command-handler.interface.mts +8 -4
- package/src/interfaces/commander-execution-context.interface.mts +14 -1
- package/src/legacy-compat/decorators/cli-module.decorator.mts +2 -1
- package/src/legacy-compat/decorators/command.decorator.mts +3 -2
- package/src/metadata/command-entry.metadata.mts +3 -6
- package/src/metadata/command.metadata.mts +6 -8
- package/src/overrides/help.command.mts +2 -2
- package/src/services/__tests__/cli-parser.service.spec.mts +23 -178
- package/src/services/cli-parser.service.mts +23 -27
- package/src/services/command-registry.service.mts +5 -5
- package/src/services/commander-adapter.service.mts +12 -20
- package/src/tokens/execution-context.token.mts +4 -6
- package/tsconfig.json +3 -0
- package/lib/cli-module.decorator-CRaNGvgl.d.cts.map +0 -1
- package/lib/cli-module.decorator-CkP22084.cjs.map +0 -1
- package/lib/cli-module.decorator-UGbtkRYc.mjs.map +0 -1
- package/lib/cli-module.decorator-bsP5gEn7.d.mts.map +0 -1
- package/lib/command.decorator-DVLSAqYZ.mjs.map +0 -1
- package/lib/command.decorator-UrNJmQN0.cjs.map +0 -1
- package/lib/help.command-DQyv6ali.cjs.map +0 -1
- package/lib/help.command-dtZbhq0w.mjs.map +0 -1
- package/project.json +0 -66
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
ℹ tsdown v0.19.0 powered by rolldown v1.0.0-beta.59
|
|
2
|
+
ℹ config file: /Volumes/Dev/Projects/navios/commander/packages/commander/tsdown.config.mts
|
|
3
|
+
ℹ entry: src/index.mts, src/legacy-compat/index.mts
|
|
4
|
+
ℹ target: es2022
|
|
5
|
+
ℹ tsconfig: tsconfig.json
|
|
6
|
+
ℹ Build start
|
|
7
|
+
ℹ Cleaning 37 files
|
|
8
|
+
ℹ [CJS] lib/index.d.cts.map 29.83 kB │ gzip: 8.44 kB
|
|
9
|
+
ℹ [CJS] lib/cli-module.decorator-BV3vVKlR.d.cts.map 8.66 kB │ gzip: 2.82 kB
|
|
10
|
+
ℹ [CJS] lib/legacy-compat/index.d.cts.map 2.42 kB │ gzip: 0.82 kB
|
|
11
|
+
ℹ [CJS] lib/index.d.cts 21.03 kB │ gzip: 5.49 kB
|
|
12
|
+
ℹ [CJS] lib/legacy-compat/index.d.cts 1.94 kB │ gzip: 0.71 kB
|
|
13
|
+
ℹ [CJS] lib/cli-module.decorator-BV3vVKlR.d.cts 6.54 kB │ gzip: 2.05 kB
|
|
14
|
+
ℹ [CJS] 6 files, total: 70.41 kB
|
|
15
|
+
ℹ [CJS] lib/index.cjs 49.06 kB │ gzip: 8.10 kB
|
|
16
|
+
ℹ [CJS] lib/legacy-compat/index.cjs 2.53 kB │ gzip: 0.90 kB
|
|
17
|
+
ℹ [CJS] lib/index.cjs.map 44.00 kB │ gzip: 11.79 kB
|
|
18
|
+
ℹ [CJS] lib/help-command.token-DamE31Aw.cjs 14.04 kB │ gzip: 3.87 kB
|
|
19
|
+
ℹ [CJS] lib/help.command-DvKmMpB7.cjs 10.48 kB │ gzip: 2.87 kB
|
|
20
|
+
ℹ [CJS] lib/help-command.token-DamE31Aw.cjs.map 9.64 kB │ gzip: 3.30 kB
|
|
21
|
+
ℹ [CJS] lib/command.decorator-HziankUv.cjs.map 9.07 kB │ gzip: 2.85 kB
|
|
22
|
+
ℹ [CJS] lib/command.decorator-HziankUv.cjs 5.12 kB │ gzip: 1.57 kB
|
|
23
|
+
ℹ [CJS] lib/cli-module.decorator-CXt38aqF.cjs.map 4.77 kB │ gzip: 1.78 kB
|
|
24
|
+
ℹ [CJS] lib/legacy-compat/index.cjs.map 3.39 kB │ gzip: 1.04 kB
|
|
25
|
+
ℹ [CJS] lib/help.command-DvKmMpB7.cjs.map 2.50 kB │ gzip: 0.98 kB
|
|
26
|
+
ℹ [CJS] lib/cli-module.decorator-CXt38aqF.cjs 2.12 kB │ gzip: 0.96 kB
|
|
27
|
+
ℹ [CJS] 12 files, total: 156.73 kB
|
|
28
|
+
✔ Build complete in 481ms
|
|
29
|
+
ℹ [ESM] lib/index.mjs 47.63 kB │ gzip: 7.94 kB
|
|
30
|
+
ℹ [ESM] lib/legacy-compat/index.mjs 2.13 kB │ gzip: 0.75 kB
|
|
31
|
+
ℹ [ESM] lib/index.mjs.map 44.04 kB │ gzip: 11.77 kB
|
|
32
|
+
ℹ [ESM] lib/index.d.mts.map 21.17 kB │ gzip: 6.52 kB
|
|
33
|
+
ℹ [ESM] lib/cli-module.decorator-DDlgpTgI.d.mts.map 17.48 kB │ gzip: 5.18 kB
|
|
34
|
+
ℹ [ESM] lib/help-command.token-XHx3WkoD.mjs 13.81 kB │ gzip: 3.83 kB
|
|
35
|
+
ℹ [ESM] lib/help.command-Bynoll_7.mjs 10.34 kB │ gzip: 2.85 kB
|
|
36
|
+
ℹ [ESM] lib/help-command.token-XHx3WkoD.mjs.map 9.64 kB │ gzip: 3.29 kB
|
|
37
|
+
ℹ [ESM] lib/command.decorator-QiRU7ny3.mjs.map 9.08 kB │ gzip: 2.85 kB
|
|
38
|
+
ℹ [ESM] lib/cli-module.decorator-DAjf_r_W.mjs.map 4.79 kB │ gzip: 1.78 kB
|
|
39
|
+
ℹ [ESM] lib/command.decorator-QiRU7ny3.mjs 4.36 kB │ gzip: 1.49 kB
|
|
40
|
+
ℹ [ESM] lib/legacy-compat/index.mjs.map 3.40 kB │ gzip: 1.05 kB
|
|
41
|
+
ℹ [ESM] lib/help.command-Bynoll_7.mjs.map 2.51 kB │ gzip: 0.97 kB
|
|
42
|
+
ℹ [ESM] lib/legacy-compat/index.d.mts.map 2.42 kB │ gzip: 0.82 kB
|
|
43
|
+
ℹ [ESM] lib/cli-module.decorator-DAjf_r_W.mjs 1.98 kB │ gzip: 0.89 kB
|
|
44
|
+
ℹ [ESM] lib/index.d.mts 15.33 kB │ gzip: 4.45 kB
|
|
45
|
+
ℹ [ESM] lib/legacy-compat/index.d.mts 1.94 kB │ gzip: 0.70 kB
|
|
46
|
+
ℹ [ESM] lib/cli-module.decorator-DDlgpTgI.d.mts 12.71 kB │ gzip: 3.52 kB
|
|
47
|
+
ℹ [ESM] 18 files, total: 224.77 kB
|
|
48
|
+
✔ Build complete in 491ms
|
|
File without changes
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
[33mTesting types with tsc and vue-tsc is an experimental feature.
|
|
2
|
+
Breaking changes might not follow SemVer, please pin Vitest's version when using it.[39m
|
|
3
|
+
|
|
4
|
+
[1m[46m RUN [49m[22m [36mv4.0.17 [39m[90m/Volumes/Dev/Projects/navios/commander/packages/commander[39m
|
|
5
|
+
|
|
6
|
+
[32m✓[39m src/services/__tests__/cli-parser.service.spec.mts [2m([22m[2m40 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
7
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
8
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
9
|
+
[90mstdout[2m | src/__tests__/commander.factory.e2e.spec.mts[2m > [22m[2mCommanderApplication E2E - run() with different argv[2m > [22m[2msimple command without options[2m > [22m[2mshould execute command with minimal argv
|
|
10
|
+
[22m[39mHello, World!
|
|
11
|
+
|
|
12
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
13
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
14
|
+
[90mstdout[2m | src/__tests__/commander.factory.e2e.spec.mts[2m > [22m[2mCommanderApplication E2E - run() with different argv[2m > [22m[2msimple command without options[2m > [22m[2mshould execute command with absolute path in argv
|
|
15
|
+
[22m[39mHello, World!
|
|
16
|
+
|
|
17
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
18
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
19
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
20
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
21
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule DeployModule_clcbp1 loaded[39m
|
|
22
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
23
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule BuildModule_fdlhzv loaded[39m
|
|
24
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
25
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
26
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
27
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
28
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
29
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
30
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
31
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
32
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
33
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
34
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
35
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
36
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
37
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
38
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
39
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
40
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
41
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
42
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
43
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
44
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
45
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
46
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
47
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule RollbackModule_bva5p1 loaded[39m
|
|
48
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
49
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
50
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
51
|
+
[31m[39m [31m ERROR[39m [38;5;3m[Commander] [39m [31mError: [Navios Commander] Command not found: invalid[39m
|
|
52
|
+
[32m[39m [32m LOG[39m [38;5;3m[Commander] [39m [32m[39m
|
|
53
|
+
[32m[39m [32m LOG[39m [38;5;3m[Commander] [39m [32mAvailable commands:
|
|
54
|
+
|
|
55
|
+
help Show available commands or help for a specific command
|
|
56
|
+
valid[39m
|
|
57
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
58
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
59
|
+
[31m[39m [31m ERROR[39m [38;5;3m[Commander] [39m [31mError: [Navios Commander] No command provided[39m
|
|
60
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
61
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
62
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
63
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
64
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
65
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
66
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
67
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
68
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule ContextTestModule_vtcz5t loaded[39m
|
|
69
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
70
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule ContextTestModule_vtcz5t loaded[39m
|
|
71
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
72
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
73
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
74
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
75
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
76
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
77
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
78
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
79
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
80
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
81
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
82
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule JsonModule_5wfcr9 loaded[39m
|
|
83
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
84
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
85
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
86
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
87
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
88
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
89
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
90
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
91
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
92
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule UserModule_sf0k39 loaded[39m
|
|
93
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule AdminModule_v7hlb7 loaded[39m
|
|
94
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule AppModule_fuvatb loaded[39m
|
|
95
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
96
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule AppModule_fuvatb loaded[39m
|
|
97
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
98
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule AppModule_fuvatb loaded[39m
|
|
99
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
100
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule AppModule_fuvatb loaded[39m
|
|
101
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
102
|
+
[32m✓[39m src/__tests__/commander.factory.e2e.spec.mts [2m([22m[2m40 tests[22m[2m)[22m[32m 22[2mms[22m[39m
|
|
103
|
+
|
|
104
|
+
[2m Test Files [22m [1m[32m2 passed[39m[22m[90m (2)[39m
|
|
105
|
+
[2m Tests [22m [1m[32m80 passed[39m[22m[90m (80)[39m
|
|
106
|
+
[2mType Errors [22m [2mno errors[22m
|
|
107
|
+
[2m Start at [22m 09:14:33
|
|
108
|
+
[2m Duration [22m 197ms[2m (transform 102ms, setup 0ms, import 189ms, tests 28ms, environment 0ms)[22m
|
|
109
|
+
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
[33mTesting types with tsc and vue-tsc is an experimental feature.
|
|
2
|
+
Breaking changes might not follow SemVer, please pin Vitest's version when using it.[39m
|
|
3
|
+
|
|
4
|
+
[1m[46m RUN [49m[22m [36mv4.0.17 [39m[90m/Volumes/Dev/Projects/navios/commander/packages/commander[39m
|
|
5
|
+
|
|
6
|
+
[32m✓[39m src/services/__tests__/cli-parser.service.spec.mts [2m([22m[2m40 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
7
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
8
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
9
|
+
[90mstdout[2m | src/__tests__/commander.factory.e2e.spec.mts[2m > [22m[2mCommanderApplication E2E - run() with different argv[2m > [22m[2msimple command without options[2m > [22m[2mshould execute command with minimal argv
|
|
10
|
+
[22m[39mHello, World!
|
|
11
|
+
|
|
12
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
13
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
14
|
+
[90mstdout[2m | src/__tests__/commander.factory.e2e.spec.mts[2m > [22m[2mCommanderApplication E2E - run() with different argv[2m > [22m[2msimple command without options[2m > [22m[2mshould execute command with absolute path in argv
|
|
15
|
+
[22m[39mHello, World!
|
|
16
|
+
|
|
17
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
18
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
19
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
20
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
21
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule DeployModule_clcbp1 loaded[39m
|
|
22
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
23
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule BuildModule_fdlhzv loaded[39m
|
|
24
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
25
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
26
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
27
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
28
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
29
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
30
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
31
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
32
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
33
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
34
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
35
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
36
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
37
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
38
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
39
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
40
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
41
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
42
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
43
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
44
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
45
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
46
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
47
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule RollbackModule_bva5p1 loaded[39m
|
|
48
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
49
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
50
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
51
|
+
[31m[39m [31m ERROR[39m [38;5;3m[Commander] [39m [31mError: [Navios Commander] Command not found: invalid[39m
|
|
52
|
+
[32m[39m [32m LOG[39m [38;5;3m[Commander] [39m [32m[39m
|
|
53
|
+
[32m[39m [32m LOG[39m [38;5;3m[Commander] [39m [32mAvailable commands:
|
|
54
|
+
|
|
55
|
+
help Show available commands or help for a specific command
|
|
56
|
+
valid[39m
|
|
57
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
58
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
59
|
+
[31m[39m [31m ERROR[39m [38;5;3m[Commander] [39m [31mError: [Navios Commander] No command provided[39m
|
|
60
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
61
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
62
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
63
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
64
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
65
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
66
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule ContextTestModule_vtcz5t loaded[39m
|
|
67
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
68
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule ContextTestModule_vtcz5t loaded[39m
|
|
69
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
70
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
71
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
72
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
73
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
74
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
75
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
76
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
77
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
78
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
79
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
80
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule JsonModule_5wfcr9 loaded[39m
|
|
81
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
82
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
83
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
84
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
85
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
86
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
87
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
88
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule TestModule_dy4bqj loaded[39m
|
|
89
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
90
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule UserModule_sf0k39 loaded[39m
|
|
91
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule AdminModule_v7hlb7 loaded[39m
|
|
92
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule AppModule_fuvatb loaded[39m
|
|
93
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
94
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule AppModule_fuvatb loaded[39m
|
|
95
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
96
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule AppModule_fuvatb loaded[39m
|
|
97
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
98
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[ModuleLoaderService] [39m [95mModule AppModule_fuvatb loaded[39m
|
|
99
|
+
[95m[39m [95m DEBUG[39m [38;5;3m[NaviosApplication] [39m [95mNavios application initialized[39m
|
|
100
|
+
[32m✓[39m src/__tests__/commander.factory.e2e.spec.mts [2m([22m[2m39 tests[22m[2m)[22m[32m 28[2mms[22m[39m
|
|
101
|
+
|
|
102
|
+
[2m Test Files [22m [1m[32m2 passed[39m[22m[90m (2)[39m
|
|
103
|
+
[2m Tests [22m [1m[32m79 passed[39m[22m[90m (79)[39m
|
|
104
|
+
[2mType Errors [22m [2mno errors[22m
|
|
105
|
+
[2m Start at [22m 09:11:07
|
|
106
|
+
[2m Duration [22m 431ms[2m (transform 229ms, setup 0ms, import 375ms, tests 35ms, environment 0ms)[22m
|
|
107
|
+
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.6.0] - 2026-01-27
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Positional Arguments Support** - Commands can now receive positional arguments as a second parameter
|
|
13
|
+
- `CommandHandler.execute()` now accepts optional `positionals?: string[]` parameter
|
|
14
|
+
- Example: `copy --force source.txt dest.txt` passes `['source.txt', 'dest.txt']` as positionals
|
|
15
|
+
- Fully backward compatible - existing commands without positionals parameter continue to work
|
|
16
|
+
- **Positionals via Execution Context** - Access positionals through dependency injection
|
|
17
|
+
- New `getPositionals(): string[]` method on `CommanderExecutionContext`
|
|
18
|
+
- Inject via `CommandExecutionContext` token for flexible access in services
|
|
19
|
+
|
|
8
20
|
## [1.5.0] - 2026-01-16
|
|
9
21
|
|
|
10
22
|
### Changed
|
|
@@ -77,7 +89,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
77
89
|
|
|
78
90
|
- **Stable Release**: First stable release of @navios/commander
|
|
79
91
|
- Production-ready CLI command framework for Navios
|
|
80
|
-
- Type-safe command definitions with
|
|
92
|
+
- Type-safe command definitions with zod/v4 validation
|
|
81
93
|
- Seamless integration with Navios dependency injection
|
|
82
94
|
|
|
83
95
|
## [1.0.0-alpha.4] - 2026-01-09
|
|
@@ -94,8 +106,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
94
106
|
- Descriptions displayed in `--help` output
|
|
95
107
|
- **Built-in Help Command**: Automatic `help` command with `--help` flag support
|
|
96
108
|
- Shows all available commands with descriptions
|
|
97
|
-
- Per-command help with option details from
|
|
98
|
-
- Supports `.meta({ description: '...' })` on
|
|
109
|
+
- Per-command help with option details from zod/v4 schema metadata
|
|
110
|
+
- Supports `.meta({ description: '...' })` on zod/v4 fields for option descriptions
|
|
99
111
|
- **Command Registry Service**: New `CommandRegistryService` for managing registered commands
|
|
100
112
|
- Replaces module-level command tracking
|
|
101
113
|
- Provides `register()`, `getByPath()`, `getAllAsArray()`, and `clear()` methods
|
package/README.md
CHANGED
|
@@ -5,16 +5,16 @@ A CLI command framework built on `@navios/core` that provides a decorator-based
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npm install @navios/commander zod
|
|
8
|
+
npm install @navios/commander zod/v4
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## Features
|
|
12
12
|
|
|
13
13
|
- **Decorator-based**: Use `@Command` and `@CliModule` decorators to define commands and modules
|
|
14
14
|
- **Dependency Injection**: Full DI support via `@navios/core` with request-scoped command execution
|
|
15
|
-
- **Schema Validation**: Built-in support for
|
|
15
|
+
- **Schema Validation**: Built-in support for zod/v4 schemas to validate command options
|
|
16
16
|
- **Modular Architecture**: Organize commands into modules with imports support
|
|
17
|
-
- **Built-in Help**: Automatic `help` command and `--help` flag support with
|
|
17
|
+
- **Built-in Help**: Automatic `help` command and `--help` flag support with zod/v4 meta descriptions
|
|
18
18
|
|
|
19
19
|
## Usage
|
|
20
20
|
|
|
@@ -25,7 +25,7 @@ Commands are defined using the `@Command` decorator. Each command must implement
|
|
|
25
25
|
```typescript
|
|
26
26
|
import { Command, CommandHandler } from '@navios/commander'
|
|
27
27
|
|
|
28
|
-
import { z } from 'zod'
|
|
28
|
+
import { z } from 'zod/v4'
|
|
29
29
|
|
|
30
30
|
const greetOptionsSchema = z.object({
|
|
31
31
|
name: z.string().meta({ description: 'Name of the person to greet' }),
|
|
@@ -95,15 +95,9 @@ node dist/cli.js greet --name World --greeting Hi
|
|
|
95
95
|
### Advanced Example with Dependency Injection
|
|
96
96
|
|
|
97
97
|
```typescript
|
|
98
|
-
import {
|
|
99
|
-
CliModule,
|
|
100
|
-
Command,
|
|
101
|
-
CommandHandler,
|
|
102
|
-
inject,
|
|
103
|
-
Injectable,
|
|
104
|
-
} from '@navios/commander'
|
|
98
|
+
import { CliModule, Command, CommandHandler, inject, Injectable } from '@navios/commander'
|
|
105
99
|
|
|
106
|
-
import { z } from 'zod'
|
|
100
|
+
import { z } from 'zod/v4'
|
|
107
101
|
|
|
108
102
|
// Service
|
|
109
103
|
@Injectable()
|
|
@@ -122,9 +116,7 @@ const userOptionsSchema = z.object({
|
|
|
122
116
|
path: 'user:show',
|
|
123
117
|
optionsSchema: userOptionsSchema,
|
|
124
118
|
})
|
|
125
|
-
export class ShowUserCommand implements CommandHandler<
|
|
126
|
-
z.infer<typeof userOptionsSchema>
|
|
127
|
-
> {
|
|
119
|
+
export class ShowUserCommand implements CommandHandler<z.infer<typeof userOptionsSchema>> {
|
|
128
120
|
private userService = inject(UserService)
|
|
129
121
|
|
|
130
122
|
async execute(options: { userId: string }) {
|
|
@@ -247,7 +239,7 @@ Defines a CLI command.
|
|
|
247
239
|
|
|
248
240
|
- `path: string` - The command path (e.g., 'user:create', 'db:migrate')
|
|
249
241
|
- `description?: string` - Optional description for help text
|
|
250
|
-
- `optionsSchema?:
|
|
242
|
+
- `optionsSchema?: zod/v4Schema` - Optional zod/v4 schema for validating command options
|
|
251
243
|
|
|
252
244
|
#### `@CliModule(options)`
|
|
253
245
|
|