@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
@@ -1,387 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var node_path = require('node:path');
4
- var node_fs = require('node:fs');
5
-
6
- /**
7
- * Safe copies of Error built-ins via factory functions.
8
- *
9
- * Since constructors cannot be safely captured via Object.assign, this module
10
- * provides factory functions that use Reflect.construct internally.
11
- *
12
- * These references are captured at module initialization time to protect against
13
- * prototype pollution attacks. Import only what you need for tree-shaking.
14
- *
15
- * @module @hyperfrontend/immutable-api-utils/built-in-copy/error
16
- */
17
- const _Error = globalThis.Error;
18
- const _Reflect$1 = globalThis.Reflect;
19
- /**
20
- * (Safe copy) Creates a new Error using the captured Error constructor.
21
- * Use this instead of `new Error()`.
22
- *
23
- * @param message - Optional error message.
24
- * @param options - Optional error options.
25
- * @returns A new Error instance.
26
- */
27
- const createError = (message, options) => _Reflect$1.construct(_Error, [message, options]);
28
-
29
- /**
30
- * Safe copies of JSON built-in methods.
31
- *
32
- * These references are captured at module initialization time to protect against
33
- * prototype pollution attacks. Import only what you need for tree-shaking.
34
- *
35
- * @module @hyperfrontend/immutable-api-utils/built-in-copy/json
36
- */
37
- const _JSON = globalThis.JSON;
38
- /**
39
- * (Safe copy) Converts a JavaScript Object Notation (JSON) string into an object.
40
- */
41
- const parse = _JSON.parse;
42
- /**
43
- * (Safe copy) Converts a JavaScript value to a JavaScript Object Notation (JSON) string.
44
- */
45
- const stringify = _JSON.stringify;
46
-
47
- /**
48
- * Safe copies of Object built-in methods.
49
- *
50
- * These references are captured at module initialization time to protect against
51
- * prototype pollution attacks. Import only what you need for tree-shaking.
52
- *
53
- * @module @hyperfrontend/immutable-api-utils/built-in-copy/object
54
- */
55
- const _Object = globalThis.Object;
56
- /**
57
- * (Safe copy) Prevents modification of existing property attributes and values,
58
- * and prevents the addition of new properties.
59
- */
60
- const freeze = _Object.freeze;
61
- /**
62
- * (Safe copy) Returns the names of the enumerable string properties and methods of an object.
63
- */
64
- const keys = _Object.keys;
65
- /**
66
- * (Safe copy) Returns an array of key/values of the enumerable own properties of an object.
67
- */
68
- const entries = _Object.entries;
69
- /**
70
- * (Safe copy) Returns an array of values of the enumerable own properties of an object.
71
- */
72
- const values = _Object.values;
73
-
74
- /**
75
- * Safe copies of Array built-in static methods.
76
- *
77
- * These references are captured at module initialization time to protect against
78
- * prototype pollution attacks. Import only what you need for tree-shaking.
79
- *
80
- * @module @hyperfrontend/immutable-api-utils/built-in-copy/array
81
- */
82
- const _Array = globalThis.Array;
83
- /**
84
- * (Safe copy) Determines whether the passed value is an Array.
85
- */
86
- const isArray = _Array.isArray;
87
-
88
- /**
89
- * Safe copies of Console built-in methods.
90
- *
91
- * These references are captured at module initialization time to protect against
92
- * prototype pollution attacks. Import only what you need for tree-shaking.
93
- *
94
- * @module @hyperfrontend/immutable-api-utils/built-in-copy/console
95
- */
96
- const _console = globalThis.console;
97
- /**
98
- * (Safe copy) Outputs a message to the console.
99
- */
100
- const log = _console.log.bind(_console);
101
- /**
102
- * (Safe copy) Outputs a warning message to the console.
103
- */
104
- const warn = _console.warn.bind(_console);
105
- /**
106
- * (Safe copy) Outputs an error message to the console.
107
- */
108
- const error = _console.error.bind(_console);
109
- /**
110
- * (Safe copy) Outputs an informational message to the console.
111
- */
112
- const info = _console.info.bind(_console);
113
- /**
114
- * (Safe copy) Outputs a debug message to the console.
115
- */
116
- const debug = _console.debug.bind(_console);
117
- /**
118
- * (Safe copy) Outputs a stack trace to the console.
119
- */
120
- _console.trace.bind(_console);
121
- /**
122
- * (Safe copy) Displays an interactive listing of the properties of a specified object.
123
- */
124
- _console.dir.bind(_console);
125
- /**
126
- * (Safe copy) Displays tabular data as a table.
127
- */
128
- _console.table.bind(_console);
129
- /**
130
- * (Safe copy) Writes an error message to the console if the assertion is false.
131
- */
132
- _console.assert.bind(_console);
133
- /**
134
- * (Safe copy) Clears the console.
135
- */
136
- _console.clear.bind(_console);
137
- /**
138
- * (Safe copy) Logs the number of times that this particular call to count() has been called.
139
- */
140
- _console.count.bind(_console);
141
- /**
142
- * (Safe copy) Resets the counter used with console.count().
143
- */
144
- _console.countReset.bind(_console);
145
- /**
146
- * (Safe copy) Creates a new inline group in the console.
147
- */
148
- _console.group.bind(_console);
149
- /**
150
- * (Safe copy) Creates a new inline group in the console that is initially collapsed.
151
- */
152
- _console.groupCollapsed.bind(_console);
153
- /**
154
- * (Safe copy) Exits the current inline group.
155
- */
156
- _console.groupEnd.bind(_console);
157
- /**
158
- * (Safe copy) Starts a timer with a name specified as an input parameter.
159
- */
160
- _console.time.bind(_console);
161
- /**
162
- * (Safe copy) Stops a timer that was previously started.
163
- */
164
- _console.timeEnd.bind(_console);
165
- /**
166
- * (Safe copy) Logs the current value of a timer that was previously started.
167
- */
168
- _console.timeLog.bind(_console);
169
-
170
- /**
171
- * Safe copies of Set built-in via factory function.
172
- *
173
- * Since constructors cannot be safely captured via Object.assign, this module
174
- * provides a factory function that uses Reflect.construct internally.
175
- *
176
- * These references are captured at module initialization time to protect against
177
- * prototype pollution attacks. Import only what you need for tree-shaking.
178
- *
179
- * @module @hyperfrontend/immutable-api-utils/built-in-copy/set
180
- */
181
- const _Set = globalThis.Set;
182
- const _Reflect = globalThis.Reflect;
183
- /**
184
- * (Safe copy) Creates a new Set using the captured Set constructor.
185
- * Use this instead of `new Set()`.
186
- *
187
- * @param iterable - Optional iterable of values.
188
- * @returns A new Set instance.
189
- */
190
- const createSet = (iterable) => _Reflect.construct(_Set, iterable ? [iterable] : []);
191
-
192
- const registeredClasses = [];
193
-
194
- /**
195
- * Returns the data type of the target.
196
- * Uses native `typeof` operator, however, makes distinction between `null`, `array`, and `object`.
197
- * Also, when classes are registered via `registerClass`, it checks if objects are instance of any known registered class.
198
- *
199
- * @param target - The target to get the data type of.
200
- * @returns The data type of the target.
201
- */
202
- const getType = (target) => {
203
- if (target === null)
204
- return 'null';
205
- const nativeDataType = typeof target;
206
- if (nativeDataType === 'object') {
207
- if (isArray(target))
208
- return 'array';
209
- for (const registeredClass of registeredClasses) {
210
- if (target instanceof registeredClass)
211
- return registeredClass.name;
212
- }
213
- }
214
- return nativeDataType;
215
- };
216
-
217
- /* eslint-disable @typescript-eslint/no-explicit-any */
218
- /**
219
- * Creates a wrapper function that only executes the wrapped function if the condition function returns true.
220
- *
221
- * @param func - The function to be conditionally executed.
222
- * @param conditionFunc - A function that returns a boolean, determining if `func` should be executed.
223
- * @returns A wrapped version of `func` that executes conditionally.
224
- */
225
- function createConditionalExecutionFunction(func, conditionFunc) {
226
- return function (...args) {
227
- if (conditionFunc()) {
228
- return func(...args);
229
- }
230
- };
231
- }
232
-
233
- /* eslint-disable @typescript-eslint/no-explicit-any */
234
- /**
235
- * Creates a wrapper function that silently ignores any errors thrown by the wrapped void function.
236
- * This function is specifically for wrapping functions that do not return a value (void functions).
237
- * Exceptions are swallowed without any logging or handling.
238
- *
239
- * @param func - The void function to be wrapped.
240
- * @returns A wrapped version of the input function that ignores errors.
241
- */
242
- function createErrorIgnoringFunction(func) {
243
- return function (...args) {
244
- try {
245
- func(...args);
246
- }
247
- catch {
248
- // Deliberately swallowing/ignoring the exception
249
- }
250
- };
251
- }
252
-
253
- /* eslint-disable @typescript-eslint/no-unused-vars */
254
- /**
255
- * A no-operation function (noop) that does nothing regardless of the arguments passed.
256
- * It is designed to be as permissive as possible in its typing without using the `Function` keyword.
257
- *
258
- * @param args - Any arguments passed to the function (ignored)
259
- */
260
- const noop = (...args) => {
261
- // Intentionally does nothing
262
- };
263
-
264
- const logLevels = ['none', 'error', 'warn', 'log', 'info', 'debug'];
265
- const priority = {
266
- error: 4,
267
- warn: 3,
268
- log: 2,
269
- info: 1,
270
- debug: 0,
271
- };
272
- /**
273
- * Validates whether a given string is a valid log level.
274
- *
275
- * @param level - The log level to validate
276
- * @returns True if the level is valid, false otherwise
277
- */
278
- function isValidLogLevel(level) {
279
- return logLevels.includes(level);
280
- }
281
- /**
282
- * Creates a log level configuration manager for controlling logging behavior.
283
- * Provides methods to get, set, and evaluate log levels based on priority.
284
- *
285
- * @param level - The initial log level (defaults to 'error')
286
- * @returns A configuration object with log level management methods
287
- * @throws {Error} When the provided level is not a valid log level
288
- */
289
- function createLogLevelConfig(level = 'error') {
290
- if (!isValidLogLevel(level)) {
291
- throw createError('Cannot create log level configuration with a valid default log level');
292
- }
293
- const state = { level };
294
- const getLogLevel = () => state.level;
295
- const setLogLevel = (level) => {
296
- if (!isValidLogLevel(level)) {
297
- throw createError(`Cannot set value '${level}' level. Expected levels are ${logLevels}.`);
298
- }
299
- state.level = level;
300
- };
301
- const shouldLog = (level) => {
302
- if (state.level === 'none' || level === 'none' || !isValidLogLevel(level)) {
303
- return false;
304
- }
305
- return priority[level] >= priority[state.level];
306
- };
307
- return freeze({
308
- getLogLevel,
309
- setLogLevel,
310
- shouldLog,
311
- });
312
- }
313
-
314
- /**
315
- * Creates a logger instance with configurable log level filtering.
316
- * Each log function is wrapped to respect the current log level setting.
317
- *
318
- * @param error - Function to handle error-level logs (required)
319
- * @param warn - Function to handle warning-level logs (optional, defaults to noop)
320
- * @param log - Function to handle standard logs (optional, defaults to noop)
321
- * @param info - Function to handle info-level logs (optional, defaults to noop)
322
- * @param debug - Function to handle debug-level logs (optional, defaults to noop)
323
- * @returns A frozen logger object with log methods and level control
324
- * @throws {ErrorLevelFn} When any provided log function is invalid
325
- */
326
- function createLogger(error, warn = noop, log = noop, info = noop, debug = noop) {
327
- if (notValidLogFn(error)) {
328
- throw createError(notFnMsg('error'));
329
- }
330
- if (notValidLogFn(warn)) {
331
- throw createError(notFnMsg('warn'));
332
- }
333
- if (notValidLogFn(log)) {
334
- throw createError(notFnMsg('log'));
335
- }
336
- if (notValidLogFn(info)) {
337
- throw createError(notFnMsg('info'));
338
- }
339
- if (notValidLogFn(debug)) {
340
- throw createError(notFnMsg('debug'));
341
- }
342
- const { setLogLevel, getLogLevel, shouldLog } = createLogLevelConfig();
343
- const wrapLogFn = (fn, level) => {
344
- if (fn === noop)
345
- return fn;
346
- const condition = () => shouldLog(level);
347
- return createConditionalExecutionFunction(createErrorIgnoringFunction(fn), condition);
348
- };
349
- return freeze({
350
- error: wrapLogFn(error, 'error'),
351
- warn: wrapLogFn(warn, 'warn'),
352
- log: wrapLogFn(log, 'log'),
353
- info: wrapLogFn(info, 'info'),
354
- debug: wrapLogFn(debug, 'debug'),
355
- setLogLevel,
356
- getLogLevel,
357
- });
358
- }
359
- /**
360
- * Validates whether a given value is a valid log function.
361
- *
362
- * @param fn - The value to validate
363
- * @returns True if the value is not a function (invalid), false if it is valid
364
- */
365
- function notValidLogFn(fn) {
366
- return getType(fn) !== 'function' && fn !== noop;
367
- }
368
- /**
369
- * Generates an error message for invalid log function parameters.
370
- *
371
- * @param label - The name of the log function that failed validation
372
- * @returns A formatted error message string
373
- */
374
- function notFnMsg(label) {
375
- return `Cannot create a logger when ${label} is not a function`;
376
- }
377
-
378
- createLogger(error, warn, log, info, debug);
3
+ const node_path = require('node:path');
4
+ const node_fs = require('node:fs');
5
+ const index_cjs_js$4 = require('../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.cjs.js');
6
+ const index_cjs_js$3 = require('../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/console/index.cjs.js');
7
+ const index_cjs_js$5 = require('../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/json/index.cjs.js');
8
+ const index_cjs_js$2 = require('../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.cjs.js');
9
+ const index_cjs_js = require('../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.cjs.js');
10
+ const index_cjs_js$1 = require('../../_dependencies/@hyperfrontend/logging/index.cjs.js');
11
+ const index_cjs_js$6 = require('../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.cjs.js');
12
+ const { exists } = require('../../_shared/core/fs/stat/index.cjs.js');
13
+ const { join } = require('../../_shared/core/path/join/index.cjs.js');
379
14
 
380
15
  /**
381
16
  * Global log level registry.
382
17
  * Tracks all created scoped loggers to allow global log level changes.
383
18
  */
384
- const loggerRegistry = createSet();
19
+ const loggerRegistry = index_cjs_js.createSet();
385
20
  /** Redacted placeholder for sensitive values */
386
21
  const REDACTED = '[REDACTED]';
387
22
  /**
@@ -415,17 +50,24 @@ function isSensitiveKey(key) {
415
50
  *
416
51
  * @param obj - Object to sanitize
417
52
  * @returns New object with sensitive values redacted
53
+ *
54
+ * @example Sanitizing sensitive data
55
+ * ```typescript
56
+ * const config = { apiKey: 'secret123', endpoint: 'https://api.example.com' }
57
+ * const safe = sanitize(config)
58
+ * // => { apiKey: '[REDACTED]', endpoint: 'https://api.example.com' }
59
+ * ```
418
60
  */
419
61
  function sanitize(obj) {
420
62
  if (obj === null || obj === undefined) {
421
63
  return obj;
422
64
  }
423
- if (isArray(obj)) {
65
+ if (index_cjs_js$4.isArray(obj)) {
424
66
  return obj.map((item) => sanitize(item));
425
67
  }
426
68
  if (typeof obj === 'object') {
427
69
  const result = {};
428
- for (const [key, value] of entries(obj)) {
70
+ for (const [key, value] of index_cjs_js$2.entries(obj)) {
429
71
  if (isSensitiveKey(key)) {
430
72
  result[key] = REDACTED;
431
73
  }
@@ -450,9 +92,9 @@ function sanitize(obj) {
450
92
  */
451
93
  function formatMessage(namespace, message, meta) {
452
94
  const prefix = `[${namespace}]`;
453
- if (meta && keys(meta).length > 0) {
95
+ if (meta && index_cjs_js$2.keys(meta).length > 0) {
454
96
  const sanitizedMeta = sanitize(meta);
455
- return `${prefix} ${message} ${stringify(sanitizedMeta)}`;
97
+ return `${prefix} ${message} ${index_cjs_js$5.stringify(sanitizedMeta)}`;
456
98
  }
457
99
  return `${prefix} ${message}`;
458
100
  }
@@ -465,7 +107,7 @@ function formatMessage(namespace, message, meta) {
465
107
  * @param options - Logger configuration options
466
108
  * @returns A configured scoped logger instance
467
109
  *
468
- * @example
110
+ * @example Creating a scoped logger
469
111
  * ```typescript
470
112
  * const logger = createScopedLogger('project-scope')
471
113
  * logger.setLogLevel('debug')
@@ -484,9 +126,9 @@ function createScopedLogger(namespace, options = {}) {
484
126
  const processedMeta = sanitizeSecrets && meta ? sanitize(meta) : meta;
485
127
  baseFn(formatMessage(namespace, message, processedMeta));
486
128
  };
487
- const baseLogger = createLogger(createLogFn(error), createLogFn(warn), createLogFn(log), createLogFn(info), createLogFn(debug));
129
+ const baseLogger = index_cjs_js$1.createLogger(createLogFn(index_cjs_js$3.error), createLogFn(index_cjs_js$3.warn), createLogFn(index_cjs_js$3.log), createLogFn(index_cjs_js$3.info), createLogFn(index_cjs_js$3.debug));
488
130
  baseLogger.setLogLevel(level);
489
- const scopedLogger = freeze({
131
+ const scopedLogger = index_cjs_js$2.freeze({
490
132
  error: (message, meta) => baseLogger.error(message, meta),
491
133
  warn: (message, meta) => baseLogger.warn(message, meta),
492
134
  log: (message, meta) => baseLogger.log(message, meta),
@@ -502,7 +144,7 @@ function createScopedLogger(namespace, options = {}) {
502
144
  * Default logger instance for the project-scope library.
503
145
  * Use this for general logging within the library.
504
146
  *
505
- * @example
147
+ * @example Using the default logger
506
148
  * ```typescript
507
149
  * import { logger } from '@hyperfrontend/project-scope/core'
508
150
  *
@@ -519,6 +161,14 @@ createScopedLogger('project-scope:fs');
519
161
  * @param filePath - Path to file
520
162
  * @param encoding - File encoding (default: utf-8)
521
163
  * @returns File contents or null if file doesn't exist
164
+ *
165
+ * @example Reading file if it exists
166
+ * ```typescript
167
+ * const content = readFileIfExists('./optional-config.json')
168
+ * if (content) {
169
+ * // File existed, use content
170
+ * }
171
+ * ```
522
172
  */
523
173
  function readFileIfExists(filePath, encoding = 'utf-8') {
524
174
  if (!node_fs.existsSync(filePath)) {
@@ -532,31 +182,8 @@ function readFileIfExists(filePath, encoding = 'utf-8') {
532
182
  }
533
183
  }
534
184
 
535
- createScopedLogger('project-scope:fs:write');
536
-
537
- /**
538
- * Check if path exists.
539
- *
540
- * @param filePath - Path to check
541
- * @returns True if path exists
542
- */
543
- function exists(filePath) {
544
- return node_fs.existsSync(filePath);
545
- }
546
-
547
185
  createScopedLogger('project-scope:fs:dir');
548
186
 
549
- /**
550
- * Join path segments.
551
- * Uses platform-specific separators (e.g., / or \).
552
- *
553
- * @param paths - Path segments to join
554
- * @returns Joined path
555
- */
556
- function join(...paths) {
557
- return node_path.join(...paths);
558
- }
559
-
560
187
  const fsTraversalLogger = createScopedLogger('project-scope:fs:traversal');
561
188
  /**
562
189
  * Generic upward directory traversal.
@@ -565,6 +192,15 @@ const fsTraversalLogger = createScopedLogger('project-scope:fs:traversal');
565
192
  * @param startPath - Starting directory
566
193
  * @param predicate - Function to test each directory
567
194
  * @returns First matching directory or null
195
+ *
196
+ * @example Finding directory containing README
197
+ * ```typescript
198
+ * // Find first directory containing a README
199
+ * const readmeDir = traverseUpward('./src/utils', (dir) =>
200
+ * existsSync(join(dir, 'README.md'))
201
+ * )
202
+ * // => '/project' or null
203
+ * ```
568
204
  */
569
205
  function traverseUpward(startPath, predicate) {
570
206
  fsTraversalLogger.debug('Starting upward traversal', { startPath });
@@ -590,6 +226,17 @@ function traverseUpward(startPath, predicate) {
590
226
  * @param startPath - Starting directory
591
227
  * @param markers - Array of marker file names to search for
592
228
  * @returns First directory containing any marker, or null
229
+ *
230
+ * @example Finding project root by marker files
231
+ * ```typescript
232
+ * // Find project root by looking for common marker files
233
+ * const projectRoot = locateByMarkers('./src/components', [
234
+ * 'package.json',
235
+ * 'nx.json',
236
+ * 'tsconfig.base.json'
237
+ * ])
238
+ * // => '/workspace/my-project'
239
+ * ```
593
240
  */
594
241
  function locateByMarkers(startPath, markers) {
595
242
  fsTraversalLogger.debug('Locating by markers', { startPath, markers });
@@ -605,12 +252,22 @@ function locateByMarkers(startPath, markers) {
605
252
  * @param startPath - Starting directory
606
253
  * @param test - Function to test if directory matches criteria
607
254
  * @returns Matching directory path or null
255
+ *
256
+ * @example Finding directory with specific config
257
+ * ```typescript
258
+ * // Find directory with a specific config
259
+ * const configDir = findUpwardWhere('./deep/nested/path', (dir) =>
260
+ * existsSync(join(dir, '.eslintrc.js'))
261
+ * )
262
+ * ```
608
263
  */
609
264
  function findUpwardWhere(startPath, test) {
610
265
  fsTraversalLogger.debug('Finding upward where condition met', { startPath });
611
266
  return traverseUpward(startPath, test);
612
267
  }
613
268
 
269
+ createScopedLogger('project-scope:fs:write');
270
+
614
271
  const packageLogger = createScopedLogger('project-scope:project:package');
615
272
  /**
616
273
  * Verifies that a value is an object with only string values,
@@ -622,7 +279,7 @@ const packageLogger = createScopedLogger('project-scope:project:package');
622
279
  function isStringRecord(value) {
623
280
  if (typeof value !== 'object' || value === null)
624
281
  return false;
625
- return values(value).every((v) => typeof v === 'string');
282
+ return index_cjs_js$2.values(value).every((v) => typeof v === 'string');
626
283
  }
627
284
  /**
628
285
  * Extracts and normalizes the workspaces field from package.json,
@@ -632,12 +289,12 @@ function isStringRecord(value) {
632
289
  * @returns Normalized workspace patterns or undefined if invalid
633
290
  */
634
291
  function parseWorkspaces(value) {
635
- if (isArray(value) && value.every((v) => typeof v === 'string')) {
292
+ if (index_cjs_js$4.isArray(value) && value.every((v) => typeof v === 'string')) {
636
293
  return value;
637
294
  }
638
295
  if (typeof value === 'object' && value !== null) {
639
296
  const obj = value;
640
- if (isArray(obj['packages'])) {
297
+ if (index_cjs_js$4.isArray(obj['packages'])) {
641
298
  return { packages: obj['packages'] };
642
299
  }
643
300
  }
@@ -651,7 +308,7 @@ function parseWorkspaces(value) {
651
308
  */
652
309
  function validatePackageJson(data) {
653
310
  if (typeof data !== 'object' || data === null) {
654
- throw createError('package.json must be an object');
311
+ throw index_cjs_js$6.createError('package.json must be an object');
655
312
  }
656
313
  const pkg = data;
657
314
  return {
@@ -680,6 +337,16 @@ function validatePackageJson(data) {
680
337
  *
681
338
  * @param projectPath - Project directory path or path to package.json
682
339
  * @returns Parsed package.json or null if not found
340
+ *
341
+ * @example Reading package.json if it exists
342
+ * ```typescript
343
+ * import { readPackageJsonIfExists } from '@hyperfrontend/project-scope'
344
+ *
345
+ * const pkg = readPackageJsonIfExists('/path/to/project')
346
+ * if (pkg) {
347
+ * console.log('Found:', pkg.name)
348
+ * }
349
+ * ```
683
350
  */
684
351
  function readPackageJsonIfExists(projectPath) {
685
352
  const packageJsonPath = projectPath.endsWith('package.json') ? projectPath : node_path.join(projectPath, 'package.json');
@@ -689,7 +356,7 @@ function readPackageJsonIfExists(projectPath) {
689
356
  return null;
690
357
  }
691
358
  try {
692
- const validated = validatePackageJson(parse(content));
359
+ const validated = validatePackageJson(index_cjs_js$5.parse(content));
693
360
  packageLogger.debug('Package.json loaded', { path: packageJsonPath, name: validated.name });
694
361
  return validated;
695
362
  }
@@ -703,6 +370,14 @@ function readPackageJsonIfExists(projectPath) {
703
370
  *
704
371
  * @param startPath - Starting path
705
372
  * @returns Path to directory containing package.json, or null if not found
373
+ *
374
+ * @example Finding nearest package.json
375
+ * ```typescript
376
+ * import { findNearestPackageJson } from '@hyperfrontend/project-scope'
377
+ *
378
+ * const pkgDir = findNearestPackageJson('./src/deep/nested/file.ts')
379
+ * // => '/path/to/project'
380
+ * ```
706
381
  */
707
382
  function findNearestPackageJson(startPath) {
708
383
  return locateByMarkers(startPath, ['package.json']);
@@ -746,7 +421,7 @@ function looksLikeProjectDir(dirPath) {
746
421
  * @param startPath - Starting path
747
422
  * @returns Project root path or null
748
423
  *
749
- * @example
424
+ * @example Finding project root
750
425
  * ```typescript
751
426
  * import { findProjectRoot } from '@hyperfrontend/project-scope'
752
427
  *
@@ -786,7 +461,7 @@ function findProjectRoot(startPath) {
786
461
  * @param startPath - Starting path
787
462
  * @returns Workspace root path or null
788
463
  *
789
- * @example
464
+ * @example Finding workspace root
790
465
  * ```typescript
791
466
  * import { findWorkspaceRoot } from '@hyperfrontend/project-scope'
792
467
  *
@@ -826,6 +501,15 @@ function findWorkspaceRoot(startPath) {
826
501
  * @param startPath - Starting path
827
502
  * @param markers - Files to search for
828
503
  * @returns Root directory path or null
504
+ *
505
+ * @example Finding root by marker files
506
+ * ```typescript
507
+ * import { findRootDirectory } from '@hyperfrontend/project-scope'
508
+ *
509
+ * // Find monorepo root by looking for nx.json or lerna.json
510
+ * const root = findRootDirectory('./libs/my-lib', ['nx.json', 'lerna.json'])
511
+ * // => '/path/to/monorepo'
512
+ * ```
829
513
  */
830
514
  function findRootDirectory(startPath, markers) {
831
515
  return locateByMarkers(startPath, markers);
@@ -835,6 +519,14 @@ function findRootDirectory(startPath, markers) {
835
519
  *
836
520
  * @param startPath - Starting path
837
521
  * @returns Git root path or null
522
+ *
523
+ * @example Finding Git repository root
524
+ * ```typescript
525
+ * import { findGitRoot } from '@hyperfrontend/project-scope'
526
+ *
527
+ * const gitRoot = findGitRoot('./src/deep/nested/file.ts')
528
+ * // => '/path/to/repository'
529
+ * ```
838
530
  */
839
531
  function findGitRoot(startPath) {
840
532
  return locateByMarkers(startPath, ['.git']);
@@ -846,4 +538,3 @@ exports.findGitRoot = findGitRoot;
846
538
  exports.findProjectRoot = findProjectRoot;
847
539
  exports.findRootDirectory = findRootDirectory;
848
540
  exports.findWorkspaceRoot = findWorkspaceRoot;
849
- //# sourceMappingURL=index.cjs.js.map