@depup/angular__build 21.2.2-depup.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 (602) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +39 -0
  3. package/builders.json +34 -0
  4. package/changes.json +42 -0
  5. package/index.d.ts +8 -0
  6. package/index.js +25 -0
  7. package/index.js.map +1 -0
  8. package/package.json +177 -0
  9. package/private/index.d.ts +8 -0
  10. package/private/index.js +25 -0
  11. package/private/index.js.map +1 -0
  12. package/src/builders/application/build-action.d.ts +29 -0
  13. package/src/builders/application/build-action.js +355 -0
  14. package/src/builders/application/build-action.js.map +1 -0
  15. package/src/builders/application/chunk-optimizer.d.ts +21 -0
  16. package/src/builders/application/chunk-optimizer.js +278 -0
  17. package/src/builders/application/chunk-optimizer.js.map +1 -0
  18. package/src/builders/application/execute-build.d.ts +11 -0
  19. package/src/builders/application/execute-build.js +250 -0
  20. package/src/builders/application/execute-build.js.map +1 -0
  21. package/src/builders/application/execute-post-bundle.d.ts +27 -0
  22. package/src/builders/application/execute-post-bundle.js +136 -0
  23. package/src/builders/application/execute-post-bundle.js.map +1 -0
  24. package/src/builders/application/i18n.d.ts +31 -0
  25. package/src/builders/application/i18n.js +138 -0
  26. package/src/builders/application/i18n.js.map +1 -0
  27. package/src/builders/application/index.d.ts +32 -0
  28. package/src/builders/application/index.js +253 -0
  29. package/src/builders/application/index.js.map +1 -0
  30. package/src/builders/application/options.d.ts +214 -0
  31. package/src/builders/application/options.js +499 -0
  32. package/src/builders/application/options.js.map +1 -0
  33. package/src/builders/application/results.d.ts +73 -0
  34. package/src/builders/application/results.js +18 -0
  35. package/src/builders/application/results.js.map +1 -0
  36. package/src/builders/application/schema.d.ts +650 -0
  37. package/src/builders/application/schema.js +93 -0
  38. package/src/builders/application/schema.js.map +1 -0
  39. package/src/builders/application/schema.json +728 -0
  40. package/src/builders/application/setup-bundling.d.ts +25 -0
  41. package/src/builders/application/setup-bundling.js +104 -0
  42. package/src/builders/application/setup-bundling.js.map +1 -0
  43. package/src/builders/dev-server/builder.d.ts +31 -0
  44. package/src/builders/dev-server/builder.js +61 -0
  45. package/src/builders/dev-server/builder.js.map +1 -0
  46. package/src/builders/dev-server/index.d.ts +15 -0
  47. package/src/builders/dev-server/index.js +17 -0
  48. package/src/builders/dev-server/index.js.map +1 -0
  49. package/src/builders/dev-server/internal.d.ts +18 -0
  50. package/src/builders/dev-server/internal.js +28 -0
  51. package/src/builders/dev-server/internal.js.map +1 -0
  52. package/src/builders/dev-server/options.d.ts +51 -0
  53. package/src/builders/dev-server/options.js +104 -0
  54. package/src/builders/dev-server/options.js.map +1 -0
  55. package/src/builders/dev-server/output.d.ts +16 -0
  56. package/src/builders/dev-server/output.js +10 -0
  57. package/src/builders/dev-server/output.js.map +1 -0
  58. package/src/builders/dev-server/schema.d.ts +121 -0
  59. package/src/builders/dev-server/schema.js +5 -0
  60. package/src/builders/dev-server/schema.js.map +1 -0
  61. package/src/builders/dev-server/schema.json +138 -0
  62. package/src/builders/dev-server/vite/hmr.d.ts +25 -0
  63. package/src/builders/dev-server/vite/hmr.js +115 -0
  64. package/src/builders/dev-server/vite/hmr.js.map +1 -0
  65. package/src/builders/dev-server/vite/index.d.ts +21 -0
  66. package/src/builders/dev-server/vite/index.js +390 -0
  67. package/src/builders/dev-server/vite/index.js.map +1 -0
  68. package/src/builders/dev-server/vite/server.d.ts +15 -0
  69. package/src/builders/dev-server/vite/server.js +227 -0
  70. package/src/builders/dev-server/vite/server.js.map +1 -0
  71. package/src/builders/dev-server/vite/utils.d.ts +36 -0
  72. package/src/builders/dev-server/vite/utils.js +77 -0
  73. package/src/builders/dev-server/vite/utils.js.map +1 -0
  74. package/src/builders/extract-i18n/application-extraction.d.ts +18 -0
  75. package/src/builders/extract-i18n/application-extraction.js +132 -0
  76. package/src/builders/extract-i18n/application-extraction.js.map +1 -0
  77. package/src/builders/extract-i18n/builder.d.ts +14 -0
  78. package/src/builders/extract-i18n/builder.js +161 -0
  79. package/src/builders/extract-i18n/builder.js.map +1 -0
  80. package/src/builders/extract-i18n/index.d.ts +13 -0
  81. package/src/builders/extract-i18n/index.js +16 -0
  82. package/src/builders/extract-i18n/index.js.map +1 -0
  83. package/src/builders/extract-i18n/options.d.ts +33 -0
  84. package/src/builders/extract-i18n/options.js +86 -0
  85. package/src/builders/extract-i18n/options.js.map +1 -0
  86. package/src/builders/extract-i18n/schema.d.ts +53 -0
  87. package/src/builders/extract-i18n/schema.js +30 -0
  88. package/src/builders/extract-i18n/schema.js.map +1 -0
  89. package/src/builders/extract-i18n/schema.json +38 -0
  90. package/src/builders/karma/application_builder.d.ts +11 -0
  91. package/src/builders/karma/application_builder.js +324 -0
  92. package/src/builders/karma/application_builder.js.map +1 -0
  93. package/src/builders/karma/assets-middleware.d.ts +26 -0
  94. package/src/builders/karma/assets-middleware.js +66 -0
  95. package/src/builders/karma/assets-middleware.js.map +1 -0
  96. package/src/builders/karma/coverage.d.ts +9 -0
  97. package/src/builders/karma/coverage.js +32 -0
  98. package/src/builders/karma/coverage.js.map +1 -0
  99. package/src/builders/karma/find-tests.d.ts +9 -0
  100. package/src/builders/karma/find-tests.js +24 -0
  101. package/src/builders/karma/find-tests.js.map +1 -0
  102. package/src/builders/karma/index.d.ts +20 -0
  103. package/src/builders/karma/index.js +54 -0
  104. package/src/builders/karma/index.js.map +1 -0
  105. package/src/builders/karma/karma-config.d.ts +11 -0
  106. package/src/builders/karma/karma-config.js +80 -0
  107. package/src/builders/karma/karma-config.js.map +1 -0
  108. package/src/builders/karma/options.d.ts +42 -0
  109. package/src/builders/karma/options.js +44 -0
  110. package/src/builders/karma/options.js.map +1 -0
  111. package/src/builders/karma/polyfills/init_sourcemaps.js +10 -0
  112. package/src/builders/karma/polyfills/jasmine_global.js +18 -0
  113. package/src/builders/karma/polyfills/jasmine_global_cleanup.js +14 -0
  114. package/src/builders/karma/polyfills-plugin.d.ts +13 -0
  115. package/src/builders/karma/polyfills-plugin.js +75 -0
  116. package/src/builders/karma/polyfills-plugin.js.map +1 -0
  117. package/src/builders/karma/progress-reporter.d.ts +17 -0
  118. package/src/builders/karma/progress-reporter.js +76 -0
  119. package/src/builders/karma/progress-reporter.js.map +1 -0
  120. package/src/builders/karma/schema.d.ts +250 -0
  121. package/src/builders/karma/schema.js +16 -0
  122. package/src/builders/karma/schema.js.map +1 -0
  123. package/src/builders/karma/schema.json +348 -0
  124. package/src/builders/karma/utils.d.ts +17 -0
  125. package/src/builders/karma/utils.js +67 -0
  126. package/src/builders/karma/utils.js.map +1 -0
  127. package/src/builders/ng-packagr/builder.d.ts +19 -0
  128. package/src/builders/ng-packagr/builder.js +107 -0
  129. package/src/builders/ng-packagr/builder.js.map +1 -0
  130. package/src/builders/ng-packagr/index.d.ts +13 -0
  131. package/src/builders/ng-packagr/index.js +16 -0
  132. package/src/builders/ng-packagr/index.js.map +1 -0
  133. package/src/builders/ng-packagr/schema.d.ts +21 -0
  134. package/src/builders/ng-packagr/schema.js +5 -0
  135. package/src/builders/ng-packagr/schema.js.map +1 -0
  136. package/src/builders/ng-packagr/schema.json +26 -0
  137. package/src/builders/unit-test/builder.d.ts +15 -0
  138. package/src/builders/unit-test/builder.js +376 -0
  139. package/src/builders/unit-test/builder.js.map +1 -0
  140. package/src/builders/unit-test/index.d.ts +12 -0
  141. package/src/builders/unit-test/index.js +16 -0
  142. package/src/builders/unit-test/index.js.map +1 -0
  143. package/src/builders/unit-test/options.d.ts +53 -0
  144. package/src/builders/unit-test/options.js +119 -0
  145. package/src/builders/unit-test/options.js.map +1 -0
  146. package/src/builders/unit-test/runners/api.d.ts +65 -0
  147. package/src/builders/unit-test/runners/api.js +10 -0
  148. package/src/builders/unit-test/runners/api.js.map +1 -0
  149. package/src/builders/unit-test/runners/dependency-checker.d.ts +43 -0
  150. package/src/builders/unit-test/runners/dependency-checker.js +83 -0
  151. package/src/builders/unit-test/runners/dependency-checker.js.map +1 -0
  152. package/src/builders/unit-test/runners/karma/executor.d.ts +17 -0
  153. package/src/builders/unit-test/runners/karma/executor.js +164 -0
  154. package/src/builders/unit-test/runners/karma/executor.js.map +1 -0
  155. package/src/builders/unit-test/runners/karma/index.d.ts +13 -0
  156. package/src/builders/unit-test/runners/karma/index.js +44 -0
  157. package/src/builders/unit-test/runners/karma/index.js.map +1 -0
  158. package/src/builders/unit-test/runners/vitest/browser-provider.d.ts +17 -0
  159. package/src/builders/unit-test/runners/vitest/browser-provider.js +174 -0
  160. package/src/builders/unit-test/runners/vitest/browser-provider.js.map +1 -0
  161. package/src/builders/unit-test/runners/vitest/build-options.d.ts +11 -0
  162. package/src/builders/unit-test/runners/vitest/build-options.js +169 -0
  163. package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -0
  164. package/src/builders/unit-test/runners/vitest/configuration.d.ts +15 -0
  165. package/src/builders/unit-test/runners/vitest/configuration.js +57 -0
  166. package/src/builders/unit-test/runners/vitest/configuration.js.map +1 -0
  167. package/src/builders/unit-test/runners/vitest/executor.d.ts +29 -0
  168. package/src/builders/unit-test/runners/vitest/executor.js +318 -0
  169. package/src/builders/unit-test/runners/vitest/executor.js.map +1 -0
  170. package/src/builders/unit-test/runners/vitest/index.d.ts +13 -0
  171. package/src/builders/unit-test/runners/vitest/index.js +69 -0
  172. package/src/builders/unit-test/runners/vitest/index.js.map +1 -0
  173. package/src/builders/unit-test/runners/vitest/plugins.d.ts +32 -0
  174. package/src/builders/unit-test/runners/vitest/plugins.js +382 -0
  175. package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -0
  176. package/src/builders/unit-test/schema.d.ts +229 -0
  177. package/src/builders/unit-test/schema.js +25 -0
  178. package/src/builders/unit-test/schema.js.map +1 -0
  179. package/src/builders/unit-test/schema.json +280 -0
  180. package/src/builders/unit-test/test-discovery.d.ts +47 -0
  181. package/src/builders/unit-test/test-discovery.js +280 -0
  182. package/src/builders/unit-test/test-discovery.js.map +1 -0
  183. package/src/index.d.ts +16 -0
  184. package/src/index.js +25 -0
  185. package/src/index.js.map +1 -0
  186. package/src/private.d.ts +57 -0
  187. package/src/private.js +104 -0
  188. package/src/private.js.map +1 -0
  189. package/src/tools/angular/angular-host.d.ts +27 -0
  190. package/src/tools/angular/angular-host.js +164 -0
  191. package/src/tools/angular/angular-host.js.map +1 -0
  192. package/src/tools/angular/compilation/angular-compilation.d.ts +45 -0
  193. package/src/tools/angular/compilation/angular-compilation.js +104 -0
  194. package/src/tools/angular/compilation/angular-compilation.js.map +1 -0
  195. package/src/tools/angular/compilation/aot-compilation.d.ts +26 -0
  196. package/src/tools/angular/compilation/aot-compilation.js +341 -0
  197. package/src/tools/angular/compilation/aot-compilation.js.map +1 -0
  198. package/src/tools/angular/compilation/factory.d.ts +17 -0
  199. package/src/tools/angular/compilation/factory.js +67 -0
  200. package/src/tools/angular/compilation/factory.js.map +1 -0
  201. package/src/tools/angular/compilation/hmr-candidates.d.ts +22 -0
  202. package/src/tools/angular/compilation/hmr-candidates.js +270 -0
  203. package/src/tools/angular/compilation/hmr-candidates.js.map +1 -0
  204. package/src/tools/angular/compilation/index.d.ts +10 -0
  205. package/src/tools/angular/compilation/index.js +18 -0
  206. package/src/tools/angular/compilation/index.js.map +1 -0
  207. package/src/tools/angular/compilation/jit-compilation.d.ts +23 -0
  208. package/src/tools/angular/compilation/jit-compilation.js +150 -0
  209. package/src/tools/angular/compilation/jit-compilation.js.map +1 -0
  210. package/src/tools/angular/compilation/noop-compilation.d.ts +20 -0
  211. package/src/tools/angular/compilation/noop-compilation.js +27 -0
  212. package/src/tools/angular/compilation/noop-compilation.js.map +1 -0
  213. package/src/tools/angular/compilation/parallel-compilation.d.ts +44 -0
  214. package/src/tools/angular/compilation/parallel-compilation.js +119 -0
  215. package/src/tools/angular/compilation/parallel-compilation.js.map +1 -0
  216. package/src/tools/angular/compilation/parallel-worker.d.ts +39 -0
  217. package/src/tools/angular/compilation/parallel-worker.js +102 -0
  218. package/src/tools/angular/compilation/parallel-worker.js.map +1 -0
  219. package/src/tools/angular/transformers/jit-bootstrap-transformer.d.ts +10 -0
  220. package/src/tools/angular/transformers/jit-bootstrap-transformer.js +181 -0
  221. package/src/tools/angular/transformers/jit-bootstrap-transformer.js.map +1 -0
  222. package/src/tools/angular/transformers/jit-resource-transformer.d.ts +17 -0
  223. package/src/tools/angular/transformers/jit-resource-transformer.js +187 -0
  224. package/src/tools/angular/transformers/jit-resource-transformer.js.map +1 -0
  225. package/src/tools/angular/transformers/lazy-routes-transformer.d.ts +39 -0
  226. package/src/tools/angular/transformers/lazy-routes-transformer.js +164 -0
  227. package/src/tools/angular/transformers/lazy-routes-transformer.js.map +1 -0
  228. package/src/tools/angular/transformers/web-worker-transformer.d.ts +17 -0
  229. package/src/tools/angular/transformers/web-worker-transformer.js +94 -0
  230. package/src/tools/angular/transformers/web-worker-transformer.js.map +1 -0
  231. package/src/tools/angular/uri.d.ts +54 -0
  232. package/src/tools/angular/uri.js +76 -0
  233. package/src/tools/angular/uri.js.map +1 -0
  234. package/src/tools/babel/plugins/add-code-coverage.d.ts +14 -0
  235. package/src/tools/babel/plugins/add-code-coverage.js +45 -0
  236. package/src/tools/babel/plugins/add-code-coverage.js.map +1 -0
  237. package/src/tools/babel/plugins/adjust-static-class-members.d.ts +25 -0
  238. package/src/tools/babel/plugins/adjust-static-class-members.js +349 -0
  239. package/src/tools/babel/plugins/adjust-static-class-members.js.map +1 -0
  240. package/src/tools/babel/plugins/adjust-typescript-enums.d.ts +21 -0
  241. package/src/tools/babel/plugins/adjust-typescript-enums.js +113 -0
  242. package/src/tools/babel/plugins/adjust-typescript-enums.js.map +1 -0
  243. package/src/tools/babel/plugins/elide-angular-metadata.d.ts +21 -0
  244. package/src/tools/babel/plugins/elide-angular-metadata.js +110 -0
  245. package/src/tools/babel/plugins/elide-angular-metadata.js.map +1 -0
  246. package/src/tools/babel/plugins/index.d.ts +11 -0
  247. package/src/tools/babel/plugins/index.js +22 -0
  248. package/src/tools/babel/plugins/index.js.map +1 -0
  249. package/src/tools/babel/plugins/pure-toplevel-functions.d.ts +13 -0
  250. package/src/tools/babel/plugins/pure-toplevel-functions.js +128 -0
  251. package/src/tools/babel/plugins/pure-toplevel-functions.js.map +1 -0
  252. package/src/tools/babel/plugins/types.d.ts +20 -0
  253. package/src/tools/babel/typings.d.ts +21 -0
  254. package/src/tools/esbuild/angular/compilation-state.d.ts +15 -0
  255. package/src/tools/esbuild/angular/compilation-state.js +45 -0
  256. package/src/tools/esbuild/angular/compilation-state.js.map +1 -0
  257. package/src/tools/esbuild/angular/compiler-plugin.d.ts +34 -0
  258. package/src/tools/esbuild/angular/compiler-plugin.js +631 -0
  259. package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -0
  260. package/src/tools/esbuild/angular/component-stylesheets.d.ts +49 -0
  261. package/src/tools/esbuild/angular/component-stylesheets.js +222 -0
  262. package/src/tools/esbuild/angular/component-stylesheets.js.map +1 -0
  263. package/src/tools/esbuild/angular/diagnostics.d.ts +15 -0
  264. package/src/tools/esbuild/angular/diagnostics.js +72 -0
  265. package/src/tools/esbuild/angular/diagnostics.js.map +1 -0
  266. package/src/tools/esbuild/angular/file-reference-tracker.d.ts +17 -0
  267. package/src/tools/esbuild/angular/file-reference-tracker.js +58 -0
  268. package/src/tools/esbuild/angular/file-reference-tracker.js.map +1 -0
  269. package/src/tools/esbuild/angular/jit-plugin-callbacks.d.ts +23 -0
  270. package/src/tools/esbuild/angular/jit-plugin-callbacks.js +120 -0
  271. package/src/tools/esbuild/angular/jit-plugin-callbacks.js.map +1 -0
  272. package/src/tools/esbuild/angular/rewrite-bazel-paths.d.ts +8 -0
  273. package/src/tools/esbuild/angular/rewrite-bazel-paths.js +28 -0
  274. package/src/tools/esbuild/angular/rewrite-bazel-paths.js.map +1 -0
  275. package/src/tools/esbuild/angular/source-file-cache.d.ts +18 -0
  276. package/src/tools/esbuild/angular/source-file-cache.js +80 -0
  277. package/src/tools/esbuild/angular/source-file-cache.js.map +1 -0
  278. package/src/tools/esbuild/angular-localize-init-warning-plugin.d.ts +16 -0
  279. package/src/tools/esbuild/angular-localize-init-warning-plugin.js +50 -0
  280. package/src/tools/esbuild/angular-localize-init-warning-plugin.js.map +1 -0
  281. package/src/tools/esbuild/application-code-bundle.d.ts +19 -0
  282. package/src/tools/esbuild/application-code-bundle.js +542 -0
  283. package/src/tools/esbuild/application-code-bundle.js.map +1 -0
  284. package/src/tools/esbuild/budget-stats.d.ts +19 -0
  285. package/src/tools/esbuild/budget-stats.js +67 -0
  286. package/src/tools/esbuild/budget-stats.js.map +1 -0
  287. package/src/tools/esbuild/bundler-context.d.ts +80 -0
  288. package/src/tools/esbuild/bundler-context.js +399 -0
  289. package/src/tools/esbuild/bundler-context.js.map +1 -0
  290. package/src/tools/esbuild/bundler-execution-result.d.ts +95 -0
  291. package/src/tools/esbuild/bundler-execution-result.js +149 -0
  292. package/src/tools/esbuild/bundler-execution-result.js.map +1 -0
  293. package/src/tools/esbuild/cache.d.ts +93 -0
  294. package/src/tools/esbuild/cache.js +100 -0
  295. package/src/tools/esbuild/cache.js.map +1 -0
  296. package/src/tools/esbuild/commonjs-checker.d.ts +28 -0
  297. package/src/tools/esbuild/commonjs-checker.js +151 -0
  298. package/src/tools/esbuild/commonjs-checker.js.map +1 -0
  299. package/src/tools/esbuild/compiler-plugin-options.d.ts +14 -0
  300. package/src/tools/esbuild/compiler-plugin-options.js +30 -0
  301. package/src/tools/esbuild/compiler-plugin-options.js.map +1 -0
  302. package/src/tools/esbuild/external-packages-plugin.d.ts +18 -0
  303. package/src/tools/esbuild/external-packages-plugin.js +97 -0
  304. package/src/tools/esbuild/external-packages-plugin.js.map +1 -0
  305. package/src/tools/esbuild/global-scripts.d.ts +16 -0
  306. package/src/tools/esbuild/global-scripts.js +153 -0
  307. package/src/tools/esbuild/global-scripts.js.map +1 -0
  308. package/src/tools/esbuild/global-styles.d.ts +10 -0
  309. package/src/tools/esbuild/global-styles.js +79 -0
  310. package/src/tools/esbuild/global-styles.js.map +1 -0
  311. package/src/tools/esbuild/i18n-inliner-worker.d.ts +77 -0
  312. package/src/tools/esbuild/i18n-inliner-worker.js +184 -0
  313. package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -0
  314. package/src/tools/esbuild/i18n-inliner.d.ts +58 -0
  315. package/src/tools/esbuild/i18n-inliner.js +266 -0
  316. package/src/tools/esbuild/i18n-inliner.js.map +1 -0
  317. package/src/tools/esbuild/i18n-locale-plugin.d.ts +22 -0
  318. package/src/tools/esbuild/i18n-locale-plugin.js +139 -0
  319. package/src/tools/esbuild/i18n-locale-plugin.js.map +1 -0
  320. package/src/tools/esbuild/index-html-generator.d.ts +15 -0
  321. package/src/tools/esbuild/index-html-generator.js +91 -0
  322. package/src/tools/esbuild/index-html-generator.js.map +1 -0
  323. package/src/tools/esbuild/javascript-transformer-worker.d.ts +20 -0
  324. package/src/tools/esbuild/javascript-transformer-worker.js +162 -0
  325. package/src/tools/esbuild/javascript-transformer-worker.js.map +1 -0
  326. package/src/tools/esbuild/javascript-transformer.d.ts +54 -0
  327. package/src/tools/esbuild/javascript-transformer.js +153 -0
  328. package/src/tools/esbuild/javascript-transformer.js.map +1 -0
  329. package/src/tools/esbuild/license-extractor.d.ts +25 -0
  330. package/src/tools/esbuild/license-extractor.js +158 -0
  331. package/src/tools/esbuild/license-extractor.js.map +1 -0
  332. package/src/tools/esbuild/lmdb-cache-store.d.ts +18 -0
  333. package/src/tools/esbuild/lmdb-cache-store.js +55 -0
  334. package/src/tools/esbuild/lmdb-cache-store.js.map +1 -0
  335. package/src/tools/esbuild/load-result-cache.d.ts +21 -0
  336. package/src/tools/esbuild/load-result-cache.js +76 -0
  337. package/src/tools/esbuild/load-result-cache.js.map +1 -0
  338. package/src/tools/esbuild/loader-import-attribute-plugin.d.ts +9 -0
  339. package/src/tools/esbuild/loader-import-attribute-plugin.js +42 -0
  340. package/src/tools/esbuild/loader-import-attribute-plugin.js.map +1 -0
  341. package/src/tools/esbuild/profiling.d.ts +11 -0
  342. package/src/tools/esbuild/profiling.js +78 -0
  343. package/src/tools/esbuild/profiling.js.map +1 -0
  344. package/src/tools/esbuild/rxjs-esm-resolution-plugin.d.ts +18 -0
  345. package/src/tools/esbuild/rxjs-esm-resolution-plugin.js +44 -0
  346. package/src/tools/esbuild/rxjs-esm-resolution-plugin.js.map +1 -0
  347. package/src/tools/esbuild/server-bundle-metadata-plugin.d.ts +22 -0
  348. package/src/tools/esbuild/server-bundle-metadata-plugin.js +37 -0
  349. package/src/tools/esbuild/server-bundle-metadata-plugin.js.map +1 -0
  350. package/src/tools/esbuild/sourcemap-ignorelist-plugin.d.ts +17 -0
  351. package/src/tools/esbuild/sourcemap-ignorelist-plugin.js +73 -0
  352. package/src/tools/esbuild/sourcemap-ignorelist-plugin.js.map +1 -0
  353. package/src/tools/esbuild/stylesheets/bundle-options.d.ts +41 -0
  354. package/src/tools/esbuild/stylesheets/bundle-options.js +66 -0
  355. package/src/tools/esbuild/stylesheets/bundle-options.js.map +1 -0
  356. package/src/tools/esbuild/stylesheets/css-inline-fonts-plugin.d.ts +25 -0
  357. package/src/tools/esbuild/stylesheets/css-inline-fonts-plugin.js +57 -0
  358. package/src/tools/esbuild/stylesheets/css-inline-fonts-plugin.js.map +1 -0
  359. package/src/tools/esbuild/stylesheets/css-language.d.ts +9 -0
  360. package/src/tools/esbuild/stylesheets/css-language.js +16 -0
  361. package/src/tools/esbuild/stylesheets/css-language.js.map +1 -0
  362. package/src/tools/esbuild/stylesheets/css-resource-plugin.d.ts +18 -0
  363. package/src/tools/esbuild/stylesheets/css-resource-plugin.js +114 -0
  364. package/src/tools/esbuild/stylesheets/css-resource-plugin.js.map +1 -0
  365. package/src/tools/esbuild/stylesheets/less-language.d.ts +9 -0
  366. package/src/tools/esbuild/stylesheets/less-language.js +161 -0
  367. package/src/tools/esbuild/stylesheets/less-language.js.map +1 -0
  368. package/src/tools/esbuild/stylesheets/sass-language.d.ts +10 -0
  369. package/src/tools/esbuild/stylesheets/sass-language.js +231 -0
  370. package/src/tools/esbuild/stylesheets/sass-language.js.map +1 -0
  371. package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.d.ts +77 -0
  372. package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js +333 -0
  373. package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js.map +1 -0
  374. package/src/tools/esbuild/utils.d.ts +58 -0
  375. package/src/tools/esbuild/utils.js +394 -0
  376. package/src/tools/esbuild/utils.js.map +1 -0
  377. package/src/tools/esbuild/virtual-module-plugin.d.ts +33 -0
  378. package/src/tools/esbuild/virtual-module-plugin.js +43 -0
  379. package/src/tools/esbuild/virtual-module-plugin.js.map +1 -0
  380. package/src/tools/esbuild/wasm-plugin.d.ts +28 -0
  381. package/src/tools/esbuild/wasm-plugin.js +211 -0
  382. package/src/tools/esbuild/wasm-plugin.js.map +1 -0
  383. package/src/tools/esbuild/wasm.d.ts +25 -0
  384. package/src/tools/esbuild/watcher.d.ts +25 -0
  385. package/src/tools/esbuild/watcher.js +119 -0
  386. package/src/tools/esbuild/watcher.js.map +1 -0
  387. package/src/tools/sass/lexer.d.ts +18 -0
  388. package/src/tools/sass/lexer.js +172 -0
  389. package/src/tools/sass/lexer.js.map +1 -0
  390. package/src/tools/sass/rebasing-importer.d.ts +101 -0
  391. package/src/tools/sass/rebasing-importer.js +333 -0
  392. package/src/tools/sass/rebasing-importer.js.map +1 -0
  393. package/src/tools/sass/sass-service.d.ts +67 -0
  394. package/src/tools/sass/sass-service.js +242 -0
  395. package/src/tools/sass/sass-service.js.map +1 -0
  396. package/src/tools/sass/worker.d.ts +63 -0
  397. package/src/tools/sass/worker.js +202 -0
  398. package/src/tools/sass/worker.js.map +1 -0
  399. package/src/tools/vite/middlewares/assets-middleware.d.ts +17 -0
  400. package/src/tools/vite/middlewares/assets-middleware.js +205 -0
  401. package/src/tools/vite/middlewares/assets-middleware.js.map +1 -0
  402. package/src/tools/vite/middlewares/base-middleware.d.ts +17 -0
  403. package/src/tools/vite/middlewares/base-middleware.js +44 -0
  404. package/src/tools/vite/middlewares/base-middleware.js.map +1 -0
  405. package/src/tools/vite/middlewares/chrome-devtools-middleware.d.ts +9 -0
  406. package/src/tools/vite/middlewares/chrome-devtools-middleware.js +53 -0
  407. package/src/tools/vite/middlewares/chrome-devtools-middleware.js.map +1 -0
  408. package/src/tools/vite/middlewares/component-middleware.d.ts +9 -0
  409. package/src/tools/vite/middlewares/component-middleware.js +36 -0
  410. package/src/tools/vite/middlewares/component-middleware.js.map +1 -0
  411. package/src/tools/vite/middlewares/headers-middleware.d.ts +19 -0
  412. package/src/tools/vite/middlewares/headers-middleware.js +35 -0
  413. package/src/tools/vite/middlewares/headers-middleware.js.map +1 -0
  414. package/src/tools/vite/middlewares/host-check-middleware.d.ts +9 -0
  415. package/src/tools/vite/middlewares/host-check-middleware.js +61 -0
  416. package/src/tools/vite/middlewares/host-check-middleware.js.map +1 -0
  417. package/src/tools/vite/middlewares/html-fallback-middleware.d.ts +10 -0
  418. package/src/tools/vite/middlewares/html-fallback-middleware.js +42 -0
  419. package/src/tools/vite/middlewares/html-fallback-middleware.js.map +1 -0
  420. package/src/tools/vite/middlewares/index-html-middleware.d.ts +10 -0
  421. package/src/tools/vite/middlewares/index-html-middleware.js +47 -0
  422. package/src/tools/vite/middlewares/index-html-middleware.js.map +1 -0
  423. package/src/tools/vite/middlewares/index.d.ts +16 -0
  424. package/src/tools/vite/middlewares/index.js +30 -0
  425. package/src/tools/vite/middlewares/index.js.map +1 -0
  426. package/src/tools/vite/middlewares/ssr-middleware.d.ts +10 -0
  427. package/src/tools/vite/middlewares/ssr-middleware.js +129 -0
  428. package/src/tools/vite/middlewares/ssr-middleware.js.map +1 -0
  429. package/src/tools/vite/plugins/angular-memory-plugin.d.ts +18 -0
  430. package/src/tools/vite/plugins/angular-memory-plugin.js +149 -0
  431. package/src/tools/vite/plugins/angular-memory-plugin.js.map +1 -0
  432. package/src/tools/vite/plugins/id-prefix-plugin.d.ts +9 -0
  433. package/src/tools/vite/plugins/id-prefix-plugin.js +46 -0
  434. package/src/tools/vite/plugins/id-prefix-plugin.js.map +1 -0
  435. package/src/tools/vite/plugins/index.d.ts +12 -0
  436. package/src/tools/vite/plugins/index.js +22 -0
  437. package/src/tools/vite/plugins/index.js.map +1 -0
  438. package/src/tools/vite/plugins/setup-middlewares-plugin.d.ts +45 -0
  439. package/src/tools/vite/plugins/setup-middlewares-plugin.js +108 -0
  440. package/src/tools/vite/plugins/setup-middlewares-plugin.js.map +1 -0
  441. package/src/tools/vite/plugins/ssr-ssl-plugin.d.ts +9 -0
  442. package/src/tools/vite/plugins/ssr-ssl-plugin.js +92 -0
  443. package/src/tools/vite/plugins/ssr-ssl-plugin.js.map +1 -0
  444. package/src/tools/vite/plugins/ssr-transform-plugin.d.ts +9 -0
  445. package/src/tools/vite/plugins/ssr-transform-plugin.js +68 -0
  446. package/src/tools/vite/plugins/ssr-transform-plugin.js.map +1 -0
  447. package/src/tools/vite/utils.d.ts +45 -0
  448. package/src/tools/vite/utils.js +106 -0
  449. package/src/tools/vite/utils.js.map +1 -0
  450. package/src/utils/bundle-calculator.d.ts +45 -0
  451. package/src/utils/bundle-calculator.js +305 -0
  452. package/src/utils/bundle-calculator.js.map +1 -0
  453. package/src/utils/check-port.d.ts +8 -0
  454. package/src/utils/check-port.js +88 -0
  455. package/src/utils/check-port.js.map +1 -0
  456. package/src/utils/color.d.ts +9 -0
  457. package/src/utils/color.js +28 -0
  458. package/src/utils/color.js.map +1 -0
  459. package/src/utils/delete-output-dir.d.ts +11 -0
  460. package/src/utils/delete-output-dir.js +46 -0
  461. package/src/utils/delete-output-dir.js.map +1 -0
  462. package/src/utils/environment-options.d.ts +64 -0
  463. package/src/utils/environment-options.js +150 -0
  464. package/src/utils/environment-options.js.map +1 -0
  465. package/src/utils/error.d.ts +10 -0
  466. package/src/utils/error.js +21 -0
  467. package/src/utils/error.js.map +1 -0
  468. package/src/utils/format-bytes.d.ts +8 -0
  469. package/src/utils/format-bytes.js +22 -0
  470. package/src/utils/format-bytes.js.map +1 -0
  471. package/src/utils/i18n-options.d.ts +36 -0
  472. package/src/utils/i18n-options.js +208 -0
  473. package/src/utils/i18n-options.js.map +1 -0
  474. package/src/utils/index-file/add-event-dispatch-contract.d.ts +8 -0
  475. package/src/utils/index-file/add-event-dispatch-contract.js +28 -0
  476. package/src/utils/index-file/add-event-dispatch-contract.js.map +1 -0
  477. package/src/utils/index-file/augment-index-html.d.ts +40 -0
  478. package/src/utils/index-file/augment-index-html.js +300 -0
  479. package/src/utils/index-file/augment-index-html.js.map +1 -0
  480. package/src/utils/index-file/auto-csp.d.ts +23 -0
  481. package/src/utils/index-file/auto-csp.js +295 -0
  482. package/src/utils/index-file/auto-csp.js.map +1 -0
  483. package/src/utils/index-file/html-rewriting-stream.d.ts +15 -0
  484. package/src/utils/index-file/html-rewriting-stream.js +60 -0
  485. package/src/utils/index-file/html-rewriting-stream.js.map +1 -0
  486. package/src/utils/index-file/index-html-generator.d.ts +61 -0
  487. package/src/utils/index-file/index-html-generator.js +154 -0
  488. package/src/utils/index-file/index-html-generator.js.map +1 -0
  489. package/src/utils/index-file/inline-critical-css.d.ts +25 -0
  490. package/src/utils/index-file/inline-critical-css.js +193 -0
  491. package/src/utils/index-file/inline-critical-css.js.map +1 -0
  492. package/src/utils/index-file/inline-fonts.d.ts +23 -0
  493. package/src/utils/index-file/inline-fonts.js +240 -0
  494. package/src/utils/index-file/inline-fonts.js.map +1 -0
  495. package/src/utils/index-file/ngcm-attribute.d.ts +15 -0
  496. package/src/utils/index-file/ngcm-attribute.js +38 -0
  497. package/src/utils/index-file/ngcm-attribute.js.map +1 -0
  498. package/src/utils/index-file/nonce.d.ts +12 -0
  499. package/src/utils/index-file/nonce.js +54 -0
  500. package/src/utils/index-file/nonce.js.map +1 -0
  501. package/src/utils/index-file/valid-self-closing-tags.d.ts +9 -0
  502. package/src/utils/index-file/valid-self-closing-tags.js +90 -0
  503. package/src/utils/index-file/valid-self-closing-tags.js.map +1 -0
  504. package/src/utils/index.d.ts +11 -0
  505. package/src/utils/index.js +28 -0
  506. package/src/utils/index.js.map +1 -0
  507. package/src/utils/load-esm.d.ts +20 -0
  508. package/src/utils/load-esm.js +31 -0
  509. package/src/utils/load-esm.js.map +1 -0
  510. package/src/utils/load-proxy-config.d.ts +8 -0
  511. package/src/utils/load-proxy-config.js +186 -0
  512. package/src/utils/load-proxy-config.js.map +1 -0
  513. package/src/utils/load-translations.d.ts +16 -0
  514. package/src/utils/load-translations.js +93 -0
  515. package/src/utils/load-translations.js.map +1 -0
  516. package/src/utils/normalize-asset-patterns.d.ts +11 -0
  517. package/src/utils/normalize-asset-patterns.js +111 -0
  518. package/src/utils/normalize-asset-patterns.js.map +1 -0
  519. package/src/utils/normalize-cache.d.ts +16 -0
  520. package/src/utils/normalize-cache.js +46 -0
  521. package/src/utils/normalize-cache.js.map +1 -0
  522. package/src/utils/normalize-optimization.d.ts +13 -0
  523. package/src/utils/normalize-optimization.js +42 -0
  524. package/src/utils/normalize-optimization.js.map +1 -0
  525. package/src/utils/normalize-source-maps.d.ts +9 -0
  526. package/src/utils/normalize-source-maps.js +25 -0
  527. package/src/utils/normalize-source-maps.js.map +1 -0
  528. package/src/utils/path.d.ts +29 -0
  529. package/src/utils/path.js +38 -0
  530. package/src/utils/path.js.map +1 -0
  531. package/src/utils/postcss-configuration.d.ts +20 -0
  532. package/src/utils/postcss-configuration.js +86 -0
  533. package/src/utils/postcss-configuration.js.map +1 -0
  534. package/src/utils/project-metadata.d.ts +21 -0
  535. package/src/utils/project-metadata.js +32 -0
  536. package/src/utils/project-metadata.js.map +1 -0
  537. package/src/utils/purge-cache.d.ts +10 -0
  538. package/src/utils/purge-cache.js +40 -0
  539. package/src/utils/purge-cache.js.map +1 -0
  540. package/src/utils/resolve-assets.d.ts +18 -0
  541. package/src/utils/resolve-assets.js +35 -0
  542. package/src/utils/resolve-assets.js.map +1 -0
  543. package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.d.ts +18 -0
  544. package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js +125 -0
  545. package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js.map +1 -0
  546. package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.d.ts +8 -0
  547. package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.js +14 -0
  548. package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.js.map +1 -0
  549. package/src/utils/server-rendering/esm-in-memory-loader/utils.d.ts +8 -0
  550. package/src/utils/server-rendering/esm-in-memory-loader/utils.js +14 -0
  551. package/src/utils/server-rendering/esm-in-memory-loader/utils.js.map +1 -0
  552. package/src/utils/server-rendering/fetch-patch.d.ts +8 -0
  553. package/src/utils/server-rendering/fetch-patch.js +64 -0
  554. package/src/utils/server-rendering/fetch-patch.js.map +1 -0
  555. package/src/utils/server-rendering/launch-server.d.ts +14 -0
  556. package/src/utils/server-rendering/launch-server.js +96 -0
  557. package/src/utils/server-rendering/launch-server.js.map +1 -0
  558. package/src/utils/server-rendering/load-esm-from-memory.d.ts +27 -0
  559. package/src/utils/server-rendering/load-esm-from-memory.js +26 -0
  560. package/src/utils/server-rendering/load-esm-from-memory.js.map +1 -0
  561. package/src/utils/server-rendering/manifest.d.ts +58 -0
  562. package/src/utils/server-rendering/manifest.js +177 -0
  563. package/src/utils/server-rendering/manifest.js.map +1 -0
  564. package/src/utils/server-rendering/models.d.ts +28 -0
  565. package/src/utils/server-rendering/models.js +22 -0
  566. package/src/utils/server-rendering/models.js.map +1 -0
  567. package/src/utils/server-rendering/prerender.d.ts +39 -0
  568. package/src/utils/server-rendering/prerender.js +246 -0
  569. package/src/utils/server-rendering/prerender.js.map +1 -0
  570. package/src/utils/server-rendering/render-worker.d.ts +23 -0
  571. package/src/utils/server-rendering/render-worker.js +79 -0
  572. package/src/utils/server-rendering/render-worker.js.map +1 -0
  573. package/src/utils/server-rendering/routes-extractor-worker.d.ts +16 -0
  574. package/src/utils/server-rendering/routes-extractor-worker.js +73 -0
  575. package/src/utils/server-rendering/routes-extractor-worker.js.map +1 -0
  576. package/src/utils/server-rendering/utils.d.ts +21 -0
  577. package/src/utils/server-rendering/utils.js +43 -0
  578. package/src/utils/server-rendering/utils.js.map +1 -0
  579. package/src/utils/service-worker.d.ts +23 -0
  580. package/src/utils/service-worker.js +215 -0
  581. package/src/utils/service-worker.js.map +1 -0
  582. package/src/utils/stats-table.d.ts +20 -0
  583. package/src/utils/stats-table.js +205 -0
  584. package/src/utils/stats-table.js.map +1 -0
  585. package/src/utils/supported-browsers.d.ts +10 -0
  586. package/src/utils/supported-browsers.js +57 -0
  587. package/src/utils/supported-browsers.js.map +1 -0
  588. package/src/utils/test-files.d.ts +17 -0
  589. package/src/utils/test-files.js +83 -0
  590. package/src/utils/test-files.js.map +1 -0
  591. package/src/utils/tty.d.ts +8 -0
  592. package/src/utils/tty.js +23 -0
  593. package/src/utils/tty.js.map +1 -0
  594. package/src/utils/url.d.ts +81 -0
  595. package/src/utils/url.js +122 -0
  596. package/src/utils/url.js.map +1 -0
  597. package/src/utils/version.d.ts +8 -0
  598. package/src/utils/version.js +58 -0
  599. package/src/utils/version.js.map +1 -0
  600. package/src/utils/worker-pool.d.ts +12 -0
  601. package/src/utils/worker-pool.js +46 -0
  602. package/src/utils/worker-pool.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-provider.js","sourceRoot":"","sources":["browser-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import type { ApplicationBuilderInternalOptions } from '../../../application/options';
9
+ import { NormalizedUnitTestBuilderOptions } from '../../options';
10
+ import { RunnerOptions } from '../api';
11
+ export declare function getVitestBuildOptions(options: NormalizedUnitTestBuilderOptions, baseBuildOptions: Partial<ApplicationBuilderInternalOptions>): Promise<RunnerOptions>;
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.getVitestBuildOptions = getVitestBuildOptions;
14
+ const node_path_1 = __importDefault(require("node:path"));
15
+ const path_1 = require("../../../../utils/path");
16
+ const schema_1 = require("../../../application/schema");
17
+ const options_1 = require("../../options");
18
+ const test_discovery_1 = require("../../test-discovery");
19
+ function createTestBedInitVirtualFile(providersFile, projectSourceRoot, teardown, polyfills = []) {
20
+ const usesZoneJS = polyfills.includes('zone.js');
21
+ let providersImport = 'const providers = [];';
22
+ if (providersFile) {
23
+ const relativePath = node_path_1.default.relative(projectSourceRoot, providersFile);
24
+ const { dir, name } = node_path_1.default.parse(relativePath);
25
+ const importPath = (0, path_1.toPosixPath)(node_path_1.default.join(dir, name));
26
+ providersImport = `import providers from './${importPath}';`;
27
+ }
28
+ return `
29
+ // Initialize the Angular testing environment
30
+ import { NgModule${usesZoneJS ? ', provideZoneChangeDetection' : ''} } from '@angular/core';
31
+ import { getTestBed, ɵgetCleanupHook as getCleanupHook } from '@angular/core/testing';
32
+ import { BrowserTestingModule, platformBrowserTesting } from '@angular/platform-browser/testing';
33
+ import { afterEach, beforeEach } from 'vitest';
34
+ ${providersImport}
35
+
36
+ // The beforeEach and afterEach hooks are registered outside the globalThis guard.
37
+ // This ensures that the hooks are always applied, even in non-isolated browser environments.
38
+ // Same as https://github.com/angular/angular/blob/05a03d3f975771bb59c7eefd37c01fa127ee2229/packages/core/testing/srcs/test_hooks.ts#L21-L29
39
+ beforeEach(getCleanupHook(false));
40
+ afterEach(getCleanupHook(true));
41
+
42
+ const ANGULAR_TESTBED_SETUP = Symbol.for('@angular/cli/testbed-setup');
43
+ if (!globalThis[ANGULAR_TESTBED_SETUP]) {
44
+ globalThis[ANGULAR_TESTBED_SETUP] = true;
45
+
46
+ // The Angular TestBed needs to be initialized before any tests are run.
47
+ // In a non-isolated environment, this setup file can be executed multiple times.
48
+ // The guard condition above ensures that the setup is only performed once.
49
+
50
+ @NgModule({
51
+ providers: [${usesZoneJS ? 'provideZoneChangeDetection(), ' : ''}...providers],
52
+ })
53
+ class TestModule {}
54
+
55
+ getTestBed().initTestEnvironment([BrowserTestingModule, TestModule], platformBrowserTesting(), {
56
+ errorOnUnknownElements: true,
57
+ errorOnUnknownProperties: true,
58
+ ${teardown === false ? 'teardown: { destroyAfterEach: false },' : ''}
59
+ });
60
+ }
61
+ `;
62
+ }
63
+ function adjustOutputHashing(hashing) {
64
+ switch (hashing) {
65
+ case schema_1.OutputHashing.All:
66
+ case schema_1.OutputHashing.Media:
67
+ // Ensure media is continued to be hashed to avoid overwriting of output media files
68
+ return schema_1.OutputHashing.Media;
69
+ default:
70
+ return schema_1.OutputHashing.None;
71
+ }
72
+ }
73
+ async function getVitestBuildOptions(options, baseBuildOptions) {
74
+ const { workspaceRoot, projectSourceRoot, include, exclude = [], watch, providersFile } = options;
75
+ // Find test files
76
+ const testFiles = await (0, test_discovery_1.findTests)(include, exclude, workspaceRoot, projectSourceRoot);
77
+ if (testFiles.length === 0) {
78
+ throw new Error('No tests found matching the following patterns:\n' +
79
+ `- Included: ${include.join(', ')}\n` +
80
+ (exclude.length ? `- Excluded: ${exclude.join(', ')}\n` : '') +
81
+ `\nPlease check the 'test' target configuration in your project's 'angular.json' file.`);
82
+ }
83
+ const entryPoints = (0, test_discovery_1.getTestEntrypoints)(testFiles, {
84
+ projectSourceRoot,
85
+ workspaceRoot,
86
+ removeTestExtension: true,
87
+ });
88
+ if (options.setupFiles?.length) {
89
+ const setupEntryPoints = (0, test_discovery_1.getTestEntrypoints)(options.setupFiles, {
90
+ projectSourceRoot,
91
+ workspaceRoot,
92
+ removeTestExtension: false,
93
+ prefix: 'setup',
94
+ });
95
+ for (const [entryPoint, setupFile] of setupEntryPoints) {
96
+ entryPoints.set(entryPoint, setupFile);
97
+ }
98
+ }
99
+ entryPoints.set('init-testbed', 'angular:test-bed-init');
100
+ entryPoints.set('vitest-mock-patch', 'angular:vitest-mock-patch');
101
+ // The 'vitest' package is always external for testing purposes
102
+ const externalDependencies = ['vitest'];
103
+ if (baseBuildOptions.externalDependencies) {
104
+ externalDependencies.push(...baseBuildOptions.externalDependencies);
105
+ }
106
+ const buildOptions = {
107
+ ...baseBuildOptions,
108
+ watch,
109
+ incrementalResults: watch,
110
+ index: false,
111
+ browser: undefined,
112
+ server: undefined,
113
+ outputMode: undefined,
114
+ localize: false,
115
+ budgets: [],
116
+ serviceWorker: false,
117
+ appShell: false,
118
+ ssr: false,
119
+ prerender: false,
120
+ sourceMap: { scripts: true, vendor: false, styles: false },
121
+ outputHashing: adjustOutputHashing(baseBuildOptions.outputHashing),
122
+ optimization: false,
123
+ entryPoints,
124
+ // Enable support for vitest browser prebundling. Excludes can be controlled with a runnerConfig
125
+ // and the `optimizeDeps.exclude` option.
126
+ externalPackages: true,
127
+ externalDependencies,
128
+ };
129
+ buildOptions.polyfills = (0, options_1.injectTestingPolyfills)(buildOptions.polyfills);
130
+ const testBedInitContents = createTestBedInitVirtualFile(providersFile, projectSourceRoot, !options.debug, buildOptions.polyfills);
131
+ const mockPatchContents = `
132
+ import { vi } from 'vitest';
133
+
134
+ const error = new Error(
135
+ 'The "vi.mock" and related methods are not supported for relative imports with the Angular unit-test system. ' +
136
+ 'Please use Angular TestBed for mocking dependencies.'
137
+ );
138
+
139
+ // Store original implementations
140
+ const { mock, doMock, importMock, unmock, doUnmock } = vi;
141
+
142
+ function patch(original) {
143
+ return (path, ...args) => {
144
+ // Check if the path is a string and starts with a character that indicates a relative path.
145
+ if (typeof path === 'string' && /^[./]/.test(path)) {
146
+ throw error;
147
+ }
148
+
149
+ // Call the original function for non-relative paths.
150
+ return original(path, ...args);
151
+ };
152
+ }
153
+
154
+ vi.mock = patch(mock);
155
+ vi.doMock = patch(doMock);
156
+ vi.importMock = patch(importMock);
157
+ vi.unmock = patch(unmock);
158
+ vi.doUnmock = patch(doUnmock);
159
+ `;
160
+ return {
161
+ buildOptions,
162
+ virtualFiles: {
163
+ 'angular:test-bed-init': testBedInitContents,
164
+ 'angular:vitest-mock-patch': mockPatchContents,
165
+ },
166
+ testEntryPointMappings: entryPoints,
167
+ };
168
+ }
169
+ //# sourceMappingURL=build-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-options.js","sourceRoot":"","sources":["build-options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ /**
9
+ * Finds the Vitest configuration file in the given search directories.
10
+ *
11
+ * @param searchDirs An array of directories to search for the configuration file.
12
+ * @returns The path to the configuration file, or `false` if no file is found.
13
+ * Returning `false` is used to disable Vitest's default configuration file search.
14
+ */
15
+ export declare function findVitestBaseConfig(searchDirs: string[]): Promise<string | false>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.findVitestBaseConfig = findVitestBaseConfig;
14
+ /**
15
+ * @fileoverview
16
+ * This file contains utility functions for finding the Vitest base configuration file.
17
+ */
18
+ const promises_1 = require("node:fs/promises");
19
+ const node_path_1 = __importDefault(require("node:path"));
20
+ /**
21
+ * A list of potential Vitest configuration filenames.
22
+ * The order of the files is important as the first one found will be used.
23
+ */
24
+ const POTENTIAL_CONFIGS = [
25
+ 'vitest-base.config.ts',
26
+ 'vitest-base.config.mts',
27
+ 'vitest-base.config.cts',
28
+ 'vitest-base.config.js',
29
+ 'vitest-base.config.mjs',
30
+ 'vitest-base.config.cjs',
31
+ ];
32
+ /**
33
+ * Finds the Vitest configuration file in the given search directories.
34
+ *
35
+ * @param searchDirs An array of directories to search for the configuration file.
36
+ * @returns The path to the configuration file, or `false` if no file is found.
37
+ * Returning `false` is used to disable Vitest's default configuration file search.
38
+ */
39
+ async function findVitestBaseConfig(searchDirs) {
40
+ const uniqueDirs = new Set(searchDirs);
41
+ for (const dir of uniqueDirs) {
42
+ try {
43
+ const entries = await (0, promises_1.readdir)(dir, { withFileTypes: true });
44
+ const files = new Set(entries.filter((e) => e.isFile()).map((e) => e.name));
45
+ for (const potential of POTENTIAL_CONFIGS) {
46
+ if (files.has(potential)) {
47
+ return node_path_1.default.join(dir, potential);
48
+ }
49
+ }
50
+ }
51
+ catch {
52
+ // Ignore directories that cannot be read
53
+ }
54
+ }
55
+ return false;
56
+ }
57
+ //# sourceMappingURL=configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["configuration.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AA8BH,oDAkBC;AA9CD;;;GAGG;AAEH,+CAA2C;AAC3C,0DAA6B;AAE7B;;;GAGG;AACH,MAAM,iBAAiB,GAAG;IACxB,uBAAuB;IACvB,wBAAwB;IACxB,wBAAwB;IACxB,uBAAuB;IACvB,wBAAwB;IACxB,wBAAwB;CACzB,CAAC;AAEF;;;;;;GAMG;AACI,KAAK,UAAU,oBAAoB,CAAC,UAAoB;IAC7D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAO,EAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAE5E,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;gBAC1C,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzB,OAAO,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import type { BuilderContext, BuilderOutput } from '@angular-devkit/architect';
9
+ import { type FullResult, type IncrementalResult } from '../../../application/results';
10
+ import { NormalizedUnitTestBuilderOptions } from '../../options';
11
+ import type { TestExecutor } from '../api';
12
+ export declare class VitestExecutor implements TestExecutor {
13
+ private vitest;
14
+ private normalizePath;
15
+ private readonly projectName;
16
+ private readonly options;
17
+ private readonly logger;
18
+ private readonly buildResultFiles;
19
+ private readonly externalMetadata;
20
+ private readonly debugLevel;
21
+ private readonly testFileToEntryPoint;
22
+ private readonly entryPointToTestFile;
23
+ constructor(projectName: string, options: NormalizedUnitTestBuilderOptions, testEntryPointMappings: Map<string, string> | undefined, logger: BuilderContext['logger']);
24
+ private debugLog;
25
+ execute(buildResult: FullResult | IncrementalResult): AsyncIterable<BuilderOutput>;
26
+ [Symbol.asyncDispose](): Promise<void>;
27
+ private prepareSetupFiles;
28
+ private initializeVitest;
29
+ }
@@ -0,0 +1,318 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ var __importDefault = (this && this.__importDefault) || function (mod) {
43
+ return (mod && mod.__esModule) ? mod : { "default": mod };
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.VitestExecutor = void 0;
47
+ const node_assert_1 = __importDefault(require("node:assert"));
48
+ const node_path_1 = __importDefault(require("node:path"));
49
+ const utils_1 = require("../../../../tools/vite/utils");
50
+ const error_1 = require("../../../../utils/error");
51
+ const results_1 = require("../../../application/results");
52
+ const browser_provider_1 = require("./browser-provider");
53
+ const configuration_1 = require("./configuration");
54
+ const plugins_1 = require("./plugins");
55
+ var DebugLogLevel;
56
+ (function (DebugLogLevel) {
57
+ DebugLogLevel[DebugLogLevel["Info"] = 1] = "Info";
58
+ DebugLogLevel[DebugLogLevel["Verbose"] = 2] = "Verbose";
59
+ })(DebugLogLevel || (DebugLogLevel = {}));
60
+ class VitestExecutor {
61
+ vitest;
62
+ normalizePath;
63
+ projectName;
64
+ options;
65
+ logger;
66
+ buildResultFiles = new Map();
67
+ externalMetadata = {
68
+ implicitBrowser: [],
69
+ implicitServer: [],
70
+ explicitBrowser: [],
71
+ explicitServer: [],
72
+ };
73
+ debugLevel;
74
+ // This is a reverse map of the entry points created in `build-options.ts`.
75
+ // It is used by the in-memory provider plugin to map the requested test file
76
+ // path back to its bundled output path.
77
+ // Example: `Map<'/path/to/src/app.spec.ts', 'spec-src-app-spec'>`
78
+ testFileToEntryPoint = new Map();
79
+ entryPointToTestFile = new Map();
80
+ constructor(projectName, options, testEntryPointMappings, logger) {
81
+ const level = parseInt(process.env['NG_TEST_LOG'] ?? '0', 10);
82
+ this.debugLevel = isNaN(level) ? 0 : level;
83
+ this.projectName = projectName;
84
+ this.options = options;
85
+ this.logger = logger;
86
+ this.debugLog(DebugLogLevel.Info, 'VitestExecutor instantiated.');
87
+ this.debugLog(DebugLogLevel.Verbose, 'NormalizedUnitTestBuilderOptions:', options);
88
+ if (testEntryPointMappings) {
89
+ for (const [entryPoint, testFile] of testEntryPointMappings) {
90
+ this.testFileToEntryPoint.set(testFile, entryPoint);
91
+ this.entryPointToTestFile.set(entryPoint + '.js', testFile);
92
+ }
93
+ this.debugLog(DebugLogLevel.Verbose, 'Test entry point mappings:', Object.fromEntries(testEntryPointMappings));
94
+ }
95
+ }
96
+ debugLog(level, message, data) {
97
+ if (this.debugLevel < level) {
98
+ return;
99
+ }
100
+ const formattedMessage = `[VitestExecutor:${DebugLogLevel[level]}] ${message}`;
101
+ // Custom formatting for data object to ensure it's readable
102
+ const logData = data ? JSON.stringify(data, null, 2) : '';
103
+ this.logger.info(`${formattedMessage}${logData ? `\n${logData}` : ''}`);
104
+ }
105
+ async *execute(buildResult) {
106
+ this.debugLog(DebugLogLevel.Info, `Executing test run (kind: ${buildResult.kind}).`);
107
+ this.normalizePath ??= (await Promise.resolve().then(() => __importStar(require('vite')))).normalizePath;
108
+ if (buildResult.kind === results_1.ResultKind.Full) {
109
+ this.buildResultFiles.clear();
110
+ for (const [path, file] of Object.entries(buildResult.files)) {
111
+ this.buildResultFiles.set(this.normalizePath(path), file);
112
+ }
113
+ this.debugLog(DebugLogLevel.Info, `Full build results received. Total files: ${this.buildResultFiles.size}.`);
114
+ }
115
+ else {
116
+ this.debugLog(DebugLogLevel.Info, `Incremental build results received.` +
117
+ `Added: ${buildResult.added.length}, Modified: ${buildResult.modified.length}, Removed: ${buildResult.removed.length}.`);
118
+ this.debugLog(DebugLogLevel.Verbose, 'Added files:', buildResult.added);
119
+ this.debugLog(DebugLogLevel.Verbose, 'Modified files:', buildResult.modified);
120
+ this.debugLog(DebugLogLevel.Verbose, 'Removed files:', buildResult.removed);
121
+ for (const file of buildResult.removed) {
122
+ this.buildResultFiles.delete(this.normalizePath(file.path));
123
+ }
124
+ for (const [path, file] of Object.entries(buildResult.files)) {
125
+ this.buildResultFiles.set(this.normalizePath(path), file);
126
+ }
127
+ }
128
+ (0, utils_1.updateExternalMetadata)(buildResult, this.externalMetadata, undefined, true);
129
+ this.debugLog(DebugLogLevel.Verbose, 'Updated external metadata:', this.externalMetadata);
130
+ // Reset the exit code to allow for a clean state.
131
+ // This is necessary because Vitest may set the exit code on failure, which can
132
+ // affect subsequent runs in watch mode or when running multiple builders.
133
+ process.exitCode = 0;
134
+ // Initialize Vitest if not already present.
135
+ this.vitest ??= await this.initializeVitest();
136
+ const vitest = this.vitest;
137
+ let testResults;
138
+ if (buildResult.kind === results_1.ResultKind.Incremental) {
139
+ // To rerun tests, Vitest needs the original test file paths, not the output paths.
140
+ const modifiedSourceFiles = new Set();
141
+ for (const modifiedFile of [...buildResult.modified, ...buildResult.added]) {
142
+ // The `modified` files in the build result are the output paths.
143
+ // We need to find the original source file path to pass to Vitest.
144
+ const source = this.entryPointToTestFile.get(modifiedFile);
145
+ if (source) {
146
+ this.debugLog(DebugLogLevel.Verbose, `Mapped output file '${modifiedFile}' to source file '${source}' for re-run.`);
147
+ modifiedSourceFiles.add(source);
148
+ }
149
+ else {
150
+ this.debugLog(DebugLogLevel.Verbose, `Could not map output file '${modifiedFile}' to a source file. It may not be a test file.`);
151
+ }
152
+ vitest.invalidateFile(this.normalizePath(node_path_1.default.join(this.options.workspaceRoot, modifiedFile)));
153
+ }
154
+ const specsToRerun = [];
155
+ for (const file of modifiedSourceFiles) {
156
+ vitest.invalidateFile(file);
157
+ const specs = vitest.getModuleSpecifications(file);
158
+ if (specs) {
159
+ specsToRerun.push(...specs);
160
+ }
161
+ }
162
+ if (specsToRerun.length > 0) {
163
+ this.debugLog(DebugLogLevel.Info, `Re-running ${specsToRerun.length} test specifications.`);
164
+ this.debugLog(DebugLogLevel.Verbose, 'Specs to rerun:', specsToRerun);
165
+ testResults = await vitest.rerunTestSpecifications(specsToRerun);
166
+ }
167
+ else {
168
+ this.debugLog(DebugLogLevel.Info, 'No test specifications to rerun.');
169
+ }
170
+ }
171
+ // Check if all the tests pass to calculate the result
172
+ const testModules = testResults?.testModules ?? this.vitest.state.getTestModules();
173
+ let success = testModules.every((testModule) => testModule.ok());
174
+ let finalResultReason = 'All tests passed.';
175
+ // Vitest does not return a failure result when coverage thresholds are not met.
176
+ // Instead, it sets the process exit code to 1.
177
+ // We check this exit code to determine if the test run should be considered a failure.
178
+ if (success && process.exitCode === 1) {
179
+ success = false;
180
+ finalResultReason = 'Test run failed due to unmet coverage thresholds.';
181
+ // Reset the exit code to prevent it from carrying over to subsequent runs/builds
182
+ process.exitCode = 0;
183
+ }
184
+ this.debugLog(DebugLogLevel.Info, `Test run finished with success: ${success}. Reason: ${finalResultReason}`);
185
+ yield { success };
186
+ }
187
+ async [Symbol.asyncDispose]() {
188
+ this.debugLog(DebugLogLevel.Info, 'Disposing VitestExecutor: Closing Vitest instance.');
189
+ await this.vitest?.close();
190
+ this.debugLog(DebugLogLevel.Info, 'Vitest instance closed.');
191
+ }
192
+ prepareSetupFiles() {
193
+ const { setupFiles } = this.options;
194
+ // Add setup file entries for TestBed initialization and project polyfills
195
+ const testSetupFiles = ['init-testbed.js', 'vitest-mock-patch.js', ...setupFiles];
196
+ // TODO: Provide additional result metadata to avoid needing to extract based on filename
197
+ if (this.buildResultFiles.has('polyfills.js')) {
198
+ testSetupFiles.unshift('polyfills.js');
199
+ }
200
+ this.debugLog(DebugLogLevel.Info, 'Prepared setup files:', testSetupFiles);
201
+ return testSetupFiles;
202
+ }
203
+ async initializeVitest() {
204
+ this.debugLog(DebugLogLevel.Info, 'Initializing Vitest.');
205
+ const { coverage, reporters, outputFile, workspaceRoot, browsers, debug, watch, browserViewport, ui, projectRoot, runnerConfig, projectSourceRoot, cacheOptions, } = this.options;
206
+ const projectName = this.projectName;
207
+ let vitestNodeModule;
208
+ try {
209
+ vitestNodeModule = await Promise.resolve().then(() => __importStar(require('vitest/node')));
210
+ }
211
+ catch (error) {
212
+ (0, error_1.assertIsError)(error);
213
+ this.debugLog(DebugLogLevel.Info, `Failed to import 'vitest/node'. Error code: ${error.code}`);
214
+ if (error.code !== 'ERR_MODULE_NOT_FOUND') {
215
+ throw error;
216
+ }
217
+ throw new Error('The `vitest` package was not found. Please install the package and rerun the test command.');
218
+ }
219
+ const { startVitest } = vitestNodeModule;
220
+ // Setup vitest browser options if configured
221
+ const browserOptions = await (0, browser_provider_1.setupBrowserConfiguration)(browsers, this.options.headless, debug, projectSourceRoot, browserViewport);
222
+ if (browserOptions.errors?.length) {
223
+ this.debugLog(DebugLogLevel.Info, 'Browser configuration errors found.', {
224
+ errors: browserOptions.errors,
225
+ });
226
+ throw new Error(browserOptions.errors.join('\n'));
227
+ }
228
+ if (browserOptions.messages?.length) {
229
+ for (const message of browserOptions.messages) {
230
+ this.logger.info(message);
231
+ }
232
+ }
233
+ this.debugLog(DebugLogLevel.Info, 'Browser configuration complete.', {
234
+ config: browserOptions.browser,
235
+ });
236
+ this.debugLog(DebugLogLevel.Info, `Verifying build results. File count: ${this.buildResultFiles.size}.`);
237
+ (0, node_assert_1.default)(this.buildResultFiles.size > 0, 'buildResult must be available before initializing vitest');
238
+ const testSetupFiles = this.prepareSetupFiles();
239
+ const projectPlugins = (0, plugins_1.createVitestPlugins)({
240
+ workspaceRoot,
241
+ projectSourceRoot,
242
+ projectName,
243
+ buildResultFiles: this.buildResultFiles,
244
+ testFileToEntryPoint: this.testFileToEntryPoint,
245
+ });
246
+ const debugOptions = debug
247
+ ? {
248
+ inspectBrk: true,
249
+ isolate: false,
250
+ fileParallelism: false,
251
+ }
252
+ : {};
253
+ const externalConfigPath = runnerConfig === true
254
+ ? await (0, configuration_1.findVitestBaseConfig)([projectRoot, workspaceRoot])
255
+ : runnerConfig;
256
+ this.debugLog(DebugLogLevel.Info, 'External Vitest configuration path:', {
257
+ externalConfigPath,
258
+ });
259
+ let project = projectName;
260
+ if (debug && browserOptions.browser?.instances) {
261
+ if (browserOptions.browser.instances.length > 1) {
262
+ this.logger.warn('Multiple browsers are configured, but only the first browser will be used for debugging.');
263
+ }
264
+ // When running browser tests, Vitest appends the browser name to the project identifier.
265
+ // The project name must match this augmented name to ensure the correct project is targeted.
266
+ project = `${projectName} (${browserOptions.browser.instances[0].browser})`;
267
+ this.debugLog(DebugLogLevel.Info, 'Adjusted project name for debugging with browser:', {
268
+ project,
269
+ });
270
+ }
271
+ // Filter internal entries and setup files from the include list
272
+ const internalEntries = ['angular:'];
273
+ const setupFileSet = new Set(testSetupFiles);
274
+ const include = [...this.testFileToEntryPoint.keys()].filter((entry) => {
275
+ return (!internalEntries.some((internal) => entry.startsWith(internal)) && !setupFileSet.has(entry));
276
+ });
277
+ this.debugLog(DebugLogLevel.Verbose, 'Included test files (after filtering):', include);
278
+ const vitestConfig = {
279
+ config: externalConfigPath,
280
+ root: workspaceRoot,
281
+ project,
282
+ outputFile,
283
+ cache: cacheOptions.enabled ? undefined : false,
284
+ testNamePattern: this.options.filter,
285
+ watch,
286
+ ...(typeof ui === 'boolean' ? { ui } : {}),
287
+ ...debugOptions,
288
+ };
289
+ const vitestServerConfig = {
290
+ // Note `.vitest` is auto appended to the path.
291
+ cacheDir: cacheOptions.path,
292
+ server: {
293
+ // Disable the actual file watcher. The boolean watch option above should still
294
+ // be enabled as it controls other internal behavior related to rerunning tests.
295
+ watch: null,
296
+ },
297
+ plugins: [
298
+ await (0, plugins_1.createVitestConfigPlugin)({
299
+ browser: browserOptions.browser,
300
+ coverage,
301
+ projectName,
302
+ projectSourceRoot,
303
+ optimizeDepsInclude: this.externalMetadata.implicitBrowser,
304
+ reporters,
305
+ setupFiles: testSetupFiles,
306
+ projectPlugins,
307
+ include,
308
+ }),
309
+ ],
310
+ };
311
+ this.debugLog(DebugLogLevel.Info, 'Calling startVitest with final configuration.');
312
+ this.debugLog(DebugLogLevel.Verbose, 'Vitest config:', vitestConfig);
313
+ this.debugLog(DebugLogLevel.Verbose, 'Vitest server config:', vitestServerConfig);
314
+ return startVitest('test', undefined, vitestConfig, vitestServerConfig);
315
+ }
316
+ }
317
+ exports.VitestExecutor = VitestExecutor;
318
+ //# sourceMappingURL=executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["executor.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,8DAAiC;AACjC,0DAA6B;AAE7B,wDAGsC;AACtC,mDAAwD;AACxD,0DAKsC;AAGtC,yDAA+D;AAC/D,mDAAuD;AACvD,uCAA0E;AAE1E,IAAK,aAGJ;AAHD,WAAK,aAAa;IAChB,iDAAQ,CAAA;IACR,uDAAW,CAAA;AACb,CAAC,EAHI,aAAa,KAAb,aAAa,QAGjB;AAED,MAAa,cAAc;IACjB,MAAM,CAAqB;IAC3B,aAAa,CAAuC;IAC3C,WAAW,CAAS;IACpB,OAAO,CAAmC;IAC1C,MAAM,CAA2B;IACjC,gBAAgB,GAAG,IAAI,GAAG,EAAsB,CAAC;IACjD,gBAAgB,GAAoC;QACnE,eAAe,EAAE,EAAE;QACnB,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,EAAE;QACnB,cAAc,EAAE,EAAE;KACnB,CAAC;IACe,UAAU,CAAS;IAEpC,2EAA2E;IAC3E,6EAA6E;IAC7E,wCAAwC;IACxC,kEAAkE;IACjD,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAElE,YACE,WAAmB,EACnB,OAAyC,EACzC,sBAAuD,EACvD,MAAgC;QAEhC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE3C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,mCAAmC,EAAE,OAAO,CAAC,CAAC;QAEnF,IAAI,sBAAsB,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,sBAAsB,EAAE,CAAC;gBAC5D,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACpD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC,QAAQ,CACX,aAAa,CAAC,OAAO,EACrB,4BAA4B,EAC5B,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,KAAoB,EAAE,OAAe,EAAE,IAAa;QACnE,IAAI,IAAI,CAAC,UAAU,GAAG,KAAK,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAG,mBAAmB,aAAa,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC;QAC/E,4DAA4D;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,CAAC,OAAO,CAAC,WAA2C;QACxD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,6BAA6B,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,KAAK,CAAC,wDAAa,MAAM,GAAC,CAAC,CAAC,aAAa,CAAC;QAE5D,IAAI,WAAW,CAAC,IAAI,KAAK,oBAAU,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,QAAQ,CACX,aAAa,CAAC,IAAI,EAClB,6CAA6C,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAC3E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CACX,aAAa,CAAC,IAAI,EAClB,qCAAqC;gBACnC,UAAU,WAAW,CAAC,KAAK,CAAC,MAAM,eAAe,WAAW,CAAC,QAAQ,CAAC,MAAM,cAAc,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAC1H,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;YACxE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC9E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YAE5E,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACvC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,IAAA,8BAAsB,EAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,4BAA4B,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE1F,kDAAkD;QAClD,+EAA+E;QAC/E,0EAA0E;QAC1E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAErB,4CAA4C;QAC5C,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,WAAW,CAAC;QAChB,IAAI,WAAW,CAAC,IAAI,KAAK,oBAAU,CAAC,WAAW,EAAE,CAAC;YAChD,mFAAmF;YACnF,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC9C,KAAK,MAAM,YAAY,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3E,iEAAiE;gBACjE,mEAAmE;gBACnE,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC3D,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC,QAAQ,CACX,aAAa,CAAC,OAAO,EACrB,uBAAuB,YAAY,qBAAqB,MAAM,eAAe,CAC9E,CAAC;oBACF,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,QAAQ,CACX,aAAa,CAAC,OAAO,EACrB,8BAA8B,YAAY,gDAAgD,CAC3F,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,cAAc,CACnB,IAAI,CAAC,aAAa,CAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CACxE,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;gBACvC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,KAAK,EAAE,CAAC;oBACV,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,YAAY,CAAC,MAAM,uBAAuB,CAAC,CAAC;gBAC5F,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;gBACtE,WAAW,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,MAAM,WAAW,GAAG,WAAW,EAAE,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEnF,IAAI,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,iBAAiB,GAAG,mBAAmB,CAAC;QAE5C,gFAAgF;QAChF,+CAA+C;QAC/C,uFAAuF;QACvF,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,GAAG,KAAK,CAAC;YAChB,iBAAiB,GAAG,mDAAmD,CAAC;YACxE,iFAAiF;YACjF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,QAAQ,CACX,aAAa,CAAC,IAAI,EAClB,mCAAmC,OAAO,aAAa,iBAAiB,EAAE,CAC3E,CAAC;QACF,MAAM,EAAE,OAAO,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,oDAAoD,CAAC,CAAC;QACxF,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;IAC/D,CAAC;IAEO,iBAAiB;QACvB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACpC,0EAA0E;QAC1E,MAAM,cAAc,GAAG,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,GAAG,UAAU,CAAC,CAAC;QAElF,yFAAyF;QACzF,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9C,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,uBAAuB,EAAE,cAAc,CAAC,CAAC;QAE3E,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QAC1D,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,QAAQ,EACR,KAAK,EACL,KAAK,EACL,eAAe,EACf,EAAE,EACF,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,YAAY,GACb,GAAG,IAAI,CAAC,OAAO,CAAC;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,IAAI,gBAAgB,CAAC;QACrB,IAAI,CAAC;YACH,gBAAgB,GAAG,wDAAa,aAAa,GAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,QAAQ,CACX,aAAa,CAAC,IAAI,EAClB,+CAA+C,KAAK,CAAC,IAAI,EAAE,CAC5D,CAAC;YACF,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAC1C,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC;QAEzC,6CAA6C;QAC7C,MAAM,cAAc,GAAG,MAAM,IAAA,4CAAyB,EACpD,QAAQ,EACR,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,KAAK,EACL,iBAAiB,EACjB,eAAe,CAChB,CAAC;QACF,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,qCAAqC,EAAE;gBACvE,MAAM,EAAE,cAAc,CAAC,MAAM;aAC9B,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACpC,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,iCAAiC,EAAE;YACnE,MAAM,EAAE,cAAc,CAAC,OAAO;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CACX,aAAa,CAAC,IAAI,EAClB,wCAAwC,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CACtE,CAAC;QACF,IAAA,qBAAM,EACJ,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAC9B,0DAA0D,CAC3D,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,IAAA,6BAAmB,EAAC;YACzC,aAAa;YACb,iBAAiB;YACjB,WAAW;YACX,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,KAAK;YACxB,CAAC,CAAC;gBACE,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,KAAK;gBACd,eAAe,EAAE,KAAK;aACvB;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,kBAAkB,GACtB,YAAY,KAAK,IAAI;YACnB,CAAC,CAAC,MAAM,IAAA,oCAAoB,EAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAC1D,CAAC,CAAC,YAAY,CAAC;QAEnB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,qCAAqC,EAAE;YACvE,kBAAkB;SACnB,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,WAAW,CAAC;QAC1B,IAAI,KAAK,IAAI,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YAC/C,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,0FAA0F,CAC3F,CAAC;YACJ,CAAC;YAED,yFAAyF;YACzF,6FAA6F;YAC7F,OAAO,GAAG,GAAG,WAAW,KAAK,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC;YAC5E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,mDAAmD,EAAE;gBACrF,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,gEAAgE;QAChE,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACrE,OAAO,CACL,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAC5F,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,wCAAwC,EAAE,OAAO,CAAC,CAAC;QAExF,MAAM,YAAY,GAAG;YACnB,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,aAAa;YACnB,OAAO;YACP,UAAU;YACV,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,KAAe;YAC1D,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YACpC,KAAK;YACL,GAAG,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,GAAG,YAAY;SAChB,CAAC;QACF,MAAM,kBAAkB,GAAG;YACzB,+CAA+C;YAC/C,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,MAAM,EAAE;gBACN,+EAA+E;gBAC/E,gFAAgF;gBAChF,KAAK,EAAE,IAAI;aACZ;YACD,OAAO,EAAE;gBACP,MAAM,IAAA,kCAAwB,EAAC;oBAC7B,OAAO,EAAE,cAAc,CAAC,OAAO;oBAC/B,QAAQ;oBACR,WAAW;oBACX,iBAAiB;oBACjB,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe;oBAC1D,SAAS;oBACT,UAAU,EAAE,cAAc;oBAC1B,cAAc;oBACd,OAAO;iBACR,CAAC;aACH;SACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,+CAA+C,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;QAElF,OAAO,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;IAC1E,CAAC;CACF;AAlWD,wCAkWC"}