@unlimitechcloud/devlink 1.0.2

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 (186) hide show
  1. package/AGENTS.md +880 -0
  2. package/LICENSE +21 -0
  3. package/README.md +335 -0
  4. package/dist/__tests__/e2e.spec.d.ts +8 -0
  5. package/dist/__tests__/e2e.spec.d.ts.map +1 -0
  6. package/dist/__tests__/e2e.spec.js +253 -0
  7. package/dist/__tests__/e2e.spec.js.map +1 -0
  8. package/dist/__tests__/integration.spec.d.ts +8 -0
  9. package/dist/__tests__/integration.spec.d.ts.map +1 -0
  10. package/dist/__tests__/integration.spec.js +274 -0
  11. package/dist/__tests__/integration.spec.js.map +1 -0
  12. package/dist/cli.d.ts +6 -0
  13. package/dist/cli.d.ts.map +1 -0
  14. package/dist/cli.js +610 -0
  15. package/dist/cli.js.map +1 -0
  16. package/dist/commands/consumers.d.ts +37 -0
  17. package/dist/commands/consumers.d.ts.map +1 -0
  18. package/dist/commands/consumers.js +107 -0
  19. package/dist/commands/consumers.js.map +1 -0
  20. package/dist/commands/docs.d.ts +59 -0
  21. package/dist/commands/docs.d.ts.map +1 -0
  22. package/dist/commands/docs.js +262 -0
  23. package/dist/commands/docs.js.map +1 -0
  24. package/dist/commands/docs.spec.d.ts +5 -0
  25. package/dist/commands/docs.spec.d.ts.map +1 -0
  26. package/dist/commands/docs.spec.js +213 -0
  27. package/dist/commands/docs.spec.js.map +1 -0
  28. package/dist/commands/index.d.ts +13 -0
  29. package/dist/commands/index.d.ts.map +1 -0
  30. package/dist/commands/index.js +13 -0
  31. package/dist/commands/index.js.map +1 -0
  32. package/dist/commands/install.d.ts +31 -0
  33. package/dist/commands/install.d.ts.map +1 -0
  34. package/dist/commands/install.js +234 -0
  35. package/dist/commands/install.js.map +1 -0
  36. package/dist/commands/list.d.ts +22 -0
  37. package/dist/commands/list.d.ts.map +1 -0
  38. package/dist/commands/list.js +45 -0
  39. package/dist/commands/list.js.map +1 -0
  40. package/dist/commands/list.spec.d.ts +5 -0
  41. package/dist/commands/list.spec.d.ts.map +1 -0
  42. package/dist/commands/list.spec.js +95 -0
  43. package/dist/commands/list.spec.js.map +1 -0
  44. package/dist/commands/prune.d.ts +27 -0
  45. package/dist/commands/prune.d.ts.map +1 -0
  46. package/dist/commands/prune.js +74 -0
  47. package/dist/commands/prune.js.map +1 -0
  48. package/dist/commands/publish.d.ts +16 -0
  49. package/dist/commands/publish.d.ts.map +1 -0
  50. package/dist/commands/publish.js +225 -0
  51. package/dist/commands/publish.js.map +1 -0
  52. package/dist/commands/publish.spec.d.ts +5 -0
  53. package/dist/commands/publish.spec.d.ts.map +1 -0
  54. package/dist/commands/publish.spec.js +98 -0
  55. package/dist/commands/publish.spec.js.map +1 -0
  56. package/dist/commands/push.d.ts +16 -0
  57. package/dist/commands/push.d.ts.map +1 -0
  58. package/dist/commands/push.js +164 -0
  59. package/dist/commands/push.js.map +1 -0
  60. package/dist/commands/remove.d.ts +24 -0
  61. package/dist/commands/remove.d.ts.map +1 -0
  62. package/dist/commands/remove.js +80 -0
  63. package/dist/commands/remove.js.map +1 -0
  64. package/dist/commands/remove.spec.d.ts +5 -0
  65. package/dist/commands/remove.spec.d.ts.map +1 -0
  66. package/dist/commands/remove.spec.js +87 -0
  67. package/dist/commands/remove.spec.js.map +1 -0
  68. package/dist/commands/resolve.d.ts +20 -0
  69. package/dist/commands/resolve.d.ts.map +1 -0
  70. package/dist/commands/resolve.js +52 -0
  71. package/dist/commands/resolve.js.map +1 -0
  72. package/dist/commands/resolve.spec.d.ts +5 -0
  73. package/dist/commands/resolve.spec.d.ts.map +1 -0
  74. package/dist/commands/resolve.spec.js +87 -0
  75. package/dist/commands/resolve.spec.js.map +1 -0
  76. package/dist/commands/verify.d.ts +32 -0
  77. package/dist/commands/verify.d.ts.map +1 -0
  78. package/dist/commands/verify.js +127 -0
  79. package/dist/commands/verify.js.map +1 -0
  80. package/dist/config.d.ts +22 -0
  81. package/dist/config.d.ts.map +1 -0
  82. package/dist/config.js +70 -0
  83. package/dist/config.js.map +1 -0
  84. package/dist/constants.d.ts +65 -0
  85. package/dist/constants.d.ts.map +1 -0
  86. package/dist/constants.js +116 -0
  87. package/dist/constants.js.map +1 -0
  88. package/dist/constants.spec.d.ts +5 -0
  89. package/dist/constants.spec.d.ts.map +1 -0
  90. package/dist/constants.spec.js +72 -0
  91. package/dist/constants.spec.js.map +1 -0
  92. package/dist/core/index.d.ts +9 -0
  93. package/dist/core/index.d.ts.map +1 -0
  94. package/dist/core/index.js +9 -0
  95. package/dist/core/index.js.map +1 -0
  96. package/dist/core/installations.d.ts +79 -0
  97. package/dist/core/installations.d.ts.map +1 -0
  98. package/dist/core/installations.js +207 -0
  99. package/dist/core/installations.js.map +1 -0
  100. package/dist/core/installations.spec.d.ts +5 -0
  101. package/dist/core/installations.spec.d.ts.map +1 -0
  102. package/dist/core/installations.spec.js +261 -0
  103. package/dist/core/installations.spec.js.map +1 -0
  104. package/dist/core/lock.d.ts +37 -0
  105. package/dist/core/lock.d.ts.map +1 -0
  106. package/dist/core/lock.js +198 -0
  107. package/dist/core/lock.js.map +1 -0
  108. package/dist/core/lock.spec.d.ts +5 -0
  109. package/dist/core/lock.spec.d.ts.map +1 -0
  110. package/dist/core/lock.spec.js +161 -0
  111. package/dist/core/lock.spec.js.map +1 -0
  112. package/dist/core/registry.d.ts +80 -0
  113. package/dist/core/registry.d.ts.map +1 -0
  114. package/dist/core/registry.js +231 -0
  115. package/dist/core/registry.js.map +1 -0
  116. package/dist/core/registry.spec.d.ts +5 -0
  117. package/dist/core/registry.spec.d.ts.map +1 -0
  118. package/dist/core/registry.spec.js +281 -0
  119. package/dist/core/registry.spec.js.map +1 -0
  120. package/dist/core/resolver.d.ts +55 -0
  121. package/dist/core/resolver.d.ts.map +1 -0
  122. package/dist/core/resolver.js +127 -0
  123. package/dist/core/resolver.js.map +1 -0
  124. package/dist/core/resolver.spec.d.ts +5 -0
  125. package/dist/core/resolver.spec.d.ts.map +1 -0
  126. package/dist/core/resolver.spec.js +202 -0
  127. package/dist/core/resolver.spec.js.map +1 -0
  128. package/dist/core/store.d.ts +65 -0
  129. package/dist/core/store.d.ts.map +1 -0
  130. package/dist/core/store.js +245 -0
  131. package/dist/core/store.js.map +1 -0
  132. package/dist/core/store.spec.d.ts +5 -0
  133. package/dist/core/store.spec.d.ts.map +1 -0
  134. package/dist/core/store.spec.js +195 -0
  135. package/dist/core/store.spec.js.map +1 -0
  136. package/dist/formatters/flat.d.ts +41 -0
  137. package/dist/formatters/flat.d.ts.map +1 -0
  138. package/dist/formatters/flat.js +131 -0
  139. package/dist/formatters/flat.js.map +1 -0
  140. package/dist/formatters/flat.spec.d.ts +5 -0
  141. package/dist/formatters/flat.spec.d.ts.map +1 -0
  142. package/dist/formatters/flat.spec.js +130 -0
  143. package/dist/formatters/flat.spec.js.map +1 -0
  144. package/dist/formatters/index.d.ts +6 -0
  145. package/dist/formatters/index.d.ts.map +1 -0
  146. package/dist/formatters/index.js +6 -0
  147. package/dist/formatters/index.js.map +1 -0
  148. package/dist/formatters/tree.d.ts +29 -0
  149. package/dist/formatters/tree.d.ts.map +1 -0
  150. package/dist/formatters/tree.js +256 -0
  151. package/dist/formatters/tree.js.map +1 -0
  152. package/dist/formatters/tree.spec.d.ts +5 -0
  153. package/dist/formatters/tree.spec.d.ts.map +1 -0
  154. package/dist/formatters/tree.spec.js +127 -0
  155. package/dist/formatters/tree.spec.js.map +1 -0
  156. package/dist/index.d.ts +11 -0
  157. package/dist/index.d.ts.map +1 -0
  158. package/dist/index.js +13 -0
  159. package/dist/index.js.map +1 -0
  160. package/dist/installer.d.ts +13 -0
  161. package/dist/installer.d.ts.map +1 -0
  162. package/dist/installer.js +171 -0
  163. package/dist/installer.js.map +1 -0
  164. package/dist/store.d.ts +78 -0
  165. package/dist/store.d.ts.map +1 -0
  166. package/dist/store.js +344 -0
  167. package/dist/store.js.map +1 -0
  168. package/dist/types.d.ts +235 -0
  169. package/dist/types.d.ts.map +1 -0
  170. package/dist/types.js +5 -0
  171. package/dist/types.js.map +1 -0
  172. package/docs/README.md +68 -0
  173. package/docs/inspection/consumers.md +178 -0
  174. package/docs/inspection/list.md +182 -0
  175. package/docs/inspection/resolve.md +172 -0
  176. package/docs/installation/configuration.md +238 -0
  177. package/docs/installation/install.md +184 -0
  178. package/docs/maintenance/prune.md +159 -0
  179. package/docs/maintenance/remove.md +174 -0
  180. package/docs/maintenance/verify.md +174 -0
  181. package/docs/publishing/publish.md +146 -0
  182. package/docs/publishing/push.md +146 -0
  183. package/docs/store/locking.md +118 -0
  184. package/docs/store/namespaces.md +141 -0
  185. package/docs/store/structure.md +163 -0
  186. package/package.json +58 -0
package/dist/cli.js ADDED
@@ -0,0 +1,610 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * DevLink CLI v2 - Local package development tool with namespaces
4
+ */
5
+ import { handlePublish, handlePush, handleInstall, handleList, handleResolve, handleConsumers, handleRemove, handleVerify, handlePrune, } from "./commands/index.js";
6
+ import { handleDocs, printDocsHelp } from "./commands/docs.js";
7
+ import { setRepoPath, DEFAULT_NAMESPACE } from "./constants.js";
8
+ const VERSION = "2.0.0";
9
+ // ============================================================================
10
+ // Argument Parsing
11
+ // ============================================================================
12
+ function parseArgs(args) {
13
+ const result = {
14
+ command: "",
15
+ positional: [],
16
+ flags: {},
17
+ };
18
+ let i = 0;
19
+ // First, find the command (first non-flag argument)
20
+ while (i < args.length) {
21
+ const arg = args[i];
22
+ if (!arg.startsWith("-")) {
23
+ result.command = arg;
24
+ i++;
25
+ break;
26
+ }
27
+ // Parse flags that come before the command
28
+ if (arg.startsWith("--")) {
29
+ const key = arg.slice(2);
30
+ const nextArg = args[i + 1];
31
+ if (key.includes("=")) {
32
+ const [k, v] = key.split("=");
33
+ result.flags[k] = v;
34
+ }
35
+ else if (!nextArg || nextArg.startsWith("-")) {
36
+ result.flags[key] = true;
37
+ }
38
+ else {
39
+ if (nextArg.includes(",")) {
40
+ result.flags[key] = nextArg.split(",").map(s => s.trim());
41
+ }
42
+ else {
43
+ result.flags[key] = nextArg;
44
+ }
45
+ i++;
46
+ }
47
+ }
48
+ else if (arg.startsWith("-") && arg.length === 2) {
49
+ const key = arg.slice(1);
50
+ const nextArg = args[i + 1];
51
+ if (!nextArg || nextArg.startsWith("-")) {
52
+ result.flags[key] = true;
53
+ }
54
+ else {
55
+ if (nextArg.includes(",")) {
56
+ result.flags[key] = nextArg.split(",").map(s => s.trim());
57
+ }
58
+ else {
59
+ result.flags[key] = nextArg;
60
+ }
61
+ i++;
62
+ }
63
+ }
64
+ i++;
65
+ }
66
+ // If no command found, default to help
67
+ if (!result.command) {
68
+ result.command = "help";
69
+ }
70
+ // Parse remaining arguments
71
+ while (i < args.length) {
72
+ const arg = args[i];
73
+ if (arg.startsWith("--")) {
74
+ const key = arg.slice(2);
75
+ const nextArg = args[i + 1];
76
+ if (key.includes("=")) {
77
+ const [k, v] = key.split("=");
78
+ result.flags[k] = v;
79
+ }
80
+ else if (!nextArg || nextArg.startsWith("-")) {
81
+ result.flags[key] = true;
82
+ }
83
+ else {
84
+ if (nextArg.includes(",")) {
85
+ result.flags[key] = nextArg.split(",").map(s => s.trim());
86
+ }
87
+ else {
88
+ result.flags[key] = nextArg;
89
+ }
90
+ i++;
91
+ }
92
+ }
93
+ else if (arg.startsWith("-") && arg.length === 2) {
94
+ const key = arg.slice(1);
95
+ const nextArg = args[i + 1];
96
+ if (!nextArg || nextArg.startsWith("-")) {
97
+ result.flags[key] = true;
98
+ }
99
+ else {
100
+ if (nextArg.includes(",")) {
101
+ result.flags[key] = nextArg.split(",").map(s => s.trim());
102
+ }
103
+ else {
104
+ result.flags[key] = nextArg;
105
+ }
106
+ i++;
107
+ }
108
+ }
109
+ else {
110
+ result.positional.push(arg);
111
+ }
112
+ i++;
113
+ }
114
+ return result;
115
+ }
116
+ function getString(flags, ...keys) {
117
+ for (const key of keys) {
118
+ if (typeof flags[key] === "string")
119
+ return flags[key];
120
+ }
121
+ return undefined;
122
+ }
123
+ function getStringArray(flags, ...keys) {
124
+ for (const key of keys) {
125
+ if (Array.isArray(flags[key]))
126
+ return flags[key];
127
+ if (typeof flags[key] === "string")
128
+ return [flags[key]];
129
+ }
130
+ return undefined;
131
+ }
132
+ function getBool(flags, ...keys) {
133
+ for (const key of keys) {
134
+ if (flags[key] === true)
135
+ return true;
136
+ }
137
+ return false;
138
+ }
139
+ // ============================================================================
140
+ // Help System
141
+ // ============================================================================
142
+ function printVersion() {
143
+ console.log(`devlink v${VERSION}`);
144
+ }
145
+ function printMainHelp() {
146
+ console.log(`
147
+ DevLink v${VERSION} - Local package development tool with namespaces
148
+
149
+ USAGE
150
+ devlink <command> [options]
151
+
152
+ COMMANDS
153
+ publish Publish a package to the store
154
+ push Publish and update all consumer projects
155
+ install Install packages from the store into a project
156
+ list List packages in the store
157
+ resolve Resolve package locations in namespaces
158
+ consumers List projects that consume packages
159
+ remove Remove packages, versions, or namespaces
160
+ verify Verify store integrity
161
+ prune Remove orphaned packages from disk
162
+ docs Display embedded documentation
163
+
164
+ GLOBAL OPTIONS
165
+ --repo <path> Use custom repo path instead of ~/.devlink
166
+ -h, --help Show help (use with command for detailed help)
167
+ -v, --version Show version
168
+
169
+ ENVIRONMENT
170
+ DEVLINK_REPO Alternative to --repo flag
171
+
172
+ EXAMPLES
173
+ devlink publish Publish to global namespace
174
+ devlink publish -n feature Publish to feature namespace
175
+ devlink list List all packages
176
+ devlink install --dev Install in dev mode
177
+ devlink resolve pkg@1.0.0 Find package location
178
+
179
+ Run 'devlink <command> --help' for detailed help on a specific command.
180
+ `);
181
+ }
182
+ function printPublishHelp() {
183
+ console.log(`
184
+ devlink publish - Publish a package to the store
185
+
186
+ USAGE
187
+ devlink publish [options]
188
+
189
+ DESCRIPTION
190
+ Publishes the package in the current directory to the DevLink store.
191
+ The package must have a valid package.json with name and version fields.
192
+ Files are copied based on the "files" field in package.json.
193
+
194
+ OPTIONS
195
+ -n, --namespace <name> Target namespace (default: ${DEFAULT_NAMESPACE})
196
+ --repo <path> Use custom repo path
197
+
198
+ EXAMPLES
199
+ devlink publish Publish to global namespace
200
+ devlink publish -n feature-v2 Publish to feature-v2 namespace
201
+ devlink publish --repo /tmp/repo Publish to custom repo
202
+
203
+ OUTPUT
204
+ Shows package name, version, namespace, signature, and file count.
205
+ `);
206
+ }
207
+ function printPushHelp() {
208
+ console.log(`
209
+ devlink push - Publish and update all consumer projects
210
+
211
+ USAGE
212
+ devlink push [options]
213
+
214
+ DESCRIPTION
215
+ Publishes the package and automatically updates all projects that
216
+ consume it. This is useful during active development to propagate
217
+ changes to dependent projects without manual reinstallation.
218
+
219
+ OPTIONS
220
+ -n, --namespace <name> Target namespace (default: ${DEFAULT_NAMESPACE})
221
+ --repo <path> Use custom repo path
222
+
223
+ EXAMPLES
224
+ devlink push Push to global namespace
225
+ devlink push -n feature Push to feature namespace
226
+
227
+ HOW IT WORKS
228
+ 1. Publishes the package (same as 'devlink publish')
229
+ 2. Finds all projects in installations.json that use this package
230
+ 3. Re-links the package in each consumer project
231
+ 4. Updates signatures in installations.json and devlink.lock files
232
+ `);
233
+ }
234
+ function printInstallHelp() {
235
+ console.log(`
236
+ devlink install - Install packages from the store
237
+
238
+ USAGE
239
+ devlink install [options]
240
+
241
+ DESCRIPTION
242
+ Installs packages defined in devlink.config.mjs from the store.
243
+ Packages are resolved using namespace precedence and linked into
244
+ the project's node_modules directory.
245
+
246
+ OPTIONS
247
+ -n, --namespaces <list> Override namespace precedence (comma-separated)
248
+ -c, --config <path> Path to config file
249
+ --dev Force dev mode
250
+ --prod Force prod mode
251
+ --repo <path> Use custom repo path
252
+
253
+ CONFIG FILE
254
+ Create devlink.config.mjs in your project:
255
+
256
+ export default {
257
+ packages: {
258
+ "@scope/pkg": { dev: "1.0.0", prod: "1.0.0" },
259
+ },
260
+ dev: () => ({
261
+ manager: "store",
262
+ namespaces: ["feature", "global"],
263
+ }),
264
+ prod: () => ({
265
+ manager: "npm",
266
+ }),
267
+ };
268
+
269
+ EXAMPLES
270
+ devlink install Use config file
271
+ devlink install --dev Force dev mode
272
+ devlink install -n feature,global Override namespaces
273
+ `);
274
+ }
275
+ function printListHelp() {
276
+ console.log(`
277
+ devlink list - List packages in the store
278
+
279
+ USAGE
280
+ devlink list [options]
281
+
282
+ DESCRIPTION
283
+ Lists all packages in the store, organized by namespace or by package.
284
+ Supports filtering by namespace, package name, or scope.
285
+
286
+ OPTIONS
287
+ -n, --namespaces <list> Filter by namespaces (comma-separated)
288
+ -p, --packages [list] Group by package, optionally filter
289
+ --flat Use flat output format (default: tree)
290
+ --repo <path> Use custom repo path
291
+
292
+ EXAMPLES
293
+ devlink list List all by namespace (tree)
294
+ devlink list --flat List all by namespace (flat)
295
+ devlink list -n global List only global namespace
296
+ devlink list -n global,feature List multiple namespaces
297
+ devlink list -p List grouped by package
298
+ devlink list -p @scope Filter by scope
299
+ devlink list -p pkg1,pkg2 Filter specific packages
300
+
301
+ OUTPUT FORMATS
302
+ Tree (default):
303
+ global/
304
+ ├── @scope/
305
+ │ └── package/
306
+ │ └── 1.0.0 (abc123)
307
+
308
+ Flat:
309
+ global @scope/package@1.0.0 abc123
310
+ `);
311
+ }
312
+ function printResolveHelp() {
313
+ console.log(`
314
+ devlink resolve - Resolve package locations
315
+
316
+ USAGE
317
+ devlink resolve <pkg@version> [...] [options]
318
+
319
+ DESCRIPTION
320
+ Shows where packages would be resolved from based on namespace
321
+ precedence. Useful for debugging resolution issues.
322
+
323
+ ARGUMENTS
324
+ <pkg@version> Package spec(s) to resolve
325
+
326
+ OPTIONS
327
+ -n, --namespaces <list> Namespace precedence (comma-separated)
328
+ --flat Use flat output format
329
+ --repo <path> Use custom repo path
330
+
331
+ EXAMPLES
332
+ devlink resolve @scope/pkg@1.0.0
333
+ devlink resolve pkg1@1.0.0 pkg2@2.0.0
334
+ devlink resolve @scope/pkg@1.0.0 -n feature,global
335
+
336
+ OUTPUT
337
+ Shows for each package:
338
+ - Which namespace it was found in
339
+ - Full path to the package
340
+ - Package signature
341
+ - Namespaces that were searched
342
+ `);
343
+ }
344
+ function printConsumersHelp() {
345
+ console.log(`
346
+ devlink consumers - List consumer projects
347
+
348
+ USAGE
349
+ devlink consumers [options]
350
+
351
+ DESCRIPTION
352
+ Lists all projects that have installed packages from the store.
353
+ Can filter by package or namespace, and prune dead projects.
354
+
355
+ OPTIONS
356
+ -p, --package <name> Filter by package name
357
+ -n, --namespace <name> Filter by namespace
358
+ --prune Remove projects that no longer exist
359
+ --flat Use flat output format
360
+ --repo <path> Use custom repo path
361
+
362
+ EXAMPLES
363
+ devlink consumers List all consumers
364
+ devlink consumers -p @scope/pkg Filter by package
365
+ devlink consumers -n feature Filter by namespace
366
+ devlink consumers --prune Remove dead projects
367
+
368
+ NOTE
369
+ The --prune flag requires a lock and modifies installations.json.
370
+ `);
371
+ }
372
+ function printRemoveHelp() {
373
+ console.log(`
374
+ devlink remove - Remove packages, versions, or namespaces
375
+
376
+ USAGE
377
+ devlink remove <target> [options]
378
+
379
+ DESCRIPTION
380
+ Removes packages from the store. Can remove:
381
+ - A specific version: pkg@version
382
+ - All versions of a package: pkg
383
+ - An entire namespace: namespace-name
384
+
385
+ ARGUMENTS
386
+ <target> What to remove (see examples)
387
+
388
+ OPTIONS
389
+ -n, --namespace <name> Target namespace (required for packages)
390
+ --repo <path> Use custom repo path
391
+
392
+ EXAMPLES
393
+ devlink remove @scope/pkg@1.0.0 -n global Remove specific version
394
+ devlink remove @scope/pkg -n global Remove all versions
395
+ devlink remove feature-branch Remove entire namespace
396
+
397
+ RESTRICTIONS
398
+ - Cannot remove the 'global' namespace (reserved)
399
+ - Removing a namespace removes all packages within it
400
+ `);
401
+ }
402
+ function printVerifyHelp() {
403
+ console.log(`
404
+ devlink verify - Verify store integrity
405
+
406
+ USAGE
407
+ devlink verify [options]
408
+
409
+ DESCRIPTION
410
+ Checks the store for inconsistencies between the registry and
411
+ the actual files on disk. Can automatically fix issues.
412
+
413
+ OPTIONS
414
+ --fix Automatically fix issues found
415
+ --repo <path> Use custom repo path
416
+
417
+ CHECKS PERFORMED
418
+ - Orphans in registry: entries without corresponding files
419
+ - Orphans on disk: files without registry entries
420
+ - Signature mismatches: content doesn't match recorded signature
421
+
422
+ EXAMPLES
423
+ devlink verify Check for issues
424
+ devlink verify --fix Check and fix issues
425
+
426
+ NOTE
427
+ The --fix flag requires a lock and modifies the store.
428
+ `);
429
+ }
430
+ function printPruneHelp() {
431
+ console.log(`
432
+ devlink prune - Remove orphaned packages
433
+
434
+ USAGE
435
+ devlink prune [options]
436
+
437
+ DESCRIPTION
438
+ Removes packages from disk that are not in the registry.
439
+ This cleans up orphaned files that may have been left behind.
440
+
441
+ OPTIONS
442
+ -n, --namespace <name> Only prune in specific namespace
443
+ --dry-run Show what would be removed without removing
444
+ --repo <path> Use custom repo path
445
+
446
+ EXAMPLES
447
+ devlink prune Remove all orphans
448
+ devlink prune -n feature Only prune feature namespace
449
+ devlink prune --dry-run Preview what would be removed
450
+
451
+ NOTE
452
+ This command requires a lock and modifies the filesystem.
453
+ `);
454
+ }
455
+ function printCommandHelp(command) {
456
+ switch (command) {
457
+ case "publish":
458
+ printPublishHelp();
459
+ break;
460
+ case "push":
461
+ printPushHelp();
462
+ break;
463
+ case "install":
464
+ printInstallHelp();
465
+ break;
466
+ case "list":
467
+ printListHelp();
468
+ break;
469
+ case "resolve":
470
+ printResolveHelp();
471
+ break;
472
+ case "consumers":
473
+ printConsumersHelp();
474
+ break;
475
+ case "remove":
476
+ printRemoveHelp();
477
+ break;
478
+ case "verify":
479
+ printVerifyHelp();
480
+ break;
481
+ case "prune":
482
+ printPruneHelp();
483
+ break;
484
+ case "docs":
485
+ printDocsHelp();
486
+ break;
487
+ default:
488
+ printMainHelp();
489
+ }
490
+ }
491
+ // ============================================================================
492
+ // Main Entry Point
493
+ // ============================================================================
494
+ async function main() {
495
+ const args = parseArgs(process.argv.slice(2));
496
+ // Handle --repo flag globally (before any command)
497
+ const repoPath = getString(args.flags, "repo");
498
+ if (repoPath) {
499
+ setRepoPath(repoPath);
500
+ }
501
+ // Handle version flag
502
+ if (getBool(args.flags, "v", "version")) {
503
+ printVersion();
504
+ return;
505
+ }
506
+ // Handle help flag
507
+ if (getBool(args.flags, "h", "help")) {
508
+ if (args.command && args.command !== "help") {
509
+ printCommandHelp(args.command);
510
+ }
511
+ else {
512
+ printMainHelp();
513
+ }
514
+ return;
515
+ }
516
+ // Handle help command
517
+ if (args.command === "help") {
518
+ if (args.positional.length > 0) {
519
+ printCommandHelp(args.positional[0]);
520
+ }
521
+ else {
522
+ printMainHelp();
523
+ }
524
+ return;
525
+ }
526
+ // Execute command
527
+ switch (args.command) {
528
+ case "publish":
529
+ await handlePublish({
530
+ namespace: getString(args.flags, "n", "namespace"),
531
+ });
532
+ break;
533
+ case "push":
534
+ await handlePush({
535
+ namespace: getString(args.flags, "n", "namespace"),
536
+ });
537
+ break;
538
+ case "install":
539
+ await handleInstall({
540
+ config: getString(args.flags, "c", "config"),
541
+ dev: getBool(args.flags, "dev"),
542
+ prod: getBool(args.flags, "prod"),
543
+ namespaces: getStringArray(args.flags, "n", "namespaces"),
544
+ });
545
+ break;
546
+ case "list":
547
+ await handleList({
548
+ namespaces: getStringArray(args.flags, "n", "namespace", "namespaces"),
549
+ packages: getStringArray(args.flags, "p", "package", "packages"),
550
+ flat: getBool(args.flags, "flat"),
551
+ });
552
+ break;
553
+ case "resolve":
554
+ if (args.positional.length === 0) {
555
+ console.error("Error: resolve requires at least one package spec (pkg@version)");
556
+ console.error("Run 'devlink resolve --help' for usage");
557
+ process.exit(1);
558
+ }
559
+ await handleResolve({
560
+ specs: args.positional,
561
+ namespaces: getStringArray(args.flags, "n", "namespace", "namespaces"),
562
+ flat: getBool(args.flags, "flat"),
563
+ });
564
+ break;
565
+ case "consumers":
566
+ await handleConsumers({
567
+ package: getString(args.flags, "p", "package"),
568
+ namespace: getString(args.flags, "n", "namespace"),
569
+ flat: getBool(args.flags, "flat"),
570
+ prune: getBool(args.flags, "prune"),
571
+ });
572
+ break;
573
+ case "remove":
574
+ if (args.positional.length === 0) {
575
+ console.error("Error: remove requires a target (package@version, package, or namespace)");
576
+ console.error("Run 'devlink remove --help' for usage");
577
+ process.exit(1);
578
+ }
579
+ await handleRemove({
580
+ target: args.positional[0],
581
+ namespace: getString(args.flags, "n", "namespace"),
582
+ });
583
+ break;
584
+ case "verify":
585
+ await handleVerify({
586
+ fix: getBool(args.flags, "fix"),
587
+ });
588
+ break;
589
+ case "prune":
590
+ await handlePrune({
591
+ namespace: getString(args.flags, "n", "namespace"),
592
+ dryRun: getBool(args.flags, "dry-run", "dryRun"),
593
+ });
594
+ break;
595
+ case "docs":
596
+ await handleDocs({
597
+ document: args.positional[0],
598
+ });
599
+ break;
600
+ default:
601
+ console.error(`Unknown command: ${args.command}`);
602
+ console.error("Run 'devlink --help' for available commands");
603
+ process.exit(1);
604
+ }
605
+ }
606
+ main().catch((error) => {
607
+ console.error("Error:", error.message);
608
+ process.exit(1);
609
+ });
610
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Consumers Command - Listar proyectos consumidores
3
+ */
4
+ export interface ConsumersOptions {
5
+ package?: string;
6
+ namespace?: string;
7
+ flat?: boolean;
8
+ prune?: boolean;
9
+ }
10
+ /**
11
+ * Get consumers info
12
+ */
13
+ export declare function getConsumersInfo(options?: ConsumersOptions): Promise<{
14
+ consumers: {
15
+ projectPath: string;
16
+ packages: {
17
+ name: string;
18
+ version: string;
19
+ namespace: string;
20
+ }[];
21
+ }[];
22
+ pruned?: string[];
23
+ }>;
24
+ /**
25
+ * Format consumers output
26
+ */
27
+ export declare function listConsumers(options?: ConsumersOptions): Promise<string>;
28
+ /**
29
+ * CLI handler for consumers command
30
+ */
31
+ export declare function handleConsumers(args: {
32
+ package?: string;
33
+ namespace?: string;
34
+ flat?: boolean;
35
+ prune?: boolean;
36
+ }): Promise<void>;
37
+ //# sourceMappingURL=consumers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumers.d.ts","sourceRoot":"","sources":["../../src/commands/consumers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC;IAC9E,SAAS,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,EAAE,CAAC;IACvG,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC,CAmED;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBnF;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB"}