@hyperfrontend/project-scope 0.2.0 → 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 +13 -15
  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 +1699 -2040
  55. package/cli/index.d.ts +273 -7
  56. package/cli/index.d.ts.map +1 -1
  57. package/cli/index.esm.js +1603 -1944
  58. package/core/encoding/index.cjs.js +88 -424
  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 +80 -415
  62. package/core/fs/index.cjs.js +231 -595
  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 -585
  66. package/core/index.cjs.js +518 -1804
  67. package/core/index.d.ts +486 -9
  68. package/core/index.d.ts.map +1 -1
  69. package/core/index.esm.js +501 -1784
  70. package/core/path/index.cjs.js +6 -235
  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 -233
  74. package/core/platform/index.cjs.js +5 -226
  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 -222
  78. package/heuristics/dependencies/index.cjs.js +95 -509
  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 -483
  82. package/heuristics/entry-points/index.cjs.js +93 -825
  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 +74 -806
  86. package/heuristics/framework/index.cjs.js +1482 -1473
  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 +1418 -1409
  90. package/heuristics/index.cjs.js +3207 -3383
  91. package/heuristics/index.d.ts +4 -5
  92. package/heuristics/index.d.ts.map +1 -1
  93. package/heuristics/index.esm.js +3234 -3410
  94. package/heuristics/project-type/index.cjs.js +1488 -1500
  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 +1417 -1429
  98. package/index.cjs.js +3064 -3765
  99. package/index.d.ts +44 -10
  100. package/index.d.ts.map +1 -1
  101. package/index.esm.js +2923 -3612
  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 -606
  107. package/nx/index.d.ts +279 -4
  108. package/nx/index.d.ts.map +1 -1
  109. package/nx/index.esm.js +145 -583
  110. package/package.json +13 -12
  111. package/project/config/index.cjs.js +122 -1104
  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 -1085
  115. package/project/index.cjs.js +323 -1143
  116. package/project/index.d.ts +4 -5
  117. package/project/index.d.ts.map +1 -1
  118. package/project/index.esm.js +302 -1119
  119. package/project/package/index.cjs.js +191 -483
  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 -469
  123. package/project/root/index.cjs.js +107 -427
  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 -416
  127. package/project/traversal/index.cjs.js +94 -645
  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 -631
  131. package/tech/backend/index.cjs.js +221 -524
  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 -503
  135. package/tech/build/index.cjs.js +348 -647
  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 -625
  139. package/tech/frontend/index.cjs.js +505 -700
  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 -676
  143. package/tech/index.cjs.js +1580 -1482
  144. package/tech/index.d.ts +55 -32
  145. package/tech/index.d.ts.map +1 -1
  146. package/tech/index.esm.js +1513 -1415
  147. package/tech/legacy/index.cjs.js +97 -474
  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 -456
  151. package/tech/linting/index.cjs.js +136 -536
  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 -516
  155. package/tech/monorepo/index.cjs.js +244 -584
  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 -564
  159. package/tech/testing/index.cjs.js +214 -582
  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 -564
  163. package/tech/types/index.cjs.js +121 -532
  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 -510
  167. package/vfs/index.cjs.js +647 -1187
  168. package/vfs/index.d.ts +360 -6
  169. package/vfs/index.d.ts.map +1 -1
  170. package/vfs/index.esm.js +672 -1212
  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 -20
  175. package/cli/commands/analyze.d.ts.map +0 -1
  176. package/cli/commands/config.d.ts +0 -20
  177. package/cli/commands/config.d.ts.map +0 -1
  178. package/cli/commands/deps.d.ts +0 -18
  179. package/cli/commands/deps.d.ts.map +0 -1
  180. package/cli/commands/tree.d.ts +0 -24
  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 -157
  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 -86
  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 -64
  197. package/core/errors/structured-errors.d.ts.map +0 -1
  198. package/core/fs/directory.d.ts +0 -88
  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 -86
  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 -46
  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 -86
  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 -109
  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 -66
  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 -178
  439. package/vfs/types.d.ts.map +0 -1
@@ -1,397 +1,19 @@
1
1
  'use strict';
2
2
 
3
- /**
4
- * Safe copies of Math built-in methods.
5
- *
6
- * These references are captured at module initialization time to protect against
7
- * prototype pollution attacks. Import only what you need for tree-shaking.
8
- *
9
- * @module @hyperfrontend/immutable-api-utils/built-in-copy/math
10
- */
11
- // Capture references at module initialization time
12
- const _Math = globalThis.Math;
13
- /**
14
- * (Safe copy) Returns the smaller of zero or more numbers.
15
- */
16
- const min = _Math.min;
17
-
18
- /**
19
- * Safe copies of Array built-in static methods.
20
- *
21
- * These references are captured at module initialization time to protect against
22
- * prototype pollution attacks. Import only what you need for tree-shaking.
23
- *
24
- * @module @hyperfrontend/immutable-api-utils/built-in-copy/array
25
- */
26
- // Capture references at module initialization time
27
- const _Array = globalThis.Array;
28
- /**
29
- * (Safe copy) Determines whether the passed value is an Array.
30
- */
31
- const isArray = _Array.isArray;
32
-
33
- /**
34
- * Safe copies of Console built-in methods.
35
- *
36
- * These references are captured at module initialization time to protect against
37
- * prototype pollution attacks. Import only what you need for tree-shaking.
38
- *
39
- * @module @hyperfrontend/immutable-api-utils/built-in-copy/console
40
- */
41
- // Capture references at module initialization time
42
- const _console = globalThis.console;
43
- /**
44
- * (Safe copy) Outputs a message to the console.
45
- */
46
- const log = _console.log.bind(_console);
47
- /**
48
- * (Safe copy) Outputs a warning message to the console.
49
- */
50
- const warn = _console.warn.bind(_console);
51
- /**
52
- * (Safe copy) Outputs an error message to the console.
53
- */
54
- const error = _console.error.bind(_console);
55
- /**
56
- * (Safe copy) Outputs an informational message to the console.
57
- */
58
- const info = _console.info.bind(_console);
59
- /**
60
- * (Safe copy) Outputs a debug message to the console.
61
- */
62
- const debug = _console.debug.bind(_console);
63
- /**
64
- * (Safe copy) Outputs a stack trace to the console.
65
- */
66
- _console.trace.bind(_console);
67
- /**
68
- * (Safe copy) Displays an interactive listing of the properties of a specified object.
69
- */
70
- _console.dir.bind(_console);
71
- /**
72
- * (Safe copy) Displays tabular data as a table.
73
- */
74
- _console.table.bind(_console);
75
- /**
76
- * (Safe copy) Writes an error message to the console if the assertion is false.
77
- */
78
- _console.assert.bind(_console);
79
- /**
80
- * (Safe copy) Clears the console.
81
- */
82
- _console.clear.bind(_console);
83
- /**
84
- * (Safe copy) Logs the number of times that this particular call to count() has been called.
85
- */
86
- _console.count.bind(_console);
87
- /**
88
- * (Safe copy) Resets the counter used with console.count().
89
- */
90
- _console.countReset.bind(_console);
91
- /**
92
- * (Safe copy) Creates a new inline group in the console.
93
- */
94
- _console.group.bind(_console);
95
- /**
96
- * (Safe copy) Creates a new inline group in the console that is initially collapsed.
97
- */
98
- _console.groupCollapsed.bind(_console);
99
- /**
100
- * (Safe copy) Exits the current inline group.
101
- */
102
- _console.groupEnd.bind(_console);
103
- /**
104
- * (Safe copy) Starts a timer with a name specified as an input parameter.
105
- */
106
- _console.time.bind(_console);
107
- /**
108
- * (Safe copy) Stops a timer that was previously started.
109
- */
110
- _console.timeEnd.bind(_console);
111
- /**
112
- * (Safe copy) Logs the current value of a timer that was previously started.
113
- */
114
- _console.timeLog.bind(_console);
115
-
116
- /**
117
- * Safe copies of JSON built-in methods.
118
- *
119
- * These references are captured at module initialization time to protect against
120
- * prototype pollution attacks. Import only what you need for tree-shaking.
121
- *
122
- * @module @hyperfrontend/immutable-api-utils/built-in-copy/json
123
- */
124
- // Capture references at module initialization time
125
- const _JSON = globalThis.JSON;
126
- /**
127
- * (Safe copy) Converts a JavaScript value to a JavaScript Object Notation (JSON) string.
128
- */
129
- const stringify = _JSON.stringify;
130
-
131
- /**
132
- * Safe copies of Object built-in methods.
133
- *
134
- * These references are captured at module initialization time to protect against
135
- * prototype pollution attacks. Import only what you need for tree-shaking.
136
- *
137
- * @module @hyperfrontend/immutable-api-utils/built-in-copy/object
138
- */
139
- // Capture references at module initialization time
140
- const _Object = globalThis.Object;
141
- /**
142
- * (Safe copy) Prevents modification of existing property attributes and values,
143
- * and prevents the addition of new properties.
144
- */
145
- const freeze = _Object.freeze;
146
- /**
147
- * (Safe copy) Returns the names of the enumerable string properties and methods of an object.
148
- */
149
- const keys = _Object.keys;
150
- /**
151
- * (Safe copy) Returns an array of key/values of the enumerable own properties of an object.
152
- */
153
- const entries = _Object.entries;
154
-
155
- /**
156
- * Safe copies of Set built-in via factory function.
157
- *
158
- * Since constructors cannot be safely captured via Object.assign, this module
159
- * provides a factory function that uses Reflect.construct internally.
160
- *
161
- * These references are captured at module initialization time to protect against
162
- * prototype pollution attacks. Import only what you need for tree-shaking.
163
- *
164
- * @module @hyperfrontend/immutable-api-utils/built-in-copy/set
165
- */
166
- // Capture references at module initialization time
167
- const _Set = globalThis.Set;
168
- const _Reflect$1 = globalThis.Reflect;
169
- /**
170
- * (Safe copy) Creates a new Set using the captured Set constructor.
171
- * Use this instead of `new Set()`.
172
- *
173
- * @param iterable - Optional iterable of values.
174
- * @returns A new Set instance.
175
- */
176
- const createSet = (iterable) => _Reflect$1.construct(_Set, iterable ? [iterable] : []);
177
-
178
- const registeredClasses = [];
179
-
180
- /**
181
- * Returns the data type of the target.
182
- * Uses native `typeof` operator, however, makes distinction between `null`, `array`, and `object`.
183
- * Also, when classes are registered via `registerClass`, it checks if objects are instance of any known registered class.
184
- *
185
- * @param target - The target to get the data type of.
186
- * @returns The data type of the target.
187
- */
188
- const getType = (target) => {
189
- if (target === null)
190
- return 'null';
191
- const nativeDataType = typeof target;
192
- if (nativeDataType === 'object') {
193
- if (isArray(target))
194
- return 'array';
195
- for (const registeredClass of registeredClasses) {
196
- if (target instanceof registeredClass)
197
- return registeredClass.name;
198
- }
199
- }
200
- return nativeDataType;
201
- };
202
-
203
- /**
204
- * Safe copies of Error built-ins via factory functions.
205
- *
206
- * Since constructors cannot be safely captured via Object.assign, this module
207
- * provides factory functions that use Reflect.construct internally.
208
- *
209
- * These references are captured at module initialization time to protect against
210
- * prototype pollution attacks. Import only what you need for tree-shaking.
211
- *
212
- * @module @hyperfrontend/immutable-api-utils/built-in-copy/error
213
- */
214
- // Capture references at module initialization time
215
- const _Error = globalThis.Error;
216
- const _Reflect = globalThis.Reflect;
217
- /**
218
- * (Safe copy) Creates a new Error using the captured Error constructor.
219
- * Use this instead of `new Error()`.
220
- *
221
- * @param message - Optional error message.
222
- * @param options - Optional error options.
223
- * @returns A new Error instance.
224
- */
225
- const createError = (message, options) => _Reflect.construct(_Error, [message, options]);
226
-
227
- /* eslint-disable @typescript-eslint/no-explicit-any */
228
- /**
229
- * Creates a wrapper function that only executes the wrapped function if the condition function returns true.
230
- *
231
- * @param func - The function to be conditionally executed.
232
- * @param conditionFunc - A function that returns a boolean, determining if `func` should be executed.
233
- * @returns A wrapped version of `func` that executes conditionally.
234
- */
235
- function createConditionalExecutionFunction(func, conditionFunc) {
236
- return function (...args) {
237
- if (conditionFunc()) {
238
- return func(...args);
239
- }
240
- };
241
- }
242
-
243
- /* eslint-disable @typescript-eslint/no-explicit-any */
244
- /**
245
- * Creates a wrapper function that silently ignores any errors thrown by the wrapped void function.
246
- * This function is specifically for wrapping functions that do not return a value (void functions).
247
- * Exceptions are swallowed without any logging or handling.
248
- *
249
- * @param func - The void function to be wrapped.
250
- * @returns A wrapped version of the input function that ignores errors.
251
- */
252
- function createErrorIgnoringFunction(func) {
253
- return function (...args) {
254
- try {
255
- func(...args);
256
- }
257
- catch {
258
- // Deliberately swallowing/ignoring the exception
259
- }
260
- };
261
- }
262
-
263
- /* eslint-disable @typescript-eslint/no-unused-vars */
264
- /**
265
- * A no-operation function (noop) that does nothing regardless of the arguments passed.
266
- * It is designed to be as permissive as possible in its typing without using the `Function` keyword.
267
- *
268
- * @param args - Any arguments passed to the function (ignored)
269
- */
270
- const noop = (...args) => {
271
- // Intentionally does nothing
272
- };
273
-
274
- const logLevels = ['none', 'error', 'warn', 'log', 'info', 'debug'];
275
- const priority = {
276
- error: 4,
277
- warn: 3,
278
- log: 2,
279
- info: 1,
280
- debug: 0,
281
- };
282
- /**
283
- * Validates whether a given string is a valid log level.
284
- *
285
- * @param level - The log level to validate
286
- * @returns True if the level is valid, false otherwise
287
- */
288
- function isValidLogLevel(level) {
289
- return logLevels.includes(level);
290
- }
291
- /**
292
- * Creates a log level configuration manager for controlling logging behavior.
293
- * Provides methods to get, set, and evaluate log levels based on priority.
294
- *
295
- * @param level - The initial log level (defaults to 'error')
296
- * @returns A configuration object with log level management methods
297
- * @throws {Error} When the provided level is not a valid log level
298
- */
299
- function createLogLevelConfig(level = 'error') {
300
- if (!isValidLogLevel(level)) {
301
- throw createError('Cannot create log level configuration with a valid default log level');
302
- }
303
- const state = { level };
304
- const getLogLevel = () => state.level;
305
- const setLogLevel = (level) => {
306
- if (!isValidLogLevel(level)) {
307
- throw createError(`Cannot set value '${level}' level. Expected levels are ${logLevels}.`);
308
- }
309
- state.level = level;
310
- };
311
- const shouldLog = (level) => {
312
- if (state.level === 'none' || level === 'none' || !isValidLogLevel(level)) {
313
- return false;
314
- }
315
- return priority[level] >= priority[state.level];
316
- };
317
- return freeze({
318
- getLogLevel,
319
- setLogLevel,
320
- shouldLog,
321
- });
322
- }
323
-
324
- /**
325
- * Creates a logger instance with configurable log level filtering.
326
- * Each log function is wrapped to respect the current log level setting.
327
- *
328
- * @param error - Function to handle error-level logs (required)
329
- * @param warn - Function to handle warning-level logs (optional, defaults to noop)
330
- * @param log - Function to handle standard logs (optional, defaults to noop)
331
- * @param info - Function to handle info-level logs (optional, defaults to noop)
332
- * @param debug - Function to handle debug-level logs (optional, defaults to noop)
333
- * @returns A frozen logger object with log methods and level control
334
- * @throws {ErrorLevelFn} When any provided log function is invalid
335
- */
336
- function createLogger(error, warn = noop, log = noop, info = noop, debug = noop) {
337
- if (notValidLogFn(error)) {
338
- throw createError(notFnMsg('error'));
339
- }
340
- if (notValidLogFn(warn)) {
341
- throw createError(notFnMsg('warn'));
342
- }
343
- if (notValidLogFn(log)) {
344
- throw createError(notFnMsg('log'));
345
- }
346
- if (notValidLogFn(info)) {
347
- throw createError(notFnMsg('info'));
348
- }
349
- if (notValidLogFn(debug)) {
350
- throw createError(notFnMsg('debug'));
351
- }
352
- const { setLogLevel, getLogLevel, shouldLog } = createLogLevelConfig();
353
- const wrapLogFn = (fn, level) => {
354
- if (fn === noop)
355
- return fn;
356
- const condition = () => shouldLog(level);
357
- return createConditionalExecutionFunction(createErrorIgnoringFunction(fn), condition);
358
- };
359
- return freeze({
360
- error: wrapLogFn(error, 'error'),
361
- warn: wrapLogFn(warn, 'warn'),
362
- log: wrapLogFn(log, 'log'),
363
- info: wrapLogFn(info, 'info'),
364
- debug: wrapLogFn(debug, 'debug'),
365
- setLogLevel,
366
- getLogLevel,
367
- });
368
- }
369
- /**
370
- * Validates whether a given value is a valid log function.
371
- *
372
- * @param fn - The value to validate
373
- * @returns True if the value is not a function (invalid), false if it is valid
374
- */
375
- function notValidLogFn(fn) {
376
- return getType(fn) !== 'function' && fn !== noop;
377
- }
378
- /**
379
- * Generates an error message for invalid log function parameters.
380
- *
381
- * @param label - The name of the log function that failed validation
382
- * @returns A formatted error message string
383
- */
384
- function notFnMsg(label) {
385
- return `Cannot create a logger when ${label} is not a function`;
386
- }
387
-
388
- createLogger(error, warn, log, info, debug);
3
+ const index_cjs_js$7 = require('../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/error/index.cjs.js');
4
+ const index_cjs_js$4 = require('../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/array/index.cjs.js');
5
+ const index_cjs_js$3 = require('../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/console/index.cjs.js');
6
+ const index_cjs_js$5 = require('../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/json/index.cjs.js');
7
+ const index_cjs_js$2 = require('../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/object/index.cjs.js');
8
+ const index_cjs_js = require('../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/set/index.cjs.js');
9
+ const index_cjs_js$1 = require('../../_dependencies/@hyperfrontend/logging/index.cjs.js');
10
+ const index_cjs_js$6 = require('../../_dependencies/@hyperfrontend/immutable-api-utils/built-in-copy/math/index.cjs.js');
389
11
 
390
12
  /**
391
13
  * Global log level registry.
392
14
  * Tracks all created scoped loggers to allow global log level changes.
393
15
  */
394
- const loggerRegistry = createSet();
16
+ const loggerRegistry = index_cjs_js.createSet();
395
17
  /** Redacted placeholder for sensitive values */
396
18
  const REDACTED = '[REDACTED]';
397
19
  /**
@@ -425,17 +47,24 @@ function isSensitiveKey(key) {
425
47
  *
426
48
  * @param obj - Object to sanitize
427
49
  * @returns New object with sensitive values redacted
50
+ *
51
+ * @example Sanitizing sensitive data
52
+ * ```typescript
53
+ * const config = { apiKey: 'secret123', endpoint: 'https://api.example.com' }
54
+ * const safe = sanitize(config)
55
+ * // => { apiKey: '[REDACTED]', endpoint: 'https://api.example.com' }
56
+ * ```
428
57
  */
429
58
  function sanitize(obj) {
430
59
  if (obj === null || obj === undefined) {
431
60
  return obj;
432
61
  }
433
- if (isArray(obj)) {
62
+ if (index_cjs_js$4.isArray(obj)) {
434
63
  return obj.map((item) => sanitize(item));
435
64
  }
436
65
  if (typeof obj === 'object') {
437
66
  const result = {};
438
- for (const [key, value] of entries(obj)) {
67
+ for (const [key, value] of index_cjs_js$2.entries(obj)) {
439
68
  if (isSensitiveKey(key)) {
440
69
  result[key] = REDACTED;
441
70
  }
@@ -460,9 +89,9 @@ function sanitize(obj) {
460
89
  */
461
90
  function formatMessage(namespace, message, meta) {
462
91
  const prefix = `[${namespace}]`;
463
- if (meta && keys(meta).length > 0) {
92
+ if (meta && index_cjs_js$2.keys(meta).length > 0) {
464
93
  const sanitizedMeta = sanitize(meta);
465
- return `${prefix} ${message} ${stringify(sanitizedMeta)}`;
94
+ return `${prefix} ${message} ${index_cjs_js$5.stringify(sanitizedMeta)}`;
466
95
  }
467
96
  return `${prefix} ${message}`;
468
97
  }
@@ -475,7 +104,7 @@ function formatMessage(namespace, message, meta) {
475
104
  * @param options - Logger configuration options
476
105
  * @returns A configured scoped logger instance
477
106
  *
478
- * @example
107
+ * @example Creating a scoped logger
479
108
  * ```typescript
480
109
  * const logger = createScopedLogger('project-scope')
481
110
  * logger.setLogLevel('debug')
@@ -490,16 +119,13 @@ function formatMessage(namespace, message, meta) {
490
119
  */
491
120
  function createScopedLogger(namespace, options = {}) {
492
121
  const { level = 'error', sanitizeSecrets = true } = options;
493
- // Create wrapper functions that add namespace prefix and sanitization
494
122
  const createLogFn = (baseFn) => (message, meta) => {
495
123
  const processedMeta = sanitizeSecrets && meta ? sanitize(meta) : meta;
496
124
  baseFn(formatMessage(namespace, message, processedMeta));
497
125
  };
498
- // Create base logger with wrapped functions
499
- const baseLogger = createLogger(createLogFn(error), createLogFn(warn), createLogFn(log), createLogFn(info), createLogFn(debug));
500
- // Set initial log level (use global override if set)
126
+ 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));
501
127
  baseLogger.setLogLevel(level);
502
- const scopedLogger = freeze({
128
+ const scopedLogger = index_cjs_js$2.freeze({
503
129
  error: (message, meta) => baseLogger.error(message, meta),
504
130
  warn: (message, meta) => baseLogger.warn(message, meta),
505
131
  log: (message, meta) => baseLogger.log(message, meta),
@@ -508,7 +134,6 @@ function createScopedLogger(namespace, options = {}) {
508
134
  setLogLevel: baseLogger.setLogLevel,
509
135
  getLogLevel: baseLogger.getLogLevel,
510
136
  });
511
- // Register logger for global level management
512
137
  loggerRegistry.add(scopedLogger);
513
138
  return scopedLogger;
514
139
  }
@@ -516,7 +141,7 @@ function createScopedLogger(namespace, options = {}) {
516
141
  * Default logger instance for the project-scope library.
517
142
  * Use this for general logging within the library.
518
143
  *
519
- * @example
144
+ * @example Using the default logger
520
145
  * ```typescript
521
146
  * import { logger } from '@hyperfrontend/project-scope/core'
522
147
  *
@@ -554,28 +179,34 @@ const BINARY_SIGNATURES = [
554
179
  *
555
180
  * @param buffer - Buffer to analyze
556
181
  * @returns Encoding information
182
+ *
183
+ * @example Detecting encoding and BOM info
184
+ * ```typescript
185
+ * const buffer = readFileSync('./document.txt')
186
+ * const info = detectEncodingInfo(buffer)
187
+ * if (info.type === 'text') {
188
+ * console.log(`Encoding: ${info.encoding}, BOM: ${info.hasBom}`)
189
+ * }
190
+ * ```
557
191
  */
558
192
  function detectEncodingInfo(buffer) {
559
193
  encodingLogger.debug('Detecting encoding info', { bufferSize: buffer.length });
560
- // Check for UTF-8 BOM
561
194
  if (buffer.length >= 3) {
562
195
  if (buffer[0] === UTF8_BOM_BYTES[0] && buffer[1] === UTF8_BOM_BYTES[1] && buffer[2] === UTF8_BOM_BYTES[2]) {
563
196
  encodingLogger.debug('Detected UTF-8 BOM');
564
197
  return { type: 'text', encoding: 'utf-8', hasBom: true };
565
198
  }
566
199
  }
567
- // Check for UTF-16 BOMs
568
200
  if (buffer.length >= 2) {
569
201
  if (buffer[0] === UTF16_BE_BOM_BYTES[0] && buffer[1] === UTF16_BE_BOM_BYTES[1]) {
570
202
  encodingLogger.debug('Detected UTF-16 BE BOM');
571
- return { type: 'text', encoding: 'utf16le', hasBom: true }; // Node treats BE through utf16le
203
+ return { type: 'text', encoding: 'utf16le', hasBom: true };
572
204
  }
573
205
  if (buffer[0] === UTF16_LE_BOM_BYTES[0] && buffer[1] === UTF16_LE_BOM_BYTES[1]) {
574
206
  encodingLogger.debug('Detected UTF-16 LE BOM');
575
207
  return { type: 'text', encoding: 'utf16le', hasBom: true };
576
208
  }
577
209
  }
578
- // Check for binary signatures
579
210
  for (const { signature, description } of BINARY_SIGNATURES) {
580
211
  if (buffer.length >= signature.length) {
581
212
  let matches = true;
@@ -591,8 +222,7 @@ function detectEncodingInfo(buffer) {
591
222
  }
592
223
  }
593
224
  }
594
- // Check for null bytes (usually indicates binary)
595
- const sampleSize = min(buffer.length, 8000);
225
+ const sampleSize = index_cjs_js$6.min(buffer.length, 8000);
596
226
  for (let i = 0; i < sampleSize; i++) {
597
227
  if (buffer[i] === 0) {
598
228
  encodingLogger.debug('Detected binary content (null byte found)', { position: i });
@@ -607,25 +237,28 @@ function detectEncodingInfo(buffer) {
607
237
  *
608
238
  * @param buffer - Buffer to analyze
609
239
  * @returns Detected encoding, defaults to 'utf-8'
240
+ *
241
+ * @example Detecting encoding from buffer
242
+ * ```typescript
243
+ * const buffer = readFileSync('./data.txt')
244
+ * const encoding = detectEncoding(buffer)
245
+ * const content = buffer.toString(encoding)
246
+ * ```
610
247
  */
611
248
  function detectEncoding(buffer) {
612
249
  if (buffer.length >= 3) {
613
- // Check for UTF-8 BOM
614
250
  if (buffer[0] === UTF8_BOM_BYTES[0] && buffer[1] === UTF8_BOM_BYTES[1] && buffer[2] === UTF8_BOM_BYTES[2]) {
615
251
  return 'utf-8';
616
252
  }
617
253
  }
618
254
  if (buffer.length >= 2) {
619
- // Check for UTF-16 LE BOM
620
255
  if (buffer[0] === UTF16_LE_BOM_BYTES[0] && buffer[1] === UTF16_LE_BOM_BYTES[1]) {
621
256
  return 'utf16le';
622
257
  }
623
- // Check for UTF-16 BE BOM
624
258
  if (buffer[0] === UTF16_BE_BOM_BYTES[0] && buffer[1] === UTF16_BE_BOM_BYTES[1]) {
625
- return 'utf16le'; // Node.js handles BE through utf16le
259
+ return 'utf16le';
626
260
  }
627
261
  }
628
- // Default to UTF-8
629
262
  return 'utf-8';
630
263
  }
631
264
  /**
@@ -633,6 +266,14 @@ function detectEncoding(buffer) {
633
266
  *
634
267
  * @param buffer - Buffer to check
635
268
  * @returns True if buffer has a BOM
269
+ *
270
+ * @example Checking if buffer has BOM
271
+ * ```typescript
272
+ * const buffer = readFileSync('./file.txt')
273
+ * if (hasBom(buffer)) {
274
+ * // Strip BOM before processing
275
+ * }
276
+ * ```
636
277
  */
637
278
  function hasBom(buffer) {
638
279
  if (buffer.length >= 3) {
@@ -653,19 +294,18 @@ function hasBom(buffer) {
653
294
  *
654
295
  * @param buffer - Buffer to check
655
296
  * @returns True if the buffer appears to be text
297
+ *
298
+ * @example Checking if content is text
299
+ * ```typescript
300
+ * const buffer = readFileSync('./unknown-file')
301
+ * if (isTextFile(buffer)) {
302
+ * const content = buffer.toString('utf-8')
303
+ * }
304
+ * ```
656
305
  */
657
306
  function isTextFile(buffer) {
658
307
  return detectEncodingInfo(buffer).type === 'text';
659
308
  }
660
- /**
661
- * Check if buffer represents binary content.
662
- *
663
- * @param buffer - Buffer to check
664
- * @returns True if the buffer appears to be binary
665
- */
666
- function isBinaryFile(buffer) {
667
- return detectEncodingInfo(buffer).type === 'binary';
668
- }
669
309
 
670
310
  const convertLogger = createScopedLogger('project-scope:encoding:convert');
671
311
  /**
@@ -674,6 +314,13 @@ const convertLogger = createScopedLogger('project-scope:encoding:convert');
674
314
  * @param content - Buffer or string content
675
315
  * @param sourceEncoding - Source encoding (auto-detected if not provided)
676
316
  * @returns UTF-8 string
317
+ *
318
+ * @example Converting a buffer to UTF-8 string
319
+ * ```typescript
320
+ * const buffer = Buffer.from('Hello', 'utf-8')
321
+ * const text = toUtf8(buffer)
322
+ * // => 'Hello'
323
+ * ```
677
324
  */
678
325
  function toUtf8(content, sourceEncoding = 'utf-8') {
679
326
  if (typeof content === 'string') {
@@ -688,6 +335,13 @@ function toUtf8(content, sourceEncoding = 'utf-8') {
688
335
  * @param encoding - Optional encoding override (auto-detected if not provided)
689
336
  * @returns Converted string
690
337
  * @throws {Error} If content is binary and cannot be converted
338
+ *
339
+ * @example Converting file buffer to string with auto-detection
340
+ * ```typescript
341
+ * const fileBuffer = readFileSync('./config.json')
342
+ * const content = bufferToString(fileBuffer)
343
+ * // => '{"key": "value"}'
344
+ * ```
691
345
  */
692
346
  function bufferToString(content, encoding) {
693
347
  convertLogger.debug('Converting buffer to string', { bufferSize: content.length, providedEncoding: encoding });
@@ -695,10 +349,8 @@ function bufferToString(content, encoding) {
695
349
  convertLogger.debug('Using provided encoding', { encoding });
696
350
  return content.toString(encoding);
697
351
  }
698
- // Auto-detect and convert
699
352
  const info = detectEncodingInfo(content);
700
353
  if (info.type === 'text') {
701
- // Remove BOM if present
702
354
  let offset = 0;
703
355
  if (info.hasBom) {
704
356
  offset = info.encoding === 'utf-8' ? 3 : 2;
@@ -707,13 +359,20 @@ function bufferToString(content, encoding) {
707
359
  return content.subarray(offset).toString(info.encoding);
708
360
  }
709
361
  convertLogger.warn('Cannot convert binary content to string', { format: info.type === 'binary' ? info.format : undefined });
710
- throw createError('Cannot convert binary content to string');
362
+ throw index_cjs_js$7.createError('Cannot convert binary content to string');
711
363
  }
712
364
  /**
713
365
  * Strip BOM from start of string if present.
714
366
  *
715
367
  * @param content - String that may have BOM
716
368
  * @returns String without BOM
369
+ *
370
+ * @example Stripping BOM from a string
371
+ * ```typescript
372
+ * const withBom = '\ufeffHello World'
373
+ * const clean = stripBom(withBom)
374
+ * // => 'Hello World'
375
+ * ```
717
376
  */
718
377
  function stripBom(content) {
719
378
  if (content.charCodeAt(0) === 0xfeff) {
@@ -726,6 +385,13 @@ function stripBom(content) {
726
385
  *
727
386
  * @param content - String to add BOM to
728
387
  * @returns String with BOM
388
+ *
389
+ * @example Adding UTF-8 BOM to content
390
+ * ```typescript
391
+ * const content = 'Hello World'
392
+ * const withBom = addBom(content)
393
+ * // => '\ufeffHello World'
394
+ * ```
729
395
  */
730
396
  function addBom(content) {
731
397
  if (content.charCodeAt(0) === 0xfeff) {
@@ -744,8 +410,6 @@ exports.bufferToString = bufferToString;
744
410
  exports.detectEncoding = detectEncoding;
745
411
  exports.detectEncodingInfo = detectEncodingInfo;
746
412
  exports.hasBom = hasBom;
747
- exports.isBinaryFile = isBinaryFile;
748
413
  exports.isTextFile = isTextFile;
749
414
  exports.stripBom = stripBom;
750
415
  exports.toUtf8 = toUtf8;
751
- //# sourceMappingURL=index.cjs.js.map