nuclie 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (779) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +516 -0
  3. package/dist/ai/analyzer.d.ts +29 -0
  4. package/dist/ai/analyzer.js +202 -0
  5. package/dist/ai/chat/cli.d.ts +3 -0
  6. package/dist/ai/chat/cli.js +38 -0
  7. package/dist/ai/client.d.ts +17 -0
  8. package/dist/ai/client.js +68 -0
  9. package/dist/ai/cloud/api.d.ts +28 -0
  10. package/dist/ai/cloud/api.js +118 -0
  11. package/dist/ai/cloud/modelSync.d.ts +18 -0
  12. package/dist/ai/cloud/modelSync.js +104 -0
  13. package/dist/ai/cloud/telemetry.d.ts +14 -0
  14. package/dist/ai/cloud/telemetry.js +23 -0
  15. package/dist/ai/config.d.ts +14 -0
  16. package/dist/ai/config.js +9 -0
  17. package/dist/ai/core/errorMemory.d.ts +14 -0
  18. package/dist/ai/core/errorMemory.js +36 -0
  19. package/dist/ai/dashboard/cli.d.ts +3 -0
  20. package/dist/ai/dashboard/cli.js +32 -0
  21. package/dist/ai/healer/applier.d.ts +9 -0
  22. package/dist/ai/healer/applier.js +74 -0
  23. package/dist/ai/healer/cli.d.ts +3 -0
  24. package/dist/ai/healer/cli.js +57 -0
  25. package/dist/ai/healer/collector.d.ts +16 -0
  26. package/dist/ai/healer/collector.js +41 -0
  27. package/dist/ai/healer/fixer.d.ts +12 -0
  28. package/dist/ai/healer/fixer.js +40 -0
  29. package/dist/ai/healer/llm.d.ts +9 -0
  30. package/dist/ai/healer/llm.js +20 -0
  31. package/dist/ai/healer/parser.d.ts +16 -0
  32. package/dist/ai/healer/parser.js +67 -0
  33. package/dist/ai/learning/evolver.d.ts +8 -0
  34. package/dist/ai/learning/evolver.js +24 -0
  35. package/dist/ai/llm/fixGenerator.d.ts +9 -0
  36. package/dist/ai/llm/fixGenerator.js +21 -0
  37. package/dist/ai/llm/ollama.d.ts +10 -0
  38. package/dist/ai/llm/ollama.js +56 -0
  39. package/dist/ai/local/fixStore.d.ts +19 -0
  40. package/dist/ai/local/fixStore.js +105 -0
  41. package/dist/ai/optimizer/analyzer.d.ts +9 -0
  42. package/dist/ai/optimizer/analyzer.js +65 -0
  43. package/dist/ai/optimizer/engine.d.ts +16 -0
  44. package/dist/ai/optimizer/engine.js +51 -0
  45. package/dist/ai/optimizer/llm.d.ts +8 -0
  46. package/dist/ai/optimizer/llm.js +14 -0
  47. package/dist/ai/optimizer/profiler.d.ts +11 -0
  48. package/dist/ai/optimizer/profiler.js +111 -0
  49. package/dist/ai/optimizer/rules.d.ts +12 -0
  50. package/dist/ai/optimizer/rules.js +37 -0
  51. package/dist/ai/patterns/common.d.ts +8 -0
  52. package/dist/ai/patterns/common.js +181 -0
  53. package/dist/ai/reporter/assembler.d.ts +11 -0
  54. package/dist/ai/reporter/assembler.js +10 -0
  55. package/dist/ai/reporter/generator.d.ts +4 -0
  56. package/dist/ai/reporter/generator.js +42 -0
  57. package/dist/ai/reporter/narrator.d.ts +8 -0
  58. package/dist/ai/reporter/narrator.js +29 -0
  59. package/dist/ai/schema.d.ts +104 -0
  60. package/dist/ai/schema.js +45 -0
  61. package/dist/ai/telemetry.d.ts +14 -0
  62. package/dist/ai/telemetry.js +96 -0
  63. package/dist/audit/a11y.d.ts +5 -0
  64. package/dist/audit/a11y.js +123 -0
  65. package/dist/audit/best-practices.d.ts +5 -0
  66. package/dist/audit/best-practices.js +68 -0
  67. package/dist/audit/build-integration.d.ts +59 -0
  68. package/dist/audit/build-integration.js +138 -0
  69. package/dist/audit/core.d.ts +62 -0
  70. package/dist/audit/core.js +327 -0
  71. package/dist/audit/index.d.ts +4 -0
  72. package/dist/audit/index.js +60 -0
  73. package/dist/audit/perf.d.ts +5 -0
  74. package/dist/audit/perf.js +69 -0
  75. package/dist/audit/seo.d.ts +5 -0
  76. package/dist/audit/seo.js +63 -0
  77. package/dist/audit/types.d.ts +35 -0
  78. package/dist/audit/types.js +1 -0
  79. package/dist/audit-stub/types.d.ts +25 -0
  80. package/dist/audit-stub/types.js +1 -0
  81. package/dist/build/bundle-stats.d.ts +2 -0
  82. package/dist/build/bundle-stats.js +42 -0
  83. package/dist/build/bundler.d.ts +46 -0
  84. package/dist/build/bundler.js +31 -0
  85. package/dist/build/index.d.ts +36 -0
  86. package/dist/build/index.js +69 -0
  87. package/dist/build/pipeline.d.ts +31 -0
  88. package/dist/build/pipeline.js +68 -0
  89. package/dist/builder/server.d.ts +11 -0
  90. package/dist/builder/server.js +253 -0
  91. package/dist/cache/incremental.d.ts +75 -0
  92. package/dist/cache/incremental.js +200 -0
  93. package/dist/cache/index.d.ts +17 -0
  94. package/dist/cache/index.js +186 -0
  95. package/dist/cache/rocksdb.d.ts +18 -0
  96. package/dist/cache/rocksdb.js +63 -0
  97. package/dist/cli/css-cli.d.ts +5 -0
  98. package/dist/cli/css-cli.js +112 -0
  99. package/dist/cli/inspect.d.ts +1 -0
  100. package/dist/cli/inspect.js +94 -0
  101. package/dist/cli.d.ts +2 -0
  102. package/dist/cli.js +586 -0
  103. package/dist/commands/analyze.d.ts +1 -0
  104. package/dist/commands/analyze.js +295 -0
  105. package/dist/commands/doctor.d.ts +21 -0
  106. package/dist/commands/doctor.js +364 -0
  107. package/dist/commands/ssr.d.ts +12 -0
  108. package/dist/commands/ssr.js +30 -0
  109. package/dist/commands/verify.d.ts +38 -0
  110. package/dist/commands/verify.js +459 -0
  111. package/dist/config/index.d.ts +145 -0
  112. package/dist/config/index.js +227 -0
  113. package/dist/config/live-config.d.ts +22 -0
  114. package/dist/config/live-config.js +88 -0
  115. package/dist/core/__tests__/permissions.test.d.ts +1 -0
  116. package/dist/core/__tests__/permissions.test.js +16 -0
  117. package/dist/core/__tests__/universal-transformer.test.d.ts +1 -0
  118. package/dist/core/__tests__/universal-transformer.test.js +27 -0
  119. package/dist/core/build/globalOptimizer.d.ts +8 -0
  120. package/dist/core/build/globalOptimizer.js +21 -0
  121. package/dist/core/build/incremental.d.ts +13 -0
  122. package/dist/core/build/incremental.js +29 -0
  123. package/dist/core/bundler-rolldown.d.ts +42 -0
  124. package/dist/core/bundler-rolldown.js +100 -0
  125. package/dist/core/cache/lazy-init.d.ts +50 -0
  126. package/dist/core/cache/lazy-init.js +153 -0
  127. package/dist/core/cache-manager.d.ts +51 -0
  128. package/dist/core/cache-manager.js +149 -0
  129. package/dist/core/css/engine.d.ts +37 -0
  130. package/dist/core/css/engine.js +113 -0
  131. package/dist/core/css-framework-detector.d.ts +10 -0
  132. package/dist/core/css-framework-detector.js +169 -0
  133. package/dist/core/detection/files.d.ts +2 -0
  134. package/dist/core/detection/files.js +77 -0
  135. package/dist/core/detection/index.d.ts +8 -0
  136. package/dist/core/detection/index.js +39 -0
  137. package/dist/core/detection/resolver.d.ts +2 -0
  138. package/dist/core/detection/resolver.js +116 -0
  139. package/dist/core/detection/scanner.d.ts +4 -0
  140. package/dist/core/detection/scanner.js +145 -0
  141. package/dist/core/detection/types.d.ts +33 -0
  142. package/dist/core/detection/types.js +12 -0
  143. package/dist/core/engine/cache.d.ts +18 -0
  144. package/dist/core/engine/cache.js +72 -0
  145. package/dist/core/engine/config.d.ts +11 -0
  146. package/dist/core/engine/config.js +158 -0
  147. package/dist/core/engine/emit.d.ts +8 -0
  148. package/dist/core/engine/emit.js +60 -0
  149. package/dist/core/engine/events.d.ts +13 -0
  150. package/dist/core/engine/events.js +35 -0
  151. package/dist/core/engine/execute.d.ts +5 -0
  152. package/dist/core/engine/execute.js +226 -0
  153. package/dist/core/engine/hash.d.ts +8 -0
  154. package/dist/core/engine/hash.js +39 -0
  155. package/dist/core/engine/index.d.ts +49 -0
  156. package/dist/core/engine/index.js +156 -0
  157. package/dist/core/engine/optimize.d.ts +2 -0
  158. package/dist/core/engine/optimize.js +99 -0
  159. package/dist/core/engine/plan.d.ts +9 -0
  160. package/dist/core/engine/plan.js +196 -0
  161. package/dist/core/engine/types.d.ts +120 -0
  162. package/dist/core/engine/types.js +1 -0
  163. package/dist/core/errors/hero-errors.d.ts +57 -0
  164. package/dist/core/errors/hero-errors.js +269 -0
  165. package/dist/core/framework-detector.d.ts +20 -0
  166. package/dist/core/framework-detector.js +148 -0
  167. package/dist/core/graph/js-graph-analyzer.d.ts +51 -0
  168. package/dist/core/graph/js-graph-analyzer.js +178 -0
  169. package/dist/core/graph/serializer.d.ts +7 -0
  170. package/dist/core/graph/serializer.js +24 -0
  171. package/dist/core/interop/analyze.d.ts +8 -0
  172. package/dist/core/interop/analyze.js +82 -0
  173. package/dist/core/interop/analyze_ast.d.ts +9 -0
  174. package/dist/core/interop/analyze_ast.js +174 -0
  175. package/dist/core/interop/index.d.ts +19 -0
  176. package/dist/core/interop/index.js +36 -0
  177. package/dist/core/interop/resolve.d.ts +9 -0
  178. package/dist/core/interop/resolve.js +55 -0
  179. package/dist/core/interop/types.d.ts +28 -0
  180. package/dist/core/interop/types.js +2 -0
  181. package/dist/core/interop/wrapper.d.ts +11 -0
  182. package/dist/core/interop/wrapper.js +50 -0
  183. package/dist/core/parser-bun.d.ts +54 -0
  184. package/dist/core/parser-bun.js +86 -0
  185. package/dist/core/permissions.d.ts +16 -0
  186. package/dist/core/permissions.js +47 -0
  187. package/dist/core/pipeline/framework-pipeline.d.ts +71 -0
  188. package/dist/core/pipeline/framework-pipeline.js +113 -0
  189. package/dist/core/plugins/index.d.ts +5 -0
  190. package/dist/core/plugins/index.js +5 -0
  191. package/dist/core/plugins/manager.d.ts +30 -0
  192. package/dist/core/plugins/manager.js +123 -0
  193. package/dist/core/plugins/sandbox_js.d.ts +9 -0
  194. package/dist/core/plugins/sandbox_js.js +37 -0
  195. package/dist/core/plugins/sandbox_wasm.d.ts +10 -0
  196. package/dist/core/plugins/sandbox_wasm.js +68 -0
  197. package/dist/core/plugins/types.d.ts +37 -0
  198. package/dist/core/plugins/types.js +2 -0
  199. package/dist/core/plugins/validation.d.ts +8 -0
  200. package/dist/core/plugins/validation.js +30 -0
  201. package/dist/core/sandbox.d.ts +9 -0
  202. package/dist/core/sandbox.js +79 -0
  203. package/dist/core/steps/css-optimization.d.ts +65 -0
  204. package/dist/core/steps/css-optimization.js +318 -0
  205. package/dist/core/steps.d.ts +7 -0
  206. package/dist/core/steps.js +17 -0
  207. package/dist/core/transform/batchTransformer.d.ts +12 -0
  208. package/dist/core/transform/batchTransformer.js +24 -0
  209. package/dist/core/transform/transformer.d.ts +9 -0
  210. package/dist/core/transform/transformer.js +189 -0
  211. package/dist/core/universal-transformer.d.ts +81 -0
  212. package/dist/core/universal-transformer.js +780 -0
  213. package/dist/create/index.d.ts +25 -0
  214. package/dist/create/index.js +584 -0
  215. package/dist/create/ui.d.ts +13 -0
  216. package/dist/create/ui.js +218 -0
  217. package/dist/create-nuclie/cli.d.ts +7 -0
  218. package/dist/create-nuclie/cli.js +73 -0
  219. package/dist/create-nuclie/templates.d.ts +18 -0
  220. package/dist/create-nuclie/templates.js +73 -0
  221. package/dist/create-nuclie.d.ts +2 -0
  222. package/dist/create-nuclie.js +7 -0
  223. package/dist/dashboard/metrics.d.ts +31 -0
  224. package/dist/dashboard/metrics.js +59 -0
  225. package/dist/dashboard/server/router.d.ts +52 -0
  226. package/dist/dashboard/server/router.js +36 -0
  227. package/dist/dev/__tests__/preBundler.test.d.ts +1 -0
  228. package/dist/dev/__tests__/preBundler.test.js +51 -0
  229. package/dist/dev/configWatcher.d.ts +10 -0
  230. package/dist/dev/configWatcher.js +42 -0
  231. package/dist/dev/devServer.d.ts +2 -0
  232. package/dist/dev/devServer.js +1398 -0
  233. package/dist/dev/devServer.minimal.d.ts +8 -0
  234. package/dist/dev/devServer.minimal.js +122 -0
  235. package/dist/dev/federation-dev.d.ts +14 -0
  236. package/dist/dev/federation-dev.js +69 -0
  237. package/dist/dev/hmr-engine.d.ts +12 -0
  238. package/dist/dev/hmr-engine.js +66 -0
  239. package/dist/dev/hmr-v2.d.ts +40 -0
  240. package/dist/dev/hmr-v2.js +87 -0
  241. package/dist/dev/hmrThrottle.d.ts +13 -0
  242. package/dist/dev/hmrThrottle.js +56 -0
  243. package/dist/dev/overlay/overlay-client.d.ts +7 -0
  244. package/dist/dev/overlay/overlay-client.js +53 -0
  245. package/dist/dev/overlay/overlay-ui.d.ts +17 -0
  246. package/dist/dev/overlay/overlay-ui.js +133 -0
  247. package/dist/dev/preBundler.d.ts +17 -0
  248. package/dist/dev/preBundler.js +343 -0
  249. package/dist/dev/statusHandler.d.ts +11 -0
  250. package/dist/dev/statusHandler.js +44 -0
  251. package/dist/dev/types.d.ts +30 -0
  252. package/dist/dev/types.js +1 -0
  253. package/dist/dev/watcher.d.ts +11 -0
  254. package/dist/dev/watcher.js +40 -0
  255. package/dist/dev-server-manual.d.ts +5 -0
  256. package/dist/dev-server-manual.js +24 -0
  257. package/dist/dev-server.d.ts +25 -0
  258. package/dist/dev-server.js +255 -0
  259. package/dist/env/api.d.ts +27 -0
  260. package/dist/env/api.js +36 -0
  261. package/dist/fix/ast-transforms.d.ts +81 -0
  262. package/dist/fix/ast-transforms.js +449 -0
  263. package/dist/hmr/classifier.d.ts +51 -0
  264. package/dist/hmr/classifier.js +232 -0
  265. package/dist/hmr/index.d.ts +5 -0
  266. package/dist/hmr/index.js +5 -0
  267. package/dist/hmr/overlay.d.ts +39 -0
  268. package/dist/hmr/overlay.js +285 -0
  269. package/dist/index.d.ts +46 -0
  270. package/dist/index.js +57 -0
  271. package/dist/init/bootstrap.d.ts +1 -0
  272. package/dist/init/bootstrap.js +106 -0
  273. package/dist/init/index.d.ts +1 -0
  274. package/dist/init/index.js +74 -0
  275. package/dist/init/templates.d.ts +2 -0
  276. package/dist/init/templates.js +227 -0
  277. package/dist/main.d.ts +1 -0
  278. package/dist/main.js +3 -0
  279. package/dist/marketplace/client.d.ts +25 -0
  280. package/dist/marketplace/client.js +73 -0
  281. package/dist/marketplace/db.d.ts +24 -0
  282. package/dist/marketplace/db.js +57 -0
  283. package/dist/marketplace/plugin-adapter.d.ts +14 -0
  284. package/dist/marketplace/plugin-adapter.js +85 -0
  285. package/dist/marketplace/server.d.ts +66 -0
  286. package/dist/marketplace/server.js +97 -0
  287. package/dist/meta-frameworks/base-router.d.ts +63 -0
  288. package/dist/meta-frameworks/base-router.js +259 -0
  289. package/dist/meta-frameworks/index.d.ts +8 -0
  290. package/dist/meta-frameworks/index.js +8 -0
  291. package/dist/meta-frameworks/nextjs/router.d.ts +35 -0
  292. package/dist/meta-frameworks/nextjs/router.js +176 -0
  293. package/dist/meta-frameworks/nuxt/router.d.ts +22 -0
  294. package/dist/meta-frameworks/nuxt/router.js +84 -0
  295. package/dist/meta-frameworks/remix/router.d.ts +28 -0
  296. package/dist/meta-frameworks/remix/router.js +136 -0
  297. package/dist/meta-frameworks/ssr/react-renderer.d.ts +24 -0
  298. package/dist/meta-frameworks/ssr/react-renderer.js +53 -0
  299. package/dist/meta-frameworks/ssr/server.d.ts +92 -0
  300. package/dist/meta-frameworks/ssr/server.js +312 -0
  301. package/dist/meta-frameworks/ssr/vue-renderer.d.ts +11 -0
  302. package/dist/meta-frameworks/ssr/vue-renderer.js +35 -0
  303. package/dist/meta-frameworks/types.d.ts +76 -0
  304. package/dist/meta-frameworks/types.js +5 -0
  305. package/dist/migrate/analyzer.d.ts +46 -0
  306. package/dist/migrate/analyzer.js +254 -0
  307. package/dist/migrate/cli.d.ts +10 -0
  308. package/dist/migrate/cli.js +63 -0
  309. package/dist/migrate/generator.d.ts +32 -0
  310. package/dist/migrate/generator.js +214 -0
  311. package/dist/native/cache.d.ts +86 -0
  312. package/dist/native/cache.js +154 -0
  313. package/dist/native/index.d.ts +4 -0
  314. package/dist/native/index.js +56 -0
  315. package/dist/native/orchestrator.d.ts +78 -0
  316. package/dist/native/orchestrator.js +107 -0
  317. package/dist/native/wasm.d.ts +22 -0
  318. package/dist/native/wasm.js +33 -0
  319. package/dist/nuclie_native.node +0 -0
  320. package/dist/plugins/assets.d.ts +2 -0
  321. package/dist/plugins/assets.js +50 -0
  322. package/dist/plugins/compat/adapter.d.ts +33 -0
  323. package/dist/plugins/compat/adapter.js +102 -0
  324. package/dist/plugins/compat/deferred.d.ts +17 -0
  325. package/dist/plugins/compat/deferred.js +28 -0
  326. package/dist/plugins/compat/index.d.ts +11 -0
  327. package/dist/plugins/compat/index.js +11 -0
  328. package/dist/plugins/compat/rollup.d.ts +19 -0
  329. package/dist/plugins/compat/rollup.js +76 -0
  330. package/dist/plugins/compat/tier-a.d.ts +60 -0
  331. package/dist/plugins/compat/tier-a.js +132 -0
  332. package/dist/plugins/compat/tier-b.d.ts +34 -0
  333. package/dist/plugins/compat/tier-b.js +90 -0
  334. package/dist/plugins/compat/tier-c.d.ts +48 -0
  335. package/dist/plugins/compat/tier-c.js +49 -0
  336. package/dist/plugins/compat/webpack.d.ts +26 -0
  337. package/dist/plugins/compat/webpack.js +77 -0
  338. package/dist/plugins/core/linker.d.ts +8 -0
  339. package/dist/plugins/core/linker.js +51 -0
  340. package/dist/plugins/css/bootstrap.d.ts +25 -0
  341. package/dist/plugins/css/bootstrap.js +110 -0
  342. package/dist/plugins/css/bulma.d.ts +23 -0
  343. package/dist/plugins/css/bulma.js +75 -0
  344. package/dist/plugins/css/css-modules.d.ts +19 -0
  345. package/dist/plugins/css/css-modules.js +96 -0
  346. package/dist/plugins/css/css-optimizer.d.ts +43 -0
  347. package/dist/plugins/css/css-optimizer.js +155 -0
  348. package/dist/plugins/css/emotion.d.ts +35 -0
  349. package/dist/plugins/css/emotion.js +109 -0
  350. package/dist/plugins/css/less.d.ts +6 -0
  351. package/dist/plugins/css/less.js +33 -0
  352. package/dist/plugins/css/material.d.ts +24 -0
  353. package/dist/plugins/css/material.js +97 -0
  354. package/dist/plugins/css/postcss.d.ts +2 -0
  355. package/dist/plugins/css/postcss.js +96 -0
  356. package/dist/plugins/css/sass.d.ts +6 -0
  357. package/dist/plugins/css/sass.js +36 -0
  358. package/dist/plugins/css/styled-components.d.ts +33 -0
  359. package/dist/plugins/css/styled-components.js +94 -0
  360. package/dist/plugins/css/stylus.d.ts +6 -0
  361. package/dist/plugins/css/stylus.js +41 -0
  362. package/dist/plugins/css/tailwind.d.ts +9 -0
  363. package/dist/plugins/css/tailwind.js +132 -0
  364. package/dist/plugins/css-in-js.d.ts +10 -0
  365. package/dist/plugins/css-in-js.js +24 -0
  366. package/dist/plugins/edge.d.ts +7 -0
  367. package/dist/plugins/edge.js +38 -0
  368. package/dist/plugins/esbuildAdapter.d.ts +3 -0
  369. package/dist/plugins/esbuildAdapter.js +77 -0
  370. package/dist/plugins/federation_next.d.ts +16 -0
  371. package/dist/plugins/federation_next.js +78 -0
  372. package/dist/plugins/framework-plugins.d.ts +3 -0
  373. package/dist/plugins/framework-plugins.js +40 -0
  374. package/dist/plugins/frameworks/index.d.ts +8 -0
  375. package/dist/plugins/frameworks/index.js +10 -0
  376. package/dist/plugins/frameworks/lit.d.ts +36 -0
  377. package/dist/plugins/frameworks/lit.js +114 -0
  378. package/dist/plugins/frameworks/react.d.ts +38 -0
  379. package/dist/plugins/frameworks/react.js +144 -0
  380. package/dist/plugins/frameworks/solid.d.ts +36 -0
  381. package/dist/plugins/frameworks/solid.js +108 -0
  382. package/dist/plugins/frameworks/svelte.d.ts +43 -0
  383. package/dist/plugins/frameworks/svelte.js +144 -0
  384. package/dist/plugins/frameworks/vue.d.ts +43 -0
  385. package/dist/plugins/frameworks/vue.js +240 -0
  386. package/dist/plugins/governance.d.ts +36 -0
  387. package/dist/plugins/governance.js +50 -0
  388. package/dist/plugins/html.d.ts +2 -0
  389. package/dist/plugins/html.js +49 -0
  390. package/dist/plugins/implementations/analytics.d.ts +7 -0
  391. package/dist/plugins/implementations/analytics.js +15 -0
  392. package/dist/plugins/implementations/apollo.d.ts +7 -0
  393. package/dist/plugins/implementations/apollo.js +15 -0
  394. package/dist/plugins/implementations/audit.d.ts +7 -0
  395. package/dist/plugins/implementations/audit.js +30 -0
  396. package/dist/plugins/implementations/auto-fix.d.ts +7 -0
  397. package/dist/plugins/implementations/auto-fix.js +15 -0
  398. package/dist/plugins/implementations/avif.d.ts +7 -0
  399. package/dist/plugins/implementations/avif.js +27 -0
  400. package/dist/plugins/implementations/babel.d.ts +7 -0
  401. package/dist/plugins/implementations/babel.js +15 -0
  402. package/dist/plugins/implementations/bundle-analyzer.d.ts +7 -0
  403. package/dist/plugins/implementations/bundle-analyzer.js +21 -0
  404. package/dist/plugins/implementations/bundle-size.d.ts +7 -0
  405. package/dist/plugins/implementations/bundle-size.js +21 -0
  406. package/dist/plugins/implementations/checker.d.ts +7 -0
  407. package/dist/plugins/implementations/checker.js +15 -0
  408. package/dist/plugins/implementations/chromatic.d.ts +7 -0
  409. package/dist/plugins/implementations/chromatic.js +15 -0
  410. package/dist/plugins/implementations/cloudflare.d.ts +7 -0
  411. package/dist/plugins/implementations/cloudflare.js +15 -0
  412. package/dist/plugins/implementations/code-split.d.ts +7 -0
  413. package/dist/plugins/implementations/code-split.js +21 -0
  414. package/dist/plugins/implementations/compression.d.ts +7 -0
  415. package/dist/plugins/implementations/compression.js +21 -0
  416. package/dist/plugins/implementations/copy.d.ts +7 -0
  417. package/dist/plugins/implementations/copy.js +15 -0
  418. package/dist/plugins/implementations/critical-css.d.ts +7 -0
  419. package/dist/plugins/implementations/critical-css.js +25 -0
  420. package/dist/plugins/implementations/crypto-sign.d.ts +7 -0
  421. package/dist/plugins/implementations/crypto-sign.js +30 -0
  422. package/dist/plugins/implementations/css-framework.d.ts +7 -0
  423. package/dist/plugins/implementations/css-framework.js +25 -0
  424. package/dist/plugins/implementations/css.d.ts +7 -0
  425. package/dist/plugins/implementations/css.js +25 -0
  426. package/dist/plugins/implementations/cypress.d.ts +7 -0
  427. package/dist/plugins/implementations/cypress.js +15 -0
  428. package/dist/plugins/implementations/determinism.d.ts +7 -0
  429. package/dist/plugins/implementations/determinism.js +21 -0
  430. package/dist/plugins/implementations/edge.d.ts +8 -0
  431. package/dist/plugins/implementations/edge.js +35 -0
  432. package/dist/plugins/implementations/env-validation.d.ts +7 -0
  433. package/dist/plugins/implementations/env-validation.js +30 -0
  434. package/dist/plugins/implementations/eslint.d.ts +7 -0
  435. package/dist/plugins/implementations/eslint.js +15 -0
  436. package/dist/plugins/implementations/federation.d.ts +7 -0
  437. package/dist/plugins/implementations/federation.js +15 -0
  438. package/dist/plugins/implementations/file.d.ts +7 -0
  439. package/dist/plugins/implementations/file.js +27 -0
  440. package/dist/plugins/implementations/font-subset.d.ts +7 -0
  441. package/dist/plugins/implementations/font-subset.js +27 -0
  442. package/dist/plugins/implementations/fonts.d.ts +7 -0
  443. package/dist/plugins/implementations/fonts.js +27 -0
  444. package/dist/plugins/implementations/formatjs.d.ts +7 -0
  445. package/dist/plugins/implementations/formatjs.js +18 -0
  446. package/dist/plugins/implementations/graphql.d.ts +7 -0
  447. package/dist/plugins/implementations/graphql.js +15 -0
  448. package/dist/plugins/implementations/hmr-classify.d.ts +7 -0
  449. package/dist/plugins/implementations/hmr-classify.js +21 -0
  450. package/dist/plugins/implementations/html.d.ts +7 -0
  451. package/dist/plugins/implementations/html.js +15 -0
  452. package/dist/plugins/implementations/i18n.d.ts +7 -0
  453. package/dist/plugins/implementations/i18n.js +15 -0
  454. package/dist/plugins/implementations/icon.d.ts +7 -0
  455. package/dist/plugins/implementations/icon.js +27 -0
  456. package/dist/plugins/implementations/imagemin.d.ts +7 -0
  457. package/dist/plugins/implementations/imagemin.js +27 -0
  458. package/dist/plugins/implementations/inspect.d.ts +7 -0
  459. package/dist/plugins/implementations/inspect.js +15 -0
  460. package/dist/plugins/implementations/jest.d.ts +7 -0
  461. package/dist/plugins/implementations/jest.js +19 -0
  462. package/dist/plugins/implementations/jotai.d.ts +8 -0
  463. package/dist/plugins/implementations/jotai.js +35 -0
  464. package/dist/plugins/implementations/lazy-load.d.ts +7 -0
  465. package/dist/plugins/implementations/lazy-load.js +21 -0
  466. package/dist/plugins/implementations/legacy.d.ts +7 -0
  467. package/dist/plugins/implementations/legacy.js +15 -0
  468. package/dist/plugins/implementations/lighthouse.d.ts +7 -0
  469. package/dist/plugins/implementations/lighthouse.js +21 -0
  470. package/dist/plugins/implementations/manifest.d.ts +7 -0
  471. package/dist/plugins/implementations/manifest.js +15 -0
  472. package/dist/plugins/implementations/markdown.d.ts +7 -0
  473. package/dist/plugins/implementations/markdown.js +15 -0
  474. package/dist/plugins/implementations/md.d.ts +7 -0
  475. package/dist/plugins/implementations/md.js +15 -0
  476. package/dist/plugins/implementations/mdx.d.ts +7 -0
  477. package/dist/plugins/implementations/mdx.js +15 -0
  478. package/dist/plugins/implementations/meta-tags.d.ts +7 -0
  479. package/dist/plugins/implementations/meta-tags.js +15 -0
  480. package/dist/plugins/implementations/mini-css-extract-plugin.d.ts +7 -0
  481. package/dist/plugins/implementations/mini-css-extract-plugin.js +25 -0
  482. package/dist/plugins/implementations/mobx.d.ts +8 -0
  483. package/dist/plugins/implementations/mobx.js +35 -0
  484. package/dist/plugins/implementations/mock.d.ts +7 -0
  485. package/dist/plugins/implementations/mock.js +15 -0
  486. package/dist/plugins/implementations/msw.d.ts +7 -0
  487. package/dist/plugins/implementations/msw.js +19 -0
  488. package/dist/plugins/implementations/nanostores.d.ts +7 -0
  489. package/dist/plugins/implementations/nanostores.js +18 -0
  490. package/dist/plugins/implementations/netlify.d.ts +7 -0
  491. package/dist/plugins/implementations/netlify.js +15 -0
  492. package/dist/plugins/implementations/observability.d.ts +7 -0
  493. package/dist/plugins/implementations/observability.js +15 -0
  494. package/dist/plugins/implementations/og-image.d.ts +7 -0
  495. package/dist/plugins/implementations/og-image.js +15 -0
  496. package/dist/plugins/implementations/pages.d.ts +7 -0
  497. package/dist/plugins/implementations/pages.js +15 -0
  498. package/dist/plugins/implementations/pinia.d.ts +8 -0
  499. package/dist/plugins/implementations/pinia.js +35 -0
  500. package/dist/plugins/implementations/plausible.d.ts +7 -0
  501. package/dist/plugins/implementations/plausible.js +18 -0
  502. package/dist/plugins/implementations/playwright.d.ts +7 -0
  503. package/dist/plugins/implementations/playwright.js +15 -0
  504. package/dist/plugins/implementations/postcss.d.ts +7 -0
  505. package/dist/plugins/implementations/postcss.js +25 -0
  506. package/dist/plugins/implementations/posthog.d.ts +7 -0
  507. package/dist/plugins/implementations/posthog.js +18 -0
  508. package/dist/plugins/implementations/prebundle.d.ts +7 -0
  509. package/dist/plugins/implementations/prebundle.js +21 -0
  510. package/dist/plugins/implementations/prefetch.d.ts +7 -0
  511. package/dist/plugins/implementations/prefetch.js +21 -0
  512. package/dist/plugins/implementations/preload.d.ts +7 -0
  513. package/dist/plugins/implementations/preload.js +21 -0
  514. package/dist/plugins/implementations/prisma.d.ts +7 -0
  515. package/dist/plugins/implementations/prisma.js +15 -0
  516. package/dist/plugins/implementations/pwa.d.ts +7 -0
  517. package/dist/plugins/implementations/pwa.js +15 -0
  518. package/dist/plugins/implementations/qr-code.d.ts +7 -0
  519. package/dist/plugins/implementations/qr-code.js +19 -0
  520. package/dist/plugins/implementations/razorpay.d.ts +7 -0
  521. package/dist/plugins/implementations/razorpay.js +19 -0
  522. package/dist/plugins/implementations/react-i18next.d.ts +7 -0
  523. package/dist/plugins/implementations/react-i18next.js +18 -0
  524. package/dist/plugins/implementations/react-query.d.ts +8 -0
  525. package/dist/plugins/implementations/react-query.js +35 -0
  526. package/dist/plugins/implementations/react.d.ts +8 -0
  527. package/dist/plugins/implementations/react.js +35 -0
  528. package/dist/plugins/implementations/recoil.d.ts +8 -0
  529. package/dist/plugins/implementations/recoil.js +35 -0
  530. package/dist/plugins/implementations/redux.d.ts +8 -0
  531. package/dist/plugins/implementations/redux.js +35 -0
  532. package/dist/plugins/implementations/relay.d.ts +7 -0
  533. package/dist/plugins/implementations/relay.js +15 -0
  534. package/dist/plugins/implementations/repro.d.ts +7 -0
  535. package/dist/plugins/implementations/repro.js +15 -0
  536. package/dist/plugins/implementations/robots.d.ts +7 -0
  537. package/dist/plugins/implementations/robots.js +15 -0
  538. package/dist/plugins/implementations/root-cause.d.ts +7 -0
  539. package/dist/plugins/implementations/root-cause.js +15 -0
  540. package/dist/plugins/implementations/rss.d.ts +7 -0
  541. package/dist/plugins/implementations/rss.js +15 -0
  542. package/dist/plugins/implementations/sass.d.ts +7 -0
  543. package/dist/plugins/implementations/sass.js +25 -0
  544. package/dist/plugins/implementations/sentry.d.ts +7 -0
  545. package/dist/plugins/implementations/sentry.js +15 -0
  546. package/dist/plugins/implementations/sitemap.d.ts +7 -0
  547. package/dist/plugins/implementations/sitemap.js +15 -0
  548. package/dist/plugins/implementations/solid.d.ts +8 -0
  549. package/dist/plugins/implementations/solid.js +35 -0
  550. package/dist/plugins/implementations/sprite.d.ts +7 -0
  551. package/dist/plugins/implementations/sprite.js +27 -0
  552. package/dist/plugins/implementations/ssr.d.ts +8 -0
  553. package/dist/plugins/implementations/ssr.js +35 -0
  554. package/dist/plugins/implementations/storybook.d.ts +7 -0
  555. package/dist/plugins/implementations/storybook.js +15 -0
  556. package/dist/plugins/implementations/stripe.d.ts +7 -0
  557. package/dist/plugins/implementations/stripe.js +19 -0
  558. package/dist/plugins/implementations/style.d.ts +7 -0
  559. package/dist/plugins/implementations/style.js +25 -0
  560. package/dist/plugins/implementations/svelte.d.ts +8 -0
  561. package/dist/plugins/implementations/svelte.js +35 -0
  562. package/dist/plugins/implementations/tailwind.d.ts +7 -0
  563. package/dist/plugins/implementations/tailwind.js +25 -0
  564. package/dist/plugins/implementations/tanstack-query.d.ts +7 -0
  565. package/dist/plugins/implementations/tanstack-query.js +18 -0
  566. package/dist/plugins/implementations/terser.d.ts +7 -0
  567. package/dist/plugins/implementations/terser.js +21 -0
  568. package/dist/plugins/implementations/testing-library-react.d.ts +7 -0
  569. package/dist/plugins/implementations/testing-library-react.js +19 -0
  570. package/dist/plugins/implementations/testing-library.d.ts +7 -0
  571. package/dist/plugins/implementations/testing-library.js +15 -0
  572. package/dist/plugins/implementations/tree-shake.d.ts +7 -0
  573. package/dist/plugins/implementations/tree-shake.js +21 -0
  574. package/dist/plugins/implementations/trpc.d.ts +7 -0
  575. package/dist/plugins/implementations/trpc.js +15 -0
  576. package/dist/plugins/implementations/ts.d.ts +7 -0
  577. package/dist/plugins/implementations/ts.js +15 -0
  578. package/dist/plugins/implementations/typescript.d.ts +7 -0
  579. package/dist/plugins/implementations/typescript.js +15 -0
  580. package/dist/plugins/implementations/unocss.d.ts +7 -0
  581. package/dist/plugins/implementations/unocss.js +25 -0
  582. package/dist/plugins/implementations/upi-payment.d.ts +7 -0
  583. package/dist/plugins/implementations/upi-payment.js +19 -0
  584. package/dist/plugins/implementations/url.d.ts +7 -0
  585. package/dist/plugins/implementations/url.js +27 -0
  586. package/dist/plugins/implementations/vercel.d.ts +7 -0
  587. package/dist/plugins/implementations/vercel.js +15 -0
  588. package/dist/plugins/implementations/visualizer.d.ts +7 -0
  589. package/dist/plugins/implementations/visualizer.js +15 -0
  590. package/dist/plugins/implementations/vite-svg-loader.d.ts +7 -0
  591. package/dist/plugins/implementations/vite-svg-loader.js +27 -0
  592. package/dist/plugins/implementations/vitest.d.ts +7 -0
  593. package/dist/plugins/implementations/vitest.js +15 -0
  594. package/dist/plugins/implementations/vue-i18n-next.d.ts +7 -0
  595. package/dist/plugins/implementations/vue-i18n-next.js +18 -0
  596. package/dist/plugins/implementations/vue-i18n.d.ts +7 -0
  597. package/dist/plugins/implementations/vue-i18n.js +15 -0
  598. package/dist/plugins/implementations/vue-layouts.d.ts +8 -0
  599. package/dist/plugins/implementations/vue-layouts.js +35 -0
  600. package/dist/plugins/implementations/vue.d.ts +8 -0
  601. package/dist/plugins/implementations/vue.js +35 -0
  602. package/dist/plugins/implementations/vuex.d.ts +8 -0
  603. package/dist/plugins/implementations/vuex.js +35 -0
  604. package/dist/plugins/implementations/wasm-sandbox.d.ts +7 -0
  605. package/dist/plugins/implementations/wasm-sandbox.js +30 -0
  606. package/dist/plugins/implementations/webp.d.ts +7 -0
  607. package/dist/plugins/implementations/webp.js +27 -0
  608. package/dist/plugins/implementations/windicss.d.ts +7 -0
  609. package/dist/plugins/implementations/windicss.js +25 -0
  610. package/dist/plugins/implementations/workbox.d.ts +7 -0
  611. package/dist/plugins/implementations/workbox.js +15 -0
  612. package/dist/plugins/implementations/xstate.d.ts +7 -0
  613. package/dist/plugins/implementations/xstate.js +18 -0
  614. package/dist/plugins/implementations/zod.d.ts +7 -0
  615. package/dist/plugins/implementations/zod.js +15 -0
  616. package/dist/plugins/implementations/zustand-devtools.d.ts +7 -0
  617. package/dist/plugins/implementations/zustand-devtools.js +18 -0
  618. package/dist/plugins/implementations/zustand.d.ts +8 -0
  619. package/dist/plugins/implementations/zustand.js +35 -0
  620. package/dist/plugins/index.d.ts +49 -0
  621. package/dist/plugins/index.js +117 -0
  622. package/dist/plugins/js-transform.d.ts +2 -0
  623. package/dist/plugins/js-transform.js +49 -0
  624. package/dist/plugins/json.d.ts +2 -0
  625. package/dist/plugins/json.js +34 -0
  626. package/dist/plugins/pluginWorker.mjs +95 -0
  627. package/dist/plugins/ported/adapter.d.ts +92 -0
  628. package/dist/plugins/ported/adapter.js +226 -0
  629. package/dist/plugins/registry.d.ts +51 -0
  630. package/dist/plugins/registry.js +151 -0
  631. package/dist/plugins/reporter.d.ts +5 -0
  632. package/dist/plugins/reporter.js +47 -0
  633. package/dist/plugins/samplePlugin.mjs +4 -0
  634. package/dist/plugins/sandbox.d.ts +12 -0
  635. package/dist/plugins/sandbox.js +126 -0
  636. package/dist/plugins/signer.d.ts +53 -0
  637. package/dist/plugins/signer.js +109 -0
  638. package/dist/plugins/static.d.ts +2 -0
  639. package/dist/plugins/static.js +47 -0
  640. package/dist/plugins/svelte.d.ts +7 -0
  641. package/dist/plugins/svelte.js +27 -0
  642. package/dist/plugins/testSandbox.d.ts +1 -0
  643. package/dist/plugins/testSandbox.js +14 -0
  644. package/dist/plugins/verify.d.ts +3 -0
  645. package/dist/plugins/verify.js +113 -0
  646. package/dist/plugins/vue.d.ts +7 -0
  647. package/dist/plugins/vue.js +86 -0
  648. package/dist/plugins/wasm-runtime.d.ts +15 -0
  649. package/dist/plugins/wasm-runtime.js +33 -0
  650. package/dist/plugins/wasm.d.ts +5 -0
  651. package/dist/plugins/wasm.js +44 -0
  652. package/dist/polyfills/corejs.d.ts +9 -0
  653. package/dist/polyfills/corejs.js +18 -0
  654. package/dist/presets/core.d.ts +111 -0
  655. package/dist/presets/core.js +239 -0
  656. package/dist/presets/frameworks.d.ts +34 -0
  657. package/dist/presets/frameworks.js +270 -0
  658. package/dist/presets/index.d.ts +8 -0
  659. package/dist/presets/index.js +3 -0
  660. package/dist/presets/infrastructure.d.ts +2 -0
  661. package/dist/presets/infrastructure.js +33 -0
  662. package/dist/presets/spa.d.ts +2 -0
  663. package/dist/presets/spa.js +15 -0
  664. package/dist/presets/ssg.d.ts +2 -0
  665. package/dist/presets/ssg.js +9 -0
  666. package/dist/presets/ssr.d.ts +2 -0
  667. package/dist/presets/ssr.js +13 -0
  668. package/dist/repro/dashboard.d.ts +83 -0
  669. package/dist/repro/dashboard.js +251 -0
  670. package/dist/repro/github.d.ts +26 -0
  671. package/dist/repro/github.js +73 -0
  672. package/dist/resolve/css-precedence.d.ts +16 -0
  673. package/dist/resolve/css-precedence.js +56 -0
  674. package/dist/resolve/graph.d.ts +48 -0
  675. package/dist/resolve/graph.js +232 -0
  676. package/dist/resolve/utils.d.ts +13 -0
  677. package/dist/resolve/utils.js +53 -0
  678. package/dist/runtime/client.d.ts +9 -0
  679. package/dist/runtime/client.js +218 -0
  680. package/dist/runtime/error-overlay.d.ts +15 -0
  681. package/dist/runtime/error-overlay.js +327 -0
  682. package/dist/runtime/federation-fallback.d.ts +67 -0
  683. package/dist/runtime/federation-fallback.js +225 -0
  684. package/dist/runtime/federation.d.ts +27 -0
  685. package/dist/runtime/federation.js +210 -0
  686. package/dist/runtime/federation_runtime.js +90 -0
  687. package/dist/runtime/hmr-client.d.ts +5 -0
  688. package/dist/runtime/hmr-client.js +70 -0
  689. package/dist/security/anomaly.d.ts +41 -0
  690. package/dist/security/anomaly.js +77 -0
  691. package/dist/server/security-headers.d.ts +37 -0
  692. package/dist/server/security-headers.js +110 -0
  693. package/dist/ssr/adapters/edge.d.ts +12 -0
  694. package/dist/ssr/adapters/edge.js +26 -0
  695. package/dist/ssr/adapters/index.d.ts +23 -0
  696. package/dist/ssr/adapters/index.js +58 -0
  697. package/dist/ssr/app-router.d.ts +24 -0
  698. package/dist/ssr/app-router.js +70 -0
  699. package/dist/ssr/edge/handlers.d.ts +24 -0
  700. package/dist/ssr/edge/handlers.js +48 -0
  701. package/dist/ssr/image.d.ts +24 -0
  702. package/dist/ssr/image.js +38 -0
  703. package/dist/ssr/isr.d.ts +14 -0
  704. package/dist/ssr/isr.js +29 -0
  705. package/dist/ssr/rsc.d.ts +19 -0
  706. package/dist/ssr/rsc.js +33 -0
  707. package/dist/ssr/streaming.d.ts +31 -0
  708. package/dist/ssr/streaming.js +78 -0
  709. package/dist/ssr/universal-engine.d.ts +36 -0
  710. package/dist/ssr/universal-engine.js +139 -0
  711. package/dist/templates/manager.d.ts +28 -0
  712. package/dist/templates/manager.js +162 -0
  713. package/dist/templates/starters/angular-spa.d.ts +6 -0
  714. package/dist/templates/starters/angular-spa.js +149 -0
  715. package/dist/templates/starters/edge.d.ts +6 -0
  716. package/dist/templates/starters/edge.js +93 -0
  717. package/dist/templates/starters/fintech.d.ts +6 -0
  718. package/dist/templates/starters/fintech.js +211 -0
  719. package/dist/templates/starters/monorepo.d.ts +6 -0
  720. package/dist/templates/starters/monorepo.js +133 -0
  721. package/dist/templates/starters/nextjs-app.d.ts +13 -0
  722. package/dist/templates/starters/nextjs-app.js +116 -0
  723. package/dist/templates/starters/preact-spa.d.ts +6 -0
  724. package/dist/templates/starters/preact-spa.js +97 -0
  725. package/dist/templates/starters/premium-dashboard.d.ts +6 -0
  726. package/dist/templates/starters/premium-dashboard.js +762 -0
  727. package/dist/templates/starters/react-spa.d.ts +6 -0
  728. package/dist/templates/starters/react-spa.js +152 -0
  729. package/dist/templates/starters/react-ssr.d.ts +6 -0
  730. package/dist/templates/starters/react-ssr.js +190 -0
  731. package/dist/templates/starters/remix-app.d.ts +12 -0
  732. package/dist/templates/starters/remix-app.js +108 -0
  733. package/dist/templates/starters/solid-spa.d.ts +6 -0
  734. package/dist/templates/starters/solid-spa.js +158 -0
  735. package/dist/templates/starters/svelte-spa.d.ts +6 -0
  736. package/dist/templates/starters/svelte-spa.js +147 -0
  737. package/dist/templates/starters/vue-spa.d.ts +6 -0
  738. package/dist/templates/starters/vue-spa.js +136 -0
  739. package/dist/test/api.d.ts +58 -0
  740. package/dist/test/api.js +154 -0
  741. package/dist/test/coverage.d.ts +1 -0
  742. package/dist/test/coverage.js +134 -0
  743. package/dist/test/determinism.d.ts +1 -0
  744. package/dist/test/determinism.js +122 -0
  745. package/dist/test/regression.d.ts +1 -0
  746. package/dist/test/regression.js +30 -0
  747. package/dist/test/runner.d.ts +1 -0
  748. package/dist/test/runner.js +159 -0
  749. package/dist/test-server.d.ts +1 -0
  750. package/dist/test-server.js +22 -0
  751. package/dist/ui/terminal-warnings.d.ts +10 -0
  752. package/dist/ui/terminal-warnings.js +26 -0
  753. package/dist/ui/types.d.ts +13 -0
  754. package/dist/ui/types.js +5 -0
  755. package/dist/ui/warning-detector.d.ts +46 -0
  756. package/dist/ui/warning-detector.js +178 -0
  757. package/dist/ui/warning-library.d.ts +51 -0
  758. package/dist/ui/warning-library.js +283 -0
  759. package/dist/utils/interactive.d.ts +2 -0
  760. package/dist/utils/interactive.js +37 -0
  761. package/dist/utils/logger.d.ts +26 -0
  762. package/dist/utils/logger.js +130 -0
  763. package/dist/utils/path-normalize.d.ts +24 -0
  764. package/dist/utils/path-normalize.js +37 -0
  765. package/dist/visual/chart-generator.d.ts +11 -0
  766. package/dist/visual/chart-generator.js +30 -0
  767. package/dist/visual/client/renderer.d.ts +31 -0
  768. package/dist/visual/client/renderer.js +98 -0
  769. package/dist/visual/federation-editor.d.ts +1 -0
  770. package/dist/visual/federation-editor.js +231 -0
  771. package/dist/visual/graph-engine.d.ts +38 -0
  772. package/dist/visual/graph-engine.js +64 -0
  773. package/dist/visual/graph-ui.d.ts +2 -0
  774. package/dist/visual/graph-ui.js +119 -0
  775. package/dist/visual/graph-visualizer.d.ts +69 -0
  776. package/dist/visual/graph-visualizer.js +282 -0
  777. package/dist/visual/root-cause.d.ts +83 -0
  778. package/dist/visual/root-cause.js +265 -0
  779. package/package.json +169 -0
@@ -0,0 +1,269 @@
1
+ /**
2
+ * Hero Errors System
3
+ *
4
+ * Provides rich, contextual error messages with:
5
+ * - File chain visualization
6
+ * - Graph explanation
7
+ * - Suggested fixes
8
+ * - Related documentation
9
+ *
10
+ * Never show "Build failed" without context.
11
+ */
12
+ import kleur from 'kleur';
13
+ export class HeroError extends Error {
14
+ constructor(context) {
15
+ super(context.message);
16
+ this.name = 'HeroError';
17
+ this.context = context;
18
+ }
19
+ /**
20
+ * Format error for display with rich context
21
+ */
22
+ format() {
23
+ const lines = [];
24
+ const { context } = this;
25
+ const width = process.stdout.columns || 80;
26
+ // 1. Header (Minimal & Urgent)
27
+ lines.push('');
28
+ lines.push(kleur.bgRed().bold().white(` ${context.code} `) + ' ' + kleur.red(context.message));
29
+ lines.push('');
30
+ // 2. Code Frame (The most important part)
31
+ if (context.file && context.line) {
32
+ lines.push(kleur.cyan(`╭─[${context.file}:${context.line}:${context.column || 1}]`));
33
+ try {
34
+ const fs = require('fs');
35
+ if (fs.existsSync(context.file)) {
36
+ const content = fs.readFileSync(context.file, 'utf-8');
37
+ const fileLines = content.split('\n');
38
+ const start = Math.max(0, context.line - 3);
39
+ const end = Math.min(fileLines.length, context.line + 2);
40
+ for (let i = start; i < end; i++) {
41
+ const lineNum = i + 1;
42
+ const isErrorLine = lineNum === context.line;
43
+ const gutter = isErrorLine ? kleur.red(` ${lineNum} │ `) : kleur.dim(` ${lineNum} │ `);
44
+ const code = fileLines[i];
45
+ if (isErrorLine) {
46
+ lines.push(gutter + code);
47
+ if (context.column) {
48
+ // Add pointer
49
+ const padding = ' '.repeat(String(lineNum).length + 3 + context.column - 1);
50
+ lines.push(kleur.red(padding + '^'));
51
+ }
52
+ }
53
+ else {
54
+ lines.push(gutter + kleur.dim(code));
55
+ }
56
+ }
57
+ }
58
+ }
59
+ catch (e) {
60
+ // Ignore code frame errors
61
+ }
62
+ lines.push(kleur.cyan('╰────'));
63
+ lines.push('');
64
+ }
65
+ // 3. Causality & Hints
66
+ if (context.graphExplanation) {
67
+ lines.push(kleur.yellow('Caused by:'));
68
+ lines.push(kleur.dim(` ${context.graphExplanation}`));
69
+ lines.push('');
70
+ }
71
+ if (context.suggestedFix) {
72
+ lines.push(kleur.green('💡 Suggestion:'));
73
+ context.suggestedFix.split('\n').forEach(line => {
74
+ lines.push(` ${line}`);
75
+ });
76
+ lines.push('');
77
+ }
78
+ if (context.relatedDocs && context.relatedDocs.length > 0) {
79
+ lines.push(kleur.blue('📚 Docs: ') + kleur.underline(context.relatedDocs[0]));
80
+ }
81
+ lines.push('');
82
+ return lines.join('\n');
83
+ }
84
+ /**
85
+ * Display error to console
86
+ */
87
+ display() {
88
+ console.error(this.format());
89
+ }
90
+ }
91
+ /**
92
+ * Error Registry - 10 High-Impact Errors
93
+ */
94
+ // 1. Module Not Found
95
+ export function createModuleNotFoundError(modulePath, importedFrom, fileChain) {
96
+ return new HeroError({
97
+ code: 'MODULE_NOT_FOUND',
98
+ message: `Cannot resolve module '${modulePath}'`,
99
+ file: importedFrom,
100
+ fileChain,
101
+ graphExplanation: `The module '${modulePath}' was imported but could not be found in the dependency graph. This breaks the module resolution chain.`,
102
+ suggestedFix: `1. Check if the file exists at: ${modulePath}\n2. Verify the import path is correct\n3. If it's an npm package, run: npm install ${modulePath}\n4. Check your nuclie.config resolve.alias settings`,
103
+ relatedDocs: [
104
+ 'https://nuclie.dev/docs/module-resolution',
105
+ 'https://nuclie.dev/docs/troubleshooting#module-not-found'
106
+ ],
107
+ severity: 'error'
108
+ });
109
+ }
110
+ // 2. Circular Dependency Detected
111
+ export function createCircularDependencyError(cycle) {
112
+ return new HeroError({
113
+ code: 'CIRCULAR_DEPENDENCY',
114
+ message: 'Circular dependency detected in module graph',
115
+ fileChain: cycle,
116
+ graphExplanation: `A circular dependency creates an infinite loop in the module graph. This can cause runtime errors and unpredictable behavior.`,
117
+ suggestedFix: `1. Refactor to break the circular dependency\n2. Extract shared code into a separate module\n3. Use dependency injection or lazy loading\n4. Consider using dynamic imports: import('./module')`,
118
+ relatedDocs: [
119
+ 'https://nuclie.dev/docs/circular-dependencies',
120
+ 'https://nuclie.dev/docs/best-practices#module-design'
121
+ ],
122
+ severity: 'error'
123
+ });
124
+ }
125
+ // 3. CSS Import Failed
126
+ export function createCSSImportError(cssFile, reason, importedFrom) {
127
+ return new HeroError({
128
+ code: 'CSS_IMPORT_FAILED',
129
+ message: `Failed to process CSS file: ${cssFile}`,
130
+ file: cssFile,
131
+ fileChain: importedFrom ? [importedFrom, cssFile] : [cssFile],
132
+ graphExplanation: `CSS files are first-class nodes in Nuclie's dependency graph. This CSS file could not be processed, breaking the graph.`,
133
+ suggestedFix: `1. Check CSS syntax: ${reason}\n2. Verify PostCSS config if using preprocessors\n3. Check for missing @import files\n4. Run: nuclie verify --explain to diagnose`,
134
+ relatedDocs: [
135
+ 'https://nuclie.dev/docs/css-handling',
136
+ 'https://nuclie.dev/docs/postcss-integration'
137
+ ],
138
+ severity: 'error'
139
+ });
140
+ }
141
+ // 4. Framework Adapter Missing
142
+ export function createFrameworkAdapterMissingError(framework) {
143
+ return new HeroError({
144
+ code: 'FRAMEWORK_ADAPTER_MISSING',
145
+ message: `Framework adapter not found: ${framework}`,
146
+ graphExplanation: `Nuclie requires a framework adapter to transform framework-specific code. The adapter for '${framework}' is not installed.`,
147
+ suggestedFix: `1. Install the adapter: npm install @nuclie/framework-${framework.toLowerCase()}\n2. Add to nuclie.config:\n import ${framework.toLowerCase()} from '@nuclie/framework-${framework.toLowerCase()}';\n export default { framework: ${framework.toLowerCase()}() }`,
148
+ relatedDocs: [
149
+ 'https://nuclie.dev/docs/framework-adapters',
150
+ `https://nuclie.dev/docs/frameworks/${framework.toLowerCase()}`
151
+ ],
152
+ severity: 'error'
153
+ });
154
+ }
155
+ // 5. Invalid Config
156
+ export function createInvalidConfigError(configPath, validationErrors) {
157
+ return new HeroError({
158
+ code: 'INVALID_CONFIG',
159
+ message: 'Configuration file is invalid',
160
+ file: configPath,
161
+ graphExplanation: `The nuclie.config file failed validation. This prevents the build from starting.`,
162
+ suggestedFix: `Fix the following validation errors:\n${validationErrors.map((e, i) => `${i + 1}. ${e}`).join('\n')}\n\nRun: nuclie verify --explain for detailed diagnostics`,
163
+ relatedDocs: [
164
+ 'https://nuclie.dev/docs/configuration',
165
+ 'https://nuclie.dev/docs/config-schema'
166
+ ],
167
+ severity: 'error'
168
+ });
169
+ }
170
+ // 6. Build Cache Corrupted
171
+ export function createCacheCorruptedError(cachePath) {
172
+ return new HeroError({
173
+ code: 'CACHE_CORRUPTED',
174
+ message: 'Build cache is corrupted',
175
+ file: cachePath,
176
+ graphExplanation: `The SQLite build cache has become corrupted. This can happen due to interrupted builds or disk errors.`,
177
+ suggestedFix: `1. Delete the cache: rm -rf ${cachePath}\n2. Rebuild: nuclie build\n3. If issue persists, check disk health\n4. Consider disabling cache temporarily: nuclie build --no-cache`,
178
+ relatedDocs: [
179
+ 'https://nuclie.dev/docs/caching',
180
+ 'https://nuclie.dev/docs/troubleshooting#cache-issues'
181
+ ],
182
+ severity: 'warning'
183
+ });
184
+ }
185
+ // 7. HMR Connection Failed
186
+ export function createHMRConnectionError(port, reason) {
187
+ return new HeroError({
188
+ code: 'HMR_CONNECTION_FAILED',
189
+ message: `Hot Module Replacement connection failed on port ${port}`,
190
+ graphExplanation: `The HMR WebSocket connection could not be established. This prevents live updates during development.`,
191
+ suggestedFix: `1. Check if port ${port} is available\n2. Verify firewall settings\n3. Try a different port: nuclie dev --port ${port + 1}\n4. Check browser console for WebSocket errors\n\nReason: ${reason}`,
192
+ relatedDocs: [
193
+ 'https://nuclie.dev/docs/hmr',
194
+ 'https://nuclie.dev/docs/dev-server#troubleshooting'
195
+ ],
196
+ severity: 'warning'
197
+ });
198
+ }
199
+ // 8. Asset Resolution Failed
200
+ export function createAssetResolutionError(assetPath, importedFrom) {
201
+ return new HeroError({
202
+ code: 'ASSET_RESOLUTION_FAILED',
203
+ message: `Cannot resolve asset: ${assetPath}`,
204
+ file: importedFrom,
205
+ fileChain: [importedFrom, assetPath],
206
+ graphExplanation: `Assets (images, fonts, etc.) are tracked in the dependency graph. This asset could not be found.`,
207
+ suggestedFix: `1. Check if file exists: ${assetPath}\n2. Verify the path is correct\n3. Check public directory configuration\n4. Ensure file extension is supported`,
208
+ relatedDocs: [
209
+ 'https://nuclie.dev/docs/assets',
210
+ 'https://nuclie.dev/docs/static-assets'
211
+ ],
212
+ severity: 'error'
213
+ });
214
+ }
215
+ // 9. TypeScript Compilation Error
216
+ export function createTypeScriptError(file, line, column, message, code) {
217
+ return new HeroError({
218
+ code: 'TYPESCRIPT_ERROR',
219
+ message: `TypeScript compilation failed: ${message}`,
220
+ file,
221
+ line,
222
+ column,
223
+ graphExplanation: `TypeScript type checking failed. While Nuclie uses esbuild for fast transpilation, type errors indicate potential runtime issues.`,
224
+ suggestedFix: `1. Fix the type error at ${file}:${line}:${column}\n2. Run: npx tsc --noEmit for full type checking\n3. Check tsconfig.json settings\n4. Error code: ${code}`,
225
+ relatedDocs: [
226
+ 'https://nuclie.dev/docs/typescript',
227
+ `https://www.typescriptlang.org/docs/handbook/error.html#${code}`
228
+ ],
229
+ severity: 'error'
230
+ });
231
+ }
232
+ // 10. Plugin Hook Error
233
+ export function createPluginHookError(pluginName, hookName, error) {
234
+ return new HeroError({
235
+ code: 'PLUGIN_HOOK_ERROR',
236
+ message: `Plugin '${pluginName}' failed in '${hookName}' hook`,
237
+ graphExplanation: `A plugin hook threw an error during the build process. This indicates a bug in the plugin or incompatibility.`,
238
+ suggestedFix: `1. Check plugin version compatibility\n2. Review plugin configuration\n3. Try disabling the plugin temporarily\n4. Report issue to plugin author\n\nOriginal error: ${error.message}`,
239
+ relatedDocs: [
240
+ 'https://nuclie.dev/docs/plugins',
241
+ 'https://nuclie.dev/docs/plugin-api'
242
+ ],
243
+ severity: 'error',
244
+ stack: error.stack
245
+ });
246
+ }
247
+ /**
248
+ * Wrap any error in a HeroError with context
249
+ */
250
+ export function wrapError(error, context) {
251
+ if (error instanceof HeroError) {
252
+ return error;
253
+ }
254
+ return new HeroError({
255
+ code: 'UNKNOWN_ERROR',
256
+ message: error.message,
257
+ stack: error.stack,
258
+ severity: 'error',
259
+ suggestedFix: 'This is an unexpected error. Please report it to: https://github.com/Avinash-1994/nuclie/issues',
260
+ relatedDocs: ['https://nuclie.dev/docs/troubleshooting'],
261
+ ...context
262
+ });
263
+ }
264
+ /**
265
+ * Print a Hero Error to the console
266
+ */
267
+ export function printHeroError(error) {
268
+ error.display();
269
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Framework Detector
3
+ * Automatically detects which framework(s) are being used in the project
4
+ */
5
+ export type Framework = 'react' | 'vue' | 'svelte' | 'angular' | 'solid' | 'preact' | 'qwik' | 'lit' | 'astro' | 'next' | 'nuxt' | 'remix' | 'vanilla';
6
+ export interface FrameworkInfo {
7
+ name: Framework;
8
+ version?: string;
9
+ detected: boolean;
10
+ confidence: number;
11
+ }
12
+ export declare class FrameworkDetector {
13
+ private root;
14
+ private packageJson;
15
+ constructor(root: string);
16
+ detect(): Promise<FrameworkInfo[]>;
17
+ detectPrimary(): Promise<Framework>;
18
+ getFrameworkVersion(framework: Framework): Promise<string | undefined>;
19
+ }
20
+ export declare function detectFramework(root: string): Promise<Framework>;
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Framework Detector
3
+ * Automatically detects which framework(s) are being used in the project
4
+ */
5
+ import fs from 'fs/promises';
6
+ import path from 'path';
7
+ export class FrameworkDetector {
8
+ constructor(root) {
9
+ this.root = root;
10
+ }
11
+ async detect() {
12
+ // Read package.json
13
+ try {
14
+ const pkgPath = path.join(this.root, 'package.json');
15
+ const content = await fs.readFile(pkgPath, 'utf-8');
16
+ this.packageJson = JSON.parse(content);
17
+ }
18
+ catch (error) {
19
+ return [{ name: 'vanilla', detected: true, confidence: 1.0 }];
20
+ }
21
+ const frameworks = [];
22
+ const deps = {
23
+ ...this.packageJson.dependencies,
24
+ ...this.packageJson.devDependencies
25
+ };
26
+ // Detect frameworks based on dependencies
27
+ // Meta-frameworks first (they include their base framework)
28
+ if (deps['next']) {
29
+ frameworks.push({
30
+ name: 'next',
31
+ version: deps['next'],
32
+ detected: true,
33
+ confidence: 1.0
34
+ });
35
+ }
36
+ if (deps['nuxt']) {
37
+ frameworks.push({
38
+ name: 'nuxt',
39
+ version: deps['nuxt'],
40
+ detected: true,
41
+ confidence: 1.0
42
+ });
43
+ }
44
+ if (deps['@remix-run/react']) {
45
+ frameworks.push({
46
+ name: 'remix',
47
+ version: deps['@remix-run/react'],
48
+ detected: true,
49
+ confidence: 1.0
50
+ });
51
+ }
52
+ if (deps['astro']) {
53
+ frameworks.push({
54
+ name: 'astro',
55
+ version: deps['astro'],
56
+ detected: true,
57
+ confidence: 1.0
58
+ });
59
+ }
60
+ // Base frameworks
61
+ if (deps['react'] && !frameworks.some(f => f.name === 'next' || f.name === 'remix')) {
62
+ frameworks.push({
63
+ name: 'react',
64
+ version: deps['react'],
65
+ detected: true,
66
+ confidence: 1.0
67
+ });
68
+ }
69
+ if (deps['vue'] && !frameworks.some(f => f.name === 'nuxt')) {
70
+ frameworks.push({
71
+ name: 'vue',
72
+ version: deps['vue'],
73
+ detected: true,
74
+ confidence: 1.0
75
+ });
76
+ }
77
+ if (deps['svelte']) {
78
+ frameworks.push({
79
+ name: 'svelte',
80
+ version: deps['svelte'],
81
+ detected: true,
82
+ confidence: 1.0
83
+ });
84
+ }
85
+ if (deps['@angular/core']) {
86
+ frameworks.push({
87
+ name: 'angular',
88
+ version: deps['@angular/core'],
89
+ detected: true,
90
+ confidence: 1.0
91
+ });
92
+ }
93
+ if (deps['solid-js']) {
94
+ frameworks.push({
95
+ name: 'solid',
96
+ version: deps['solid-js'],
97
+ detected: true,
98
+ confidence: 1.0
99
+ });
100
+ }
101
+ if (deps['preact']) {
102
+ frameworks.push({
103
+ name: 'preact',
104
+ version: deps['preact'],
105
+ detected: true,
106
+ confidence: 1.0
107
+ });
108
+ }
109
+ if (deps['qwik'] || deps['@builder.io/qwik']) {
110
+ frameworks.push({
111
+ name: 'qwik',
112
+ version: deps['qwik'] || deps['@builder.io/qwik'],
113
+ detected: true,
114
+ confidence: 1.0
115
+ });
116
+ }
117
+ if (deps['lit']) {
118
+ frameworks.push({
119
+ name: 'lit',
120
+ version: deps['lit'],
121
+ detected: true,
122
+ confidence: 1.0
123
+ });
124
+ }
125
+ // If no framework detected, it's vanilla JS/TS
126
+ if (frameworks.length === 0) {
127
+ frameworks.push({
128
+ name: 'vanilla',
129
+ detected: true,
130
+ confidence: 1.0
131
+ });
132
+ }
133
+ return frameworks;
134
+ }
135
+ async detectPrimary() {
136
+ const frameworks = await this.detect();
137
+ // Return the first detected framework (highest priority)
138
+ return frameworks[0]?.name || 'vanilla';
139
+ }
140
+ async getFrameworkVersion(framework) {
141
+ const frameworks = await this.detect();
142
+ return frameworks.find(f => f.name === framework)?.version;
143
+ }
144
+ }
145
+ export async function detectFramework(root) {
146
+ const detector = new FrameworkDetector(root);
147
+ return detector.detectPrimary();
148
+ }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * JavaScript Graph Analyzer (for benchmarking against Rust)
3
+ *
4
+ * Pure TypeScript implementation of graph algorithms
5
+ * Used to measure performance gains from Rust native module
6
+ */
7
+ export interface CircularDependency {
8
+ cycle: string[];
9
+ entryPoint: string;
10
+ }
11
+ export interface GraphAnalysisResult {
12
+ hasCycles: boolean;
13
+ cycles: CircularDependency[];
14
+ orphanedNodes: string[];
15
+ entryPoints: string[];
16
+ totalNodes: number;
17
+ totalEdges: number;
18
+ }
19
+ export declare class JSGraphAnalyzer {
20
+ private nodes;
21
+ addNode(id: string, dependencies: string[]): void;
22
+ /**
23
+ * Detect circular dependencies using DFS
24
+ * Time complexity: O(V + E)
25
+ */
26
+ /**
27
+ * Detect circular dependencies using Iterative DFS
28
+ * Time complexity: O(V + E)
29
+ *
30
+ * Rewritten to be Iterative to avoid Stack Overflow on large graphs.
31
+ * Complies with "No Recursive Traversal" rule.
32
+ */
33
+ detectCycles(): CircularDependency[];
34
+ /**
35
+ * Find orphaned nodes using BFS
36
+ * Time complexity: O(V + E)
37
+ */
38
+ findOrphanedNodes(entryPoints: string[]): string[];
39
+ /**
40
+ * Topological sort using Kahn's algorithm
41
+ * Time complexity: O(V + E)
42
+ */
43
+ topologicalSort(): string[] | null;
44
+ /**
45
+ * Complete graph analysis
46
+ */
47
+ analyze(entryPoints: string[]): GraphAnalysisResult;
48
+ nodeCount(): number;
49
+ edgeCount(): number;
50
+ clear(): void;
51
+ }
@@ -0,0 +1,178 @@
1
+ /**
2
+ * JavaScript Graph Analyzer (for benchmarking against Rust)
3
+ *
4
+ * Pure TypeScript implementation of graph algorithms
5
+ * Used to measure performance gains from Rust native module
6
+ */
7
+ export class JSGraphAnalyzer {
8
+ constructor() {
9
+ this.nodes = new Map();
10
+ }
11
+ addNode(id, dependencies) {
12
+ this.nodes.set(id, dependencies);
13
+ }
14
+ /**
15
+ * Detect circular dependencies using DFS
16
+ * Time complexity: O(V + E)
17
+ */
18
+ /**
19
+ * Detect circular dependencies using Iterative DFS
20
+ * Time complexity: O(V + E)
21
+ *
22
+ * Rewritten to be Iterative to avoid Stack Overflow on large graphs.
23
+ * Complies with "No Recursive Traversal" rule.
24
+ */
25
+ detectCycles() {
26
+ const cycles = [];
27
+ const visited = new Set();
28
+ const onStack = new Set();
29
+ const path = [];
30
+ // Stack mimics the recursion: { node, childIndex }
31
+ // Using explicit stack allows scaling to heap limits instead of stack limits
32
+ const stack = [];
33
+ for (const startNode of this.nodes.keys()) {
34
+ if (visited.has(startNode))
35
+ continue;
36
+ // Start DFS
37
+ stack.push({ node: startNode, childIndex: 0 });
38
+ visited.add(startNode);
39
+ onStack.add(startNode);
40
+ path.push(startNode);
41
+ while (stack.length > 0) {
42
+ const peek = stack[stack.length - 1];
43
+ const { node, childIndex } = peek;
44
+ const deps = this.nodes.get(node) || [];
45
+ if (childIndex < deps.length) {
46
+ // Process next child
47
+ peek.childIndex++; // Move to next child for when we return
48
+ const dep = deps[childIndex];
49
+ if (!visited.has(dep)) {
50
+ visited.add(dep);
51
+ onStack.add(dep);
52
+ path.push(dep);
53
+ stack.push({ node: dep, childIndex: 0 });
54
+ }
55
+ else if (onStack.has(dep)) {
56
+ // Cycle detected
57
+ const cycleStart = path.indexOf(dep);
58
+ if (cycleStart !== -1) {
59
+ cycles.push({
60
+ cycle: path.slice(cycleStart),
61
+ entryPoint: dep
62
+ });
63
+ }
64
+ }
65
+ }
66
+ else {
67
+ // Finished processing all children
68
+ onStack.delete(node);
69
+ path.pop();
70
+ stack.pop();
71
+ }
72
+ }
73
+ }
74
+ return cycles;
75
+ }
76
+ // Removed recursive dfsDetectCycle helper
77
+ /**
78
+ * Find orphaned nodes using BFS
79
+ * Time complexity: O(V + E)
80
+ */
81
+ findOrphanedNodes(entryPoints) {
82
+ const reachable = new Set();
83
+ const queue = [...entryPoints];
84
+ // BFS from all entry points
85
+ for (const entry of entryPoints) {
86
+ reachable.add(entry);
87
+ }
88
+ while (queue.length > 0) {
89
+ const node = queue.shift();
90
+ const deps = this.nodes.get(node) || [];
91
+ for (const dep of deps) {
92
+ if (!reachable.has(dep)) {
93
+ reachable.add(dep);
94
+ queue.push(dep);
95
+ }
96
+ }
97
+ }
98
+ // Find orphaned nodes
99
+ const orphaned = [];
100
+ for (const node of this.nodes.keys()) {
101
+ if (!reachable.has(node)) {
102
+ orphaned.push(node);
103
+ }
104
+ }
105
+ return orphaned;
106
+ }
107
+ /**
108
+ * Topological sort using Kahn's algorithm
109
+ * Time complexity: O(V + E)
110
+ */
111
+ topologicalSort() {
112
+ const inDegree = new Map();
113
+ const result = [];
114
+ const queue = [];
115
+ // Calculate in-degrees
116
+ for (const node of this.nodes.keys()) {
117
+ inDegree.set(node, 0);
118
+ }
119
+ for (const deps of this.nodes.values()) {
120
+ for (const dep of deps) {
121
+ inDegree.set(dep, (inDegree.get(dep) || 0) + 1);
122
+ }
123
+ }
124
+ // Find nodes with in-degree 0
125
+ for (const [node, degree] of inDegree.entries()) {
126
+ if (degree === 0) {
127
+ queue.push(node);
128
+ }
129
+ }
130
+ // Process nodes
131
+ while (queue.length > 0) {
132
+ const node = queue.shift();
133
+ result.push(node);
134
+ const deps = this.nodes.get(node) || [];
135
+ for (const dep of deps) {
136
+ const degree = inDegree.get(dep) - 1;
137
+ inDegree.set(dep, degree);
138
+ if (degree === 0) {
139
+ queue.push(dep);
140
+ }
141
+ }
142
+ }
143
+ // If result doesn't contain all nodes, there's a cycle
144
+ return result.length === this.nodes.size ? result : null;
145
+ }
146
+ /**
147
+ * Complete graph analysis
148
+ */
149
+ analyze(entryPoints) {
150
+ const cycles = this.detectCycles();
151
+ const orphanedNodes = this.findOrphanedNodes(entryPoints);
152
+ let totalEdges = 0;
153
+ for (const deps of this.nodes.values()) {
154
+ totalEdges += deps.length;
155
+ }
156
+ return {
157
+ hasCycles: cycles.length > 0,
158
+ cycles,
159
+ orphanedNodes,
160
+ entryPoints,
161
+ totalNodes: this.nodes.size,
162
+ totalEdges
163
+ };
164
+ }
165
+ nodeCount() {
166
+ return this.nodes.size;
167
+ }
168
+ edgeCount() {
169
+ let count = 0;
170
+ for (const deps of this.nodes.values()) {
171
+ count += deps.length;
172
+ }
173
+ return count;
174
+ }
175
+ clear() {
176
+ this.nodes.clear();
177
+ }
178
+ }
@@ -0,0 +1,7 @@
1
+ export declare class ShortIdMap {
2
+ private map;
3
+ private counter;
4
+ get(path: string, isProduction?: boolean): string;
5
+ toRuntime(): string;
6
+ getInverse(shortId: string): string | undefined;
7
+ }