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,153 @@
1
+ /**
2
+ * MODULE 8: PERSISTENT CACHE & COLD START MASTERY
3
+ *
4
+ * Strategy:
5
+ * 1. Lazy RocksDB Initialization (Deferred to background)
6
+ * 2. Mmap-backed reads for native performance
7
+ * 3. Cache Warming in non-blocking background thread
8
+ * 4. Docker/Edge persistent volume support
9
+ */
10
+ import path from 'path';
11
+ import fs from 'fs';
12
+ import { log } from '../../utils/logger.js';
13
+ import { BuildCache } from '../../native/cache.js';
14
+ export class LazyCacheInitializer {
15
+ constructor(options) {
16
+ this.rocksDb = null;
17
+ this.initPromise = null;
18
+ this.isInitialized = false;
19
+ this.cacheDir = options.cacheDir;
20
+ this.preload = options.preload ?? true;
21
+ this.warmup = options.warmup ?? true;
22
+ // Auto-detect Docker/Edge persistent volumes
23
+ this.setupPersistentStorage();
24
+ }
25
+ /**
26
+ * Setup persistent storage paths for Docker/CI/Edge
27
+ */
28
+ setupPersistentStorage() {
29
+ // Task Day 51: Persistent cache for Docker/Edge
30
+ const tmpCache = '/tmp/nuclie-cache';
31
+ if (process.env.DOCKER_CONTAINER && !fs.existsSync(this.cacheDir)) {
32
+ try {
33
+ if (!fs.existsSync(tmpCache))
34
+ fs.mkdirSync(tmpCache, { recursive: true });
35
+ this.cacheDir = tmpCache;
36
+ log.info(`Using Docker persistent cache volume at ${tmpCache}`);
37
+ }
38
+ catch (e) { }
39
+ }
40
+ }
41
+ /**
42
+ * Get database instance - initializes lazily on first access
43
+ */
44
+ async getDatabase() {
45
+ if (this.rocksDb)
46
+ return this.rocksDb;
47
+ if (this.initPromise) {
48
+ await this.initPromise;
49
+ return this.rocksDb;
50
+ }
51
+ this.initPromise = this.initialize();
52
+ await this.initPromise;
53
+ return this.rocksDb;
54
+ }
55
+ /**
56
+ * Initialize cache in background (non-blocking for <200ms cold start)
57
+ */
58
+ initializeInBackground() {
59
+ if (this.isInitialized || this.initPromise)
60
+ return;
61
+ log.debug('Starting background RocksDB initialization...');
62
+ // Use setImmediate to ensure it doesn't block the event loop during startup
63
+ global.setImmediate(() => {
64
+ this.initPromise = this.initialize().catch(err => {
65
+ log.warn(`Background cache init failed: ${err.message}`, { category: 'cache' });
66
+ });
67
+ });
68
+ }
69
+ /**
70
+ * Core initialization logic (RocksDB Native)
71
+ */
72
+ async initialize() {
73
+ const startTime = Date.now();
74
+ try {
75
+ if (!fs.existsSync(this.cacheDir)) {
76
+ fs.mkdirSync(this.cacheDir, { recursive: true });
77
+ }
78
+ // Task Day 51: Native RocksDB with mmap and level compaction
79
+ // The native module already has these opts now.
80
+ this.rocksDb = new BuildCache(this.cacheDir);
81
+ if (this.warmup) {
82
+ await this.warmupCache();
83
+ }
84
+ this.isInitialized = true;
85
+ const duration = Date.now() - startTime;
86
+ log.success(`RocksDB Cache ready in ${duration}ms`, { category: 'cache' });
87
+ }
88
+ catch (error) {
89
+ const isLockError = error.message?.includes('Lock') ||
90
+ error.message?.includes('IO error') ||
91
+ error.message?.includes('Resource temporarily unavailable');
92
+ if (isLockError) {
93
+ log.warn(`Cache locked by another process. Falling back to in-memory mode.`, { category: 'cache' });
94
+ // Return a mock DB object
95
+ const store = new Map();
96
+ this.rocksDb = {
97
+ get: (k) => store.get(k) || null,
98
+ set: (k, v) => { store.set(k, v); },
99
+ clearAll: () => store.clear(),
100
+ getStats: () => ({ size: store.size, keys: store.size }),
101
+ close: () => { store.clear(); }
102
+ };
103
+ this.isInitialized = true;
104
+ }
105
+ else {
106
+ log.error(`RocksDB initialization failed: ${error.message}`, { category: 'cache' });
107
+ throw error;
108
+ }
109
+ }
110
+ }
111
+ /**
112
+ * Warm up cache by pre-reading essential keys
113
+ */
114
+ async warmupCache() {
115
+ if (!this.rocksDb)
116
+ return;
117
+ try {
118
+ // Task Day 51: Implement cache warming
119
+ // We just hit the stats and maybe some common keys
120
+ this.rocksDb.getStats();
121
+ log.debug('Cache warmup completed');
122
+ }
123
+ catch (e) { }
124
+ }
125
+ close() {
126
+ if (this.rocksDb) {
127
+ this.rocksDb.close();
128
+ this.rocksDb = null;
129
+ this.isInitialized = false;
130
+ }
131
+ }
132
+ isReady() {
133
+ return this.isInitialized;
134
+ }
135
+ }
136
+ let globalLazyCache = null;
137
+ export function getLazyCache(cacheDir) {
138
+ if (!globalLazyCache) {
139
+ const dir = cacheDir || path.join(process.cwd(), '.nuclie_cache');
140
+ globalLazyCache = new LazyCacheInitializer({
141
+ cacheDir: dir,
142
+ preload: true,
143
+ warmup: true,
144
+ });
145
+ }
146
+ return globalLazyCache;
147
+ }
148
+ export function initCacheInBackground(cacheDir) {
149
+ getLazyCache(cacheDir).initializeInBackground();
150
+ }
151
+ export async function getLazyCacheDatabase(cacheDir) {
152
+ return getLazyCache(cacheDir).getDatabase();
153
+ }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * RocksDB Cache Manager
3
+ * Day 6: Module 1 - Speed Mastery
4
+ *
5
+ * Provides a high-level interface for the persistent RocksDB cache.
6
+ * Manages cache partitions (Parse, Transform, Bundle) and enforces policies.
7
+ */
8
+ export type CacheCategory = 'parse' | 'transform' | 'bundle' | 'optimize' | 'meta';
9
+ export interface CacheOptions {
10
+ enabled: boolean;
11
+ root: string;
12
+ compression?: boolean;
13
+ maxSizeBytes?: number;
14
+ }
15
+ export declare class CacheManager {
16
+ private cache;
17
+ private enabled;
18
+ private root;
19
+ private maxSizeBytes;
20
+ constructor(options: CacheOptions);
21
+ private init;
22
+ private getDb;
23
+ /**
24
+ * Get a cached result
25
+ */
26
+ get(category: CacheCategory, key: string): Promise<string | null>;
27
+ /**
28
+ * Set a cached result
29
+ */
30
+ set(category: CacheCategory, key: string, value: string): Promise<void>;
31
+ /**
32
+ * Check existence
33
+ */
34
+ has(category: CacheCategory, key: string): Promise<boolean>;
35
+ /**
36
+ * Batch write
37
+ */
38
+ batchSet(entries: Record<string, string>, category: CacheCategory): Promise<void>;
39
+ /**
40
+ * Enforce cache policies (Compaction, Eviction simulation)
41
+ */
42
+ enforcePolicy(): Promise<void>;
43
+ getStats(): import("*.node").CacheStats | {
44
+ hitRate: number;
45
+ sizeBytes: number;
46
+ hits: number;
47
+ misses: number;
48
+ };
49
+ close(): void;
50
+ }
51
+ export declare function getCacheManager(root?: string): CacheManager;
@@ -0,0 +1,149 @@
1
+ /**
2
+ * RocksDB Cache Manager
3
+ * Day 6: Module 1 - Speed Mastery
4
+ *
5
+ * Provides a high-level interface for the persistent RocksDB cache.
6
+ * Manages cache partitions (Parse, Transform, Bundle) and enforces policies.
7
+ */
8
+ import { log } from '../utils/logger.js';
9
+ import path from 'path';
10
+ export class CacheManager {
11
+ constructor(options) {
12
+ this.cache = null;
13
+ this.enabled = options.enabled;
14
+ this.root = options.root;
15
+ this.maxSizeBytes = options.maxSizeBytes || 512 * 1024 * 1024; // 512MB default
16
+ if (this.enabled) {
17
+ this.init();
18
+ }
19
+ }
20
+ async init() {
21
+ try {
22
+ const { getLazyCacheDatabase, initCacheInBackground } = await import('./cache/lazy-init.js');
23
+ // Background init
24
+ initCacheInBackground(path.join(this.root, '.nuclie_cache'));
25
+ // The first 'get' or 'set' will await the database if it's not ready
26
+ }
27
+ catch (error) {
28
+ log.warn(`Failed to initialize lazy RocksDB cache: ${error.message}`);
29
+ }
30
+ }
31
+ async getDb() {
32
+ if (!this.enabled)
33
+ return null;
34
+ try {
35
+ const { getLazyCacheDatabase } = await import('./cache/lazy-init.js');
36
+ return await getLazyCacheDatabase(path.join(this.root, '.nuclie_cache'));
37
+ }
38
+ catch (e) {
39
+ return null;
40
+ }
41
+ }
42
+ /**
43
+ * Get a cached result
44
+ */
45
+ async get(category, key) {
46
+ if (!this.enabled)
47
+ return null;
48
+ const db = await this.getDb();
49
+ if (!db)
50
+ return null;
51
+ try {
52
+ return db.get(`${category}:${key}`);
53
+ }
54
+ catch (e) {
55
+ return null;
56
+ }
57
+ }
58
+ /**
59
+ * Set a cached result
60
+ */
61
+ async set(category, key, value) {
62
+ if (!this.enabled)
63
+ return;
64
+ const db = await this.getDb();
65
+ if (!db)
66
+ return;
67
+ try {
68
+ db.set(`${category}:${key}`, value);
69
+ }
70
+ catch (e) { }
71
+ }
72
+ /**
73
+ * Check existence
74
+ */
75
+ async has(category, key) {
76
+ if (!this.enabled)
77
+ return false;
78
+ const db = await this.getDb();
79
+ if (!db)
80
+ return false;
81
+ return db.has(`${category}:${key}`);
82
+ }
83
+ /**
84
+ * Batch write
85
+ */
86
+ async batchSet(entries, category) {
87
+ if (!this.enabled)
88
+ return;
89
+ const db = await this.getDb();
90
+ if (!db)
91
+ return;
92
+ const prefixed = {};
93
+ for (const [k, v] of Object.entries(entries)) {
94
+ prefixed[`${category}:${k}`] = v;
95
+ }
96
+ db.batchSet(prefixed);
97
+ }
98
+ /**
99
+ * Enforce cache policies (Compaction, Eviction simulation)
100
+ */
101
+ async enforcePolicy() {
102
+ if (!this.enabled || !this.cache)
103
+ return;
104
+ try {
105
+ const stats = this.cache.getStats();
106
+ // log.debug('Cache Stats:', stats);
107
+ // 1. Compaction
108
+ // RocksDB does auto-compaction, but we can trigger it manually if fragmentation is high
109
+ // For now, we just call it periodically or on shutdown
110
+ // this.cache.compact(); // Expensive, maybe only do rarely?
111
+ // 2. Eviction (Size limit)
112
+ if (stats.sizeBytes > this.maxSizeBytes) {
113
+ log.warn(`Cache size (${(stats.sizeBytes / 1024 / 1024).toFixed(2)}MB) exceeds limit. Clearing...`);
114
+ // Simple strategy: Clear everything or specific targets.
115
+ // RocksDB makes LRU hard without column families or manual tracking.
116
+ // We'll clear 'dev' builds first, preserving 'prod'.
117
+ const cleared = this.cache.clearTarget('dev');
118
+ log.info(`Evicted ${cleared} dev entries.`);
119
+ // If still too big, compact
120
+ this.cache.compact();
121
+ }
122
+ }
123
+ catch (e) {
124
+ log.error('Cache policy enforcement failed:', e);
125
+ }
126
+ }
127
+ getStats() {
128
+ if (!this.enabled || !this.cache)
129
+ return { hitRate: 0, sizeBytes: 0, hits: 0, misses: 0 };
130
+ return this.cache.getStats();
131
+ }
132
+ close() {
133
+ if (this.cache) {
134
+ this.cache.close();
135
+ this.cache = null;
136
+ }
137
+ }
138
+ }
139
+ // Global instance helper
140
+ let _instance = null;
141
+ export function getCacheManager(root = process.cwd()) {
142
+ if (!_instance) {
143
+ _instance = new CacheManager({
144
+ enabled: true,
145
+ root
146
+ });
147
+ }
148
+ return _instance;
149
+ }
@@ -0,0 +1,37 @@
1
+ import { DependencyGraph, GraphNode } from '../../resolve/graph.js';
2
+ import { PluginManager } from '../plugins/manager.js';
3
+ export interface CSSUsage {
4
+ selector: string;
5
+ usedByModules: string[];
6
+ usagePercentage: number;
7
+ }
8
+ export declare class CSSEngine {
9
+ private graph;
10
+ private pluginManager;
11
+ private precedenceResolver;
12
+ constructor(graph: DependencyGraph, pluginManager: PluginManager);
13
+ /**
14
+ * 7.1 CSS & CSS-IN-JS DETECTION
15
+ */
16
+ detect(filePath: string, content: string): Promise<GraphNode['type'] | null>;
17
+ /**
18
+ * 7.2 CSS DEPENDENCY GRAPH + IMPORT PRECEDENCE
19
+ */
20
+ processEdges(node: GraphNode): Promise<void>;
21
+ /**
22
+ * 7.6 GRAPH-BASED CSS TREE-SHAKING
23
+ */
24
+ treeShake(node: GraphNode, usedSelectors: Set<string>): Promise<string>;
25
+ /**
26
+ * 7.5 DETERMINISTIC CSS MODULES
27
+ */
28
+ generateClassNameHash(filePath: string, className: string): string;
29
+ /**
30
+ * 7.3 CSS TRANSFORM PIPELINE (WASM + JS Hybrid)
31
+ */
32
+ transform(node: GraphNode): Promise<string>;
33
+ /**
34
+ * 7.1 CSS-IN-JS EXTRACTION (Unified)
35
+ */
36
+ extractCSSInJS(node: GraphNode, rootDir: string): Promise<void>;
37
+ }
@@ -0,0 +1,113 @@
1
+ import { CSSImportPrecedenceResolver } from '../../resolve/css-precedence.js';
2
+ import { log } from '../../utils/logger.js';
3
+ import path from 'path';
4
+ import fs from 'fs/promises';
5
+ import { generateModuleId } from '../../resolve/utils.js';
6
+ import { canonicalHash } from '../engine/hash.js';
7
+ export class CSSEngine {
8
+ constructor(graph, pluginManager) {
9
+ this.graph = graph;
10
+ this.pluginManager = pluginManager;
11
+ this.precedenceResolver = new CSSImportPrecedenceResolver();
12
+ }
13
+ /**
14
+ * 7.1 CSS & CSS-IN-JS DETECTION
15
+ */
16
+ async detect(filePath, content) {
17
+ const ext = path.extname(filePath).toLowerCase();
18
+ if (ext === '.css') {
19
+ if (filePath.endsWith('.module.css'))
20
+ return 'css-module';
21
+ return 'css';
22
+ }
23
+ if (['.scss', '.less', '.styl'].includes(ext)) {
24
+ return 'css';
25
+ }
26
+ // CSS-in-JS detection (Module 4 extractors would do the heavy lifting)
27
+ if (content.includes('styled-components') || content.includes('@emotion/react') || content.includes('linaria')) {
28
+ return 'css-in-js';
29
+ }
30
+ return null;
31
+ }
32
+ /**
33
+ * 7.2 CSS DEPENDENCY GRAPH + IMPORT PRECEDENCE
34
+ */
35
+ async processEdges(node) {
36
+ if (node.type !== 'css' && node.type !== 'css-module' && node.type !== 'css-in-js')
37
+ return;
38
+ // Resolve precedence deterministically
39
+ node.edges = this.precedenceResolver.resolve(node.edges, this.graph.nodes);
40
+ }
41
+ /**
42
+ * 7.6 GRAPH-BASED CSS TREE-SHAKING
43
+ */
44
+ async treeShake(node, usedSelectors) {
45
+ // In a real implementation, we'd parse the CSS and remove unused selectors
46
+ // based on the reachable selectors found in the dependency graph.
47
+ log.info(`Tree-shaking CSS for ${node.id}`);
48
+ // Placeholder for actual tree-shaking logic
49
+ // Uses Module 2 graph to know which selectors are reachable from JS modules
50
+ return node.path; // Return path for now
51
+ }
52
+ /**
53
+ * 7.5 DETERMINISTIC CSS MODULES
54
+ */
55
+ generateClassNameHash(filePath, className) {
56
+ // SHA256(filePath + className) as per plan
57
+ return canonicalHash(filePath + className).slice(0, 8);
58
+ }
59
+ /**
60
+ * 7.3 CSS TRANSFORM PIPELINE (WASM + JS Hybrid)
61
+ */
62
+ async transform(node) {
63
+ // 1. Detect if it's Tailwind, SCSS, etc.
64
+ // 2. Call WASM plugins for CPU-heavy (Sass, Tailwind)
65
+ // 3. Call JS plugins for others
66
+ log.info(`Transforming CSS node: ${node.id}`);
67
+ // Hybrid model:
68
+ // - runHook('transformModule', ...)
69
+ const result = await this.pluginManager.runHook('transformModule', {
70
+ id: node.id,
71
+ path: node.path,
72
+ type: node.type,
73
+ code: '' // Assuming code is loaded elsewhere or we load it here
74
+ });
75
+ return result.code;
76
+ }
77
+ /**
78
+ * 7.1 CSS-IN-JS EXTRACTION (Unified)
79
+ */
80
+ async extractCSSInJS(node, rootDir) {
81
+ if (node.type !== 'css-in-js')
82
+ return;
83
+ log.info(`Extracting CSS-in-JS from ${node.path}`);
84
+ // Use plugins to extract CSS
85
+ const content = await fs.readFile(node.path, 'utf-8');
86
+ const result = await this.pluginManager.runHook('transformModule', {
87
+ id: node.id,
88
+ path: node.path,
89
+ type: node.type,
90
+ code: content
91
+ });
92
+ if (result.metadata?.cssInJs) {
93
+ node.cssInJs = result.metadata.cssInJs;
94
+ // Create virtual CSS node in graph
95
+ const virtualPath = `${node.path}.extracted.css`;
96
+ const virtualId = generateModuleId('css', virtualPath, rootDir);
97
+ this.graph.nodes.set(virtualId, {
98
+ id: virtualId,
99
+ type: 'css',
100
+ path: virtualPath,
101
+ contentHash: canonicalHash(result.metadata.cssInJs.extractedCss),
102
+ edges: []
103
+ });
104
+ // Add edge from JS to virtual CSS
105
+ node.edges.push({
106
+ from: node.id,
107
+ to: virtualId,
108
+ kind: 'js-style-import'
109
+ });
110
+ log.success(`Extracted CSS from ${node.path} -> ${virtualPath}`);
111
+ }
112
+ }
113
+ }
@@ -0,0 +1,10 @@
1
+ export type CSSFramework = 'tailwind' | 'bootstrap' | 'bulma' | 'material' | 'none';
2
+ export interface DetectedCSSFramework {
3
+ name: CSSFramework;
4
+ version?: string;
5
+ source: 'package.json' | 'file-pattern' | 'class-scan';
6
+ }
7
+ /**
8
+ * Main CSS framework detection function
9
+ */
10
+ export declare function detectCSSFramework(root: string): Promise<DetectedCSSFramework>;
@@ -0,0 +1,169 @@
1
+ import fs from 'fs/promises';
2
+ import path from 'path';
3
+ import { log } from '../utils/logger.js';
4
+ /**
5
+ * Check if a package exists in package.json dependencies
6
+ */
7
+ async function hasPackage(root, packageName) {
8
+ try {
9
+ const pkgPath = path.join(root, 'package.json');
10
+ const content = await fs.readFile(pkgPath, 'utf-8');
11
+ const pkg = JSON.parse(content);
12
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies };
13
+ return deps[packageName] || null;
14
+ }
15
+ catch {
16
+ return null;
17
+ }
18
+ }
19
+ /**
20
+ * Check if a file or directory exists
21
+ */
22
+ async function hasFile(root, filePath) {
23
+ try {
24
+ await fs.access(path.join(root, filePath));
25
+ return true;
26
+ }
27
+ catch {
28
+ return false;
29
+ }
30
+ }
31
+ /**
32
+ * Scan source files for class name patterns
33
+ */
34
+ async function hasClassPattern(root, patterns) {
35
+ try {
36
+ const srcPath = path.join(root, 'src');
37
+ const srcExists = await fs.access(srcPath).then(() => true).catch(() => false);
38
+ if (!srcExists)
39
+ return false;
40
+ // Read first few files to check for class patterns
41
+ const files = await fs.readdir(srcPath);
42
+ const jsFiles = files.filter(f => f.endsWith('.js') || f.endsWith('.jsx') ||
43
+ f.endsWith('.ts') || f.endsWith('.tsx') ||
44
+ f.endsWith('.vue') || f.endsWith('.svelte')).slice(0, 5); // Check first 5 files
45
+ for (const file of jsFiles) {
46
+ const content = await fs.readFile(path.join(srcPath, file), 'utf-8');
47
+ // Check if any pattern exists in the content
48
+ for (const pattern of patterns) {
49
+ if (content.includes(`"${pattern}"`) ||
50
+ content.includes(`'${pattern}'`) ||
51
+ content.includes(`className="${pattern}`) ||
52
+ content.includes(`class="${pattern}`)) {
53
+ return true;
54
+ }
55
+ }
56
+ }
57
+ return false;
58
+ }
59
+ catch {
60
+ return false;
61
+ }
62
+ }
63
+ /**
64
+ * Detect Tailwind CSS
65
+ */
66
+ async function detectTailwind(root) {
67
+ // Check package.json
68
+ const version = await hasPackage(root, 'tailwindcss');
69
+ if (version) {
70
+ return { name: 'tailwind', version, source: 'package.json' };
71
+ }
72
+ // Check for tailwind.config.js
73
+ if (await hasFile(root, 'tailwind.config.js') || await hasFile(root, 'tailwind.config.ts')) {
74
+ return { name: 'tailwind', source: 'file-pattern' };
75
+ }
76
+ // Check for Tailwind class patterns
77
+ if (await hasClassPattern(root, ['flex', 'grid', 'bg-', 'text-', 'p-', 'm-'])) {
78
+ return { name: 'tailwind', source: 'class-scan' };
79
+ }
80
+ return null;
81
+ }
82
+ /**
83
+ * Detect Bootstrap
84
+ */
85
+ async function detectBootstrap(root) {
86
+ // Check package.json
87
+ const version = await hasPackage(root, 'bootstrap');
88
+ if (version) {
89
+ return { name: 'bootstrap', version, source: 'package.json' };
90
+ }
91
+ // Check for Bootstrap in node_modules
92
+ if (await hasFile(root, 'node_modules/bootstrap')) {
93
+ return { name: 'bootstrap', source: 'file-pattern' };
94
+ }
95
+ // Check for Bootstrap class patterns
96
+ if (await hasClassPattern(root, ['btn', 'container', 'row', 'col-', 'navbar'])) {
97
+ return { name: 'bootstrap', source: 'class-scan' };
98
+ }
99
+ return null;
100
+ }
101
+ /**
102
+ * Detect Bulma
103
+ */
104
+ async function detectBulma(root) {
105
+ // Check package.json
106
+ const version = await hasPackage(root, 'bulma');
107
+ if (version) {
108
+ return { name: 'bulma', version, source: 'package.json' };
109
+ }
110
+ // Check for Bulma in node_modules
111
+ if (await hasFile(root, 'node_modules/bulma')) {
112
+ return { name: 'bulma', source: 'file-pattern' };
113
+ }
114
+ // Check for Bulma class patterns
115
+ if (await hasClassPattern(root, ['button', 'hero', 'section', 'column', 'box'])) {
116
+ return { name: 'bulma', source: 'class-scan' };
117
+ }
118
+ return null;
119
+ }
120
+ /**
121
+ * Detect Material UI / Material Design
122
+ */
123
+ async function detectMaterial(root) {
124
+ // Check package.json for MUI
125
+ const muiVersion = await hasPackage(root, '@mui/material');
126
+ if (muiVersion) {
127
+ return { name: 'material', version: muiVersion, source: 'package.json' };
128
+ }
129
+ // Check for Material Design Lite
130
+ const mdlVersion = await hasPackage(root, 'material-design-lite');
131
+ if (mdlVersion) {
132
+ return { name: 'material', version: mdlVersion, source: 'package.json' };
133
+ }
134
+ // Check for Material Components Web
135
+ const mcwVersion = await hasPackage(root, '@material/web');
136
+ if (mcwVersion) {
137
+ return { name: 'material', version: mcwVersion, source: 'package.json' };
138
+ }
139
+ return null;
140
+ }
141
+ /**
142
+ * Main CSS framework detection function
143
+ */
144
+ export async function detectCSSFramework(root) {
145
+ log.info('Detecting CSS framework...');
146
+ // Try each detector in priority order
147
+ const tailwind = await detectTailwind(root);
148
+ if (tailwind) {
149
+ log.success(`Detected Tailwind CSS ${tailwind.version || ''} (${tailwind.source})`);
150
+ return tailwind;
151
+ }
152
+ const bootstrap = await detectBootstrap(root);
153
+ if (bootstrap) {
154
+ log.success(`Detected Bootstrap ${bootstrap.version || ''} (${bootstrap.source})`);
155
+ return bootstrap;
156
+ }
157
+ const material = await detectMaterial(root);
158
+ if (material) {
159
+ log.success(`Detected Material UI ${material.version || ''} (${material.source})`);
160
+ return material;
161
+ }
162
+ const bulma = await detectBulma(root);
163
+ if (bulma) {
164
+ log.success(`Detected Bulma ${bulma.version || ''} (${bulma.source})`);
165
+ return bulma;
166
+ }
167
+ log.info('No CSS framework detected');
168
+ return { name: 'none', source: 'package.json' };
169
+ }
@@ -0,0 +1,2 @@
1
+ import { DetectionSignal } from './types.js';
2
+ export declare function inspectEntryFiles(rootDir: string, entryFiles: string[]): Promise<DetectionSignal[]>;