@walkeros/cli 0.5.1-next.0 → 0.7.0-next.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 (258) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/__tests__/bundle/bundler-helpers.test.d.ts +2 -0
  3. package/dist/__tests__/bundle/bundler-helpers.test.d.ts.map +1 -0
  4. package/dist/__tests__/bundle/bundler-helpers.test.js +151 -0
  5. package/dist/__tests__/bundle/bundler-helpers.test.js.map +1 -0
  6. package/dist/__tests__/bundle/bundler.test.d.ts +2 -0
  7. package/dist/__tests__/bundle/bundler.test.d.ts.map +1 -0
  8. package/dist/__tests__/bundle/bundler.test.js +353 -0
  9. package/dist/__tests__/bundle/bundler.test.js.map +1 -0
  10. package/dist/__tests__/bundle/programmatic.test.d.ts +2 -0
  11. package/dist/__tests__/bundle/programmatic.test.d.ts.map +1 -0
  12. package/dist/__tests__/bundle/programmatic.test.js +148 -0
  13. package/dist/__tests__/bundle/programmatic.test.js.map +1 -0
  14. package/dist/__tests__/cli-e2e.test.d.ts +8 -0
  15. package/dist/__tests__/cli-e2e.test.d.ts.map +1 -0
  16. package/dist/__tests__/cli-e2e.test.js +130 -0
  17. package/dist/__tests__/cli-e2e.test.js.map +1 -0
  18. package/dist/__tests__/cli.test.d.ts +2 -0
  19. package/dist/__tests__/cli.test.d.ts.map +1 -0
  20. package/dist/__tests__/cli.test.js +180 -0
  21. package/dist/__tests__/cli.test.js.map +1 -0
  22. package/dist/__tests__/config-loader.test.d.ts +7 -0
  23. package/dist/__tests__/config-loader.test.d.ts.map +1 -0
  24. package/dist/__tests__/config-loader.test.js +414 -0
  25. package/dist/__tests__/config-loader.test.js.map +1 -0
  26. package/dist/__tests__/core/asset-resolver.test.d.ts +2 -0
  27. package/dist/__tests__/core/asset-resolver.test.d.ts.map +1 -0
  28. package/dist/__tests__/core/asset-resolver.test.js +14 -0
  29. package/dist/__tests__/core/asset-resolver.test.js.map +1 -0
  30. package/dist/__tests__/core/build-cache.test.d.ts +2 -0
  31. package/dist/__tests__/core/build-cache.test.d.ts.map +1 -0
  32. package/dist/__tests__/core/build-cache.test.js +55 -0
  33. package/dist/__tests__/core/build-cache.test.js.map +1 -0
  34. package/dist/__tests__/core/cache-utils.test.d.ts +2 -0
  35. package/dist/__tests__/core/cache-utils.test.d.ts.map +1 -0
  36. package/dist/__tests__/core/cache-utils.test.js +70 -0
  37. package/dist/__tests__/core/cache-utils.test.js.map +1 -0
  38. package/dist/__tests__/core/config.test.d.ts +2 -0
  39. package/dist/__tests__/core/config.test.d.ts.map +1 -0
  40. package/dist/__tests__/core/config.test.js +72 -0
  41. package/dist/__tests__/core/config.test.js.map +1 -0
  42. package/dist/__tests__/core/docker-url.test.d.ts +2 -0
  43. package/dist/__tests__/core/docker-url.test.d.ts.map +1 -0
  44. package/dist/__tests__/core/docker-url.test.js +54 -0
  45. package/dist/__tests__/core/docker-url.test.js.map +1 -0
  46. package/dist/__tests__/core/logger.test.d.ts +2 -0
  47. package/dist/__tests__/core/logger.test.d.ts.map +1 -0
  48. package/dist/__tests__/core/logger.test.js +53 -0
  49. package/dist/__tests__/core/logger.test.js.map +1 -0
  50. package/dist/__tests__/integration/bundle-run.integration.test.d.ts +8 -0
  51. package/dist/__tests__/integration/bundle-run.integration.test.d.ts.map +1 -0
  52. package/dist/__tests__/integration/bundle-run.integration.test.js +54 -0
  53. package/dist/__tests__/integration/bundle-run.integration.test.js.map +1 -0
  54. package/dist/__tests__/push/push.test.d.ts +7 -0
  55. package/dist/__tests__/push/push.test.d.ts.map +1 -0
  56. package/dist/__tests__/push/push.test.js +197 -0
  57. package/dist/__tests__/push/push.test.js.map +1 -0
  58. package/dist/__tests__/simulate/env-loader.test.d.ts +2 -0
  59. package/dist/__tests__/simulate/env-loader.test.d.ts.map +1 -0
  60. package/dist/__tests__/simulate/env-loader.test.js +47 -0
  61. package/dist/__tests__/simulate/env-loader.test.js.map +1 -0
  62. package/dist/__tests__/simulate/node-executor.test.d.ts +5 -0
  63. package/dist/__tests__/simulate/node-executor.test.d.ts.map +1 -0
  64. package/dist/__tests__/simulate/node-executor.test.js +25 -0
  65. package/dist/__tests__/simulate/node-executor.test.js.map +1 -0
  66. package/dist/__tests__/simulate/server-simulate.integration.test.d.ts +5 -0
  67. package/dist/__tests__/simulate/server-simulate.integration.test.d.ts.map +1 -0
  68. package/dist/__tests__/simulate/server-simulate.integration.test.js +58 -0
  69. package/dist/__tests__/simulate/server-simulate.integration.test.js.map +1 -0
  70. package/dist/__tests__/smoke/production.smoke.test.d.ts +8 -0
  71. package/dist/__tests__/smoke/production.smoke.test.d.ts.map +1 -0
  72. package/dist/__tests__/smoke/production.smoke.test.js +65 -0
  73. package/dist/__tests__/smoke/production.smoke.test.js.map +1 -0
  74. package/dist/commands/bundle/bundler.d.ts +32 -0
  75. package/dist/commands/bundle/bundler.d.ts.map +1 -0
  76. package/dist/commands/bundle/bundler.js +583 -0
  77. package/dist/commands/bundle/bundler.js.map +1 -0
  78. package/dist/commands/bundle/index.d.ts +57 -0
  79. package/dist/commands/bundle/index.d.ts.map +1 -0
  80. package/dist/commands/bundle/index.js +200 -0
  81. package/dist/commands/bundle/index.js.map +1 -0
  82. package/dist/commands/bundle/package-manager.d.ts +8 -0
  83. package/dist/commands/bundle/package-manager.d.ts.map +1 -0
  84. package/dist/commands/bundle/package-manager.js +197 -0
  85. package/dist/commands/bundle/package-manager.js.map +1 -0
  86. package/dist/commands/bundle/stats.d.ts +23 -0
  87. package/dist/commands/bundle/stats.d.ts.map +1 -0
  88. package/dist/commands/bundle/stats.js +52 -0
  89. package/dist/commands/bundle/stats.js.map +1 -0
  90. package/dist/commands/cache.d.ts +3 -0
  91. package/dist/commands/cache.d.ts.map +1 -0
  92. package/dist/commands/cache.js +44 -0
  93. package/dist/commands/cache.js.map +1 -0
  94. package/dist/commands/push/index.d.ts +7 -0
  95. package/dist/commands/push/index.d.ts.map +1 -0
  96. package/dist/commands/push/index.js +257 -0
  97. package/dist/commands/push/index.js.map +1 -0
  98. package/dist/commands/push/types.d.ts +21 -0
  99. package/dist/commands/push/types.d.ts.map +1 -0
  100. package/dist/commands/push/types.js +2 -0
  101. package/dist/commands/push/types.js.map +1 -0
  102. package/dist/commands/run/__tests__/run.integration.test.d.ts +8 -0
  103. package/dist/commands/run/__tests__/run.integration.test.d.ts.map +1 -0
  104. package/dist/commands/run/__tests__/run.integration.test.js +52 -0
  105. package/dist/commands/run/__tests__/run.integration.test.js.map +1 -0
  106. package/dist/commands/run/__tests__/validators.test.d.ts +2 -0
  107. package/dist/commands/run/__tests__/validators.test.d.ts.map +1 -0
  108. package/dist/commands/run/__tests__/validators.test.js +80 -0
  109. package/dist/commands/run/__tests__/validators.test.js.map +1 -0
  110. package/dist/commands/run/execution.d.ts +14 -0
  111. package/dist/commands/run/execution.d.ts.map +1 -0
  112. package/dist/commands/run/execution.js +41 -0
  113. package/dist/commands/run/execution.js.map +1 -0
  114. package/dist/commands/run/index.d.ts +39 -0
  115. package/dist/commands/run/index.d.ts.map +1 -0
  116. package/dist/commands/run/index.js +191 -0
  117. package/dist/commands/run/index.js.map +1 -0
  118. package/dist/commands/run/types.d.ts +60 -0
  119. package/dist/commands/run/types.d.ts.map +1 -0
  120. package/dist/commands/run/types.js +7 -0
  121. package/dist/commands/run/types.js.map +1 -0
  122. package/dist/commands/run/utils.d.ts +29 -0
  123. package/dist/commands/run/utils.d.ts.map +1 -0
  124. package/dist/commands/run/utils.js +52 -0
  125. package/dist/commands/run/utils.js.map +1 -0
  126. package/dist/commands/run/validators.d.ts +33 -0
  127. package/dist/commands/run/validators.d.ts.map +1 -0
  128. package/dist/commands/run/validators.js +58 -0
  129. package/dist/commands/run/validators.js.map +1 -0
  130. package/dist/commands/simulate/env-loader.d.ts +19 -0
  131. package/dist/commands/simulate/env-loader.d.ts.map +1 -0
  132. package/dist/commands/simulate/env-loader.js +46 -0
  133. package/dist/commands/simulate/env-loader.js.map +1 -0
  134. package/dist/commands/simulate/index.d.ts +48 -0
  135. package/dist/commands/simulate/index.d.ts.map +1 -0
  136. package/dist/commands/simulate/index.js +116 -0
  137. package/dist/commands/simulate/index.js.map +1 -0
  138. package/dist/commands/simulate/jsdom-executor.d.ts +37 -0
  139. package/dist/commands/simulate/jsdom-executor.d.ts.map +1 -0
  140. package/dist/commands/simulate/jsdom-executor.js +137 -0
  141. package/dist/commands/simulate/jsdom-executor.js.map +1 -0
  142. package/dist/commands/simulate/node-executor.d.ts +28 -0
  143. package/dist/commands/simulate/node-executor.d.ts.map +1 -0
  144. package/dist/commands/simulate/node-executor.js +94 -0
  145. package/dist/commands/simulate/node-executor.js.map +1 -0
  146. package/dist/commands/simulate/simulator.d.ts +14 -0
  147. package/dist/commands/simulate/simulator.d.ts.map +1 -0
  148. package/dist/commands/simulate/simulator.js +162 -0
  149. package/dist/commands/simulate/simulator.js.map +1 -0
  150. package/dist/commands/simulate/tracker.d.ts +30 -0
  151. package/dist/commands/simulate/tracker.d.ts.map +1 -0
  152. package/dist/commands/simulate/tracker.js +96 -0
  153. package/dist/commands/simulate/tracker.js.map +1 -0
  154. package/dist/commands/simulate/types.d.ts +18 -0
  155. package/dist/commands/simulate/types.d.ts.map +1 -0
  156. package/dist/commands/simulate/types.js +2 -0
  157. package/dist/commands/simulate/types.js.map +1 -0
  158. package/dist/config/build-defaults.d.ts +49 -0
  159. package/dist/config/build-defaults.d.ts.map +1 -0
  160. package/dist/config/build-defaults.js +70 -0
  161. package/dist/config/build-defaults.js.map +1 -0
  162. package/dist/config/index.d.ts +13 -0
  163. package/dist/config/index.d.ts.map +1 -0
  164. package/dist/config/index.js +15 -0
  165. package/dist/config/index.js.map +1 -0
  166. package/dist/config/loader.d.ts +81 -0
  167. package/dist/config/loader.d.ts.map +1 -0
  168. package/dist/config/loader.js +155 -0
  169. package/dist/config/loader.js.map +1 -0
  170. package/dist/config/utils.d.ts +114 -0
  171. package/dist/config/utils.d.ts.map +1 -0
  172. package/dist/config/utils.js +257 -0
  173. package/dist/config/utils.js.map +1 -0
  174. package/dist/config/validators.d.ts +52 -0
  175. package/dist/config/validators.d.ts.map +1 -0
  176. package/dist/config/validators.js +85 -0
  177. package/dist/config/validators.js.map +1 -0
  178. package/dist/core/asset-resolver.d.ts +34 -0
  179. package/dist/core/asset-resolver.d.ts.map +1 -0
  180. package/dist/core/asset-resolver.js +70 -0
  181. package/dist/core/asset-resolver.js.map +1 -0
  182. package/dist/core/build-cache.d.ts +23 -0
  183. package/dist/core/build-cache.d.ts.map +1 -0
  184. package/dist/core/build-cache.js +43 -0
  185. package/dist/core/build-cache.js.map +1 -0
  186. package/dist/core/cache-utils.d.ts +27 -0
  187. package/dist/core/cache-utils.d.ts.map +1 -0
  188. package/dist/core/cache-utils.js +60 -0
  189. package/dist/core/cache-utils.js.map +1 -0
  190. package/dist/core/docker.d.ts +102 -0
  191. package/dist/core/docker.d.ts.map +1 -0
  192. package/dist/core/docker.js +278 -0
  193. package/dist/core/docker.js.map +1 -0
  194. package/dist/core/execution.d.ts +34 -0
  195. package/dist/core/execution.d.ts.map +1 -0
  196. package/dist/core/execution.js +64 -0
  197. package/dist/core/execution.js.map +1 -0
  198. package/dist/core/index.d.ts +10 -0
  199. package/dist/core/index.d.ts.map +1 -0
  200. package/dist/core/index.js +10 -0
  201. package/dist/core/index.js.map +1 -0
  202. package/dist/core/local-packages.d.ts +19 -0
  203. package/dist/core/local-packages.d.ts.map +1 -0
  204. package/dist/core/local-packages.js +60 -0
  205. package/dist/core/local-packages.js.map +1 -0
  206. package/dist/core/logger.d.ts +28 -0
  207. package/dist/core/logger.d.ts.map +1 -0
  208. package/dist/core/logger.js +88 -0
  209. package/dist/core/logger.js.map +1 -0
  210. package/dist/core/output.d.ts +30 -0
  211. package/dist/core/output.d.ts.map +1 -0
  212. package/dist/core/output.js +46 -0
  213. package/dist/core/output.js.map +1 -0
  214. package/dist/core/temp-manager.d.ts +51 -0
  215. package/dist/core/temp-manager.d.ts.map +1 -0
  216. package/dist/core/temp-manager.js +73 -0
  217. package/dist/core/temp-manager.js.map +1 -0
  218. package/dist/core/timer.d.ts +14 -0
  219. package/dist/core/timer.d.ts.map +1 -0
  220. package/dist/core/timer.js +29 -0
  221. package/dist/core/timer.js.map +1 -0
  222. package/dist/core/utils.d.ts +10 -0
  223. package/dist/core/utils.d.ts.map +1 -0
  224. package/dist/core/utils.js +12 -0
  225. package/dist/core/utils.js.map +1 -0
  226. package/dist/index.d.ts.map +1 -0
  227. package/dist/index.js +128 -96
  228. package/dist/index.js.map +1 -1
  229. package/dist/schemas/index.d.ts +9 -0
  230. package/dist/schemas/index.d.ts.map +1 -0
  231. package/dist/schemas/index.js +9 -0
  232. package/dist/schemas/index.js.map +1 -0
  233. package/dist/schemas/primitives.d.ts +37 -0
  234. package/dist/schemas/primitives.d.ts.map +1 -0
  235. package/dist/schemas/primitives.js +43 -0
  236. package/dist/schemas/primitives.js.map +1 -0
  237. package/dist/schemas/run.d.ts +23 -0
  238. package/dist/schemas/run.d.ts.map +1 -0
  239. package/dist/schemas/run.js +20 -0
  240. package/dist/schemas/run.js.map +1 -0
  241. package/dist/types/bundle.d.ts +141 -0
  242. package/dist/types/bundle.d.ts.map +1 -0
  243. package/dist/types/bundle.js +10 -0
  244. package/dist/types/bundle.js.map +1 -0
  245. package/dist/types/global.d.ts +51 -0
  246. package/dist/types/global.d.ts.map +1 -0
  247. package/dist/types/global.js +30 -0
  248. package/dist/types/global.js.map +1 -0
  249. package/dist/types/index.d.ts +8 -0
  250. package/dist/types/index.d.ts.map +1 -0
  251. package/dist/types/index.js +8 -0
  252. package/dist/types/index.js.map +1 -0
  253. package/dist/version.d.ts +3 -0
  254. package/dist/version.d.ts.map +1 -0
  255. package/dist/version.js +27 -0
  256. package/dist/version.js.map +1 -0
  257. package/dist/walker.js +1 -0
  258. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export * from './logger.js';
2
+ export * from './timer.js';
3
+ export * from './output.js';
4
+ export * from './execution.js';
5
+ export * from './docker.js';
6
+ export * from './temp-manager.js';
7
+ export * from './asset-resolver.js';
8
+ export * from './utils.js';
9
+ export * from './local-packages.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { Logger } from './logger.js';
2
+ export interface LocalPackageInfo {
3
+ name: string;
4
+ absolutePath: string;
5
+ distPath: string;
6
+ hasDistFolder: boolean;
7
+ }
8
+ /**
9
+ * Resolve and validate a local package path
10
+ */
11
+ export declare function resolveLocalPackage(packageName: string, localPath: string, configDir: string, logger: Logger): Promise<LocalPackageInfo>;
12
+ /**
13
+ * Copy local package to target node_modules directory
14
+ *
15
+ * Copies package.json and dist/ folder to preserve the package structure
16
+ * expected by module resolution (package.json exports reference ./dist/...)
17
+ */
18
+ export declare function copyLocalPackage(localPkg: LocalPackageInfo, targetDir: string, logger: Logger): Promise<string>;
19
+ //# sourceMappingURL=local-packages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-packages.d.ts","sourceRoot":"","sources":["../../src/core/local-packages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAqC3B;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CA8BjB"}
@@ -0,0 +1,60 @@
1
+ import path from 'path';
2
+ import fs from 'fs-extra';
3
+ /**
4
+ * Resolve and validate a local package path
5
+ */
6
+ export async function resolveLocalPackage(packageName, localPath, configDir, logger) {
7
+ // Resolve relative to config file directory
8
+ const absolutePath = path.isAbsolute(localPath)
9
+ ? localPath
10
+ : path.resolve(configDir, localPath);
11
+ // Validate path exists
12
+ if (!(await fs.pathExists(absolutePath))) {
13
+ throw new Error(`Local package path not found: ${localPath} (resolved to ${absolutePath})`);
14
+ }
15
+ // Validate package.json exists
16
+ const pkgJsonPath = path.join(absolutePath, 'package.json');
17
+ if (!(await fs.pathExists(pkgJsonPath))) {
18
+ throw new Error(`No package.json found at ${absolutePath}. Is this a valid package directory?`);
19
+ }
20
+ // Check for dist folder
21
+ const distPath = path.join(absolutePath, 'dist');
22
+ const hasDistFolder = await fs.pathExists(distPath);
23
+ if (!hasDistFolder) {
24
+ logger.warn(`⚠️ ${packageName}: No dist/ folder found. Using package root.`);
25
+ }
26
+ return {
27
+ name: packageName,
28
+ absolutePath,
29
+ distPath: hasDistFolder ? distPath : absolutePath,
30
+ hasDistFolder,
31
+ };
32
+ }
33
+ /**
34
+ * Copy local package to target node_modules directory
35
+ *
36
+ * Copies package.json and dist/ folder to preserve the package structure
37
+ * expected by module resolution (package.json exports reference ./dist/...)
38
+ */
39
+ export async function copyLocalPackage(localPkg, targetDir, logger) {
40
+ const packageDir = path.join(targetDir, 'node_modules', localPkg.name);
41
+ await fs.ensureDir(path.dirname(packageDir));
42
+ // Always copy package.json for module resolution
43
+ await fs.copy(path.join(localPkg.absolutePath, 'package.json'), path.join(packageDir, 'package.json'));
44
+ // Copy dist folder AS dist folder (preserving structure for exports like ./dist/index.mjs)
45
+ if (localPkg.hasDistFolder) {
46
+ await fs.copy(localPkg.distPath, path.join(packageDir, 'dist'));
47
+ }
48
+ else {
49
+ // No dist folder - copy package root contents (excluding node_modules, etc.)
50
+ const entries = await fs.readdir(localPkg.absolutePath);
51
+ for (const entry of entries) {
52
+ if (!['node_modules', '.turbo', '.git'].includes(entry)) {
53
+ await fs.copy(path.join(localPkg.absolutePath, entry), path.join(packageDir, entry));
54
+ }
55
+ }
56
+ }
57
+ logger.info(`📦 Using local: ${localPkg.name} from ${localPkg.absolutePath}`);
58
+ return packageDir;
59
+ }
60
+ //# sourceMappingURL=local-packages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-packages.js","sourceRoot":"","sources":["../../src/core/local-packages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { GlobalOptions } from '../types/global.js';
2
+ export interface LoggerOptions {
3
+ verbose?: boolean;
4
+ silent?: boolean;
5
+ json?: boolean;
6
+ }
7
+ export interface Logger {
8
+ log: (color: string, ...args: unknown[]) => void;
9
+ info: (...args: unknown[]) => void;
10
+ success: (...args: unknown[]) => void;
11
+ warning: (...args: unknown[]) => void;
12
+ warn: (...args: unknown[]) => void;
13
+ error: (...args: unknown[]) => void;
14
+ debug: (...args: unknown[]) => void;
15
+ gray: (...args: unknown[]) => void;
16
+ }
17
+ export declare function createLogger(options?: LoggerOptions): Logger;
18
+ /**
19
+ * Create logger from command options
20
+ * Factory function that standardizes logger creation across commands
21
+ *
22
+ * @param options - Command options containing verbose, silent, and json flags
23
+ * @returns Configured logger instance
24
+ */
25
+ export declare function createCommandLogger(options: GlobalOptions & {
26
+ json?: boolean;
27
+ }): Logger;
28
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACjD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACtC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACtC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CA+EhE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1C,MAAM,CAMR"}
@@ -0,0 +1,88 @@
1
+ /* eslint-disable no-console */
2
+ import chalk from 'chalk';
3
+ export function createLogger(options = {}) {
4
+ const { verbose = false, silent = false, json = false } = options;
5
+ const shouldLog = !silent && !json;
6
+ const shouldDebug = verbose && !silent && !json;
7
+ return {
8
+ log: (color, ...args) => {
9
+ if (shouldLog) {
10
+ const message = args.map((arg) => String(arg)).join(' ');
11
+ // Map color names to chalk functions
12
+ const colorMap = {
13
+ red: chalk.red,
14
+ green: chalk.green,
15
+ blue: chalk.blue,
16
+ yellow: chalk.yellow,
17
+ gray: chalk.gray,
18
+ grey: chalk.gray,
19
+ cyan: chalk.cyan,
20
+ magenta: chalk.magenta,
21
+ white: chalk.white,
22
+ black: chalk.black,
23
+ };
24
+ const colorFn = colorMap[color];
25
+ const coloredMessage = colorFn ? colorFn(message) : message;
26
+ console.log(coloredMessage);
27
+ }
28
+ },
29
+ info: (...args) => {
30
+ if (shouldLog) {
31
+ const message = args.map((arg) => String(arg)).join(' ');
32
+ console.log(chalk.blue(message));
33
+ }
34
+ },
35
+ success: (...args) => {
36
+ if (shouldLog) {
37
+ const message = args.map((arg) => String(arg)).join(' ');
38
+ console.log(chalk.green(message));
39
+ }
40
+ },
41
+ warning: (...args) => {
42
+ if (shouldLog) {
43
+ const message = args.map((arg) => String(arg)).join(' ');
44
+ console.log(chalk.yellow(message));
45
+ }
46
+ },
47
+ warn: (...args) => {
48
+ // Alias for warning
49
+ if (shouldLog) {
50
+ const message = args.map((arg) => String(arg)).join(' ');
51
+ console.log(chalk.yellow(message));
52
+ }
53
+ },
54
+ error: (...args) => {
55
+ if (!json) {
56
+ const message = args.map((arg) => String(arg)).join(' ');
57
+ console.error(chalk.red(message));
58
+ }
59
+ },
60
+ debug: (...args) => {
61
+ if (shouldDebug) {
62
+ const message = args.map((arg) => String(arg)).join(' ');
63
+ console.log(chalk.gray(message));
64
+ }
65
+ },
66
+ gray: (...args) => {
67
+ if (shouldLog) {
68
+ const message = args.map((arg) => String(arg)).join(' ');
69
+ console.log(chalk.gray(message));
70
+ }
71
+ },
72
+ };
73
+ }
74
+ /**
75
+ * Create logger from command options
76
+ * Factory function that standardizes logger creation across commands
77
+ *
78
+ * @param options - Command options containing verbose, silent, and json flags
79
+ * @returns Configured logger instance
80
+ */
81
+ export function createCommandLogger(options) {
82
+ return createLogger({
83
+ verbose: options.verbose,
84
+ silent: options.silent ?? false,
85
+ json: options.json,
86
+ });
87
+ }
88
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Output formatting utilities for CLI commands
3
+ */
4
+ export interface JsonOutput<T = Record<string, unknown>> {
5
+ success: boolean;
6
+ data?: T;
7
+ error?: string;
8
+ duration?: number;
9
+ }
10
+ /**
11
+ * Create standardized JSON output for CLI commands
12
+ */
13
+ export declare function createJsonOutput<T = Record<string, unknown>>(success: boolean, data?: T, error?: string, duration?: number): JsonOutput<T>;
14
+ /**
15
+ * Create success JSON output
16
+ */
17
+ export declare function createSuccessOutput<T = Record<string, unknown>>(data?: T, duration?: number): JsonOutput<T>;
18
+ /**
19
+ * Create error JSON output
20
+ */
21
+ export declare function createErrorOutput(error: string, duration?: number): JsonOutput<never>;
22
+ /**
23
+ * Format bytes to KB with 2 decimal places
24
+ */
25
+ export declare function formatBytes(bytes: number): string;
26
+ /**
27
+ * Format file size with appropriate unit
28
+ */
29
+ export declare function formatFileSize(bytes: number): string;
30
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/core/output.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,CAAC,EACR,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,CAAC,CAAC,CAAC,CAOf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,IAAI,CAAC,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,CAAC,CAAC,CAAC,CAEf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,CAAC,KAAK,CAAC,CAEnB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWpD"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Output formatting utilities for CLI commands
3
+ */
4
+ /**
5
+ * Create standardized JSON output for CLI commands
6
+ */
7
+ export function createJsonOutput(success, data, error, duration) {
8
+ return {
9
+ success,
10
+ ...(data && { data }),
11
+ ...(error && { error }),
12
+ ...(duration && { duration }),
13
+ };
14
+ }
15
+ /**
16
+ * Create success JSON output
17
+ */
18
+ export function createSuccessOutput(data, duration) {
19
+ return createJsonOutput(true, data, undefined, duration);
20
+ }
21
+ /**
22
+ * Create error JSON output
23
+ */
24
+ export function createErrorOutput(error, duration) {
25
+ return createJsonOutput(false, undefined, error, duration);
26
+ }
27
+ /**
28
+ * Format bytes to KB with 2 decimal places
29
+ */
30
+ export function formatBytes(bytes) {
31
+ return (bytes / 1024).toFixed(2);
32
+ }
33
+ /**
34
+ * Format file size with appropriate unit
35
+ */
36
+ export function formatFileSize(bytes) {
37
+ const units = ['B', 'KB', 'MB', 'GB'];
38
+ let size = bytes;
39
+ let unitIndex = 0;
40
+ while (size >= 1024 && unitIndex < units.length - 1) {
41
+ size /= 1024;
42
+ unitIndex++;
43
+ }
44
+ return `${size.toFixed(2)} ${units[unitIndex]}`;
45
+ }
46
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/core/output.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,IAAQ,EACR,KAAc,EACd,QAAiB;IAEjB,OAAO;QACL,OAAO;QACP,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;QACvB,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAQ,EACR,QAAiB;IAEjB,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,QAAiB;IAEjB,OAAO,gBAAgB,CAAQ,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,OAAO,IAAI,IAAI,IAAI,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,IAAI,CAAC;QACb,SAAS,EAAE,CAAC;IACd,CAAC;IAED,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;AAClD,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Unified Temporary Directory Manager
3
+ *
4
+ * Manages temporary directories for CLI operations using hash-based naming.
5
+ * This provides a single location for all temp files per operation, making
6
+ * cleanup simple and Docker mounting straightforward.
7
+ */
8
+ export interface TempDirPaths {
9
+ root: string;
10
+ nodeModules: string;
11
+ cache: string;
12
+ bundle: string;
13
+ entry: string;
14
+ }
15
+ /**
16
+ * Manages a unified temporary directory structure for CLI operations
17
+ */
18
+ export declare class TempDirManager {
19
+ private hash;
20
+ readonly paths: TempDirPaths;
21
+ /**
22
+ * Create a new TempDirManager with hash-based directory naming
23
+ *
24
+ * @param configPath - Path to the config file (used in hash)
25
+ * @param operation - Operation type ('bundle' | 'simulate')
26
+ * @param timestamp - Optional timestamp for uniqueness (defaults to Date.now())
27
+ */
28
+ static create(configPath: string, operation: 'bundle' | 'simulate', timestamp?: number): Promise<TempDirManager>;
29
+ constructor(hash: string);
30
+ /**
31
+ * Initialize the temporary directory structure
32
+ */
33
+ initialize(): Promise<void>;
34
+ /**
35
+ * Clean up the temporary directory
36
+ */
37
+ cleanup(): Promise<void>;
38
+ /**
39
+ * Get the hash used for this temp directory
40
+ */
41
+ getHash(): string;
42
+ /**
43
+ * Get a path within the temp directory
44
+ */
45
+ getPath(...parts: string[]): string;
46
+ /**
47
+ * Check if the temp directory exists
48
+ */
49
+ exists(): Promise<boolean>;
50
+ }
51
+ //# sourceMappingURL=temp-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temp-manager.d.ts","sourceRoot":"","sources":["../../src/core/temp-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAS;IACrB,SAAgB,KAAK,EAAE,YAAY,CAAC;IAEpC;;;;;;OAMG;WACU,MAAM,CACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,QAAQ,GAAG,UAAU,EAChC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC;gBAMd,IAAI,EAAE,MAAM;IAaxB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;IAInC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAGjC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Unified Temporary Directory Manager
3
+ *
4
+ * Manages temporary directories for CLI operations using hash-based naming.
5
+ * This provides a single location for all temp files per operation, making
6
+ * cleanup simple and Docker mounting straightforward.
7
+ */
8
+ import { getHashServer } from '@walkeros/server-core';
9
+ import path from 'path';
10
+ import fs from 'fs-extra';
11
+ /**
12
+ * Manages a unified temporary directory structure for CLI operations
13
+ */
14
+ export class TempDirManager {
15
+ hash;
16
+ paths;
17
+ /**
18
+ * Create a new TempDirManager with hash-based directory naming
19
+ *
20
+ * @param configPath - Path to the config file (used in hash)
21
+ * @param operation - Operation type ('bundle' | 'simulate')
22
+ * @param timestamp - Optional timestamp for uniqueness (defaults to Date.now())
23
+ */
24
+ static async create(configPath, operation, timestamp) {
25
+ const ts = timestamp || Date.now();
26
+ const hash = await getHashServer(`${configPath}:${operation}:${ts}`, 12);
27
+ return new TempDirManager(hash);
28
+ }
29
+ constructor(hash) {
30
+ this.hash = hash;
31
+ const root = path.join('.tmp', `walkeros-${hash}`);
32
+ this.paths = {
33
+ root,
34
+ nodeModules: path.join(root, 'node_modules'),
35
+ cache: path.join(root, 'cache'),
36
+ bundle: path.join(root, 'bundle.js'),
37
+ entry: path.join(root, 'entry.js'),
38
+ };
39
+ }
40
+ /**
41
+ * Initialize the temporary directory structure
42
+ */
43
+ async initialize() {
44
+ await fs.ensureDir(this.paths.root);
45
+ await fs.ensureDir(this.paths.nodeModules);
46
+ await fs.ensureDir(this.paths.cache);
47
+ }
48
+ /**
49
+ * Clean up the temporary directory
50
+ */
51
+ async cleanup() {
52
+ await fs.remove(this.paths.root);
53
+ }
54
+ /**
55
+ * Get the hash used for this temp directory
56
+ */
57
+ getHash() {
58
+ return this.hash;
59
+ }
60
+ /**
61
+ * Get a path within the temp directory
62
+ */
63
+ getPath(...parts) {
64
+ return path.join(this.paths.root, ...parts);
65
+ }
66
+ /**
67
+ * Check if the temp directory exists
68
+ */
69
+ async exists() {
70
+ return fs.pathExists(this.paths.root);
71
+ }
72
+ }
73
+ //# sourceMappingURL=temp-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temp-manager.js","sourceRoot":"","sources":["../../src/core/temp-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAU1B;;GAEG;AACH,MAAM,OAAO,cAAc;IACjB,IAAI,CAAS;IACL,KAAK,CAAe;IAEpC;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,UAAkB,EAClB,SAAgC,EAChC,SAAkB;QAElB,MAAM,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,GAAG,UAAU,IAAI,SAAS,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,KAAK,GAAG;YACX,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;YAC5C,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;YAC/B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;YACpC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;SACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAG,KAAe;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Timer utilities for measuring execution time
3
+ */
4
+ export interface Timer {
5
+ start: () => void;
6
+ end: () => number;
7
+ getElapsed: () => number;
8
+ format: () => string;
9
+ }
10
+ /**
11
+ * Create a high-precision timer
12
+ */
13
+ export declare function createTimer(): Timer;
14
+ //# sourceMappingURL=timer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../src/core/timer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,KAAK,CAyBnC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Timer utilities for measuring execution time
3
+ */
4
+ /**
5
+ * Create a high-precision timer
6
+ */
7
+ export function createTimer() {
8
+ let startTime = 0;
9
+ let endTime = 0;
10
+ return {
11
+ start() {
12
+ startTime = Date.now();
13
+ endTime = 0;
14
+ },
15
+ end() {
16
+ endTime = Date.now();
17
+ return endTime - startTime;
18
+ },
19
+ getElapsed() {
20
+ const currentTime = endTime || Date.now();
21
+ return currentTime - startTime;
22
+ },
23
+ format() {
24
+ const elapsed = this.getElapsed();
25
+ return (elapsed / 1000).toFixed(2) + 's';
26
+ },
27
+ };
28
+ }
29
+ //# sourceMappingURL=timer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timer.js","sourceRoot":"","sources":["../../src/core/timer.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,OAAO;QACL,KAAK;YACH,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,CAAC;QACd,CAAC;QAED,GAAG;YACD,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACrB,OAAO,OAAO,GAAG,SAAS,CAAC;QAC7B,CAAC;QAED,UAAU;YACR,MAAM,WAAW,GAAG,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1C,OAAO,WAAW,GAAG,SAAS,CAAC;QACjC,CAAC;QAED,MAAM;YACJ,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Utility functions for the CLI package
3
+ */
4
+ /**
5
+ * Extract error message from unknown error type
6
+ * @param error - Unknown error object
7
+ * @returns Error message as string
8
+ */
9
+ export declare function getErrorMessage(error: unknown): string;
10
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEtD"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Utility functions for the CLI package
3
+ */
4
+ /**
5
+ * Extract error message from unknown error type
6
+ * @param error - Unknown error object
7
+ * @returns Error message as string
8
+ */
9
+ export function getErrorMessage(error) {
10
+ return error instanceof Error ? error.message : String(error);
11
+ }
12
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/core/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAInE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAK9C,YAAY,EACV,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,UAAU,EACV,SAAS,GACV,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}