@hyperfrontend/project-scope 0.2.1 → 0.2.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 (439) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/README.md +3 -4
  3. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.cjs.js +7 -0
  4. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.esm.js +5 -0
  5. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/console/index.cjs.js +13 -0
  6. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/console/index.esm.js +8 -0
  7. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/date/index.cjs.js +10 -0
  8. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/date/index.esm.js +8 -0
  9. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.cjs.js +6 -0
  10. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.esm.js +5 -0
  11. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/json/index.cjs.js +7 -0
  12. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/json/index.esm.js +5 -0
  13. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/map/index.cjs.js +6 -0
  14. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/map/index.esm.js +5 -0
  15. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/math/index.cjs.js +9 -0
  16. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/math/index.esm.js +6 -0
  17. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/number/index.cjs.js +7 -0
  18. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/number/index.esm.js +7 -0
  19. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.cjs.js +15 -0
  20. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.esm.js +9 -0
  21. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.cjs.js +6 -0
  22. package/_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.esm.js +5 -0
  23. package/_dependencies/@hyperfrontend/logging/index.cjs.js +191 -0
  24. package/_dependencies/@hyperfrontend/logging/index.d.ts +151 -0
  25. package/_dependencies/@hyperfrontend/logging/index.esm.js +186 -0
  26. package/_shared/core/cache/index.cjs.js +135 -0
  27. package/_shared/core/cache/index.esm.js +128 -0
  28. package/_shared/core/errors/structured-errors/index.cjs.js +28 -0
  29. package/_shared/core/errors/structured-errors/index.esm.js +23 -0
  30. package/_shared/core/fs/stat/index.cjs.js +46 -0
  31. package/_shared/core/fs/stat/index.esm.js +40 -0
  32. package/_shared/core/path/join/index.cjs.js +13 -0
  33. package/_shared/core/path/join/index.esm.js +10 -0
  34. package/_shared/core/path/normalize/index.cjs.js +37 -0
  35. package/_shared/core/path/normalize/index.esm.js +31 -0
  36. package/_shared/core/path/resolve/index.cjs.js +47 -0
  37. package/_shared/core/path/resolve/index.esm.js +41 -0
  38. package/_shared/core/path/segments/index.cjs.js +38 -0
  39. package/_shared/core/path/segments/index.esm.js +31 -0
  40. package/_shared/core/patterns/glob/index.cjs.js +145 -0
  41. package/_shared/core/patterns/glob/index.esm.js +136 -0
  42. package/_shared/core/platform/detect/index.cjs.js +103 -0
  43. package/_shared/core/platform/detect/index.esm.js +95 -0
  44. package/_shared/core/platform/line-endings/index.cjs.js +52 -0
  45. package/_shared/core/platform/line-endings/index.esm.js +44 -0
  46. package/_shared/project/config/patterns/index.cjs.js +172 -0
  47. package/_shared/project/config/patterns/index.esm.js +169 -0
  48. package/_shared/tech/monorepo/pnpm-workspaces/index.cjs.js +33 -0
  49. package/_shared/tech/monorepo/pnpm-workspaces/index.esm.js +31 -0
  50. package/_shared/tech/shared-utils/detector-helpers/index.cjs.js +48 -0
  51. package/_shared/tech/shared-utils/detector-helpers/index.esm.js +43 -0
  52. package/_shared/vfs/types/index.cjs.js +14 -0
  53. package/_shared/vfs/types/index.esm.js +12 -0
  54. package/cli/index.cjs.js +1702 -1910
  55. package/cli/index.d.ts +273 -7
  56. package/cli/index.d.ts.map +1 -1
  57. package/cli/index.esm.js +1586 -1794
  58. package/core/encoding/index.cjs.js +86 -401
  59. package/core/encoding/index.d.ts +186 -3
  60. package/core/encoding/index.d.ts.map +1 -1
  61. package/core/encoding/index.esm.js +78 -392
  62. package/core/fs/index.cjs.js +231 -581
  63. package/core/fs/index.d.ts +479 -6
  64. package/core/fs/index.d.ts.map +1 -1
  65. package/core/fs/index.esm.js +221 -571
  66. package/core/index.cjs.js +518 -1748
  67. package/core/index.d.ts +486 -9
  68. package/core/index.d.ts.map +1 -1
  69. package/core/index.esm.js +501 -1728
  70. package/core/path/index.cjs.js +6 -234
  71. package/core/path/index.d.ts +306 -5
  72. package/core/path/index.d.ts.map +1 -1
  73. package/core/path/index.esm.js +4 -232
  74. package/core/platform/index.cjs.js +5 -216
  75. package/core/platform/index.d.ts +185 -3
  76. package/core/platform/index.d.ts.map +1 -1
  77. package/core/platform/index.esm.js +3 -212
  78. package/heuristics/dependencies/index.cjs.js +95 -492
  79. package/heuristics/dependencies/index.d.ts +99 -2
  80. package/heuristics/dependencies/index.d.ts.map +1 -1
  81. package/heuristics/dependencies/index.esm.js +69 -466
  82. package/heuristics/entry-points/index.cjs.js +91 -795
  83. package/heuristics/entry-points/index.d.ts +123 -2
  84. package/heuristics/entry-points/index.d.ts.map +1 -1
  85. package/heuristics/entry-points/index.esm.js +72 -776
  86. package/heuristics/framework/index.cjs.js +1481 -1410
  87. package/heuristics/framework/index.d.ts +104 -2
  88. package/heuristics/framework/index.d.ts.map +1 -1
  89. package/heuristics/framework/index.esm.js +1417 -1346
  90. package/heuristics/index.cjs.js +3206 -3301
  91. package/heuristics/index.d.ts +4 -5
  92. package/heuristics/index.d.ts.map +1 -1
  93. package/heuristics/index.esm.js +3231 -3326
  94. package/heuristics/project-type/index.cjs.js +1487 -1437
  95. package/heuristics/project-type/index.d.ts +64 -2
  96. package/heuristics/project-type/index.d.ts.map +1 -1
  97. package/heuristics/project-type/index.esm.js +1416 -1366
  98. package/index.cjs.js +3044 -3533
  99. package/index.d.ts +44 -10
  100. package/index.d.ts.map +1 -1
  101. package/index.esm.js +2900 -3377
  102. package/models/index.cjs.js +0 -1
  103. package/models/index.d.ts +20 -14
  104. package/models/index.d.ts.map +1 -1
  105. package/models/index.esm.js +0 -1
  106. package/nx/index.cjs.js +163 -577
  107. package/nx/index.d.ts +279 -4
  108. package/nx/index.d.ts.map +1 -1
  109. package/nx/index.esm.js +145 -554
  110. package/package.json +13 -12
  111. package/project/config/index.cjs.js +122 -1062
  112. package/project/config/index.d.ts +202 -4
  113. package/project/config/index.d.ts.map +1 -1
  114. package/project/config/index.esm.js +105 -1043
  115. package/project/index.cjs.js +323 -1100
  116. package/project/index.d.ts +4 -5
  117. package/project/index.d.ts.map +1 -1
  118. package/project/index.esm.js +302 -1076
  119. package/project/package/index.cjs.js +191 -472
  120. package/project/package/index.d.ts +280 -3
  121. package/project/package/index.d.ts.map +1 -1
  122. package/project/package/index.esm.js +178 -458
  123. package/project/root/index.cjs.js +107 -416
  124. package/project/root/index.d.ts +83 -2
  125. package/project/root/index.d.ts.map +1 -1
  126. package/project/root/index.esm.js +96 -405
  127. package/project/traversal/index.cjs.js +94 -621
  128. package/project/traversal/index.d.ts +165 -3
  129. package/project/traversal/index.d.ts.map +1 -1
  130. package/project/traversal/index.esm.js +80 -607
  131. package/tech/backend/index.cjs.js +221 -507
  132. package/tech/backend/index.d.ts +205 -8
  133. package/tech/backend/index.d.ts.map +1 -1
  134. package/tech/backend/index.esm.js +200 -486
  135. package/tech/build/index.cjs.js +348 -635
  136. package/tech/build/index.d.ts +276 -10
  137. package/tech/build/index.d.ts.map +1 -1
  138. package/tech/build/index.esm.js +326 -613
  139. package/tech/frontend/index.cjs.js +505 -684
  140. package/tech/frontend/index.d.ts +379 -15
  141. package/tech/frontend/index.d.ts.map +1 -1
  142. package/tech/frontend/index.esm.js +481 -660
  143. package/tech/index.cjs.js +1580 -1420
  144. package/tech/index.d.ts +55 -32
  145. package/tech/index.d.ts.map +1 -1
  146. package/tech/index.esm.js +1513 -1353
  147. package/tech/legacy/index.cjs.js +97 -448
  148. package/tech/legacy/index.d.ts +125 -7
  149. package/tech/legacy/index.d.ts.map +1 -1
  150. package/tech/legacy/index.esm.js +79 -430
  151. package/tech/linting/index.cjs.js +136 -522
  152. package/tech/linting/index.d.ts +129 -7
  153. package/tech/linting/index.d.ts.map +1 -1
  154. package/tech/linting/index.esm.js +116 -502
  155. package/tech/monorepo/index.cjs.js +244 -572
  156. package/tech/monorepo/index.d.ts +241 -10
  157. package/tech/monorepo/index.d.ts.map +1 -1
  158. package/tech/monorepo/index.esm.js +224 -552
  159. package/tech/testing/index.cjs.js +214 -570
  160. package/tech/testing/index.d.ts +176 -8
  161. package/tech/testing/index.d.ts.map +1 -1
  162. package/tech/testing/index.esm.js +196 -552
  163. package/tech/types/index.cjs.js +121 -505
  164. package/tech/types/index.d.ts +120 -2
  165. package/tech/types/index.d.ts.map +1 -1
  166. package/tech/types/index.esm.js +99 -483
  167. package/vfs/index.cjs.js +647 -1142
  168. package/vfs/index.d.ts +360 -6
  169. package/vfs/index.d.ts.map +1 -1
  170. package/vfs/index.esm.js +672 -1167
  171. package/ARCHITECTURE.md +0 -370
  172. package/analyze.d.ts +0 -33
  173. package/analyze.d.ts.map +0 -1
  174. package/cli/commands/analyze.d.ts +0 -28
  175. package/cli/commands/analyze.d.ts.map +0 -1
  176. package/cli/commands/config.d.ts +0 -27
  177. package/cli/commands/config.d.ts.map +0 -1
  178. package/cli/commands/deps.d.ts +0 -24
  179. package/cli/commands/deps.d.ts.map +0 -1
  180. package/cli/commands/tree.d.ts +0 -36
  181. package/cli/commands/tree.d.ts.map +0 -1
  182. package/cli/index.cjs.js.map +0 -1
  183. package/cli/index.esm.js.map +0 -1
  184. package/cli/run.d.ts +0 -25
  185. package/cli/run.d.ts.map +0 -1
  186. package/cli/types.d.ts +0 -55
  187. package/cli/types.d.ts.map +0 -1
  188. package/core/cache.d.ts +0 -158
  189. package/core/cache.d.ts.map +0 -1
  190. package/core/encoding/convert.d.ts +0 -32
  191. package/core/encoding/convert.d.ts.map +0 -1
  192. package/core/encoding/detect.d.ts +0 -91
  193. package/core/encoding/detect.d.ts.map +0 -1
  194. package/core/encoding/index.cjs.js.map +0 -1
  195. package/core/encoding/index.esm.js.map +0 -1
  196. package/core/errors/structured-errors.d.ts +0 -66
  197. package/core/errors/structured-errors.d.ts.map +0 -1
  198. package/core/fs/directory.d.ts +0 -91
  199. package/core/fs/directory.d.ts.map +0 -1
  200. package/core/fs/index.cjs.js.map +0 -1
  201. package/core/fs/index.esm.js.map +0 -1
  202. package/core/fs/read.d.ts +0 -94
  203. package/core/fs/read.d.ts.map +0 -1
  204. package/core/fs/stat.d.ts +0 -58
  205. package/core/fs/stat.d.ts.map +0 -1
  206. package/core/fs/traversal.d.ts +0 -26
  207. package/core/fs/traversal.d.ts.map +0 -1
  208. package/core/fs/write.d.ts +0 -75
  209. package/core/fs/write.d.ts.map +0 -1
  210. package/core/index.cjs.js.map +0 -1
  211. package/core/index.esm.js.map +0 -1
  212. package/core/logger.d.ts +0 -111
  213. package/core/logger.d.ts.map +0 -1
  214. package/core/path/index.cjs.js.map +0 -1
  215. package/core/path/index.esm.js.map +0 -1
  216. package/core/path/join.d.ts +0 -17
  217. package/core/path/join.d.ts.map +0 -1
  218. package/core/path/normalize.d.ts +0 -37
  219. package/core/path/normalize.d.ts.map +0 -1
  220. package/core/path/resolve.d.ts +0 -52
  221. package/core/path/resolve.d.ts.map +0 -1
  222. package/core/path/segments.d.ts +0 -59
  223. package/core/path/segments.d.ts.map +0 -1
  224. package/core/patterns/glob.d.ts +0 -42
  225. package/core/patterns/glob.d.ts.map +0 -1
  226. package/core/platform/detect.d.ts +0 -66
  227. package/core/platform/detect.d.ts.map +0 -1
  228. package/core/platform/index.cjs.js.map +0 -1
  229. package/core/platform/index.esm.js.map +0 -1
  230. package/core/platform/line-endings.d.ts +0 -48
  231. package/core/platform/line-endings.d.ts.map +0 -1
  232. package/heuristics/dependencies/analyze.d.ts +0 -77
  233. package/heuristics/dependencies/analyze.d.ts.map +0 -1
  234. package/heuristics/dependencies/index.cjs.js.map +0 -1
  235. package/heuristics/dependencies/index.esm.js.map +0 -1
  236. package/heuristics/entry-points/discover.d.ts +0 -113
  237. package/heuristics/entry-points/discover.d.ts.map +0 -1
  238. package/heuristics/entry-points/index.cjs.js.map +0 -1
  239. package/heuristics/entry-points/index.esm.js.map +0 -1
  240. package/heuristics/framework/identify.d.ts +0 -84
  241. package/heuristics/framework/identify.d.ts.map +0 -1
  242. package/heuristics/framework/index.cjs.js.map +0 -1
  243. package/heuristics/framework/index.esm.js.map +0 -1
  244. package/heuristics/index.cjs.js.map +0 -1
  245. package/heuristics/index.esm.js.map +0 -1
  246. package/heuristics/project-type/detect.d.ts +0 -61
  247. package/heuristics/project-type/detect.d.ts.map +0 -1
  248. package/heuristics/project-type/index.cjs.js.map +0 -1
  249. package/heuristics/project-type/index.esm.js.map +0 -1
  250. package/index.cjs.js.map +0 -1
  251. package/index.esm.js.map +0 -1
  252. package/models/index.cjs.js.map +0 -1
  253. package/models/index.esm.js.map +0 -1
  254. package/nx/detect.d.ts +0 -105
  255. package/nx/detect.d.ts.map +0 -1
  256. package/nx/devkit-loader.d.ts +0 -62
  257. package/nx/devkit-loader.d.ts.map +0 -1
  258. package/nx/index.cjs.js.map +0 -1
  259. package/nx/index.esm.js.map +0 -1
  260. package/nx/project-config.d.ts +0 -111
  261. package/nx/project-config.d.ts.map +0 -1
  262. package/project/config/detect.d.ts +0 -77
  263. package/project/config/detect.d.ts.map +0 -1
  264. package/project/config/index.cjs.js.map +0 -1
  265. package/project/config/index.esm.js.map +0 -1
  266. package/project/config/parse.d.ts +0 -53
  267. package/project/config/parse.d.ts.map +0 -1
  268. package/project/config/patterns.d.ts +0 -31
  269. package/project/config/patterns.d.ts.map +0 -1
  270. package/project/index.cjs.js.map +0 -1
  271. package/project/index.esm.js.map +0 -1
  272. package/project/package/dependencies.d.ts +0 -101
  273. package/project/package/dependencies.d.ts.map +0 -1
  274. package/project/package/index.cjs.js.map +0 -1
  275. package/project/package/index.esm.js.map +0 -1
  276. package/project/package/read.d.ts +0 -67
  277. package/project/package/read.d.ts.map +0 -1
  278. package/project/root/detect.d.ts +0 -65
  279. package/project/root/detect.d.ts.map +0 -1
  280. package/project/root/index.cjs.js.map +0 -1
  281. package/project/root/index.esm.js.map +0 -1
  282. package/project/traversal/index.cjs.js.map +0 -1
  283. package/project/traversal/index.esm.js.map +0 -1
  284. package/project/traversal/search.d.ts +0 -59
  285. package/project/traversal/search.d.ts.map +0 -1
  286. package/project/traversal/walk.d.ts +0 -63
  287. package/project/traversal/walk.d.ts.map +0 -1
  288. package/tech/backend/detect-all.d.ts +0 -13
  289. package/tech/backend/detect-all.d.ts.map +0 -1
  290. package/tech/backend/express.d.ts +0 -11
  291. package/tech/backend/express.d.ts.map +0 -1
  292. package/tech/backend/fastify.d.ts +0 -11
  293. package/tech/backend/fastify.d.ts.map +0 -1
  294. package/tech/backend/hono.d.ts +0 -11
  295. package/tech/backend/hono.d.ts.map +0 -1
  296. package/tech/backend/index.cjs.js.map +0 -1
  297. package/tech/backend/index.esm.js.map +0 -1
  298. package/tech/backend/koa.d.ts +0 -11
  299. package/tech/backend/koa.d.ts.map +0 -1
  300. package/tech/backend/nestjs.d.ts +0 -11
  301. package/tech/backend/nestjs.d.ts.map +0 -1
  302. package/tech/backend/types.d.ts +0 -31
  303. package/tech/backend/types.d.ts.map +0 -1
  304. package/tech/build/babel.d.ts +0 -13
  305. package/tech/build/babel.d.ts.map +0 -1
  306. package/tech/build/detect-all.d.ts +0 -13
  307. package/tech/build/detect-all.d.ts.map +0 -1
  308. package/tech/build/esbuild.d.ts +0 -11
  309. package/tech/build/esbuild.d.ts.map +0 -1
  310. package/tech/build/index.cjs.js.map +0 -1
  311. package/tech/build/index.esm.js.map +0 -1
  312. package/tech/build/parcel.d.ts +0 -13
  313. package/tech/build/parcel.d.ts.map +0 -1
  314. package/tech/build/rollup.d.ts +0 -13
  315. package/tech/build/rollup.d.ts.map +0 -1
  316. package/tech/build/swc.d.ts +0 -13
  317. package/tech/build/swc.d.ts.map +0 -1
  318. package/tech/build/types.d.ts +0 -31
  319. package/tech/build/types.d.ts.map +0 -1
  320. package/tech/build/vite.d.ts +0 -13
  321. package/tech/build/vite.d.ts.map +0 -1
  322. package/tech/build/webpack.d.ts +0 -13
  323. package/tech/build/webpack.d.ts.map +0 -1
  324. package/tech/frontend/angular.d.ts +0 -11
  325. package/tech/frontend/angular.d.ts.map +0 -1
  326. package/tech/frontend/astro.d.ts +0 -11
  327. package/tech/frontend/astro.d.ts.map +0 -1
  328. package/tech/frontend/detect-all.d.ts +0 -13
  329. package/tech/frontend/detect-all.d.ts.map +0 -1
  330. package/tech/frontend/gatsby.d.ts +0 -11
  331. package/tech/frontend/gatsby.d.ts.map +0 -1
  332. package/tech/frontend/index.cjs.js.map +0 -1
  333. package/tech/frontend/index.esm.js.map +0 -1
  334. package/tech/frontend/nextjs.d.ts +0 -11
  335. package/tech/frontend/nextjs.d.ts.map +0 -1
  336. package/tech/frontend/nuxt.d.ts +0 -11
  337. package/tech/frontend/nuxt.d.ts.map +0 -1
  338. package/tech/frontend/qwik.d.ts +0 -11
  339. package/tech/frontend/qwik.d.ts.map +0 -1
  340. package/tech/frontend/react.d.ts +0 -11
  341. package/tech/frontend/react.d.ts.map +0 -1
  342. package/tech/frontend/remix.d.ts +0 -11
  343. package/tech/frontend/remix.d.ts.map +0 -1
  344. package/tech/frontend/solid.d.ts +0 -11
  345. package/tech/frontend/solid.d.ts.map +0 -1
  346. package/tech/frontend/svelte.d.ts +0 -11
  347. package/tech/frontend/svelte.d.ts.map +0 -1
  348. package/tech/frontend/sveltekit.d.ts +0 -11
  349. package/tech/frontend/sveltekit.d.ts.map +0 -1
  350. package/tech/frontend/types.d.ts +0 -35
  351. package/tech/frontend/types.d.ts.map +0 -1
  352. package/tech/frontend/vue.d.ts +0 -11
  353. package/tech/frontend/vue.d.ts.map +0 -1
  354. package/tech/index.cjs.js.map +0 -1
  355. package/tech/index.esm.js.map +0 -1
  356. package/tech/legacy/angularjs.d.ts +0 -12
  357. package/tech/legacy/angularjs.d.ts.map +0 -1
  358. package/tech/legacy/backbone.d.ts +0 -11
  359. package/tech/legacy/backbone.d.ts.map +0 -1
  360. package/tech/legacy/detect-all.d.ts +0 -13
  361. package/tech/legacy/detect-all.d.ts.map +0 -1
  362. package/tech/legacy/ember.d.ts +0 -11
  363. package/tech/legacy/ember.d.ts.map +0 -1
  364. package/tech/legacy/index.cjs.js.map +0 -1
  365. package/tech/legacy/index.esm.js.map +0 -1
  366. package/tech/legacy/jquery.d.ts +0 -11
  367. package/tech/legacy/jquery.d.ts.map +0 -1
  368. package/tech/legacy/types.d.ts +0 -33
  369. package/tech/legacy/types.d.ts.map +0 -1
  370. package/tech/linting/biome.d.ts +0 -11
  371. package/tech/linting/biome.d.ts.map +0 -1
  372. package/tech/linting/detect-all.d.ts +0 -13
  373. package/tech/linting/detect-all.d.ts.map +0 -1
  374. package/tech/linting/eslint.d.ts +0 -13
  375. package/tech/linting/eslint.d.ts.map +0 -1
  376. package/tech/linting/index.cjs.js.map +0 -1
  377. package/tech/linting/index.esm.js.map +0 -1
  378. package/tech/linting/prettier.d.ts +0 -13
  379. package/tech/linting/prettier.d.ts.map +0 -1
  380. package/tech/linting/stylelint.d.ts +0 -13
  381. package/tech/linting/stylelint.d.ts.map +0 -1
  382. package/tech/linting/types.d.ts +0 -31
  383. package/tech/linting/types.d.ts.map +0 -1
  384. package/tech/monorepo/detect-all.d.ts +0 -13
  385. package/tech/monorepo/detect-all.d.ts.map +0 -1
  386. package/tech/monorepo/index.cjs.js.map +0 -1
  387. package/tech/monorepo/index.esm.js.map +0 -1
  388. package/tech/monorepo/lerna.d.ts +0 -11
  389. package/tech/monorepo/lerna.d.ts.map +0 -1
  390. package/tech/monorepo/npm-workspaces.d.ts +0 -11
  391. package/tech/monorepo/npm-workspaces.d.ts.map +0 -1
  392. package/tech/monorepo/nx.d.ts +0 -11
  393. package/tech/monorepo/nx.d.ts.map +0 -1
  394. package/tech/monorepo/pnpm-workspaces.d.ts +0 -9
  395. package/tech/monorepo/pnpm-workspaces.d.ts.map +0 -1
  396. package/tech/monorepo/rush.d.ts +0 -11
  397. package/tech/monorepo/rush.d.ts.map +0 -1
  398. package/tech/monorepo/turborepo.d.ts +0 -11
  399. package/tech/monorepo/turborepo.d.ts.map +0 -1
  400. package/tech/monorepo/types.d.ts +0 -39
  401. package/tech/monorepo/types.d.ts.map +0 -1
  402. package/tech/monorepo/yarn-workspaces.d.ts +0 -11
  403. package/tech/monorepo/yarn-workspaces.d.ts.map +0 -1
  404. package/tech/shared-utils/detector-helpers.d.ts +0 -52
  405. package/tech/shared-utils/detector-helpers.d.ts.map +0 -1
  406. package/tech/shared-utils/types.d.ts +0 -41
  407. package/tech/shared-utils/types.d.ts.map +0 -1
  408. package/tech/testing/cypress.d.ts +0 -13
  409. package/tech/testing/cypress.d.ts.map +0 -1
  410. package/tech/testing/detect-all.d.ts +0 -13
  411. package/tech/testing/detect-all.d.ts.map +0 -1
  412. package/tech/testing/index.cjs.js.map +0 -1
  413. package/tech/testing/index.esm.js.map +0 -1
  414. package/tech/testing/jest.d.ts +0 -13
  415. package/tech/testing/jest.d.ts.map +0 -1
  416. package/tech/testing/mocha.d.ts +0 -13
  417. package/tech/testing/mocha.d.ts.map +0 -1
  418. package/tech/testing/playwright.d.ts +0 -13
  419. package/tech/testing/playwright.d.ts.map +0 -1
  420. package/tech/testing/types.d.ts +0 -35
  421. package/tech/testing/types.d.ts.map +0 -1
  422. package/tech/testing/vitest.d.ts +0 -13
  423. package/tech/testing/vitest.d.ts.map +0 -1
  424. package/tech/types/detectors.d.ts +0 -67
  425. package/tech/types/detectors.d.ts.map +0 -1
  426. package/tech/types/index.cjs.js.map +0 -1
  427. package/tech/types/index.esm.js.map +0 -1
  428. package/vfs/commit.d.ts +0 -32
  429. package/vfs/commit.d.ts.map +0 -1
  430. package/vfs/diff.d.ts +0 -73
  431. package/vfs/diff.d.ts.map +0 -1
  432. package/vfs/factory.d.ts +0 -37
  433. package/vfs/factory.d.ts.map +0 -1
  434. package/vfs/fs-tree.d.ts +0 -13
  435. package/vfs/fs-tree.d.ts.map +0 -1
  436. package/vfs/index.cjs.js.map +0 -1
  437. package/vfs/index.esm.js.map +0 -1
  438. package/vfs/types.d.ts +0 -179
  439. package/vfs/types.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,7 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- ## [0.2.1](https://github.com/AndrewRedican/hyperfrontend/compare/a9185d9b783d7d8d51cc4ad91eb3178eba3e3930...f358c827dea7ad2a7d8f235673daf5b2bd4257a3) - 2026-04-06
5
+ ## [0.2.2](https://github.com/AndrewRedican/hyperfrontend/compare/d96fee4d4d3a70178c8a01e5f2e2ae675fa23f37...466c0388c4cd516b9c704214140b4df1004098e6) - 2026-06-23
6
+
7
+ ### Other
8
+
9
+ - **@hyperfrontend/workspace:** remove lib-builder and tool-package as implicit dependencies for all lib projects
10
+
11
+ ## [0.2.1](https://github.com/AndrewRedican/hyperfrontend/compare/a9185d9b783d7d8d51cc4ad91eb3178eba3e3930...61a93d778d6b84915c51120f315e81b3a16fd67c) - 2026-04-06
6
12
 
7
13
  ### Bug Fixes
8
14
 
package/README.md CHANGED
@@ -41,13 +41,13 @@ Comprehensive project analysis, technology stack detection, and transactional vi
41
41
 
42
42
  @hyperfrontend/project-scope provides intelligent codebase analysis for JavaScript/TypeScript projects. It uses multi-signal heuristics to classify project types, detect frameworks and build tools, discover entry points, and map dependency graphs - all with confidence scoring and explainable evidence. The library also includes a virtual file system (VFS) for safe, atomic file modifications.
43
43
 
44
- Designed for tooling authors building code generators, IDE extensions, CI/CD pipelines, and monorepo tooling. Optional `@nx/devkit` integration enables seamless operation within NX workspaces with graceful fallback for standalone projects.
44
+ Designed for tooling authors building code generators, IDE extensions, CI/CD pipelines, and monorepo tooling. Built-in NX workspace detection reads `nx.json`, `workspace.json`, and `project.json` so tooling can adapt to NX-shaped repos with zero runtime peer dependencies.
45
45
 
46
46
  ### Key Features
47
47
 
48
48
  - **Project Classification** - Detect application, library, e2e, tool, or plugin with confidence scoring and evidence tracking
49
49
  - **Technology Detection** - Identify 20+ frameworks (React, Vue, Angular, Svelte), build tools (Vite, Webpack, esbuild), and testing frameworks (Jest, Vitest, Cypress)
50
- - **Virtual File System** - Transaction-aware file operations with atomic commit/rollback, following NX devkit's Tree interface
50
+ - **Virtual File System** - Transaction-aware file operations with atomic commit/rollback
51
51
  - **Monorepo Intelligence** - Detect NX, Turborepo, Lerna, pnpm/npm/Yarn workspaces; read project configurations
52
52
  - **Dependency Graph** - Build internal import graphs from source code with root/leaf node identification
53
53
  - **Entry Point Discovery** - Find application entries from package.json exports, bin fields, and convention patterns
@@ -179,7 +179,6 @@ project-scope tree ./my-project --depth 3
179
179
  - **`isNxWorkspace(path): boolean`** - Check if directory is NX workspace
180
180
  - **`getNxWorkspaceInfo(path): NxWorkspaceInfo`** - Get workspace details
181
181
  - **`findNxProjects(path): NxProjectConfig[]`** - Find all projects
182
- - **`isDevkitAvailable(): boolean`** - Check if `@nx/devkit` is available
183
182
 
184
183
  ### Core Utilities
185
184
 
@@ -241,4 +240,4 @@ This library is part of the [hyperfrontend](https://github.com/AndrewRedican/hyp
241
240
 
242
241
  ## License
243
242
 
244
- MIT
243
+ [MIT](https://github.com/AndrewRedican/hyperfrontend/blob/main/LICENSE.md)
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ const _Array = globalThis.Array;
4
+ const isArray = _Array.isArray;
5
+ const from = _Array.from;
6
+ exports.from = from;
7
+ exports.isArray = isArray;
@@ -0,0 +1,5 @@
1
+ const _Array = globalThis.Array;
2
+ const isArray = _Array.isArray;
3
+ const from = _Array.from;
4
+
5
+ export { from, isArray };
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ const _console = globalThis.console;
4
+ const log = _console.log.bind(_console);
5
+ const warn = _console.warn.bind(_console);
6
+ const error = _console.error.bind(_console);
7
+ const info = _console.info.bind(_console);
8
+ const debug = _console.debug.bind(_console);
9
+ exports.debug = debug;
10
+ exports.error = error;
11
+ exports.info = info;
12
+ exports.log = log;
13
+ exports.warn = warn;
@@ -0,0 +1,8 @@
1
+ const _console = globalThis.console;
2
+ const log = _console.log.bind(_console);
3
+ const warn = _console.warn.bind(_console);
4
+ const error = _console.error.bind(_console);
5
+ const info = _console.info.bind(_console);
6
+ const debug = _console.debug.bind(_console);
7
+
8
+ export { debug, error, info, log, warn };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ const _Date = globalThis.Date;
4
+ const _Reflect = globalThis.Reflect;
5
+ function createDate(...args) {
6
+ return _Reflect.construct(_Date, args);
7
+ }
8
+ const dateNow = _Date.now;
9
+ exports.createDate = createDate;
10
+ exports.dateNow = dateNow;
@@ -0,0 +1,8 @@
1
+ const _Date = globalThis.Date;
2
+ const _Reflect = globalThis.Reflect;
3
+ function createDate(...args) {
4
+ return _Reflect.construct(_Date, args);
5
+ }
6
+ const dateNow = _Date.now;
7
+
8
+ export { createDate, dateNow };
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ const _Error = globalThis.Error;
4
+ const _Reflect = globalThis.Reflect;
5
+ const createError = (message, options) => _Reflect.construct(_Error, [message, options]);
6
+ exports.createError = createError;
@@ -0,0 +1,5 @@
1
+ const _Error = globalThis.Error;
2
+ const _Reflect = globalThis.Reflect;
3
+ const createError = (message, options) => _Reflect.construct(_Error, [message, options]);
4
+
5
+ export { createError };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ const _JSON = globalThis.JSON;
4
+ const parse = _JSON.parse;
5
+ const stringify = _JSON.stringify;
6
+ exports.parse = parse;
7
+ exports.stringify = stringify;
@@ -0,0 +1,5 @@
1
+ const _JSON = globalThis.JSON;
2
+ const parse = _JSON.parse;
3
+ const stringify = _JSON.stringify;
4
+
5
+ export { parse, stringify };
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ const _Map = globalThis.Map;
4
+ const _Reflect = globalThis.Reflect;
5
+ const createMap = (iterable) => _Reflect.construct(_Map, iterable ? [iterable] : []);
6
+ exports.createMap = createMap;
@@ -0,0 +1,5 @@
1
+ const _Map = globalThis.Map;
2
+ const _Reflect = globalThis.Reflect;
3
+ const createMap = (iterable) => _Reflect.construct(_Map, iterable ? [iterable] : []);
4
+
5
+ export { createMap };
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ const _Math = globalThis.Math;
4
+ const round = _Math.round;
5
+ const max = _Math.max;
6
+ const min = _Math.min;
7
+ exports.max = max;
8
+ exports.min = min;
9
+ exports.round = round;
@@ -0,0 +1,6 @@
1
+ const _Math = globalThis.Math;
2
+ const round = _Math.round;
3
+ const max = _Math.max;
4
+ const min = _Math.min;
5
+
6
+ export { max, min, round };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+ const _parseInt = globalThis.parseInt;
3
+ const _parseFloat = globalThis.parseFloat;
4
+ const parseInt = _parseInt;
5
+ const parseFloat = _parseFloat;
6
+ exports.parseFloat = parseFloat;
7
+ exports.parseInt = parseInt;
@@ -0,0 +1,7 @@
1
+
2
+ const _parseInt = globalThis.parseInt;
3
+ const _parseFloat = globalThis.parseFloat;
4
+ const parseInt = _parseInt;
5
+ const parseFloat = _parseFloat;
6
+
7
+ export { parseFloat, parseInt };
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ const _Object = globalThis.Object;
4
+ const freeze = _Object.freeze;
5
+ const keys = _Object.keys;
6
+ const entries = _Object.entries;
7
+ const values = _Object.values;
8
+ const defineProperty = _Object.defineProperty;
9
+ const defineProperties = _Object.defineProperties;
10
+ exports.defineProperties = defineProperties;
11
+ exports.defineProperty = defineProperty;
12
+ exports.entries = entries;
13
+ exports.freeze = freeze;
14
+ exports.keys = keys;
15
+ exports.values = values;
@@ -0,0 +1,9 @@
1
+ const _Object = globalThis.Object;
2
+ const freeze = _Object.freeze;
3
+ const keys = _Object.keys;
4
+ const entries = _Object.entries;
5
+ const values = _Object.values;
6
+ const defineProperty = _Object.defineProperty;
7
+ const defineProperties = _Object.defineProperties;
8
+
9
+ export { defineProperties, defineProperty, entries, freeze, keys, values };
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ const _Set = globalThis.Set;
4
+ const _Reflect = globalThis.Reflect;
5
+ const createSet = (iterable) => _Reflect.construct(_Set, iterable ? [iterable] : []);
6
+ exports.createSet = createSet;
@@ -0,0 +1,5 @@
1
+ const _Set = globalThis.Set;
2
+ const _Reflect = globalThis.Reflect;
3
+ const createSet = (iterable) => _Reflect.construct(_Set, iterable ? [iterable] : []);
4
+
5
+ export { createSet };
@@ -0,0 +1,191 @@
1
+ 'use strict';
2
+
3
+ const { createError } = require('../immutable-api-utils/built-in-copy/error/index.cjs.js');
4
+ const { freeze } = require('../immutable-api-utils/built-in-copy/object/index.cjs.js');
5
+ const { isArray } = require('../immutable-api-utils/built-in-copy/array/index.cjs.js');
6
+ require('../immutable-api-utils/built-in-copy/map/index.cjs.js');
7
+ const { dateNow } = require('../immutable-api-utils/built-in-copy/date/index.cjs.js');
8
+ require('../immutable-api-utils/built-in-copy/math/index.cjs.js');
9
+ require('../immutable-api-utils/built-in-copy/set/index.cjs.js');
10
+ const { debug: debug$1, error: error$1, info: info$1, log: log$1, warn: warn$1 } = require('../immutable-api-utils/built-in-copy/console/index.cjs.js');
11
+
12
+ const logLevels = ['none', 'error', 'warn', 'log', 'info', 'debug'];
13
+ const priority = {
14
+ error: 4,
15
+ warn: 3,
16
+ log: 2,
17
+ info: 1,
18
+ debug: 0,
19
+ };
20
+ function isValidLogLevel(level) {
21
+ return logLevels.includes(level);
22
+ }
23
+ function createLogLevelConfig(level = 'error') {
24
+ if (!isValidLogLevel(level)) {
25
+ throw createError('Cannot create log level configuration with a valid default log level');
26
+ }
27
+ const state = { level };
28
+ const getLogLevel = () => state.level;
29
+ const setLogLevel = (level) => {
30
+ if (!isValidLogLevel(level)) {
31
+ throw createError(`Cannot set value '${level}' level. Expected levels are ${logLevels}.`);
32
+ }
33
+ state.level = level;
34
+ };
35
+ const shouldLog = (level) => {
36
+ if (state.level === 'none' || level === 'none' || !isValidLogLevel(level)) {
37
+ return false;
38
+ }
39
+ return priority[level] >= priority[state.level];
40
+ };
41
+ return freeze({
42
+ getLogLevel,
43
+ setLogLevel,
44
+ shouldLog,
45
+ });
46
+ }
47
+
48
+ const registeredClasses = [];
49
+
50
+ const getType = (target) => {
51
+ if (target === null)
52
+ return 'null';
53
+ const nativeDataType = typeof target;
54
+ if (nativeDataType === 'object') {
55
+ if (isArray(target))
56
+ return 'array';
57
+ for (const registeredClass of registeredClasses) {
58
+ if (target instanceof registeredClass)
59
+ return registeredClass.name;
60
+ }
61
+ }
62
+ return nativeDataType;
63
+ };
64
+
65
+ function createConditionalExecutionFunction(func, conditionFunc) {
66
+ return function (...args) {
67
+ if (conditionFunc()) {
68
+ return func(...args);
69
+ }
70
+ };
71
+ }
72
+
73
+ function createErrorIgnoringFunction(func) {
74
+ return function (...args) {
75
+ try {
76
+ func(...args);
77
+ }
78
+ catch {
79
+ }
80
+ };
81
+ }
82
+
83
+ const noop = (...args) => {
84
+ };
85
+
86
+ function createLogger(error, warn = noop, log = noop, info = noop, debug = noop) {
87
+ if (notValidLogFn(error)) {
88
+ throw createError(notFnMsg('error'));
89
+ }
90
+ if (notValidLogFn(warn)) {
91
+ throw createError(notFnMsg('warn'));
92
+ }
93
+ if (notValidLogFn(log)) {
94
+ throw createError(notFnMsg('log'));
95
+ }
96
+ if (notValidLogFn(info)) {
97
+ throw createError(notFnMsg('info'));
98
+ }
99
+ if (notValidLogFn(debug)) {
100
+ throw createError(notFnMsg('debug'));
101
+ }
102
+ const { setLogLevel, getLogLevel, shouldLog } = createLogLevelConfig();
103
+ const wrapLogFn = (fn, level) => {
104
+ if (fn === noop)
105
+ return fn;
106
+ const condition = () => shouldLog(level);
107
+ return createConditionalExecutionFunction(createErrorIgnoringFunction(fn), condition);
108
+ };
109
+ const core = {
110
+ error: wrapLogFn(error, 'error'),
111
+ warn: wrapLogFn(warn, 'warn'),
112
+ log: wrapLogFn(log, 'log'),
113
+ info: wrapLogFn(info, 'info'),
114
+ debug: wrapLogFn(debug, 'debug'),
115
+ setLogLevel,
116
+ getLogLevel,
117
+ };
118
+ return createPrefixedLogger(core, '');
119
+ }
120
+ function createPrefixedLogger(core, fullPrefix) {
121
+ const tag = fullPrefix ? `[${fullPrefix}]` : '';
122
+ const prefixed = (fn) => {
123
+ if (!tag)
124
+ return fn;
125
+ return (...data) => fn(tag, ...data);
126
+ };
127
+ const instance = freeze({
128
+ error: prefixed(core.error),
129
+ warn: prefixed(core.warn),
130
+ log: prefixed(core.log),
131
+ info: prefixed(core.info),
132
+ debug: prefixed(core.debug),
133
+ setLogLevel: core.setLogLevel,
134
+ getLogLevel: core.getLogLevel,
135
+ channel: (childPrefix) => createPrefixedLogger(core, fullPrefix ? `${fullPrefix}:${childPrefix}` : childPrefix),
136
+ timed(label, fn) {
137
+ return runTimed(instance, label, fn);
138
+ },
139
+ timedAsync(label, fn) {
140
+ return runTimedAsync(instance, label, fn);
141
+ },
142
+ });
143
+ return instance;
144
+ }
145
+ function runTimed(logger, label, fn) {
146
+ const start = dateNow();
147
+ try {
148
+ const result = fn();
149
+ const elapsed = dateNow() - start;
150
+ logger.debug(`${label} completed in ${elapsed}ms`);
151
+ return result;
152
+ }
153
+ catch (error) {
154
+ const elapsed = dateNow() - start;
155
+ logger.error(`${label} failed after ${elapsed}ms: ${describeError(error)}`);
156
+ throw error;
157
+ }
158
+ }
159
+ async function runTimedAsync(logger, label, fn) {
160
+ const start = dateNow();
161
+ try {
162
+ const result = await fn();
163
+ const elapsed = dateNow() - start;
164
+ logger.debug(`${label} completed in ${elapsed}ms`);
165
+ return result;
166
+ }
167
+ catch (error) {
168
+ const elapsed = dateNow() - start;
169
+ logger.error(`${label} failed after ${elapsed}ms: ${describeError(error)}`);
170
+ if (error instanceof Error && error.stack) {
171
+ logger.debug(`Stack trace:\n${error.stack}`);
172
+ }
173
+ throw error;
174
+ }
175
+ }
176
+ function describeError(error) {
177
+ return error instanceof Error ? error.message : String(error);
178
+ }
179
+ function notValidLogFn(fn) {
180
+ return getType(fn) !== 'function' && fn !== noop;
181
+ }
182
+ function notFnMsg(label) {
183
+ return `Cannot create a logger when ${label} is not a function`;
184
+ }
185
+
186
+ const logger = createLogger(error$1, warn$1, log$1, info$1, debug$1);
187
+
188
+ exports.createLogLevelConfig = createLogLevelConfig;
189
+ exports.createLogger = createLogger;
190
+ exports.isValidLogLevel = isValidLogLevel;
191
+ exports.logger = logger;
@@ -0,0 +1,151 @@
1
+ /** Valid log level values in order of verbosity */
2
+ type LogLevel = 'none' | 'error' | 'warn' | 'log' | 'info' | 'debug';
3
+ /**
4
+ * Encapsulates the current log level state.
5
+ */
6
+ interface LogLevelState {
7
+ /** The active log level */
8
+ level: LogLevel;
9
+ }
10
+ /** Function to update the log level */
11
+ type SetLogLevel = (level: LogLevel) => void;
12
+ /** Function to retrieve the current log level */
13
+ type GetLogLevel = () => LogLevel;
14
+ /** Predicate to determine if a message should be logged */
15
+ type ShouldLog = (level: LogLevel) => boolean;
16
+ /**
17
+ * Configuration interface for managing log levels.
18
+ */
19
+ interface LogLevelConfig {
20
+ /** Updates the log level */
21
+ setLogLevel: SetLogLevel;
22
+ /** Retrieves the current log level */
23
+ getLogLevel: GetLogLevel;
24
+ /** Checks if a given level should be logged */
25
+ shouldLog: ShouldLog;
26
+ }
27
+ /**
28
+ * Validates whether a given string is a valid log level.
29
+ *
30
+ * @param level - The log level to validate
31
+ * @returns True if the level is valid, false otherwise
32
+ *
33
+ * @example Validating log levels
34
+ * ```typescript
35
+ * isValidLogLevel('error') // => true
36
+ * isValidLogLevel('verbose') // => false
37
+ * ```
38
+ */
39
+ declare function isValidLogLevel(level: LogLevel): boolean;
40
+ /**
41
+ * Creates a log level configuration manager for controlling logging behavior.
42
+ * Provides methods to get, set, and evaluate log levels based on priority.
43
+ *
44
+ * @param level - The initial log level (defaults to 'error')
45
+ * @returns A configuration object with log level management methods
46
+ * @throws {Error} When the provided level is not a valid log level
47
+ *
48
+ * @example Managing log levels with priority checks
49
+ * ```typescript
50
+ * const config = createLogLevelConfig('warn')
51
+ * config.shouldLog('error') // => true (error >= warn)
52
+ * config.shouldLog('debug') // => false (debug < warn)
53
+ * config.setLogLevel('debug')
54
+ * config.shouldLog('debug') // => true
55
+ * ```
56
+ */
57
+ declare function createLogLevelConfig(level?: LogLevel): LogLevelConfig;
58
+
59
+ /** Function signature for standard log output */
60
+ type LogLevelFn = (...data: any[]) => void;
61
+ /** Function signature for warning output */
62
+ type WarnLevelFn = (...data: any[]) => void;
63
+ /** Function signature for error output */
64
+ type ErrorLevelFn = (...data: any[]) => void;
65
+ /** Function signature for info output */
66
+ type InfoLevelFn = (...data: any[]) => void;
67
+ /** Function signature for debug output */
68
+ type DebugLevelFn = (...data: any[]) => void;
69
+ /** Returns a sub-logger that prepends `[prefix]` to every message. */
70
+ type ChannelFn = (prefix: string) => Logger;
71
+ /** Wraps a sync call with timing. Logs completion or failure with elapsed ms. */
72
+ type TimedFn = <T>(label: string, fn: () => T) => T;
73
+ /** Wraps a promise-returning call with timing. Dumps stack trace on error to debug log. */
74
+ type TimedAsyncFn = <T>(label: string, fn: () => Promise<T>) => Promise<T>;
75
+ /** Logger interface with level-specific methods and level control */
76
+ interface Logger {
77
+ /** Standard log output */
78
+ log: LogLevelFn;
79
+ /** Warning-level output */
80
+ warn: WarnLevelFn;
81
+ /** Error-level output */
82
+ error: ErrorLevelFn;
83
+ /** Info-level output */
84
+ info: InfoLevelFn;
85
+ /** Debug-level output */
86
+ debug: DebugLevelFn;
87
+ /** Sets the current log level */
88
+ setLogLevel: SetLogLevel;
89
+ /** Gets the current log level */
90
+ getLogLevel: GetLogLevel;
91
+ /** Returns a sub-logger that prepends `[prefix]` to every message. */
92
+ channel: ChannelFn;
93
+ /** Wraps a sync call with timing. Logs completion or failure with elapsed ms. */
94
+ timed: TimedFn;
95
+ /** Wraps a promise-returning call with timing. Dumps stack trace on error to debug log. */
96
+ timedAsync: TimedAsyncFn;
97
+ }
98
+ /** Keys of Logger that represent log functions */
99
+ type LogFnName = Extract<keyof Logger, 'error' | 'warn' | 'log' | 'info' | 'debug'>;
100
+ /** Union type of all log function signatures */
101
+ type LogFunction = Logger[LogFnName];
102
+ /**
103
+ * Creates a logger instance with configurable log level filtering.
104
+ * Each log function is wrapped to respect the current log level setting.
105
+ *
106
+ * @param error - Function to handle error-level logs (required)
107
+ * @param warn - Function to handle warning-level logs (optional, defaults to noop)
108
+ * @param log - Function to handle standard logs (optional, defaults to noop)
109
+ * @param info - Function to handle info-level logs (optional, defaults to noop)
110
+ * @param debug - Function to handle debug-level logs (optional, defaults to noop)
111
+ * @returns A frozen logger object with log methods, level control, channel, and timing helpers
112
+ * @throws {ErrorLevelFn} When any provided log function is invalid
113
+ *
114
+ * @example Creating a logger with log level filtering
115
+ * ```typescript
116
+ * const logger = createLogger(console.error, console.warn, console.log)
117
+ * logger.setLogLevel('warn')
118
+ * logger.warn('Connection timeout') // logs
119
+ * logger.info('Request complete') // suppressed (below 'warn' level)
120
+ * ```
121
+ *
122
+ * @example Channeling and timing
123
+ * ```typescript
124
+ * const logger = createLogger(console.error, console.warn, console.log, console.info, console.debug)
125
+ * logger.setLogLevel('debug')
126
+ * const build = logger.channel('build')
127
+ * await build.timedAsync('bundle', async () => bundle())
128
+ * ```
129
+ */
130
+ declare function createLogger(error: ErrorLevelFn, warn?: WarnLevelFn, log?: LogLevelFn, info?: InfoLevelFn, debug?: DebugLevelFn): Logger;
131
+
132
+ /**
133
+ * Validates whether an object is a properly structured Logger instance.
134
+ * Checks for the presence and type of all required logger methods.
135
+ *
136
+ * @param logger - The object to validate
137
+ * @returns True if the object is a valid logger, false otherwise
138
+ *
139
+ * @example Validating a logger instance
140
+ * ```typescript
141
+ * const logger = createLogger(console.error)
142
+ * isValidLogger(logger) // => true
143
+ * isValidLogger({}) // => false
144
+ * ```
145
+ */
146
+ declare function isValidLogger(logger: unknown): boolean;
147
+
148
+ declare const logger: Logger;
149
+
150
+ export { createLogLevelConfig, createLogger, isValidLogLevel, isValidLogger, logger };
151
+ export type { ChannelFn, DebugLevelFn, ErrorLevelFn, GetLogLevel, InfoLevelFn, LogFnName, LogFunction, LogLevel, LogLevelConfig, LogLevelFn, LogLevelState, Logger, SetLogLevel, ShouldLog, TimedAsyncFn, TimedFn, WarnLevelFn };